source: LMDZ5/trunk/libf/phylmd/dyn1d/1D_decl_cases.h @ 5394

Last change on this file since 5394 was 2716, checked in by fhourdin, 8 years ago

Inclusion du cas arm_cu2, avec les nouveaux formats de forçage 1D
(Marie-Pierre Lefebvre)

File size: 12.5 KB
Line 
1#include "netcdf.inc"
2
3! Declarations specifiques au cas Toga
4        character*80 :: fich_toga
5!        integer nlev_prof
6!        parameter (nlev_prof = 41)
7        integer nlev_toga, nt_toga
8        parameter (nlev_toga=41, nt_toga=480)
9        integer year_ini_toga, day_ini_toga, mth_ini_toga
10        real day_ju_ini_toga   ! Julian day of toga coare first day
11        parameter (year_ini_toga=1992) 
12        parameter (mth_ini_toga=11)
13        parameter (day_ini_toga=1)  !  1erNov1992
14        real dt_toga
15        parameter (dt_toga=6.*3600.)
16!!
17        integer year_print, month_print, day_print
18        real    sec_print
19!!
20        real ts_toga(nt_toga)
21        real plev_toga(nlev_toga,nt_toga),w_toga(nlev_toga,nt_toga)
22        real t_toga(nlev_toga,nt_toga),q_toga(nlev_toga,nt_toga)
23        real u_toga(nlev_toga,nt_toga),v_toga(nlev_toga,nt_toga)
24        real ht_toga(nlev_toga,nt_toga),vt_toga(nlev_toga,nt_toga)
25        real hq_toga(nlev_toga,nt_toga),vq_toga(nlev_toga,nt_toga)
26
27        real ts_prof
28        real plev_prof(nlev_toga),w_prof(nlev_toga)
29        real t_prof(nlev_toga),q_prof(nlev_toga)
30        real u_prof(nlev_toga),v_prof(nlev_toga)
31        real ht_prof(nlev_toga),vt_prof(nlev_toga)
32        real hq_prof(nlev_toga),vq_prof(nlev_toga)
33
34        real w_mod(llm), t_mod(llm),q_mod(llm)
35        real u_mod(llm),v_mod(llm), ht_mod(llm),vt_mod(llm),ug_mod(llm),vg_mod(llm)
36        real hq_mod(llm),vq_mod(llm),qv_mod(llm),ql_mod(llm),qt_mod(llm)
37        real th_mod(llm)
38
39        real ts_cur
40        common /sst_forcing/ts_cur ! also in read_tsurf1d.F
41!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
42! Declarations specifiques au cas RICO
43        character*80 :: fich_rico
44        integer nlev_rico
45
46        parameter (nlev_rico=81)
47        real ts_rico,ps_rico
48        real w_rico(llm)
49        real t_rico(llm),q_rico(llm)
50        real u_rico(llm),v_rico(llm)
51        real dth_rico(llm)
52        real dqh_rico(llm)
53!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
54! Declarations specifiques au cas TWPice
55        character*80 :: fich_twpice
56        integer nlev_twpi, nt_twpi
57        parameter (nlev_twpi=40, nt_twpi=215)
58        integer year_ini_twpi, day_ini_twpi, mth_ini_twpi
59        real heure_ini_twpi
60        real day_ju_ini_twpi   ! Julian day of twpice first day
61        parameter (year_ini_twpi=2006) 
62        parameter (mth_ini_twpi=1)
63        parameter (day_ini_twpi=17)  ! 17 = 17Jan2006
64        parameter (heure_ini_twpi=10800.) !3h en secondes
65        real dt_twpi
66        parameter (dt_twpi=3.*3600.)
67
68        real ts_twpi(nt_twpi)
69        real plev_twpi(nlev_twpi,nt_twpi),w_twpi(nlev_twpi,nt_twpi)
70        real t_twpi(nlev_twpi,nt_twpi),q_twpi(nlev_twpi,nt_twpi)
71        real u_twpi(nlev_twpi,nt_twpi),v_twpi(nlev_twpi,nt_twpi)
72        real ht_twpi(nlev_twpi,nt_twpi),vt_twpi(nlev_twpi,nt_twpi)
73        real hq_twpi(nlev_twpi,nt_twpi),vq_twpi(nlev_twpi,nt_twpi)
74
75        real ts_proftwp
76        real plev_proftwp(nlev_twpi),w_proftwp(nlev_twpi)
77        real t_proftwp(nlev_twpi),q_proftwp(nlev_twpi)
78        real u_proftwp(nlev_twpi),v_proftwp(nlev_twpi)
79        real ht_proftwp(nlev_twpi),vt_proftwp(nlev_twpi)
80        real hq_proftwp(nlev_twpi),vq_proftwp(nlev_twpi)
81
82
83
84!Declarations specifiques au cas FIRE
85        character*80 :: fich_fire
86        integer nlev_fire, nt_fire
87        parameter (nlev_fire=120, nt_fire=1) 
88        integer year_ini_fire, day_ini_fire, mth_ini_fire
89        real heure_ini_fire
90        parameter (year_ini_fire=1987) 
91        parameter (mth_ini_fire=7)
92        parameter (day_ini_fire=14)  ! 14 = 14Juil1987
93        parameter (heure_ini_fire=0.) !0h en secondes
94
95!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
96!Declarations specifiques au cas GABLS4   (MPL 20141023)
97        character*80 :: fich_gabls4
98        integer nlev_gabls4, nt_gabls4, nsol_gabls4
99        parameter (nlev_gabls4=90, nt_gabls4=37, nsol_gabls4=19) 
100        integer year_ini_gabls4, day_ini_gabls4, mth_ini_gabls4
101        real heure_ini_gabls4
102        real day_ju_ini_gabls4   ! Julian day of gabls4 first day
103        parameter (year_ini_gabls4=2009) 
104        parameter (mth_ini_gabls4=12)
105        parameter (day_ini_gabls4=11)  ! 11 = 11 decembre 2009
106        parameter (heure_ini_gabls4=0.) !0UTC en secondes
107        real dt_gabls4
108        parameter (dt_gabls4=3600.) ! 1 forcage ttes les heures
109
110!profils initiaux:
111        real plev_gabls4(nlev_gabls4)
112        real zz_gabls4(nlev_gabls4)
113        real th_gabls4(nlev_gabls4),t_gabls4(nlev_gabls4),qv_gabls4(nlev_gabls4)
114        real u_gabls4(nlev_gabls4), v_gabls4(nlev_gabls4)
115        real depth_sn_gabls4(nsol_gabls4),tsnow_gabls4(nsol_gabls4),snow_dens_gabls4(nsol_gabls4)
116        real t_gabi(nlev_gabls4),qv_gabi(nlev_gabls4)
117        real u_gabi(nlev_gabls4), v_gabi(nlev_gabls4),ug_gabi(nlev_gabls4), vg_gabi(nlev_gabls4)
118        real ht_gabi(nlev_gabls4),hq_gabi(nlev_gabls4),poub(nlev_gabls4)
119       
120!forcings
121        real ht_gabls4(nlev_gabls4,nt_gabls4),hq_gabls4(nlev_gabls4,nt_gabls4)
122        real ug_gabls4(nlev_gabls4,nt_gabls4),vg_gabls4(nlev_gabls4,nt_gabls4)
123        real tg_gabls4(nt_gabls4)
124        real ht_profg(nlev_gabls4),hq_profg(nlev_gabls4)
125        real ug_profg(nlev_gabls4),vg_profg(nlev_gabls4)
126        real tg_profg
127         
128!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
129
130!Declarations specifiques au cas DICE     (MPL 02072013)
131        character*80 :: fich_dice
132        integer nlev_dice, nt_dice
133        parameter (nlev_dice=70, nt_dice=145) 
134        integer year_ini_dice, day_ini_dice, mth_ini_dice
135        real heure_ini_dice
136        real day_ju_ini_dice   ! Julian day of dice first day
137        parameter (year_ini_dice=1999) 
138        parameter (mth_ini_dice=10)
139        parameter (day_ini_dice=23)  ! 23 = 23 october 1999
140        parameter (heure_ini_dice=68400.) !19UTC en secondes
141        real dt_dice
142        parameter (dt_dice=0.5*3600.) ! 1 forcage ttes les demi-heures
143
144!profils initiaux:
145        real plev_dice(nlev_dice)
146       
147        real zz_dice(nlev_dice)
148        real t_dice(nlev_dice),qv_dice(nlev_dice)
149        real u_dice(nlev_dice), v_dice(nlev_dice),o3_dice(nlev_dice)
150        real ht_dice(nlev_dice,nt_dice)
151        real hq_dice(nlev_dice,nt_dice), hu_dice(nlev_dice,nt_dice)
152        real hv_dice(nlev_dice,nt_dice)
153        real w_dice(nlev_dice,nt_dice),omega_dice(nlev_dice,nt_dice)
154        real o3_mod(llm),hu_mod(llm),hv_mod(llm)
155        real t_dicei(nlev_dice),qv_dicei(nlev_dice)
156        real u_dicei(nlev_dice), v_dicei(nlev_dice),o3_dicei(nlev_dice)
157        real ht_dicei(nlev_dice)
158        real hq_dicei(nlev_dice), hu_dicei(nlev_dice)
159        real hv_dicei(nlev_dice)
160        real w_dicei(nlev_dice),omega_dicei(nlev_dice)
161
162       
163!forcings
164        real shf_dice(nt_dice),lhf_dice(nt_dice)
165        real lwup_dice(nt_dice),swup_dice(nt_dice)
166        real tg_dice(nt_dice),ustar_dice(nt_dice),psurf_dice(nt_dice)
167        real ug_dice(nt_dice),vg_dice(nt_dice)
168
169        real shf_prof,lhf_prof,lwup_prof,swup_prof,tg_prof
170        real ustar_prof,psurf_prof,cdrag
171        real ht_profd(nlev_dice),hq_profd(nlev_dice),hu_profd(nlev_dice)
172        real hv_profd(nlev_dice),w_profd(nlev_dice)
173        real omega_profd(nlev_dice),ug_profd,vg_profd
174
175!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
176! Declarations specifiques au cas GCSSold
177        character*80 :: fich_gcssold_ctl
178        character*80 :: fich_gcssold_dat
179        real  ht_gcssold(llm),hq_gcssold(llm),hw_gcssold(llm)
180        real  hu_gcssold(llm)
181        real  hv_gcssold(llm)
182        real  hthturb_gcssold(llm)
183        real  hqturb_gcssold(llm)
184        real  Ts_gcssold
185        real  dtime_frcg
186        logical :: Turb_fcg_gcssold
187
188        common /turb_forcing/                                                   &
189     &  dtime_frcg,hthturb_gcssold, hqturb_gcssold,Turb_fcg_gcssold
190!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
191! Declarations specifiques au cas Arm_cu
192        character*80 :: fich_armcu
193
194
195        integer nlev_armcu, nt_armcu
196        parameter (nlev_armcu=40, nt_armcu=31)
197        integer year_ini_armcu, day_ini_armcu, mth_ini_armcu
198        real  heure_ini_armcu
199        real day_ju_ini_armcu                                ! Julian day of armcu case first day
200        parameter (year_ini_armcu=1997) 
201        parameter (mth_ini_armcu=6)
202        parameter (day_ini_armcu=21)  ! 172 = 21 juin 1997
203        parameter (heure_ini_armcu=41400)   ! 11:30 en secondes
204        real dt_armcu
205        parameter (dt_armcu=1.*1800.)   ! forcages donnes ttes les demi-heures par ifa_armcu.txt
206        real sens_armcu(nt_armcu),flat_armcu(nt_armcu)
207        real adv_theta_armcu(nt_armcu),rad_theta_armcu(nt_armcu)
208        real adv_qt_armcu(nt_armcu)
209        real theta_mod(llm),rv_mod(llm),play_mod(llm)
210! profc comme "profil armcu"
211       
212! forcages interpoles dans le temps
213        real adv_theta_prof,rad_theta_prof,adv_qt_prof
214        real sens_prof,flat_prof,fact
215!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
216! declarations specifiques au cas Sandu
217        character*80 :: fich_sandu
218!        integer nlev_prof
219!        parameter (nlev_prof = 41)
220        integer nlev_sandu, nt_sandu
221        parameter (nlev_sandu=87, nt_sandu=13)
222        integer year_ini_sandu, day_ini_sandu, mth_ini_sandu
223        real day_ju_ini_sandu                                ! Julian day of sandu case first day
224        parameter (year_ini_sandu=2006)
225        parameter (mth_ini_sandu=7)
226        parameter (day_ini_sandu=15)  ! 196 = 15 juillet 2006
227        real dt_sandu, tau_sandu
228        logical  :: trouve_700=.true.
229        parameter (dt_sandu=6.*3600.)   ! forcages donnes ttes les 6 heures par ifa_sandu.txt
230        parameter (tau_sandu=3600.)  ! temps de relaxation u,v,thetal,qt vers profil init et au dessus 700hPa
231!!
232        real ts_sandu(nt_sandu)
233! profs comme "profil sandu"
234        real plev_profs(nlev_sandu)
235        real t_profs(nlev_sandu),thl_profs(nlev_sandu)
236        real q_profs(nlev_sandu)
237        real u_profs(nlev_sandu),v_profs(nlev_sandu),w_profs(nlev_sandu)
238        real omega_profs(nlev_sandu),o3mmr_profs(nlev_sandu)
239
240        real, dimension(llm) :: relax_u,relax_v,relax_thl
241        real, dimension(llm,2) :: relax_q
242
243        real thl_mod(llm),omega_mod(llm),o3mmr_mod(llm),tke_mod(llm)
244!vertical advection computation
245        real d_t_z(llm),d_th_z(llm), d_q_z(llm)
246        real d_t_dyn_z(llm),d_th_dyn_z(llm), d_q_dyn_z(llm)
247        real d_u_z(llm),d_v_z(llm)
248        real d_u_dyn(llm),d_v_dyn(llm)
249        real d_u_dyn_z(llm),d_v_dyn_z(llm)
250        real d_u_adv(llm),d_v_adv(llm)
251        real zz(llm)
252        real zfact
253!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
254! Declarations specifiques au cas Astex
255        character*80 :: fich_astex
256        integer nlev_astex, nt_astex
257        parameter (nlev_astex=34, nt_astex=49)
258        integer year_ini_astex, day_ini_astex, mth_ini_astex
259        real day_ju_ini_astex                                ! Julian day of astex case first day
260        parameter (year_ini_astex=1992)
261        parameter (mth_ini_astex=6)
262        parameter (day_ini_astex=13)  ! 165 = 13 juin 1992
263        real dt_astex
264        parameter (dt_astex=3600.)    ! forcages donnes ttes les heures par ifa_astex.txt
265        real ts_astex(nt_astex),div_astex(nt_astex),ug_astex(nt_astex)
266        real vg_astex(nt_astex),ufa_astex(nt_astex),vfa_astex(nt_astex)
267        real div_prof,ug_prof,vg_prof,ufa_prof,vfa_prof
268! profa comme "profil astex"
269        real plev_profa(nlev_astex)
270        real t_profa(nlev_astex),thl_profa(nlev_astex)
271        real qv_profa(nlev_astex),ql_profa(nlev_astex)
272        real qt_profa(nlev_astex),o3mmr_profa(nlev_astex)
273        real u_profa(nlev_astex),v_profa(nlev_astex),w_profa(nlev_astex)
274        real tke_profa(nlev_astex)
275
276!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
277!Declarations specifiques au cas standard
278
279        real w_mod_cas(llm), t_mod_cas(llm),q_mod_cas(llm)
280        real theta_mod_cas(llm),thl_mod_cas(llm),thv_mod_cas(llm)
281        real qv_mod_cas(llm),ql_mod_cas(llm),qi_mod_cas(llm)
282        real ug_mod_cas(llm),vg_mod_cas(llm)
283        real u_mod_cas(llm),v_mod_cas(llm)
284        real omega_mod_cas(llm)
285        real ht_mod_cas(llm),vt_mod_cas(llm),dt_mod_cas(llm),dtrad_mod_cas(llm)
286        real hth_mod_cas(llm),vth_mod_cas(llm),dth_mod_cas(llm)
287        real hq_mod_cas(llm),vq_mod_cas(llm),dq_mod_cas(llm)
288        real hu_mod_cas(llm),vu_mod_cas(llm),du_mod_cas(llm)
289        real hv_mod_cas(llm),vv_mod_cas(llm),dv_mod_cas(llm)
290        integer day_ini_cas
291!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
292
293
Note: See TracBrowser for help on using the repository browser.