Bonjour à tous et toutes,

voici mon problème : Je souhaite lire une partie d'un Fichier.dat contenant texte et données de la forme. Voici un extrait:

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
 
TITLE = "...                           "
TITLE = "...     "
TITLE = "...                                "
VARIABLES = "X", "Y", "Z", "Zone","Head","Vx","Vy","Vz","Qx","Qy","Qz","salt"                                                                                                                                                                                                                                                                                                                                                                                                                                                   
ZONE  T=" 1.0000000000E+00", DATAPACKING=BLOCK, N=  16284, E=   7920, ZONETYPE=FEBRICK, VARLOCATION=([      4,      6,      7,      8,      9,     10,     11]=CELLCENTERED)                                                                                                                                                                                                                                                                                                                                                    
# x
   0.0000000000000000        25.000000000000000        50.000000000000000        75.000000000000000        100.00000000000000     
   125.00000000000000        150.00000000000000        175.00000000000000        200.00000000000000        225.00000000000000     
   250.00000000000000        275.00000000000000        300.00000000000000        325.00000000000000        350.00000000000000   
...
...
# concentration salt
   0.0000000000000000       0.64720330011049226E-025  0.17833386042487199E-024  0.37802284411445552E-024  0.72932897799838601E-024
  0.13478306362085956E-023  0.24373618438863777E-023  0.43573154689106475E-023  0.77410535444477779E-023  0.13704135817649153E-022
  0.24210465387402711E-022  0.42716322963177314E-022  0.75304094444452978E-022  0.13267992530729645E-021  0.23369553087384882E-021
  0.41155676324062088E-021  0.72476631090388178E-021  0.12764107173106682E-020  0.22481606524337324E-020  0.39602163975608679E-020
Mon objectif : construire un tableau après lecture des données contenues dans le header # concentration salt ci-dessus. J'ai choisi correctement les indices de début et de fin de lecture. Je pense que mon problème survient au niveau du format. En effet, mon .exe plante à ce niveau là.

Voici un extrait de mon code
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
 
    rewind(unit=numfichCONC, iostat=err) ! mon fichier .dat
 
    ! CONSTRUCTION D'UN VECTEUR CONTENANT LES Ci POUR LES TL
 
    open(unit=numfichconc_TL1,file='conc_TL1.dat', access='sequential', form='formatted', action = 'write', iostat=err) ! nouveau fichier qui va contenir les valeurs de mon nouveau tableau
    k = 1
    if (mod(nds,5) .EQ. 0) then
 
        do i = nb_l_TL1_conc + 1,nb_l_TL1_conc + 1 + (nds/5) - 1
!            read(unit=numfichCONC,fmt='(2x,(f24.0),2x,(f24.0),2x,(f24.0),2x,(f24.0),2x,(f24.0))',iostat=err) (conc_TL1(k,j),j=1,5)
             k = k +1
        end do
     else
 
        do i = nb_l_TL1_conc + 1,nb_l_TL1_conc  + (nds/5)
 
            read(unit=numfichCONC,fmt='(2x,(f24.0),2x,(f24.0),2x,(f24.0),2x,(f24.0),2x,(f24.0))',iostat=err) (conc_TL1(k,j),j=1,5)
            k = k +1
        end do
    end if
je pense donc que l'erreur provient du
Code : Sélectionner tout - Visualiser dans une fenêtre à part
read(unit=numfichCONC,fmt='(2x,(f24.17),2x,(f24.17),2x,(f24.17),2x,(f24.17),2x,(f24.17))',iostat=err) (conc_TL1(k,j),j=1,5)
J'ai choisi 24 pour le nombre de chiffre représenté et 17 pour le nombre de décimale comme indiqué pour les valeurs de # concentration salt

Auriez-vous un idée du format adapté?

Je vous remercie d'avance

S.