source: LMDZ4/branches/LMDZ4-dev/libf/dyn3d/write_paramLMDZ_dyn.h @ 1201

Last change on this file since 1201 was 1201, checked in by Laurent Fairhead, 15 years ago

Modifications nécessaires a l'inclusion d'un calendrier réaliste.
La date courante est calculée dans leapfrog.F et exprimée en Jour Julien
(modifié). On en a profité pour faire un peu de ménage dans la gestion des dates
du modèle.
Dans la physique, on utilise les routines de passages entre calendrier Julien et
Gregorien incluses dans IOIPSL pour calculer le nombre de jours écoulés depuis le
1er janvier (pour les conditions aux limites) ou l'equinoxe (pour le calcul de
la longitude solaire). Le calcul de l'orbite reprend celui du gcm planétaire
(codé par FH)
On décide du calendrier à utiliser à l'aide du paramètre calend du run.def. Par
défaut celui-ci est à earth_360d
LF

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 8.0 KB
RevLine 
[956]1! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
2! Attention : il n'y a aucune raison pour ecrire ces constantes
3! comme des champs 2D. A corriger un jour ...
4
[692]5c
[696]6      ndex2d = 0
[825]7      itau_w=itau_dyn+itau
[692]8c
[696]9      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(prt_level) 
[825]10      CALL histwrite(nid_ctesGCM, "prt_level", itau_w,
[696]11     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]12c
[696]13      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(dayref)
[825]14      CALL histwrite(nid_ctesGCM, "dayref", itau_w,
[696]15     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]16c
[696]17      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(anneeref)
[825]18      CALL histwrite(nid_ctesGCM, "anneeref", itau_w,
[696]19     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]20c
[696]21      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(raz_date)
[825]22      CALL histwrite(nid_ctesGCM, "raz_date", itau_w,
[696]23     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]24c
[696]25      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(nday)
[825]26      CALL histwrite(nid_ctesGCM, "nday", itau_w,
[696]27     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]28c
[696]29      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(day_step)
[825]30      CALL histwrite(nid_ctesGCM, "day_step", itau_w,
[696]31     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]32c
[696]33      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(iperiod)
[825]34      CALL histwrite(nid_ctesGCM, "iperiod", itau_w,
[696]35     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]36c
[696]37      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(iapp_tracvl)
[825]38      CALL histwrite(nid_ctesGCM, "iapp_tracvl", itau_w,
[696]39     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]40c
[696]41      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(iconser)
[825]42      CALL histwrite(nid_ctesGCM, "iconser", itau_w,
[696]43     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]44c
[696]45      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(iecri)
[825]46      CALL histwrite(nid_ctesGCM, "iecri", itau_w,
[696]47     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]48c
[696]49      zx_tmp_2d(1:iip1,1:jjp1)=periodav
[825]50      CALL histwrite(nid_ctesGCM, "periodav", itau_w,
[696]51     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]52c
[696]53      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(idissip)
[825]54      CALL histwrite(nid_ctesGCM, "idissip", itau_w,
[696]55     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]56c
[696]57      IF(lstardis) THEN
58       zx_tmp_2d(1:iip1,1:jjp1)=1.
59      ELSE
60       zx_tmp_2d(1:iip1,1:jjp1)=0.
61      ENDIF
[825]62      CALL histwrite(nid_ctesGCM, "lstardis", itau_w,
[696]63     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]64c
[696]65      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(nitergdiv)
[825]66      CALL histwrite(nid_ctesGCM, "nitergdiv", itau_w,
[696]67     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]68c
[696]69      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(nitergrot)
[825]70      CALL histwrite(nid_ctesGCM, "nitergrot", itau_w,
[696]71     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]72c
[696]73      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(niterh) 
[825]74      CALL histwrite(nid_ctesGCM, "niterh", itau_w,
[696]75     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]76c
[696]77      zx_tmp_2d(1:iip1,1:jjp1)=tetagdiv
[825]78      CALL histwrite(nid_ctesGCM, "tetagdiv", itau_w,
[696]79     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]80c
[696]81      zx_tmp_2d(1:iip1,1:jjp1)=tetagrot
[825]82      CALL histwrite(nid_ctesGCM, "tetagrot", itau_w,
[696]83     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]84c
[696]85      zx_tmp_2d(1:iip1,1:jjp1)=tetatemp
[825]86      CALL histwrite(nid_ctesGCM, "tetatemp", itau_w,
[696]87     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]88c
[696]89      zx_tmp_2d(1:iip1,1:jjp1)=coefdis
[825]90      CALL histwrite(nid_ctesGCM, "coefdis", itau_w,
[696]91     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]92c
[696]93      IF(purmats) THEN
94       zx_tmp_2d(1:iip1,1:jjp1)=1.
95      ELSE
96       zx_tmp_2d(1:iip1,1:jjp1)=0.
97      ENDIF
[825]98      CALL histwrite(nid_ctesGCM, "purmats", itau_w,
[696]99     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]100c
[696]101      IF(ok_guide) THEN
102       zx_tmp_2d(1:iip1,1:jjp1)=1.
103      ELSE
104       zx_tmp_2d(1:iip1,1:jjp1)=0.
105      ENDIF
[825]106      CALL histwrite(nid_ctesGCM, "ok_guide", itau_w,
[696]107     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]108c
[1201]109      if (calend == 'earth_360d') then
110        zx_tmp_2d(1:iip1,1:jjp1)=1.
111      else if (calend == 'earth_365d') then
112        zx_tmp_2d(1:iip1,1:jjp1)=2.
113      else if (calend == 'earth_366d') then
114        zx_tmp_2d(1:iip1,1:jjp1)=3.
115      endif
116
[825]117      CALL histwrite(nid_ctesGCM, "true_calendar", itau_w,
[696]118     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]119c
[696]120      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(iflag_phys)
[825]121      CALL histwrite(nid_ctesGCM, "iflag_phys", itau_w,
[696]122     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]123c
[696]124      zx_tmp_2d(1:iip1,1:jjp1)=FLOAT(iphysiq)
[825]125      CALL histwrite(nid_ctesGCM, "iphysiq", itau_w,
[696]126     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]127c
[956]128!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
129! FH 2008/05/02
130! La variable cycle_diurne n'est pas vue par la dynamique
131!     IF(cycle_diurne) THEN
132!      zx_tmp_2d(1:iip1,1:jjp1)=1.
133!     ELSE
134!      zx_tmp_2d(1:iip1,1:jjp1)=0.
135!     ENDIF
136!     CALL histwrite(nid_ctesGCM, "cycle_diurne", itau_w,
137!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
138!
139!     IF(soil_model) THEN
140!      zx_tmp_2d(1:iip1,1:jjp1)=1.
141!     ELSE
142!      zx_tmp_2d(1:iip1,1:jjp1)=0.
143!     ENDIF
144!     CALL histwrite(nid_ctesGCM, "soil_model", itau_w,
145!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
146!
147!     IF(new_oliq) THEN
148!      zx_tmp_2d(1:iip1,1:jjp1)=1.
149!     ELSE
150!      zx_tmp_2d(1:iip1,1:jjp1)=0.
151!     ENDIF
152!     CALL histwrite(nid_ctesGCM, "new_oliq", itau_w,
153!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
154!
155!     IF(ok_orodr) THEN
156!      zx_tmp_2d(1:iip1,1:jjp1)=1.
157!     ELSE
158!      zx_tmp_2d(1:iip1,1:jjp1)=0.
159!     ENDIF
160!     CALL histwrite(nid_ctesGCM, "ok_orodr", itau_w,
161!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
162!
163!     IF(ok_orolf) THEN
164!      zx_tmp_2d(1:iip1,1:jjp1)=1.
165!     ELSE
166!      zx_tmp_2d(1:iip1,1:jjp1)=0.
167!     ENDIF
168!     CALL histwrite(nid_ctesGCM, "ok_orolf", itau_w,
169!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
170!
171!     IF(ok_limitvrai) THEN
172!      zx_tmp_2d(1:iip1,1:jjp1)=1.
173!     ELSE
174!      zx_tmp_2d(1:iip1,1:jjp1)=0.
175!     ENDIF
176!     CALL histwrite(nid_ctesGCM, "ok_limitvrai", itau_w,
177!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
178!
179!     zx_tmp_2d(1:iip1,1:jjp1)=nbapp_rad
180!     CALL histwrite(nid_ctesGCM, "nbapp_rad", itau_w,
181!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
182!
183!     zx_tmp_2d(1:iip1,1:jjp1)=iflag_con
184!     CALL histwrite(nid_ctesGCM, "iflag_con", itau_w,
185!    .               zx_tmp_2d,iip1*jjp1,ndex2d)
186!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[692]187c
[696]188      zx_tmp_2d(1:iip1,1:jjp1)=clon
[825]189      CALL histwrite(nid_ctesGCM, "clon", itau_w,
[696]190     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]191c
[696]192      zx_tmp_2d(1:iip1,1:jjp1)=clat
[825]193      CALL histwrite(nid_ctesGCM, "clat", itau_w,
[696]194     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]195c
[696]196      zx_tmp_2d(1:iip1,1:jjp1)=grossismx
[825]197      CALL histwrite(nid_ctesGCM, "grossismx", itau_w,
[696]198     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]199c
[696]200      zx_tmp_2d(1:iip1,1:jjp1)=grossismy
[825]201      CALL histwrite(nid_ctesGCM, "grossismy", itau_w,
[696]202     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]203c
[696]204      IF(fxyhypb) THEN
205       zx_tmp_2d(1:iip1,1:jjp1)=1.
206      ELSE
207       zx_tmp_2d(1:iip1,1:jjp1)=0.
208      ENDIF
[825]209      CALL histwrite(nid_ctesGCM, "fxyhypb", itau_w,
[696]210     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]211c
[696]212      zx_tmp_2d(1:iip1,1:jjp1)=dzoomx
[825]213      CALL histwrite(nid_ctesGCM, "dzoomx", itau_w,
[696]214     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]215c
[696]216      zx_tmp_2d(1:iip1,1:jjp1)=dzoomy
[825]217      CALL histwrite(nid_ctesGCM, "dzoomy", itau_w,
[696]218     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]219c
[696]220      zx_tmp_2d(1:iip1,1:jjp1)=taux
[825]221      CALL histwrite(nid_ctesGCM, "taux", itau_w,
[696]222     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]223c
[696]224      zx_tmp_2d(1:iip1,1:jjp1)=tauy
[825]225      CALL histwrite(nid_ctesGCM, "tauy", itau_w,
[696]226     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]227c
[696]228      IF(ysinus) THEN
229       zx_tmp_2d(1:iip1,1:jjp1)=1.
230      ELSE
231       zx_tmp_2d(1:iip1,1:jjp1)=0.
232      ENDIF
[825]233      CALL histwrite(nid_ctesGCM, "ysinus", itau_w,
[696]234     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]235c
[784]236      zx_tmp_2d(1:iip1,1:jjp1)=ip_ebil_dyn
[825]237      CALL histwrite(nid_ctesGCM, "ip_ebil_dyn", itau_w,
[696]238     .               zx_tmp_2d,iip1*jjp1,ndex2d)
[692]239c
240c=================================================================
241c
[696]242      if (ok_sync) then
243        call histsync(nid_ctesGCM)
244      endif
[692]245c
246c=================================================================
Note: See TracBrowser for help on using the repository browser.