7 . zrec,zkon,zkev,
airefi,phisfi,
8 . t,mfu,mfd,en_u,de_u,en_d,de_d,coefh,
10 . frac_impa,frac_nucl,pyu1,pyv1,ftsol,psrf)
26 #include "dimensions.h"
33 #include "description.h"
35 #include "indicesol.h"
38 integer kon,kev,zkon,zkev
41 REAL phisfi2(
iim,jjm+1),airefi2(
iim,jjm+1)
43 REAL mfu(kon,kev), mfd(kon,kev)
44 REAL en_u(kon,kev), de_u(kon,kev)
45 REAL en_d(kon,kev), de_d(kon,kev)
50 REAL fm_therm(kon,kev),en_therm(kon,kev)
53 REAL mfu2(
iim,jjm+1,kev), mfd2(
iim,jjm+1,kev)
54 REAL en_u2(
iim,jjm+1,kev), de_u2(
iim,jjm+1,kev)
55 REAL en_d2(
iim,jjm+1,kev), de_d2(
iim,jjm+1,kev)
56 REAL coefh2(
iim,jjm+1,kev)
57 REAL t2(
iim,jjm+1,kev)
59 REAL fm_therm2(
iim,jjm+1,kev)
60 REAL en_therm2(
iim,jjm+1,kev)
64 integer xid,yid,zid,tid
66 integer ncrec,nckon,nckev,ncim,ncjm
75 REAL frac_impa(kon,kev), frac_nucl(kon,kev)
76 REAL frac_impa2(
iim,jjm+1,kev),
77 . frac_nucl2(
iim,jjm+1,kev)
78 REAL pyu1(kon), pyv1(kon)
79 REAL pyu12(
iim,jjm+1), pyv12(
iim,jjm+1)
82 REAL ftsol1(kon),ftsol2(kon),ftsol3(kon),ftsol4(kon)
83 REAL psrf1(kon),psrf2(kon),psrf3(kon),psrf4(kon)
84 REAL ftsol12(
iim,jjm+1),ftsol22(
iim,jjm+1),
87 REAL psrf12(
iim,jjm+1),psrf22(
iim,jjm+1),psrf32(
iim,jjm+1),
92 integer varidmfu, varidmfd, varidps, varidenu, variddeu
94 integer varidend,varidded,varidch,varidfi,varidfn
96 integer varidfmth,varidenth
97 integer varidyu1,varidyv1,varidpl,varidai,varididvt
98 integer varidfts1,varidfts2,varidfts3,varidfts4
99 integer varidpsr1,varidpsr2,varidpsr3,varidpsr4
100 save varidmfu, varidmfd, varidps, varidenu, variddeu
102 save varidend,varidded,varidch,varidfi,varidfn
104 save varidfmth,varidenth
105 save varidyu1,varidyv1,varidpl,varidai,varididvt
106 save varidfts1,varidfts2,varidfts3,varidfts4
107 save varidpsr1,varidpsr2,varidpsr3,varidpsr4
110 integer start(4),count(4),status
122 if (
irec .eq. 0)
then
124 rcode=nf90_open(
'phystoke.nc',nf90_nowrite,ncidp)
126 rcode = nf90_inq_varid(ncidp,
'phis', varidps)
127 print*,
'ncidp,varidps',ncidp,varidps
129 rcode = nf90_inq_varid(ncidp,
'sig_s', varidpl)
130 print*,
'ncidp,varidpl',ncidp,varidpl
132 rcode = nf90_inq_varid(ncidp,
'aire', varidai)
133 print*,
'ncidp,varidai',ncidp,varidai
135 rcode = nf90_inq_varid(ncidp,
't', varidt)
136 print*,
'ncidp,varidt',ncidp,varidt
138 rcode = nf90_inq_varid(ncidp,
'mfu', varidmfu)
139 print*,
'ncidp,varidmfu',ncidp,varidmfu
141 rcode = nf90_inq_varid(ncidp,
'mfd', varidmfd)
142 print*,
'ncidp,varidmfd',ncidp,varidmfd
144 rcode = nf90_inq_varid(ncidp,
'en_u', varidenu)
145 print*,
'ncidp,varidenu',ncidp,varidenu
147 rcode = nf90_inq_varid(ncidp,
'de_u', variddeu)
148 print*,
'ncidp,variddeu',ncidp,variddeu
150 rcode = nf90_inq_varid(ncidp,
'en_d', varidend)
151 print*,
'ncidp,varidend',ncidp,varidend
153 rcode = nf90_inq_varid(ncidp,
'de_d', varidded)
154 print*,
'ncidp,varidded',ncidp,varidded
156 rcode = nf90_inq_varid(ncidp,
'coefh', varidch)
157 print*,
'ncidp,varidch',ncidp,varidch
160 rcode = nf90_inq_varid(ncidp,
'fm_th', varidfmth)
161 print*,
'ncidp,varidfmth',ncidp,varidfmth
163 rcode = nf90_inq_varid(ncidp,
'en_th', varidenth)
164 print*,
'ncidp,varidenth',ncidp,varidenth
166 rcode = nf90_inq_varid(ncidp,
'frac_impa', varidfi)
167 print*,
'ncidp,varidfi',ncidp,varidfi
169 rcode = nf90_inq_varid(ncidp,
'frac_nucl', varidfn)
170 print*,
'ncidp,varidfn',ncidp,varidfn
172 rcode = nf90_inq_varid(ncidp,
'pyu1', varidyu1)
173 print*,
'ncidp,varidyu1',ncidp,varidyu1
175 rcode = nf90_inq_varid(ncidp,
'pyv1', varidyv1)
176 print*,
'ncidp,varidyv1',ncidp,varidyv1
178 rcode = nf90_inq_varid(ncidp,
'ftsol1', varidfts1)
179 print*,
'ncidp,varidfts1',ncidp,varidfts1
181 rcode = nf90_inq_varid(ncidp,
'ftsol2', varidfts2)
182 print*,
'ncidp,varidfts2',ncidp,varidfts2
184 rcode = nf90_inq_varid(ncidp,
'ftsol3', varidfts3)
185 print*,
'ncidp,varidfts3',ncidp,varidfts3
187 rcode = nf90_inq_varid(ncidp,
'ftsol4', varidfts4)
188 print*,
'ncidp,varidfts4',ncidp,varidfts4
190 rcode = nf90_inq_varid(ncidp,
'psrf1', varidpsr1)
191 print*,
'ncidp,varidpsr1',ncidp,varidpsr1
193 rcode = nf90_inq_varid(ncidp,
'psrf2', varidpsr2)
194 print*,
'ncidp,varidpsr2',ncidp,varidpsr2
196 rcode = nf90_inq_varid(ncidp,
'psrf3', varidpsr3)
197 print*,
'ncidp,varidpsr3',ncidp,varidpsr3
199 rcode = nf90_inq_varid(ncidp,
'psrf4', varidpsr4)
200 print*,
'ncidp,varidpsr4',ncidp,varidpsr4
204 status = nf_inq_dimid(ncidp,
'y',yid)
205 status = nf_inq_dimid(ncidp,
'x',xid)
206 status = nf_inq_dimid(ncidp,
'sig_s',zid)
207 status = nf_inq_dimid(ncidp,
'time_counter',tid)
211 status = nf_inq_dim(ncidp,yid,namedim,ncjm)
212 status = nf_inq_dim(ncidp,xid,namedim,ncim)
213 status = nf_inq_dim(ncidp,zid,namedim,nckev)
214 status = nf_inq_dim(ncidp,tid,namedim,ncrec)
223 write(*,*)
'read_pstoke : zrec = ', zrec
224 write(*,*)
'read_pstoke : kev = ', zkev
225 write(*,*)
'read_pstoke : zim = ', zim
226 write(*,*)
'read_pstoke : zjm = ', zjm
227 write(*,*)
'read_pstoke : kon = ', zkon
231 status=nf_get_vara_real(ncidp,varidpl,1,kev,pl)
249 status=nf_get_vara_double(ncidp,varidps,start,count,phisfi2)
251 status=nf_get_vara_real(ncidp,varidps,start,count,phisfi2)
253 call gr_ecrit_fi(1,kon,
iim,jjm+1,phisfi2,phisfi)
258 status=nf_get_vara_double(ncidp,varidai,start,count,airefi2)
260 status=nf_get_vara_real(ncidp,varidai,start,count,airefi2)
262 call gr_ecrit_fi(1,kon,
iim,jjm+1,airefi2,
airefi)
271 print*,
'WARNING!!! Il n y a pas de test de coherence'
272 print*,
'sur le nombre de niveaux verticaux dans le fichier nc'
289 status=nf_get_vara_double(ncidp,varidt,start,count,t2)
291 status=nf_get_vara_real(ncidp,varidt,start,count,t2)
293 call gr_ecrit_fi(kev,kon,
iim,jjm+1,t2,t)
298 status=nf_get_vara_double(ncidp,varidmfu,start,count,mfu2)
300 status=nf_get_vara_real(ncidp,varidmfu,start,count,mfu2)
302 call gr_ecrit_fi(kev,kon,
iim,jjm+1,mfu2,mfu)
306 status=nf_get_vara_double(ncidp,varidmfd,start,count,mfd2)
308 status=nf_get_vara_real(ncidp,varidmfd,start,count,mfd2)
310 call gr_ecrit_fi(kev,kon,
iim,jjm+1,mfd2,mfd)
314 status=nf_get_vara_double(ncidp,varidenu,start,count,en_u2)
316 status=nf_get_vara_real(ncidp,varidenu,start,count,en_u2)
318 call gr_ecrit_fi(kev,kon,
iim,jjm+1,en_u2,en_u)
322 status=nf_get_vara_double(ncidp,variddeu,start,count,de_u2)
324 status=nf_get_vara_real(ncidp,variddeu,start,count,de_u2)
326 call gr_ecrit_fi(kev,kon,
iim,jjm+1,de_u2,de_u)
330 status=nf_get_vara_double(ncidp,varidend,start,count,en_d2)
332 status=nf_get_vara_real(ncidp,varidend,start,count,en_d2)
334 call gr_ecrit_fi(kev,kon,
iim,jjm+1,en_d2,en_d)
338 status=nf_get_vara_double(ncidp,varidded,start,count,de_d2)
340 status=nf_get_vara_real(ncidp,varidded,start,count,de_d2)
342 call gr_ecrit_fi(kev,kon,
iim,jjm+1,de_d2,de_d)
346 print*,
'LECTURE de coefh a irec =',
irec
348 status=nf_get_vara_double(ncidp,varidch,start,count,coefh2)
350 status=nf_get_vara_real(ncidp,varidch,start,count,coefh2)
352 call gr_ecrit_fi(kev,kon,
iim,jjm+1,coefh2,coefh)
358 print*,
'LECTURE de fm_therm a irec =',
irec
360 status=nf_get_vara_double(ncidp,varidfmth,start,
363 status=nf_get_vara_real(ncidp,varidfmth,start,
366 call gr_ecrit_fi(kev,kon,
iim,jjm+1,fm_therm2,fm_therm)
367 print*,
'LECTURE de en_therm a irec =',
irec
369 status=nf_get_vara_double(ncidp,varidenth,start,
372 status=nf_get_vara_real(ncidp,varidenth,start,
375 call gr_ecrit_fi(kev,kon,
iim,jjm+1,en_therm2,en_therm)
380 status=nf_get_vara_double(ncidp,varidfi,start,count,frac_impa2)
382 status=nf_get_vara_real(ncidp,varidfi,start,count,frac_impa2)
384 call gr_ecrit_fi(kev,kon,
iim,jjm+1,frac_impa2,frac_impa)
389 status=nf_get_vara_double(ncidp,varidfn,start,count,frac_nucl2)
391 status=nf_get_vara_real(ncidp,varidfn,start,count,frac_nucl2)
393 call gr_ecrit_fi(kev,kon,
iim,jjm+1,frac_nucl2,frac_nucl)
403 print*,
'LECTURE de yu1 a irec =',
irec
405 status=nf_get_vara_double(ncidp,varidyu1,start,count,pyu12)
407 status=nf_get_vara_real(ncidp,varidyu1,start,count,pyu12)
409 call gr_ecrit_fi(1,kon,
iim,jjm+1,pyu12,pyu1)
412 print*,
'LECTURE de yv1 a irec =',
irec
414 status=nf_get_vara_double(ncidp,varidyv1,start,count,pyv12)
416 status=nf_get_vara_real(ncidp,varidyv1,start,count,pyv12)
418 call gr_ecrit_fi(1,kon,
iim,jjm+1,pyv12,pyv1)
422 print*,
'LECTURE de ftsol1 a irec =',
irec
424 status=nf_get_vara_double(ncidp,varidfts1,start,count,ftsol12)
426 status=nf_get_vara_real(ncidp,varidfts1,start,count,ftsol12)
428 call gr_ecrit_fi(1,kon,
iim,jjm+1,ftsol12,ftsol1)
431 print*,
'LECTURE de ftsol2 a irec =',
irec
433 status=nf_get_vara_double(ncidp,varidfts2,start,count,ftsol22)
435 status=nf_get_vara_real(ncidp,varidfts2,start,count,ftsol22)
437 call gr_ecrit_fi(1,kon,
iim,jjm+1,ftsol22,ftsol2)
440 print*,
'LECTURE de ftsol3 a irec =',
irec
442 status=nf_get_vara_double(ncidp,varidfts3,start,count,ftsol32)
444 status=nf_get_vara_real(ncidp,varidfts3,start,count,ftsol32)
446 call gr_ecrit_fi(1,kon,
iim,jjm+1,ftsol32,ftsol3)
450 status=nf_get_vara_double(ncidp,varidfts4,start,count,ftsol42)
452 status=nf_get_vara_real(ncidp,varidfts4,start,count,ftsol42)
454 call gr_ecrit_fi(1,kon,
iim,jjm+1,ftsol42,ftsol4)
459 status=nf_get_vara_double(ncidp,varidpsr1,start,count,psrf12)
461 status=nf_get_vara_real(ncidp,varidpsr1,start,count,psrf12)
464 call gr_ecrit_fi(1,kon,
iim,jjm+1,psrf12,psrf1)
468 status=nf_get_vara_double(ncidp,varidpsr2,start,count,psrf22)
470 status=nf_get_vara_real(ncidp,varidpsr2,start,count,psrf22)
473 call gr_ecrit_fi(1,kon,
iim,jjm+1,psrf22,psrf2)
477 status=nf_get_vara_double(ncidp,varidpsr3,start,count,psrf32)
479 status=nf_get_vara_real(ncidp,varidpsr3,start,count,psrf32)
481 call gr_ecrit_fi(1,kon,
iim,jjm+1,psrf32,psrf3)
485 status=nf_get_vara_double(ncidp,varidpsr4,start,count,psrf42)
487 status=nf_get_vara_real(ncidp,varidpsr4,start,count,psrf42)
489 call gr_ecrit_fi(1,kon,
iim,jjm+1,psrf42,psrf4)
500 ftsol(
i,1) = ftsol1(
i)
501 ftsol(
i,2) = ftsol2(
i)
502 ftsol(
i,3) = ftsol3(
i)
503 ftsol(
i,4) = ftsol4(
i)