LMDZ
ini_histrac.h
Go to the documentation of this file.
1 !
2 ! $Id $
3 !
4  IF (ecrit_tra>0.) THEN
5 !$OMP MASTER
6 !!! CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
7 ! correction pour l heure initiale !jyg
8 ! !jyg
9  CALL ymds2ju(annee_ref, 1, day_ref, hour, zjulian) !jyg
10 
11  CALL histbeg_phy("histrac", itau_phy, zjulian, pdtphys,nhori, nid_tra)
12  CALL histvert(nid_tra, "presnivs", "Vertical levels", "Pa",klev, presnivs, nvert,"down")
13 
14  zsto = pdtphys
15  zout = ecrit_tra
16  CALL histdef(nid_tra, "phis", "Surface geop. height", "-", &
17  iim,jj_nb,nhori, 1,1,1, -99, 32,"once", zsto,zout)
18  CALL histdef(nid_tra, "aire", "Grid area", "-", &
19  iim,jj_nb,nhori, 1,1,1, -99, 32,"once", zsto,zout)
20  CALL histdef(nid_tra, "zmasse", "column density of air in cell", &
21  "kg m-2", iim, jj_nb, nhori, klev, 1, klev, nvert, 32, "ave(X)", &
22  zsto,zout)
23 ! RomP >>>
24  CALL histdef(nid_tra, "sourceBE", "source 7Be", &
25  "at/kgA/s", iim, jj_nb, nhori, klev, 1, klev, nvert, 32, "ave(X)", &
26  zsto,zout)
27 ! RomP <<<
28 
29 !TRACEURS
30 !----------------
31  DO it = 1,nbtr
32 !! iiq = niadv(it+2) ! jyg
33  iiq = niadv(it+nqo) ! jyg
34 
35 ! CONCENTRATIONS
36  CALL histdef(nid_tra, tname(iiq), ttext(iiq), "U/kga", &
37  iim,jj_nb,nhori, klev,1,klev,nvert, 32,"ave(X)", zsto,zout)
38 
39 ! TD LESSIVAGE
40  IF (lessivage .AND. aerosol(it)) THEN
41  CALL histdef(nid_tra, "fl"//tname(iiq),"Flux "//ttext(iiq), &
42  "at/m2/s",iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
43  "ave(X)", zsto,zout)
44  CALL histdef(nid_tra, "d_tr_ls_"//tname(iiq), &
45  "tendance lessivage large scale"// ttext(iiq), "?",&
46  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
47  "ave(X)", zsto,zout)
48  CALL histdef(nid_tra, "d_tr_insc_"//tname(iiq), &
49  "tendance lessivage large scale"// ttext(iiq), "?",&
50  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
51  "ave(X)", zsto,zout)
52  CALL histdef(nid_tra, "d_tr_bcscav_"//tname(iiq), &
53  "tendance lessivage large scale"// ttext(iiq), "?",&
54  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
55  "ave(X)", zsto,zout)
56  CALL histdef(nid_tra, "d_tr_evls_"//tname(iiq), &
57  "tendance lessivage large scale"// ttext(iiq), "?",&
58  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
59  "ave(X)", zsto,zout)
60 ! Tracer concentration in LS precipitation at surface
61  CALL histdef(nid_tra, "qpr_ls_"//tname(iiq), &
62  "concentration in LS precip"// ttext(iiq), "at/kgw", &
63  iim,jj_nb,nhori, 1,1,1, -99, 32, &
64  "ave(X)", zsto,zout)
65  END IF
66 
67 ! TD THERMIQUES
68  IF (iflag_thermals.gt.0) THEN
69  CALL histdef(nid_tra, "d_tr_th_"//tname(iiq), &
70  "tendance thermique"// ttext(iiq), "?", &
71  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
72  "ave(X)", zsto,zout)
73  ENDIF
74 
75 ! TD CONVECTION
76  IF (iflag_con.GE.2) THEN
77  CALL histdef(nid_tra, "d_tr_cv_"//tname(iiq), &
78  "tendance convection"// ttext(iiq), "?", &
79  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
80  "ave(X)", zsto,zout)
81  ENDIF
82 
83 ! RomP >>>
84  IF (iflag_con.EQ.30) THEN
85  CALL histdef(nid_tra, "d_tr_cvMA_"//tname(iiq), &
86  "tendance convection"// ttext(iiq), "?",&
87  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
88  "ave(X)", zsto,zout)
89  CALL histdef(nid_tra, "d_tr_trsp_"//tname(iiq), &
90  "tendance transport "// ttext(iiq), "at/kga", &
91  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
92  "ave(X)", zsto,zout)
93  CALL histdef(nid_tra, "d_tr_sscav_"//tname(iiq), &
94  "tendance lessivage flux satures "// ttext(iiq), "at/kga", &
95  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
96  "ave(X)", zsto,zout)
97  CALL histdef(nid_tra, "d_tr_sat_"//tname(iiq), &
98  "tendance flux satures "// ttext(iiq), "at/kga", &
99  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
100  "ave(X)", zsto,zout)
101  CALL histdef(nid_tra, "d_tr_uscav_"//tname(iiq), &
102  "tendance flux insatures "// ttext(iiq), "at/kga", &
103  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
104  "ave(X)", zsto,zout)
105  CALL histdef(nid_tra, "tr_pr_"//tname(iiq), &
106  "concentration dans precip"// ttext(iiq), "at/kga", &
107  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
108  "ave(X)", zsto,zout)
109  CALL histdef(nid_tra, "tr_aa_"//tname(iiq), &
110  "concentration precip issu AA"// ttext(iiq), "at/kga", &
111  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
112  "ave(X)", zsto,zout)
113  CALL histdef(nid_tra, "tr_mel_"//tname(iiq), &
114  "concentration precip issu melange"// ttext(iiq), "at/kga", &
115  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
116  "ave(X)", zsto,zout)
117  CALL histdef(nid_tra, "tr_di_"//tname(iiq), &
118  "concentration dans descente insaturee"// ttext(iiq), "at/kga", &
119  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
120  "ave(X)", zsto,zout)
121  CALL histdef(nid_tra, "tr_trspdi_"//tname(iiq), &
122  "conc descente insaturee MA"// ttext(iiq), "at/kga", &
123  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
124  "ave(X)", zsto,zout)
125  CALL histdef(nid_tra, "zmfd1a_"//tname(iiq), &
126  "zmfd1a"// ttext(iiq), "_", &
127  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
128  "ave(X)", zsto,zout)
129  CALL histdef(nid_tra, "zmfphi2_"//tname(iiq), &
130  "zmfphi2"// ttext(iiq), "_", &
131  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
132  "ave(X)", zsto,zout)
133  CALL histdef(nid_tra, "zmfdam_"//tname(iiq), &
134  "zmfdam"// ttext(iiq), "_", &
135  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
136  "ave(X)", zsto,zout)
137  ENDIF
138 ! RomP <<<
139  CALL histdef(nid_tra, "dtrdyn_"//tname(iiq), &
140  "td dyn tra"// ttext(iiq), "at/kga", &
141  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
142  "ave(X)", zsto,zout)
143 ! TD decroissance radioactive
144  CALL histdef(nid_tra, "d_tr_dec_"//tname(iiq), &
145  "tendance decroi radio "// ttext(iiq), "", &
146  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
147  "ave(X)", zsto,zout)
148 
149 ! TD COUCHE-LIMITE
150  IF (iflag_vdf_trac>=0) THEN
151  CALL histdef(nid_tra, "d_tr_cl_"//tname(iiq), &
152  "tendance couche limite"// ttext(iiq), "?", &
153  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
154  "ave(X)", zsto,zout)
155 ! Dry deposit (1st layer and surface)
156  CALL histdef(nid_tra, "d_tr_dry_"//tname(iiq), &
157  "tendancy dry deposit"// ttext(iiq), "at/kga/step", &
158  iim,jj_nb,nhori, 1,1,1, -99, 32, &
159  "ave(X)", zsto,zout)
160  CALL histdef(nid_tra, "flux_tr_dry_"//tname(iiq), &
161  "dry deposit at surf (downward)"// ttext(iiq), "at/m2/step", &
162  iim,jj_nb,nhori, 1,1,1, -99, 32, &
163  "ave(X)", zsto,zout)
164  ENDIF
165  ENDDO
166 
167  CALL histdef(nid_tra, "Mint", "Mint","", &
168  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
169  "inst(X)", zout,zout)
170  CALL histdef(nid_tra, "frac_impa", "frac_impa","", &
171  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
172  "inst(X)", zout,zout)
173  CALL histdef(nid_tra, "frac_nucl", "frac_nucl","", &
174  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
175  "inst(X)", zout,zout)
176 !---------------
177 !
178 ! VENT (niveau 1)
179  CALL histdef(nid_tra, "pyu1", "Vent niv 1", "-", &
180  iim,jj_nb,nhori, 1,1,1, -99, 32, &
181  "inst(X)", zout,zout)
182  CALL histdef(nid_tra, "pyv1", "Vent niv 1", "-", &
183  iim,jj_nb,nhori, 1,1,1, -99, 32, &
184  "inst(X)", zout,zout)
185 
186 ! TEMPERATURE DU SOL
187  CALL histdef(nid_tra, "ftsol1", "temper sol", "-", &
188  iim,jj_nb,nhori, 1,1,1, -99, 32, &
189  "inst(X)", zout,zout)
190  CALL histdef(nid_tra, "ftsol2", "temper sol", "-", &
191  iim,jj_nb,nhori, 1,1,1, -99, 32, &
192  "inst(X)", zout,zout)
193  CALL histdef(nid_tra, "ftsol3", "temper sol", "-", &
194  iim,jj_nb,nhori, 1,1,1, -99, 32, &
195  "inst", zout,zout)
196  CALL histdef(nid_tra, "ftsol4", "temper sol", "-", &
197  iim,jj_nb,nhori, 1,1,1, -99, 32, &
198  "inst(X)", zout,zout)
199 
200 ! NATURE DU SOL
201  CALL histdef(nid_tra, "psrf1", "nature sol", "-", &
202  iim,jj_nb,nhori, 1,1,1, -99, 32, &
203  "inst(X)", zout,zout)
204  CALL histdef(nid_tra, "psrf2", "nature sol", "-", &
205  iim,jj_nb,nhori, 1,1,1, -99, 32, &
206  "inst(X)", zout,zout)
207  CALL histdef(nid_tra, "psrf3", "nature sol", "-", &
208  iim,jj_nb,nhori, 1,1,1, -99, 32, &
209  "inst(X)", zout,zout)
210  CALL histdef(nid_tra, "psrf4", "nature sol", "-", &
211  iim,jj_nb,nhori, 1,1,1, -99, 32, &
212  "inst(X)", zout,zout)
213 ! DIVERS
214  CALL histdef(nid_tra, "pplay", "pressure","-", &
215  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
216  "inst(X)", zout,zout)
217  CALL histdef(nid_tra, "T", "temperature","K", &
218  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
219  "inst(X)", zout,zout)
220  CALL histdef(nid_tra, "mfu", "flux u mont","-", &
221  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
222  "ave(X)", zsto,zout)
223  CALL histdef(nid_tra, "mfd", "flux u decen","-", &
224  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
225  "ave(X)", zsto,zout)
226  CALL histdef(nid_tra, "en_u", "flux u mont","-", &
227  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
228  "ave(X)", zsto,zout)
229  CALL histdef(nid_tra, "en_d", "flux u mont","-", &
230  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
231  "ave(X)", zsto,zout)
232  CALL histdef(nid_tra, "de_d", "flux u mont","-", &
233  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
234  "ave(X)", zsto,zout)
235  CALL histdef(nid_tra, "de_u", "flux u decen","-", &
236  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
237  "ave(X)", zsto,zout)
238  CALL histdef(nid_tra, "coefh", "turbulent coef","-", &
239  iim,jj_nb,nhori, klev,1,klev,nvert, 32, &
240  "ave(X)", zsto,zout)
241 
242  CALL histend(nid_tra)
243 !$OMP END MASTER
244  END IF ! ecrit_tra>0.
245 
!$Id La frequence de sortie REGDYN est ecrit_mth c iwmax il faut mettre la meme valeur pour c zout et zsto c dtime est passe par ailleurs a histbeg c c zsto
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL nhori
Definition: ini_histrac.h:11
character(len=23), dimension(:), allocatable, save ttext
Definition: infotrac.F90:19
!$Id day_ref
Definition: ini_histrac.h:6
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL itau_phy
Definition: ini_histrac.h:11
c c $Id
Definition: ini_bilKP_ave.h:11
!$Id ***************************************!ECRITURE DU pphis CALL zmasse
Definition: write_histrac.h:11
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL ymds2ju(annee_ref, 1, day_ref, hour, zjulian)!jyg CALL histbeg_phy("histrac"
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_con
Definition: clesphys.h:12
real, dimension(:,:), allocatable, save fl
c c zjulian c cym CALL iim cym klev cym cym nid_bilKPave CALL histbeg_phy("histbilKP_ave", itau_phy, zjulian, dtime,.nhori, nid_bilKPave) write(*
integer, dimension(3), save nvert
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
logical, dimension(:), allocatable, save radio
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire RCFC12 RCFC12_act CFC12_ppt!IM ajout CFMIP2 CMIP5 LOGICAL ok_4xCO2atm RCFC12_per CFC12_ppt_per!OM correction du bilan d eau global!OM Correction sur precip KE REAL cvl_corr!OM Fonte calotte dans bilan eau LOGICAL ok_lic_melt!IM simulateur ISCCP INTEGER overlap!IM seuils cdrh REAL cdhmax!IM param stabilite s terres et en dehors REAL f_ri_cd_min!IM MAFo pmagic evap0!Frottement au sol(Cdrag) Real f_cdrag_ter
integer, save klev
Definition: dimphy.F90:7
!$Header!CDK comgeom COMMON comgeom aire
Definition: comgeom.h:25
real, save hour
!$Id Turb_fcg_gcssold get_uvd it
!$Id vert_prof_dissip LOGICAL lstardis INTEGER niterh integer vert_prof_dissip!vertical profile of horizontal dissipation!Allowed function of pressure
Definition: comdissnew.h:13
!$Id klon IF(pctsrf(i, is_ter).GT.0.) THEN paire_ter(i)
integer, save nqo
Definition: infotrac.F90:8
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL nid_tra CALL histvert(nid_tra,"presnivs","Vertical levels","Pa", klev, presnivs, nvert,"down") zsto
real, dimension(:,:,:), allocatable, save coefh
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL zjulian
Definition: ini_histrac.h:11
!$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 pplay
Definition: calcul_STDlev.h:26
!$Id nt_fire height
!$Id La frequence de sortie REGDYN est ecrit_mth c iwmax il faut mettre la meme valeur pour c zout et zsto c dtime est passe par ailleurs a histbeg c c zout
!$Id ***************************************!ECRITURE DU phis
Definition: write_histrac.h:9
!$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)
character(len=20), dimension(:), allocatable, save tname
Definition: infotrac.F90:18
integer, save jj_nb
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_wake iflag_thermals_closure common ctherm1 iflag_thermals
Definition: thermcell.h:12
integer, dimension(:), allocatable, save niadv
Definition: infotrac.F90:26
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL pdtphys
Definition: ini_histrac.h:11
subroutine convection(KLON, KLEV, KIDIA, KFDIA, KBDIA, KTDIA, PDTCONV, ODEEP, OSHAL, OREFRESH_ALL, ODOWN, KICE, OSETTADJ, PTADJD, PTADJS, KENSM, PPABS, PZZ, PDXDY, PT, PRV, PRC, PRI, PU, PV, PW, KCOUNT, PTTEN, PRVTEN, PRCTEN, PRITEN, PPRTEN, PPRSTEN, PUMF, PDMF, PPRLFLX, PPRSFLX, PCAPE, KCLTOP, KCLBAS, OCHTRANS, KCH1, PCH1, PCH1TEN)
Definition: CVAmnh.f90:12
c c zjulian c cym CALL iim cym klev iim
Definition: ini_bilKP_ave.h:24
integer, save nbtr
Definition: infotrac.F90:12
real(kind=8), dimension(8, 3), parameter at
real, dimension(:), allocatable, save presnivs
!$Id annee_ref
Definition: temps.h:15