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