Bonjour,

J'aurai besoins d'un coup de main pour le problème suivant:

je travaille sur un jeu de donnée d'un modèle numérique de prévision météo dont la nomenclature est la suivante:

sub_gfsanl_4_2011MMDD-IIII-FFFF.grb2

-MM représente les mois de 01 à 12
-DD représente les jours de 01 à 31
-IIII représente l'heure d'initialisation, les 2 premiers chiffre sont les heures et les 2 derniers les minutes
-FFFF représente le nombre d'heure écoulé après la prévision , idem les 2 premiers chiffre sont les heures et les 2 derniers les minutes

dans mon répertoires j'ai plusieurs fichiers correspondants à plusieurs jours et mois . Pour chaque jours je dispose de 3 où 4 jeux de données , une toutes les 6 heures i.e IIII=0000 ,0600,1200,1800.

Ce que j'essaye de faire c'est de lister tout les fichiers d'un jour donné et de le faire de manière récursive. Voici le code que j'ai écris (f90):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
program test_ec
 
implicit none
 
!==déclaration des variables==
 
integer :: mi,di,dil,mil
character*3 :: temp
 
!==instruction du programme==
 
mil=1
write(temp,'(i2.2)') mil
read(temp,'(i2.2)') mi
!conversion du mois en 2 chiffres , mil=1 => mi=01  
 
 
 ! on se place dans le répertoire où les fichiers sont stockés
 CALL chdir('/media/Hello/ncfiles/GFS' )
 
do dil=1,31
 
     !ittération sur les jours
     write(temp,'(i2.2)') dil
     read(temp,'(i2.2)') di
 
     ! idem les jours ont deux chiffres significatifs dil=9 then di=09
 
CALL execute_command_line( 'ls sub_gfsanl_4_2011${mi}${di}*.nc > yes.txt' )
je liste tout les fichiers du jours et du mois concerné
 
end do
 
end program test_ec
Toute aide ou suggestion est la bienvenu. Merci d'avance