LMDZ
ini_paramLMDZ_dyn.h
Go to the documentation of this file.
1 c
2  dt_cum = dtvr*day_step
3 
4 ! zan = annee_ref
5 ! dayref = day_ref
6 ! CALL ymds2ju(zan, 1, dayref, 0.0, zjulian)
7  tau0 = itau_dyn
8 c
9  pi = 4.0 * ATAN(1.0)
10  degres = 180./pi
11  rlong = rlonu * degres
12  rlatg = rlatu * degres
13 c
14  CALL histbeg("paramLMDZ_dyn.nc",
15  . iip1,rlong, jjp1,rlatg,
16  . 1,1,1,1,
17  . tau0, jD_ref+jH_ref , dt_cum,
18  . thoriid, nid_ctesGCM)
19 c
20  CALL histdef(nid_ctesGCM, "prt_level",
21  . "Niveau impression debuggage dynamique",
22  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
23  . "once", dt_cum,dt_cum)
24 c
25  CALL histdef(nid_ctesGCM, "dayref",
26  . "Jour de l etat initial ( = 350 si 20 Decembre par ex.)",
27  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
28  . "once", dt_cum,dt_cum)
29 c
30  CALL histdef(nid_ctesGCM, "anneeref",
31  . "Annee de l etat initial",
32  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
33  . "once", dt_cum,dt_cum)
34 c
35  CALL histdef(nid_ctesGCM, "anneelim",
36  . "Annee du fichier limitxxxx.nc si ok_limitvrai =y",
37  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
38  . "once", dt_cum,dt_cum)
39 c
40  CALL histdef(nid_ctesGCM, "raz_date",
41  . "Remise a zero (raz) date init.: 0 pas de raz;1=date gcm.def",
42  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
43  . "once", dt_cum,dt_cum)
44 c
45  CALL histdef(nid_ctesGCM, "nday",
46  . "Nombre de jours d integration",
47  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
48  . "once", dt_cum,dt_cum)
49 c
50  CALL histdef(nid_ctesGCM, "day_step",
51  . "nombre de pas par jour pour dt = 1 min",
52  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
53  . "once", dt_cum,dt_cum)
54 c
55  CALL histdef(nid_ctesGCM, "iperiod",
56  . "periode pour le pas Matsuno (en pas de temps)",
57  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
58  . "once", dt_cum,dt_cum)
59 c
60  CALL histdef(nid_ctesGCM, "iapp_tracvl",
61  . "frequence du groupement des flux (en pas de temps)",
62  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
63  . "once", dt_cum,dt_cum)
64 c
65  CALL histdef(nid_ctesGCM, "iconser",
66  . "periode de sortie des variables de controle (en pas de temps)",
67  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
68  . "once", dt_cum,dt_cum)
69 c
70  CALL histdef(nid_ctesGCM, "iecri",
71  . "periode d ecriture du fichier histoire (en jour)",
72  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
73  . "once", dt_cum,dt_cum)
74 c
75  CALL histdef(nid_ctesGCM, "periodav",
76  . "periode de stockage fichier histmoy (en jour)",
77  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
78  . "once", dt_cum,dt_cum)
79 c
80  CALL histdef(nid_ctesGCM, "dissip_period",
81  . "periode de la dissipation (en pas) ... a completer",
82  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
83  . "once", dt_cum,dt_cum)
84 c
85  CALL histdef(nid_ctesGCM, "lstardis",
86  . "choix de l operateur de dissipation: 1= star,0=non-star ??",
87  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
88  . "once", dt_cum,dt_cum)
89 c
90  CALL histdef(nid_ctesGCM, "nitergdiv",
91  . "nombre d iterations de l operateur de dissipation gradiv",
92  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
93  . "once", dt_cum,dt_cum)
94 c
95  CALL histdef(nid_ctesGCM, "nitergrot",
96  . "nombre d iterations de l operateur de dissipation nxgradrot",
97  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
98  . "once", dt_cum,dt_cum)
99 c
100  CALL histdef(nid_ctesGCM, "niterh",
101  . "nombre d iterations de l operateur de dissipation divgrad",
102  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
103  . "once", dt_cum,dt_cum)
104 c
105  CALL histdef(nid_ctesGCM, "tetagdiv",
106  ."temps dissipation des + petites long. d ondes pour u,v (gradiv)",
107  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
108  . "once", dt_cum,dt_cum)
109 c
110  CALL histdef(nid_ctesGCM, "tetagrot",
111  ."temps diss. des + petites long. d ondes pour u,v (nxgradrot)",
112  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
113  . "once", dt_cum,dt_cum)
114 c
115  CALL histdef(nid_ctesGCM, "tetatemp",
116  ."temps diss. des + petites long. d ondes pour h (divgrad)",
117  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
118  . "once", dt_cum,dt_cum)
119 c
120  CALL histdef(nid_ctesGCM, "coefdis",
121  ."coefficient pour gamdissip",
122  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
123  . "once", dt_cum,dt_cum)
124 c
125  CALL histdef(nid_ctesGCM, "purmats",
126  ."Choix schema integration temporel: 1=Matsuno,0=Matsuno-leapfrog",
127  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
128  . "once", dt_cum,dt_cum)
129 c
130  CALL histdef(nid_ctesGCM, "ok_guide",
131  ."Guidage: 1=true ,0=false",
132  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
133  . "once", dt_cum,dt_cum)
134 c
135  CALL histdef(nid_ctesGCM, "true_calendar",
136  ."Choix du calendrier",
137  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
138  . "once", dt_cum,dt_cum)
139 c
140  CALL histdef(nid_ctesGCM, "guide_calend",
141  ."Guidage calendrier gregorien: 1=oui ,0=non",
142  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
143  . "once", dt_cum,dt_cum)
144 c
145  CALL histdef(nid_ctesGCM, "iflag_phys",
146  ."Permet de faire tourner le modele sans physique: 1=avec ,0=sans",
147  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
148  . "once", dt_cum,dt_cum)
149 c
150  CALL histdef(nid_ctesGCM, "iphysiq",
151  ."Periode de la physique en pas de temps de la dynamique",
152  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
153  . "once", dt_cum,dt_cum)
154 c
155  CALL histdef(nid_ctesGCM, "clon",
156  ."longitude en degres du centre du zoom",
157  . "deg",iip1,jjp1,thoriid, 1,1,1, -99, 32,
158  . "once", dt_cum,dt_cum)
159 c
160  CALL histdef(nid_ctesGCM, "clat",
161  ."latitude en degres du centre du zoom",
162  . "deg",iip1,jjp1,thoriid, 1,1,1, -99, 32,
163  . "once", dt_cum,dt_cum)
164 c
165  CALL histdef(nid_ctesGCM, "grossismx",
166  ."facteur de grossissement du zoom, selon la longitude",
167  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
168  . "once", dt_cum,dt_cum)
169 c
170  CALL histdef(nid_ctesGCM, "grossismy",
171  ."facteur de grossissement du zoom, selon la latitude",
172  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
173  . "once", dt_cum,dt_cum)
174 c
175  CALL histdef(nid_ctesGCM, "fxyhypb",
176  ."Fonction f(y) hyperbolique si true=1, sinusoidale si false=0",
177  . "-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
178  . "once", dt_cum,dt_cum)
179 c
180  CALL histdef(nid_ctesGCM, "dzoomx",
181  ."extension en longitude de la zone du zoom (fraction zone totale)"
182  . ,"-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
183  . "once", dt_cum,dt_cum)
184 c
185  CALL histdef(nid_ctesGCM, "dzoomy",
186  ."extension en latitude de la zone du zoom (fraction zone totale)"
187  . ,"-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
188  . "once", dt_cum,dt_cum)
189 c
190  CALL histdef(nid_ctesGCM, "taux",
191  ."raideur du zoom en X"
192  . ,"-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
193  . "once", dt_cum,dt_cum)
194 c
195  CALL histdef(nid_ctesGCM, "tauy",
196  ."raideur du zoom en Y"
197  . ,"-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
198  . "once", dt_cum,dt_cum)
199 c
200  CALL histdef(nid_ctesGCM, "ysinus",
201  ."ysinus=1: Ftion f(y) avec y=Sin(latit.)/ ysinus=0: y = latit"
202  . ,"-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
203  . "once", dt_cum,dt_cum)
204 c
205  CALL histdef(nid_ctesGCM, "ip_ebil_dyn",
206  ."PRINTlevel for energy conservation diag.; 0/1= pas de print,
207  . 2= print","-",iip1,jjp1,thoriid, 1,1,1, -99, 32,
208  . "once", dt_cum,dt_cum)
209 c
210 c=================================================================
211 c
212  CALL histend(nid_ctesGCM)
213 c
214 c=================================================================
!$Id tetagdiv
Definition: comdissnew.h:13
!$Header!c!c!c include serre h!c REAL dzoomy
Definition: serre.h:8
!$Id && itau_dyn
Definition: temps.h:15
integer, save iapp_tracvl
Definition: control_mod.F90:17
!$Id jD_ref
Definition: temps.h:15
!$Header!c!c!c include serre h!c REAL && grossismx
Definition: serre.h:8
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL ymds2ju(annee_ref, 1, day_ref, hour, zjulian)!jyg CALL histbeg_phy("histrac"
c c zjulian c cym CALL iim cym klev cym zjulian
Definition: ini_bilKP_ave.h:26
type(fields_type), pointer f
Definition: tpm_fields.F90:23
c c $Id c c calculs statistiques distribution nuage ftion du regime dynamique c c Ce calcul doit etre fait a partir de valeurs mensuelles CALL nbregdyn DO kmaxm1 DO l
Definition: calcul_REGDYN.h:13
real, dimension(:), allocatable, save longitude
Definition: geometry_mod.F90:5
!$Header!c include clesph0 h c COMMON clesph0 ok_limitvrai
Definition: clesph0.h:6
integer, save dayref
Definition: control_mod.F90:26
!$Header!c!c!c include serre h!c REAL clon
Definition: serre.h:8
!$Id nitergdiv
Definition: comdissnew.h:13
!$Id calend INTEGER itaufin INTEGER itau_phy INTEGER day_ref REAL dt
Definition: temps.h:15
!$Id jH_ref
Definition: temps.h:15
!$Id mode_top_bound COMMON comconstr && pi
Definition: comconst.h:7
!$Header!integer nvarmx s s s fichier
Definition: gradsdef.h:20
!$Header!CDK comgeom COMMON comgeom rlatu
Definition: comgeom.h:25
!$Id ysinus ok_gradsfile hybrid COMMON logici iflag_phys
Definition: logic.h:10
integer, save day_step
Definition: control_mod.F90:15
integer, save iphysiq
Definition: control_mod.F90:24
!$Id nitergrot
Definition: comdissnew.h:13
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
Definition: calcul_STDlev.h:26
!$Id ysinus ok_guide
Definition: logic.h:10
integer, save dissip_period
Definition: control_mod.F90:22
!$Id day_ref
Definition: temps.h:15
!$Id fxyhypb
Definition: logic.h:10
!$Header jjp1
Definition: paramet.h:14
program gcm
Definition: gcm.F90:6
subroutine divgrad(klevel, h, lh, divgra)
Definition: divgrad.F:5
!FH On elimine toutes les clefs physiques dans la dynamique prt_level
integer, save raz_date
Definition: control_mod.F90:28
!$Header!CDK comgeom COMMON comgeom rlonu
Definition: comgeom.h:25
real, save periodav
Definition: control_mod.F90:12
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm u(l)
integer, save iconser
Definition: control_mod.F90:20
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
real, parameter zero
Definition: VARphy.F90:12
!$Id ysinus ok_gradsfile hybrid COMMON logici iflag_trac LOGICAL purmats
Definition: logic.h:10
!$Header!c!c!c include serre h!c REAL dzoomx
Definition: serre.h:8
integer, save anneeref
Definition: control_mod.F90:27
!$Id && tetagrot
Definition: comdissnew.h:13
!$Header!c!c!c include serre h!c REAL grossismy
Definition: serre.h:8
!$Id mode_top_bound COMMON comconstr dtvr
Definition: comconst.h:7
integer, save iecri
Definition: control_mod.F90:21
subroutine gradiv(klevel, xcov, ycov, ld, gdx, gdy)
Definition: gradiv.F:5
real, dimension(:,:), pointer, save du
!$Header!c!c!c include serre h!c REAL taux
Definition: serre.h:8
!$Header!INCLUDE comdissip h COMMON comdissip tetatemp
Definition: comdissip.h:8
subroutine leapfrog(ucov, vcov, teta, ps, masse, phis, q, time_0)
Definition: leapfrog.F:7
integer, save iperiod
Definition: control_mod.F90:16
integer, save ip_ebil_dyn
Definition: control_mod.F90:29
!$Header!c!c!c include serre h!c REAL clat
Definition: serre.h:8
!$Id pressure_exner real ap!hybrid pressure contribution at interlayers real bp!hybrid sigma contribution at interlayer real based on!preff and scaleheight integer disvert_type!type of vertical!automatic!using z2sig def(or 'esasig.def) file logical pressure_exner!compute pressure inside layers using Exner function
integer, save nday
Definition: control_mod.F90:14
real(kind=8), dimension(2, 3), parameter d
do llm!au dessus de
c c zjulian c cym CALL iim cym klev iim cym jjmp1 cym On stoke le fichier bilKP instantanne s jmax_ins print On stoke le fichier bilKP instantanne s s cym cym nid_bilKPins ENDIF c cIM BEG c cIM cf AM BEG region cym CALL histbeg("histbilKP_ins", iim, zx_lon(:, 1), cym.jjmp1, zx_lat(1,:), cym.imin_ins, imax_ins-imin_ins+1, cym.jmin_ins, jmax_ins-jmin_ins+1, cym.itau_phy, zjulian, dtime, cym.nhori, nid_bilKPins) CALL histbeg_phy("histbilKP_ins"
!$Id niterh
Definition: comdissnew.h:13
!$Id annee_ref
Definition: temps.h:15
!$Header!INCLUDE comdissip h COMMON comdissip coefdis
Definition: comdissip.h:8
real, dimension(:), allocatable, save latitude
Definition: geometry_mod.F90:8