source: LMDZ6/trunk/libf/phylmd/dyn1d/old_1D_decl_cases.h @ 5210

Last change on this file since 5210 was 5084, checked in by Laurent Fairhead, 12 months ago

Reverting to r4065. Updating fortran standard broke too much stuff. Will do it by smaller chunks
AB, LF

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=30000*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.