8 use netcdf
, only: nf90_get_var
29 #include "dimensions.h"
37 #include "description.h"
46 REAL vcov(iip1, jjm,llm),ucov(iip1,
jjp1,llm),
teta(iip1,
jjp1,llm)
47 REAL q(iip1,
jjp1,llm,nqtot),masse(iip1,
jjp1,llm)
56 REAL tab_cntrl(length)
57 INTEGER ierr, nid, nvarid
65 ierr = nf_open(fichnom, nf_nowrite,nid)
66 IF (ierr.NE.nf_noerr)
THEN
67 write(
lunout,*)
'dynetat0: Pb d''ouverture du fichier start.nc'
68 write(
lunout,*)
' ierr = ', ierr
73 ierr = nf_inq_varid(nid,
"controle", nvarid)
74 IF (ierr .NE. nf_noerr)
THEN
75 write(
lunout,*)
"dynetat0: Le champ <controle> est absent"
78 ierr = nf90_get_var(nid, nvarid, tab_cntrl)
79 IF (ierr .NE. nf_noerr)
THEN
80 write(
lunout,*)
"dynetat0: Lecture echoue pour <controle>"
86 if (planet_type.eq.
"generic")
then
87 print*,
'NOTE NOTE NOTE : Planeto-like start files'
91 print*,
'NOTE NOTE NOTE : Earth-like start files'
101 rad = tab_cntrl(idecal+1)
102 omeg = tab_cntrl(idecal+2)
103 g = tab_cntrl(idecal+3)
104 cpp = tab_cntrl(idecal+4)
105 kappa = tab_cntrl(idecal+5)
106 daysec = tab_cntrl(idecal+6)
107 dtvr = tab_cntrl(idecal+7)
108 etot0 = tab_cntrl(idecal+8)
109 ptot0 = tab_cntrl(idecal+9)
110 ztot0 = tab_cntrl(idecal+10)
111 stot0 = tab_cntrl(idecal+11)
112 ang0 = tab_cntrl(idecal+12)
113 pa = tab_cntrl(idecal+13)
114 preff = tab_cntrl(idecal+14)
116 clon = tab_cntrl(idecal+15)
117 clat = tab_cntrl(idecal+16)
121 IF ( tab_cntrl(idecal+19).EQ.1. )
THEN
130 IF( tab_cntrl(idecal+22).EQ.1. ) ysinus = . true.
139 write(
lunout,*)
'dynetat0: rad,omeg,g,cpp,kappa',
145 ELSE IF(
jm.ne.jjm )
THEN
148 ELSE IF(
lllm.ne.llm )
THEN
153 ierr = nf_inq_varid(nid,
"rlonu", nvarid)
154 IF (ierr .NE. nf_noerr)
THEN
155 write(
lunout,*)
"dynetat0: Le champ <rlonu> est absent"
158 ierr = nf90_get_var(nid, nvarid,
rlonu)
159 IF (ierr .NE. nf_noerr)
THEN
160 write(
lunout,*)
"dynetat0: Lecture echouee pour <rlonu>"
164 ierr = nf_inq_varid(nid,
"rlatu", nvarid)
165 IF (ierr .NE. nf_noerr)
THEN
166 write(
lunout,*)
"dynetat0: Le champ <rlatu> est absent"
169 ierr = nf90_get_var(nid, nvarid,
rlatu)
170 IF (ierr .NE. nf_noerr)
THEN
171 write(
lunout,*)
"dynetat0: Lecture echouee pour <rlatu>"
175 ierr = nf_inq_varid(nid,
"rlonv", nvarid)
176 IF (ierr .NE. nf_noerr)
THEN
177 write(
lunout,*)
"dynetat0: Le champ <rlonv> est absent"
180 ierr = nf90_get_var(nid, nvarid,
rlonv)
181 IF (ierr .NE. nf_noerr)
THEN
182 write(
lunout,*)
"dynetat0: Lecture echouee pour <rlonv>"
186 ierr = nf_inq_varid(nid,
"rlatv", nvarid)
187 IF (ierr .NE. nf_noerr)
THEN
188 write(
lunout,*)
"dynetat0: Le champ <rlatv> est absent"
191 ierr = nf90_get_var(nid, nvarid,
rlatv)
192 IF (ierr .NE. nf_noerr)
THEN
193 write(
lunout,*)
"dynetat0: Lecture echouee pour rlatv"
197 ierr = nf_inq_varid(nid,
"cu", nvarid)
198 IF (ierr .NE. nf_noerr)
THEN
199 write(
lunout,*)
"dynetat0: Le champ <cu> est absent"
202 ierr = nf90_get_var(nid, nvarid,
cu)
203 IF (ierr .NE. nf_noerr)
THEN
204 write(
lunout,*)
"dynetat0: Lecture echouee pour <cu>"
208 ierr = nf_inq_varid(nid,
"cv", nvarid)
209 IF (ierr .NE. nf_noerr)
THEN
210 write(
lunout,*)
"dynetat0: Le champ <cv> est absent"
213 ierr = nf90_get_var(nid, nvarid,
cv)
214 IF (ierr .NE. nf_noerr)
THEN
215 write(
lunout,*)
"dynetat0: Lecture echouee pour <cv>"
219 ierr = nf_inq_varid(nid,
"aire", nvarid)
220 IF (ierr .NE. nf_noerr)
THEN
221 write(
lunout,*)
"dynetat0: Le champ <aire> est absent"
224 ierr = nf90_get_var(nid, nvarid,
aire)
225 IF (ierr .NE. nf_noerr)
THEN
226 write(
lunout,*)
"dynetat0: Lecture echouee pour <aire>"
230 ierr = nf_inq_varid(nid,
"phisinit", nvarid)
231 IF (ierr .NE. nf_noerr)
THEN
232 write(
lunout,*)
"dynetat0: Le champ <phisinit> est absent"
235 ierr = nf90_get_var(nid, nvarid,
phis)
236 IF (ierr .NE. nf_noerr)
THEN
237 write(
lunout,*)
"dynetat0: Lecture echouee pour <phisinit>"
241 ierr = nf_inq_varid(nid,
"temps", nvarid)
242 IF (ierr .NE. nf_noerr)
THEN
243 write(
lunout,*)
"dynetat0: Le champ <temps> est absent"
244 write(
lunout,*)
"dynetat0: J essaie <Time>"
245 ierr = nf_inq_varid(nid,
"Time", nvarid)
246 IF (ierr .NE. nf_noerr)
THEN
247 write(
lunout,*)
"dynetat0: Le champ <Time> est absent"
251 ierr = nf90_get_var(nid, nvarid,
time)
252 IF (ierr .NE. nf_noerr)
THEN
253 write(
lunout,*)
"dynetat0: Lecture echouee <temps>"
257 ierr = nf_inq_varid(nid,
"ucov", nvarid)
258 IF (ierr .NE. nf_noerr)
THEN
259 write(
lunout,*)
"dynetat0: Le champ <ucov> est absent"
262 ierr = nf90_get_var(nid, nvarid, ucov)
263 IF (ierr .NE. nf_noerr)
THEN
264 write(
lunout,*)
"dynetat0: Lecture echouee pour <ucov>"
268 ierr = nf_inq_varid(nid,
"vcov", nvarid)
269 IF (ierr .NE. nf_noerr)
THEN
270 write(
lunout,*)
"dynetat0: Le champ <vcov> est absent"
273 ierr = nf90_get_var(nid, nvarid, vcov)
274 IF (ierr .NE. nf_noerr)
THEN
275 write(
lunout,*)
"dynetat0: Lecture echouee pour <vcov>"
279 ierr = nf_inq_varid(nid,
"teta", nvarid)
280 IF (ierr .NE. nf_noerr)
THEN
281 write(
lunout,*)
"dynetat0: Le champ <teta> est absent"
284 ierr = nf90_get_var(nid, nvarid,
teta)
285 IF (ierr .NE. nf_noerr)
THEN
286 write(
lunout,*)
"dynetat0: Lecture echouee pour <teta>"
293 ierr = nf_inq_varid(nid, tname(iq), nvarid)
294 IF (ierr .NE. nf_noerr)
THEN
295 write(
lunout,*)
"dynetat0: Le traceur <"//trim(tname(iq))//
297 write(
lunout,*)
" Il est donc initialise a zero"
300 ierr = nf90_get_var(nid, nvarid,
q(:,:,:,iq))
301 IF (ierr .NE. nf_noerr)
THEN
302 write(
lunout,*)
"dynetat0: Lecture echouee pour "//tname(iq)
309 ierr = nf_inq_varid(nid,
"masse", nvarid)
310 IF (ierr .NE. nf_noerr)
THEN
311 write(
lunout,*)
"dynetat0: Le champ <masse> est absent"
314 ierr = nf90_get_var(nid, nvarid, masse)
315 IF (ierr .NE. nf_noerr)
THEN
316 write(
lunout,*)
"dynetat0: Lecture echouee pour <masse>"
320 ierr = nf_inq_varid(nid,
"ps", nvarid)
321 IF (ierr .NE. nf_noerr)
THEN
322 write(
lunout,*)
"dynetat0: Le champ <ps> est absent"
325 ierr = nf90_get_var(nid, nvarid, ps)
326 IF (ierr .NE. nf_noerr)
THEN
327 write(
lunout,*)
"dynetat0: Lecture echouee pour <ps>"
336 1
FORMAT(//10
x,
'la valeur de im =',i4,2
x,
337 'lue sur le fichier de dem *arrage est differente de la valeur parametree iim =',i4//)
338 2
FORMAT(//10
x,
'la valeur de jm =',i4,2
x,
339 'lue sur le fichier de dem *arrage est differente de la valeur parametree jjm =',i4//)
340 3
FORMAT(//10
x,
'la valeur de lmax =',i4,2
x,
341 'lue sur le fichier dema *rrage est differente de la valeur parametree llm =',i4//)
342 4
FORMAT(//10
x,
'la valeur de dtrv =',i4,2
x,
343 'lue sur le fichier dema *rrage est differente de la valeur dtinteg =',i4//)