1 | c.......................................................................
2 | c
3 | c sous-programme pour ecriture des resultats dans des fichiers
4 | c
5 | c.......................................................................
6 |
7 | subroutine fich
8 |
9 | include 'cecile.inc'
10 |
11 | c la description des fichiers de sortie est dans cecile.out
12 | print *, 'SORTIES fichiers: cecile.out'
13 | print *
14 | open (50,file='cecile.out',status='unknown')
15 | write(50,*) 'Fichier de description des fichiers sorties'
16 | write(50,*)
17 | write(50,*) 'cecile.ecr: redirection de l''affichage ecran si b.'
18 | write(50,*)
19 | write(50,*) 'sorties ascii --> .out '
20 | write(50,*) 'ind.out: Indices imax=n jmax=n kmax=n'
21 | write(50,*) 'psi.out: Puissance nette echangees en W ---
22 | & Ecart type pne'
23 | write(50,*) 'dpsi.out: DERIV/kgaz --- ecart --- DERIV /ksuie ---
24 | & ecart'
25 | write(50,*)
26 | write(50,*) 'sortie binaires --> .oub'
27 | close(50)
28 |
29 | c..........................................................................
30 | c Sorties ascii: ACCES SEQUENTIEL
31 | c Leur format (commentaires ...) doit s'adapter a celui utilise par le
32 | c logiciel de relecture.
33 | c Faire une boucle sur chaque indice sauf si tableau mieux
34 |
35 | c ************************************************************************
36 | c FORMAT GNUPLOT <=> sur une ligne: param,..,function (un param varie/bloc)
37 | c NB: on ne reste pas en double precision car gnuplot ne connait pas D
38 | open(20,file='ind.out', status='unknown')
39 | write(20,*) n, rsup
40 | write(20,*) n, rsup
41 | write(20,*) n, rsup
42 | close(20)
43 | c..................................................................................
44 | c open(20,file='psi.out',status='unknown', recl=21*(6))
45 | open(20,file='psi.out',status='unknown')
46 | c write(20,*) 'psi --- ecart type'
47 | do in=0,n+1
48 | do iin=0,n+1
49 | write(20,'(i4,i4,4(e22.13))') in, iin, r(in), r(iin)
50 | c write(20,*) in, iin, r(in), r(iin)
51 | &,psi(in,iin), var_psi(in,iin)
52 | enddo
53 | c simple retour a la ligne
54 | write(20,*)
55 | enddo
56 | close (20)
57 | c...................................................................................
58 | c open(20,file='dpsi.out',status='unknown',recl=21*(7))
59 | open(20,file='dpsi.out',status='unknown')
60 | c write(20,*)'DERIv psi/kgaz --- Ecart type --- DERIV psi/ksuie ---'
61 | do in=0,n+1
62 | do iin=0,n+1
63 | do itmp1=1,n
64 | write(20,'(3(i4),2(e22.13))') in, iin,
65 | c write(20,*) in, iin,
66 | cc & itmp1, dpsidkgbar(in,iin,itmp1), var_dpsidkgbar(in,iin,itmp1),
67 | cc & dpsi6dfv(in,iin,itmp1), var_dpsi6dfv(in,iin,itmp1)
68 | & itmp1, dpsi6dfv(in,iin,itmp1)
69 | cccc & ,var_dpsi6dfv(in,iin,itmp1)
70 | enddo
71 | c simple retour a la ligne
72 | write(20,*)
73 | enddo
74 | enddo
75 | close(20)
76 | c..................................................................................
77 | c le fichier dpsidfm a ete rajoute le 14 novembre 1999
78 | open(20,file='dpsidfm.out',status='unknown')
79 | do in=0,n+1
80 | do iin=0,n+1
81 | do itmp1=1,n
82 | c write(20,'(3(i4),2(e22.13))') in, iin,
83 | write(20,'(6(e22.13))')
84 | & dpsi6dfmco(in,iin,itmp1),
85 | cccc & var_dpsi6dfmco(in,iin,itmp1),
86 | & dpsi6dfmco2(in,iin,itmp1),
87 | cccc & var_dpsi6dfmco2(in,iin,itmp1),
88 | & dpsi6dfmh2o(in,iin,itmp1)
89 | cccc & ,var_dpsi6dfmh2o(in,iin,itmp1)
90 | enddo
91 | enddo
92 | enddo
93 | close(20)
94 | c...................................................................................
95 | c open(20,file='dpsi.out',status='unknown',recl=21*(7))
96 | open(20,file='dpsidt.out',status='unknown')
97 | c write(20,*)'DERIv psi/kgaz --- Ecart type --- DERIV psi/ksuie ---'
98 | do in=0,n+1
99 | do iin=0,n+1
100 | do itmp1=1,n
101 | write(20,'(3(i4),2(e22.13))') in, iin,
102 | c write(20,*) in, iin,
103 | & itmp1, dpsi6dt(in,iin,itmp1)
104 | cccc & ,var_dpsi6dt(in,iin,itmp1)
105 | enddo
106 | c simple retour a la ligne
107 | write(20,*)
108 | enddo
109 | enddo
110 | close(20)
111 |
112 |
113 |
114 |
115 | c************************************************************************
116 |
117 |
118 |
119 |
120 | c......................................................................
121 | c sortie binaire: ACCES DIRECT (plus universel)
122 | c cas ou les sorties ascii ne sont pas bien mise en forme et ou il faut
123 | c tout lire rapidement
124 | c chaque ligne est un enregistrement qu'on peut lire d'un bloc
125 | c enregistrement depend de la machine: sun double precision ici
126 | c on peut lire les lignes dans le desordre
127 | c MAIS LA TENDANCE C3EST DES FICHIERS ASCII COMPRESSE
128 | c COMME SA CEST INDEPENDANRT DE LOS
129 |
130 | c numero ligne ou on enregistre moins un
131 | ccc itmp5= 0
132 | ccc open(20,file='psi.oub',access='direct',recl=8
133 | ccc &*(n+1+1))
134 | ccc write(20,*) 'Matrice des psi'
135 | ccc do in=0,n+1
136 | ccc write(20,rec=in+1) (psi(in,iin), iin=0,n+1)
137 | ccc enddo
138 | c derniere valeur de rec
139 | ccc itmp5=in+1
140 |
141 | c write(20,*)'Matrice des ecarttypes de psi')
142 | ccc do in=0+itmp5,n+1+itmp5
143 | ccc write(20,rec=in+1) (var_psi(in,iin), iin=0,n+1)
144 | ccc enddo
145 |
146 | c
147 | c gerer bloc acces direct connitre numero de ligne
148 | c
149 | ccc close(20)
150 | !!!!!!!! open(unit=21,form='unformatted',
151 | !!!!!!!!!!! & file='restart_rad.out', status='unknown')
152 |
153 | !!!!!!!!!!!! write(21) n, rsup
154 | !!!!!!!!!!!!! do in=0,n+1
155 | !!!! write(21) r(in)
156 | !!!!!!!!! do iin=0,n+1
157 | !!!!!!!!!!!!! write(21) psi(in,iin), var_psi(in,iin)
158 | !!!!!!!!!! do itmp1=1,n
159 | !!!!!!!! write(21) dpsi6dfv(in,iin,itmp1)
160 | !!!!!!!!!!! write(21) dpsi6dfmco(in,iin,itmp1)
161 | !!!!!!!!!!! write(21) dpsi6dfmco2(in,iin,itmp1)
162 | !!!!!!!!!!! write(21) dpsi6dfmh2o(in,iin,itmp1)
163 | !!!!!!!!!!!!!!!!!! write(21) dpsi6dt(in,iin,itmp1)
164 | !!!!!!!!!!! enddo
165 | !!!!!!!!! enddo
166 | !!!!!!!!!! enddo
167 | !!!!!!!!!!!!! close(21)
168 | c..........................................................................
169 | return
170 | end
171 |
172 |
fich.f could be called by: