| 1 | ! |
|---|
| 2 | ! $Id: phys_local_var_mod.F90 5813 2025-09-17 08:23:08Z musat $ |
|---|
| 3 | ! |
|---|
| 4 | MODULE phys_local_var_mod |
|---|
| 5 | USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER |
|---|
| 6 | ! Variables locales pour effectuer les appels en serie |
|---|
| 7 | !====================================================================== |
|---|
| 8 | ! |
|---|
| 9 | ! |
|---|
| 10 | !====================================================================== |
|---|
| 11 | ! Declaration des variables |
|---|
| 12 | |
|---|
| 13 | REAL, SAVE, ALLOCATABLE :: t_seri(:,:), q_seri(:,:) |
|---|
| 14 | !$OMP THREADPRIVATE(t_seri, q_seri) |
|---|
| 15 | REAL, SAVE, ALLOCATABLE :: ql_seri(:,:),qs_seri(:,:) |
|---|
| 16 | !$OMP THREADPRIVATE(ql_seri,qs_seri) |
|---|
| 17 | ! SN 15/07/2024 ISO 4D |
|---|
| 18 | REAL, SAVE, ALLOCATABLE :: qx_seri(:,:,:) |
|---|
| 19 | !$OMP THREADPRIVATE(qx_seri) |
|---|
| 20 | ! SN |
|---|
| 21 | REAL, SAVE, ALLOCATABLE :: qbs_seri(:,:) |
|---|
| 22 | !$OMP THREADPRIVATE(qbs_seri) |
|---|
| 23 | REAL, SAVE, ALLOCATABLE :: u_seri(:,:), v_seri(:,:) |
|---|
| 24 | !$OMP THREADPRIVATE(u_seri, v_seri) |
|---|
| 25 | REAL, SAVE, ALLOCATABLE :: cf_seri(:,:), rvc_seri(:,:) |
|---|
| 26 | !$OMP THREADPRIVATE(cf_seri, rvc_seri) |
|---|
| 27 | REAL, SAVE, ALLOCATABLE :: l_mixmin(:,:,:),l_mix(:,:,:),wprime(:,:,:) |
|---|
| 28 | !$OMP THREADPRIVATE(l_mixmin, l_mix, wprime) |
|---|
| 29 | REAL, SAVE, ALLOCATABLE :: pbl_eps(:,:,:) |
|---|
| 30 | !$OMP THREADPRIVATE(pbl_eps) |
|---|
| 31 | REAL, SAVE, ALLOCATABLE :: tke_shear(:,:,:), tke_buoy(:,:,:), tke_trans(:,:,:) |
|---|
| 32 | !$OMP THREADPRIVATE(tke_shear,tke_buoy,tke_trans) |
|---|
| 33 | REAL, SAVE, ALLOCATABLE :: tr_seri(:,:,:) |
|---|
| 34 | !$OMP THREADPRIVATE(tr_seri) |
|---|
| 35 | REAL, SAVE, ALLOCATABLE :: rhcl(:,:) |
|---|
| 36 | !$OMP THREADPRIVATE(rhcl) |
|---|
| 37 | REAL, SAVE, ALLOCATABLE :: d_t_dyn(:,:), d_q_dyn(:,:) |
|---|
| 38 | !$OMP THREADPRIVATE(d_t_dyn, d_q_dyn) |
|---|
| 39 | REAL, SAVE, ALLOCATABLE :: d_ql_dyn(:,:), d_qs_dyn(:,:), d_qbs_dyn(:,:) |
|---|
| 40 | !$OMP THREADPRIVATE(d_ql_dyn, d_qs_dyn, d_qbs_dyn) |
|---|
| 41 | REAL, SAVE, ALLOCATABLE :: d_q_dyn2d(:), d_ql_dyn2d(:), d_qs_dyn2d(:), d_qbs_dyn2d(:) |
|---|
| 42 | !$OMP THREADPRIVATE(d_q_dyn2d, d_ql_dyn2d, d_qs_dyn2d, d_qbs_dyn2d) |
|---|
| 43 | REAL, SAVE, ALLOCATABLE :: d_u_dyn(:,:), d_v_dyn(:,:) |
|---|
| 44 | !$OMP THREADPRIVATE(d_u_dyn, d_v_dyn) |
|---|
| 45 | REAL, SAVE, ALLOCATABLE :: d_cf_dyn(:,:), d_rvc_dyn(:,:) |
|---|
| 46 | !$OMP THREADPRIVATE(d_cf_dyn, d_rvc_dyn) |
|---|
| 47 | REAL, SAVE, ALLOCATABLE :: d_tke_dyn(:,:) |
|---|
| 48 | !$OMP THREADPRIVATE(d_tke_dyn) |
|---|
| 49 | REAL, SAVE, ALLOCATABLE :: d_tr_dyn(:,:,:) |
|---|
| 50 | !$OMP THREADPRIVATE(d_tr_dyn) |
|---|
| 51 | REAL, SAVE, ALLOCATABLE :: d_t_con(:,:),d_q_con(:,:) |
|---|
| 52 | !$OMP THREADPRIVATE(d_t_con,d_q_con) |
|---|
| 53 | REAL, SAVE, ALLOCATABLE :: d_u_con(:,:),d_v_con(:,:) |
|---|
| 54 | !$OMP THREADPRIVATE(d_u_con,d_v_con) |
|---|
| 55 | REAL, SAVE, ALLOCATABLE :: d_t_con_zmasse(:,:),d_q_con_zmasse(:,:) |
|---|
| 56 | !$OMP THREADPRIVATE(d_t_con_zmasse,d_q_con_zmasse) |
|---|
| 57 | REAL, SAVE, ALLOCATABLE :: d_u_con_zmasse(:,:),d_v_con_zmasse(:,:) |
|---|
| 58 | !$OMP THREADPRIVATE(d_u_con_zmasse,d_v_con_zmasse) |
|---|
| 59 | REAL, SAVE, ALLOCATABLE :: d_t_wake(:,:),d_q_wake(:,:) |
|---|
| 60 | !$OMP THREADPRIVATE( d_t_wake,d_q_wake) |
|---|
| 61 | REAL, SAVE, ALLOCATABLE :: d_t_lsc(:,:),d_q_lsc(:,:),d_ql_lsc(:,:),d_qi_lsc(:,:) |
|---|
| 62 | !$OMP THREADPRIVATE(d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc) |
|---|
| 63 | REAL, SAVE, ALLOCATABLE :: d_t_lwr(:,:),d_t_lw0(:,:),d_t_swr(:,:),d_t_sw0(:,:) |
|---|
| 64 | !$OMP THREADPRIVATE(d_t_lwr,d_t_lw0,d_t_swr,d_t_sw0) |
|---|
| 65 | REAL, SAVE, ALLOCATABLE :: d_t_ajsb(:,:), d_q_ajsb(:,:) |
|---|
| 66 | !$OMP THREADPRIVATE(d_t_ajsb, d_q_ajsb) |
|---|
| 67 | REAL, SAVE, ALLOCATABLE :: d_t_ajs(:,:), d_q_ajs(:,:) |
|---|
| 68 | !$OMP THREADPRIVATE(d_t_ajs, d_q_ajs) |
|---|
| 69 | REAL, SAVE, ALLOCATABLE :: d_u_ajs(:,:), d_v_ajs(:,:) |
|---|
| 70 | !$OMP THREADPRIVATE(d_u_ajs, d_v_ajs) |
|---|
| 71 | !nrlmd< |
|---|
| 72 | REAL, SAVE, ALLOCATABLE :: d_t_ajs_w(:,:), d_q_ajs_w(:,:) |
|---|
| 73 | !$OMP THREADPRIVATE(d_t_ajs_w, d_q_ajs_w) |
|---|
| 74 | REAL, SAVE, ALLOCATABLE :: d_t_ajs_x(:,:), d_q_ajs_x(:,:) |
|---|
| 75 | !$OMP THREADPRIVATE(d_t_ajs_x, d_q_ajs_x) |
|---|
| 76 | !>nrlmd |
|---|
| 77 | REAL, SAVE, ALLOCATABLE :: d_t_eva(:,:),d_q_eva(:,:),d_ql_eva(:,:),d_qi_eva(:,:) |
|---|
| 78 | !$OMP THREADPRIVATE(d_t_eva,d_q_eva,d_ql_eva,d_qi_eva) |
|---|
| 79 | ! SN 15/07/2024 ISO 4D |
|---|
| 80 | REAL, SAVE, ALLOCATABLE :: d_qx_eva(:,:,:) |
|---|
| 81 | !$OMP THREADPRIVATE(d_qx_eva) |
|---|
| 82 | ! SN |
|---|
| 83 | REAL, SAVE, ALLOCATABLE :: d_t_lscst(:,:),d_q_lscst(:,:) |
|---|
| 84 | !$OMP THREADPRIVATE(d_t_lscst,d_q_lscst) |
|---|
| 85 | REAL, SAVE, ALLOCATABLE :: d_t_lscth(:,:),d_q_lscth(:,:) |
|---|
| 86 | !$OMP THREADPRIVATE(d_t_lscth,d_q_lscth) |
|---|
| 87 | REAL, SAVE, ALLOCATABLE :: plul_th(:),plul_st(:) |
|---|
| 88 | !$OMP THREADPRIVATE(plul_th,plul_st) |
|---|
| 89 | !tendances dues a oro et lif |
|---|
| 90 | REAL, SAVE, ALLOCATABLE :: d_t_oli(:,:) |
|---|
| 91 | !$OMP THREADPRIVATE(d_t_oli) |
|---|
| 92 | REAL, SAVE, ALLOCATABLE :: d_u_oli(:,:), d_v_oli(:,:) |
|---|
| 93 | !$OMP THREADPRIVATE(d_u_oli, d_v_oli) |
|---|
| 94 | REAL, SAVE, ALLOCATABLE :: d_t_vdf(:,:), d_q_vdf(:,:), d_qbs_vdf(:,:), d_t_diss(:,:) |
|---|
| 95 | !$OMP THREADPRIVATE( d_t_vdf, d_q_vdf, d_qbs_vdf, d_t_diss) |
|---|
| 96 | REAL, SAVE, ALLOCATABLE :: d_u_vdf(:,:), d_v_vdf(:,:) |
|---|
| 97 | !$OMP THREADPRIVATE(d_u_vdf, d_v_vdf) |
|---|
| 98 | !nrlmd+jyg< |
|---|
| 99 | REAL, SAVE, ALLOCATABLE :: d_t_vdf_w(:,:), d_q_vdf_w(:,:) |
|---|
| 100 | !$OMP THREADPRIVATE( d_t_vdf_w, d_q_vdf_w) |
|---|
| 101 | REAL, SAVE, ALLOCATABLE :: d_t_vdf_x(:,:), d_q_vdf_x(:,:) |
|---|
| 102 | !$OMP THREADPRIVATE( d_t_vdf_x, d_q_vdf_x) |
|---|
| 103 | REAL, SAVE, ALLOCATABLE :: d_t_bsss(:,:), d_q_bsss(:,:), d_qbs_bsss(:,:) |
|---|
| 104 | !$OMP THREADPRIVATE( d_t_bsss,d_q_bsss, d_qbs_bsss) |
|---|
| 105 | !>nrlmd+jyg |
|---|
| 106 | REAL, SAVE, ALLOCATABLE :: d_t_oro(:,:) |
|---|
| 107 | !$OMP THREADPRIVATE(d_t_oro) |
|---|
| 108 | REAL, SAVE, ALLOCATABLE :: d_u_oro(:,:), d_v_oro(:,:) |
|---|
| 109 | !$OMP THREADPRIVATE(d_u_oro, d_v_oro) |
|---|
| 110 | REAL, SAVE, ALLOCATABLE :: d_t_oro_gw(:,:) |
|---|
| 111 | !$OMP THREADPRIVATE(d_t_oro_gw) |
|---|
| 112 | REAL, SAVE, ALLOCATABLE :: d_u_oro_gw(:,:), d_v_oro_gw(:,:) |
|---|
| 113 | !$OMP THREADPRIVATE(d_u_oro_gw, d_v_oro_gw) |
|---|
| 114 | REAL, SAVE, ALLOCATABLE :: d_t_lif(:,:) |
|---|
| 115 | !$OMP THREADPRIVATE(d_t_lif) |
|---|
| 116 | REAL, SAVE, ALLOCATABLE :: d_u_lif(:,:), d_v_lif(:,:) |
|---|
| 117 | !$OMP THREADPRIVATE(d_u_lif, d_v_lif) |
|---|
| 118 | ! Tendances Ondes de G non oro (runs strato). |
|---|
| 119 | REAL, SAVE, ALLOCATABLE :: du_gwd_hines(:,:) |
|---|
| 120 | !$OMP THREADPRIVATE(du_gwd_hines) |
|---|
| 121 | REAL, SAVE, ALLOCATABLE :: dv_gwd_hines(:,:) |
|---|
| 122 | !$OMP THREADPRIVATE(dv_gwd_hines) |
|---|
| 123 | REAL, SAVE, ALLOCATABLE :: dv_gwd_rando(:,:) |
|---|
| 124 | !$OMP THREADPRIVATE(dv_gwd_rando) |
|---|
| 125 | REAL, SAVE, ALLOCATABLE :: dv_gwd_front(:,:) |
|---|
| 126 | !$OMP THREADPRIVATE(dv_gwd_front) |
|---|
| 127 | REAL, SAVE, ALLOCATABLE :: east_gwstress(:,:) |
|---|
| 128 | !$OMP THREADPRIVATE(east_gwstress) |
|---|
| 129 | REAL, SAVE, ALLOCATABLE :: west_gwstress(:,:) |
|---|
| 130 | !$OMP THREADPRIVATE(west_gwstress) |
|---|
| 131 | REAL, SAVE, ALLOCATABLE :: d_t_hin(:,:) |
|---|
| 132 | !$OMP THREADPRIVATE(d_t_hin) |
|---|
| 133 | ! tendance due a l'oxydation du methane |
|---|
| 134 | REAL, SAVE, ALLOCATABLE :: d_q_ch4(:,:) |
|---|
| 135 | !$OMP THREADPRIVATE(d_q_ch4) |
|---|
| 136 | #ifdef ISO |
|---|
| 137 | REAL, SAVE, ALLOCATABLE :: xt_seri(:,:,:) |
|---|
| 138 | !$OMP THREADPRIVATE( xt_seri) |
|---|
| 139 | REAL, SAVE, ALLOCATABLE :: xtl_seri(:,:,:) |
|---|
| 140 | !$OMP THREADPRIVATE( xtl_seri) |
|---|
| 141 | REAL, SAVE, ALLOCATABLE :: xts_seri(:,:,:) |
|---|
| 142 | !$OMP THREADPRIVATE( xts_seri) |
|---|
| 143 | REAL, SAVE, ALLOCATABLE :: xtbs_seri(:,:,:) |
|---|
| 144 | !$OMP THREADPRIVATE( xtbs_seri) |
|---|
| 145 | REAL, SAVE, ALLOCATABLE :: d_xt_eva(:,:,:) |
|---|
| 146 | !$OMP THREADPRIVATE( d_xt_eva) |
|---|
| 147 | REAL, SAVE, ALLOCATABLE :: d_xtl_eva(:,:,:) |
|---|
| 148 | !$OMP THREADPRIVATE( d_xtl_eva) |
|---|
| 149 | REAL, SAVE, ALLOCATABLE :: d_xti_eva(:,:,:) |
|---|
| 150 | !$OMP THREADPRIVATE( d_xti_eva) |
|---|
| 151 | REAL, SAVE, ALLOCATABLE :: d_xt_vdf(:,:,:) |
|---|
| 152 | !$OMP THREADPRIVATE( d_xt_vdf) |
|---|
| 153 | REAL, SAVE, ALLOCATABLE :: d_xt_dyn(:,:,:) |
|---|
| 154 | !$OMP THREADPRIVATE( d_xt_dyn) |
|---|
| 155 | REAL, SAVE, ALLOCATABLE :: d_xtl_dyn(:,:,:), d_xts_dyn(:,:,:), d_xtbs_dyn(:,:,:) |
|---|
| 156 | !$OMP THREADPRIVATE(d_xtl_dyn, d_xts_dyn, d_xtbs_dyn) |
|---|
| 157 | REAL, SAVE, ALLOCATABLE :: d_xt_con(:,:,:) |
|---|
| 158 | !$OMP THREADPRIVATE( d_xt_con) |
|---|
| 159 | REAL, SAVE, ALLOCATABLE :: d_xt_wake(:,:,:) |
|---|
| 160 | !$OMP THREADPRIVATE( d_xt_wake) |
|---|
| 161 | REAL, SAVE, ALLOCATABLE :: d_xt_lsc(:,:,:),d_xtl_lsc(:,:,:),d_xti_lsc(:,:,:) |
|---|
| 162 | !$OMP THREADPRIVATE( d_xt_lsc,d_xtl_lsc,d_xti_lsc) |
|---|
| 163 | REAL, SAVE, ALLOCATABLE :: d_xt_ajsb(:,:,:) |
|---|
| 164 | !$OMP THREADPRIVATE( d_xt_ajsb) |
|---|
| 165 | REAL, SAVE, ALLOCATABLE :: d_xt_ajs(:,:,:) |
|---|
| 166 | !$OMP THREADPRIVATE( d_xt_ajs) |
|---|
| 167 | REAL, SAVE, ALLOCATABLE :: d_xt_ajs_w(:,:,:), d_xt_ajs_x(:,:,:) |
|---|
| 168 | !$OMP THREADPRIVATE(d_xt_ajs_w, d_xt_ajs_x) |
|---|
| 169 | REAL, SAVE, ALLOCATABLE :: d_xt_vdf_w(:,:,:), d_xt_vdf_x(:,:,:) |
|---|
| 170 | !$OMP THREADPRIVATE(d_xt_vdf_w, d_xt_vdf_x) |
|---|
| 171 | REAL, SAVE, ALLOCATABLE :: d_xt_ch4(:,:,:) |
|---|
| 172 | !$OMP THREADPRIVATE( d_xt_ch4) |
|---|
| 173 | REAL, SAVE, ALLOCATABLE :: d_xt_prod_nucl(:,:,:) |
|---|
| 174 | !$OMP THREADPRIVATE( d_xt_prod_nucl) |
|---|
| 175 | REAL, SAVE, ALLOCATABLE :: d_xt_cosmo(:,:,:) |
|---|
| 176 | !$OMP THREADPRIVATE( d_xt_cosmo) |
|---|
| 177 | REAL, SAVE, ALLOCATABLE :: d_xt_decroiss(:,:,:) |
|---|
| 178 | !$OMP THREADPRIVATE( d_xt_decroiss) |
|---|
| 179 | #endif |
|---|
| 180 | ! GG |
|---|
| 181 | ! diagnostique de la glace de mer |
|---|
| 182 | REAL, SAVE, ALLOCATABLE :: fcds(:) |
|---|
| 183 | !$OMP THREADPRIVATE(fcds) |
|---|
| 184 | REAL, SAVE, ALLOCATABLE :: fcdi(:) |
|---|
| 185 | !$OMP THREADPRIVATE(fcdi) |
|---|
| 186 | REAL, SAVE, ALLOCATABLE :: dh_basal_growth(:) |
|---|
| 187 | !$OMP THREADPRIVATE(dh_basal_growth) |
|---|
| 188 | REAL, SAVE, ALLOCATABLE :: dh_basal_melt(:) |
|---|
| 189 | !$OMP THREADPRIVATE(dh_basal_melt) |
|---|
| 190 | REAL, SAVE, ALLOCATABLE :: dh_top_melt(:) |
|---|
| 191 | !$OMP THREADPRIVATE(dh_top_melt) |
|---|
| 192 | REAL, SAVE, ALLOCATABLE :: dh_snow2sic(:) |
|---|
| 193 | !$OMP THREADPRIVATE(dh_snow2sic) |
|---|
| 194 | REAL, SAVE, ALLOCATABLE :: dtice_melt(:) |
|---|
| 195 | !$OMP THREADPRIVATE(dtice_melt) |
|---|
| 196 | REAL, SAVE, ALLOCATABLE :: dtice_snow2sic(:) |
|---|
| 197 | !$OMP THREADPRIVATE(dtice_snow2sic) |
|---|
| 198 | ! GG |
|---|
| 199 | |
|---|
| 200 | ! tendance du a la conersion Ec -> E thermique |
|---|
| 201 | REAL, SAVE, ALLOCATABLE :: d_t_ec(:,:) |
|---|
| 202 | !$OMP THREADPRIVATE(d_t_ec) |
|---|
| 203 | REAL, SAVE, ALLOCATABLE :: d_ts(:,:), d_tr(:,:,:) |
|---|
| 204 | !$OMP THREADPRIVATE(d_ts, d_tr) |
|---|
| 205 | |
|---|
| 206 | ! diagnostique pour le rayonnement |
|---|
| 207 | REAL, SAVE, ALLOCATABLE :: topswad_aero(:), solswad_aero(:) ! diag |
|---|
| 208 | !$OMP THREADPRIVATE(topswad_aero,solswad_aero) |
|---|
| 209 | REAL, SAVE, ALLOCATABLE :: topswai_aero(:), solswai_aero(:) ! diag |
|---|
| 210 | !$OMP THREADPRIVATE(topswai_aero,solswai_aero) |
|---|
| 211 | REAL, SAVE, ALLOCATABLE :: topswad0_aero(:), solswad0_aero(:) ! diag |
|---|
| 212 | !$OMP THREADPRIVATE(topswad0_aero,solswad0_aero) |
|---|
| 213 | REAL, SAVE, ALLOCATABLE :: topsw_aero(:,:), solsw_aero(:,:) ! diag |
|---|
| 214 | !$OMP THREADPRIVATE(topsw_aero,solsw_aero) |
|---|
| 215 | REAL, SAVE, ALLOCATABLE :: topsw0_aero(:,:), solsw0_aero(:,:) ! diag |
|---|
| 216 | !$OMP THREADPRIVATE(topsw0_aero,solsw0_aero) |
|---|
| 217 | REAL, SAVE, ALLOCATABLE :: topswcf_aero(:,:), solswcf_aero(:,:) ! diag |
|---|
| 218 | !$OMP THREADPRIVATE(topswcf_aero,solswcf_aero) |
|---|
| 219 | ! LW radiation diagnostics CK |
|---|
| 220 | REAL, SAVE, ALLOCATABLE :: toplwad_aero(:), sollwad_aero(:) ! diag |
|---|
| 221 | !$OMP THREADPRIVATE(toplwad_aero,sollwad_aero) |
|---|
| 222 | REAL, SAVE, ALLOCATABLE :: toplwai_aero(:), sollwai_aero(:) ! diag |
|---|
| 223 | !$OMP THREADPRIVATE(toplwai_aero,sollwai_aero) |
|---|
| 224 | REAL, SAVE, ALLOCATABLE :: toplwad0_aero(:), sollwad0_aero(:) ! diag |
|---|
| 225 | !$OMP THREADPRIVATE(toplwad0_aero,sollwad0_aero) |
|---|
| 226 | ! Special RRTM |
|---|
| 227 | REAL, SAVE, ALLOCATABLE :: ZLWFT0_i(:,:), ZSWFT0_i(:,:) ! diag |
|---|
| 228 | !$OMP THREADPRIVATE(ZLWFT0_i,ZSWFT0_i) |
|---|
| 229 | REAL, SAVE, ALLOCATABLE :: ZFLDN0(:,:), ZFLUP0(:,:) ! diag |
|---|
| 230 | !$OMP THREADPRIVATE(ZFLDN0,ZFLUP0) |
|---|
| 231 | REAL, SAVE, ALLOCATABLE :: ZFSDN0(:,:), ZFSUP0(:,:) ! diag |
|---|
| 232 | !$OMP THREADPRIVATE(ZFSDN0,ZFSUP0) |
|---|
| 233 | ! |
|---|
| 234 | REAL, SAVE, ALLOCATABLE :: stratomask(:,:) |
|---|
| 235 | !$OMP THREADPRIVATE(stratomask) |
|---|
| 236 | REAL, SAVE, ALLOCATABLE :: tausum_aero(:,:,:) |
|---|
| 237 | !$OMP THREADPRIVATE(tausum_aero) |
|---|
| 238 | REAL, SAVE, ALLOCATABLE :: drytausum_aero(:,:) |
|---|
| 239 | !$OMP THREADPRIVATE(drytausum_aero) |
|---|
| 240 | REAL, SAVE, ALLOCATABLE :: tau3d_aero(:,:,:,:) |
|---|
| 241 | !$OMP THREADPRIVATE(tau3d_aero) |
|---|
| 242 | REAL, SAVE, ALLOCATABLE :: dNovrN(:) |
|---|
| 243 | !$OMP THREADPRIVATE(dNovrN) |
|---|
| 244 | REAL, SAVE, ALLOCATABLE :: zfice(:,:) |
|---|
| 245 | !$OMP THREADPRIVATE(zfice) |
|---|
| 246 | REAL, SAVE, ALLOCATABLE :: od443aer(:) |
|---|
| 247 | !$OMP THREADPRIVATE(od443aer) |
|---|
| 248 | REAL, SAVE, ALLOCATABLE :: od550aer(:) |
|---|
| 249 | !$OMP THREADPRIVATE(od550aer) |
|---|
| 250 | REAL, SAVE, ALLOCATABLE :: dryod550aer(:) |
|---|
| 251 | !$OMP THREADPRIVATE(dryod550aer) |
|---|
| 252 | REAL, SAVE, ALLOCATABLE :: abs550aer(:) |
|---|
| 253 | !$OMP THREADPRIVATE(abs550aer) |
|---|
| 254 | REAL, SAVE, ALLOCATABLE :: od865aer(:) |
|---|
| 255 | !$OMP THREADPRIVATE(od865aer) |
|---|
| 256 | REAL, SAVE, ALLOCATABLE :: ec550aer(:,:) |
|---|
| 257 | !$OMP THREADPRIVATE(ec550aer) |
|---|
| 258 | REAL, SAVE, ALLOCATABLE :: od550lt1aer(:) |
|---|
| 259 | !$OMP THREADPRIVATE(od550lt1aer) |
|---|
| 260 | REAL, SAVE, ALLOCATABLE :: sconcso4(:) |
|---|
| 261 | !$OMP THREADPRIVATE(sconcso4) |
|---|
| 262 | REAL, SAVE, ALLOCATABLE :: sconcno3(:) |
|---|
| 263 | !$OMP THREADPRIVATE(sconcno3) |
|---|
| 264 | REAL, SAVE, ALLOCATABLE :: sconcoa(:) |
|---|
| 265 | !$OMP THREADPRIVATE(sconcoa) |
|---|
| 266 | REAL, SAVE, ALLOCATABLE :: sconcbc(:) |
|---|
| 267 | !$OMP THREADPRIVATE(sconcbc) |
|---|
| 268 | REAL, SAVE, ALLOCATABLE :: sconcss(:) |
|---|
| 269 | !$OMP THREADPRIVATE(sconcss) |
|---|
| 270 | REAL, SAVE, ALLOCATABLE :: sconcdust(:) |
|---|
| 271 | !$OMP THREADPRIVATE(sconcdust) |
|---|
| 272 | REAL, SAVE, ALLOCATABLE :: concso4(:,:) |
|---|
| 273 | !$OMP THREADPRIVATE(concso4) |
|---|
| 274 | REAL, SAVE, ALLOCATABLE :: concno3(:,:) |
|---|
| 275 | !$OMP THREADPRIVATE(concno3) |
|---|
| 276 | REAL, SAVE, ALLOCATABLE :: concoa(:,:) |
|---|
| 277 | !$OMP THREADPRIVATE(concoa) |
|---|
| 278 | REAL, SAVE, ALLOCATABLE :: concbc(:,:) |
|---|
| 279 | !$OMP THREADPRIVATE(concbc) |
|---|
| 280 | REAL, SAVE, ALLOCATABLE :: concss(:,:) |
|---|
| 281 | !$OMP THREADPRIVATE(concss) |
|---|
| 282 | REAL, SAVE, ALLOCATABLE :: concdust(:,:) |
|---|
| 283 | !$OMP THREADPRIVATE(concdust) |
|---|
| 284 | REAL, SAVE, ALLOCATABLE :: loadso4(:) |
|---|
| 285 | !$OMP THREADPRIVATE(loadso4) |
|---|
| 286 | REAL, SAVE, ALLOCATABLE :: loadoa(:) |
|---|
| 287 | !$OMP THREADPRIVATE(loadoa) |
|---|
| 288 | REAL, SAVE, ALLOCATABLE :: loadbc(:) |
|---|
| 289 | !$OMP THREADPRIVATE(loadbc) |
|---|
| 290 | REAL, SAVE, ALLOCATABLE :: loadss(:) |
|---|
| 291 | !$OMP THREADPRIVATE(loadss) |
|---|
| 292 | REAL, SAVE, ALLOCATABLE :: loaddust(:) |
|---|
| 293 | !$OMP THREADPRIVATE(loaddust) |
|---|
| 294 | REAL, SAVE, ALLOCATABLE :: loadno3(:) |
|---|
| 295 | !$OMP THREADPRIVATE(loadno3) |
|---|
| 296 | REAL, SAVE, ALLOCATABLE :: load_tmp1(:), load_tmp2(:) |
|---|
| 297 | !$OMP THREADPRIVATE(load_tmp1, load_tmp2) |
|---|
| 298 | REAL, SAVE, ALLOCATABLE :: load_tmp3(:), load_tmp4(:) |
|---|
| 299 | !$OMP THREADPRIVATE(load_tmp3, load_tmp4) |
|---|
| 300 | REAL, SAVE, ALLOCATABLE :: load_tmp5(:), load_tmp6(:) |
|---|
| 301 | !$OMP THREADPRIVATE(load_tmp5, load_tmp6) |
|---|
| 302 | REAL, SAVE, ALLOCATABLE :: load_tmp7(:), load_tmp8(:) |
|---|
| 303 | !$OMP THREADPRIVATE(load_tmp7, load_tmp8) |
|---|
| 304 | REAL, SAVE, ALLOCATABLE :: load_tmp9(:), load_tmp10(:) |
|---|
| 305 | !$OMP THREADPRIVATE(load_tmp9, load_tmp10) |
|---|
| 306 | |
|---|
| 307 | !IM ajout variables CFMIP2/CMIP5 |
|---|
| 308 | REAL,ALLOCATABLE,SAVE :: topswad_aerop(:), solswad_aerop(:) |
|---|
| 309 | !$OMP THREADPRIVATE(topswad_aerop, solswad_aerop) |
|---|
| 310 | REAL,ALLOCATABLE,SAVE :: topswai_aerop(:), solswai_aerop(:) |
|---|
| 311 | !$OMP THREADPRIVATE(topswai_aerop, solswai_aerop) |
|---|
| 312 | REAL,ALLOCATABLE,SAVE :: topswad0_aerop(:), solswad0_aerop(:) |
|---|
| 313 | !$OMP THREADPRIVATE(topswad0_aerop, solswad0_aerop) |
|---|
| 314 | REAL,ALLOCATABLE,SAVE :: topsw_aerop(:,:), topsw0_aerop(:,:) |
|---|
| 315 | !$OMP THREADPRIVATE(topsw_aerop, topsw0_aerop) |
|---|
| 316 | REAL,ALLOCATABLE,SAVE :: solsw_aerop(:,:), solsw0_aerop(:,:) |
|---|
| 317 | !$OMP THREADPRIVATE(solsw_aerop, solsw0_aerop) |
|---|
| 318 | REAL,ALLOCATABLE,SAVE :: topswcf_aerop(:,:), solswcf_aerop(:,:) |
|---|
| 319 | !$OMP THREADPRIVATE(topswcf_aerop, solswcf_aerop) |
|---|
| 320 | |
|---|
| 321 | ! additional LW variables CK |
|---|
| 322 | REAL,ALLOCATABLE,SAVE :: toplwad_aerop(:), sollwad_aerop(:) |
|---|
| 323 | !$OMP THREADPRIVATE(toplwad_aerop, sollwad_aerop) |
|---|
| 324 | REAL,ALLOCATABLE,SAVE :: toplwai_aerop(:), sollwai_aerop(:) |
|---|
| 325 | !$OMP THREADPRIVATE(toplwai_aerop, sollwai_aerop) |
|---|
| 326 | REAL,ALLOCATABLE,SAVE :: toplwad0_aerop(:), sollwad0_aerop(:) |
|---|
| 327 | !$OMP THREADPRIVATE(toplwad0_aerop, sollwad0_aerop) |
|---|
| 328 | |
|---|
| 329 | !AI 08 2023 ajout pour Ecrad |
|---|
| 330 | REAL,ALLOCATABLE,SAVE :: topswad_aero_s2(:), solswad_aero_s2(:) |
|---|
| 331 | !$OMP THREADPRIVATE(topswad_aero_s2, solswad_aero_s2) |
|---|
| 332 | REAL,ALLOCATABLE,SAVE :: topswai_aero_s2(:), solswai_aero_s2(:) |
|---|
| 333 | !$OMP THREADPRIVATE(topswai_aero_s2, solswai_aero_s2) |
|---|
| 334 | REAL,ALLOCATABLE,SAVE :: topswad0_aero_s2(:), solswad0_aero_s2(:) |
|---|
| 335 | !$OMP THREADPRIVATE(topswad0_aero_s2, solswad0_aero_s2) |
|---|
| 336 | REAL,ALLOCATABLE,SAVE :: topsw_aero_s2(:,:), topsw0_aero_s2(:,:) |
|---|
| 337 | !$OMP THREADPRIVATE(topsw_aero_s2, topsw0_aero_s2) |
|---|
| 338 | REAL,ALLOCATABLE,SAVE :: solsw_aero_s2(:,:), solsw0_aero_s2(:,:) |
|---|
| 339 | !$OMP THREADPRIVATE(solsw_aero_s2, solsw0_aero_s2) |
|---|
| 340 | REAL,ALLOCATABLE,SAVE :: topswcf_aero_s2(:,:), solswcf_aero_s2(:,:) |
|---|
| 341 | !$OMP THREADPRIVATE(topswcf_aero_s2, solswcf_aero_s2) |
|---|
| 342 | ! additional LW variables CK |
|---|
| 343 | REAL,ALLOCATABLE,SAVE :: toplwad_aero_s2(:), sollwad_aero_s2(:) |
|---|
| 344 | !$OMP THREADPRIVATE(toplwad_aero_s2, sollwad_aero_s2) |
|---|
| 345 | REAL,ALLOCATABLE,SAVE :: toplwai_aero_s2(:), sollwai_aero_s2(:) |
|---|
| 346 | !$OMP THREADPRIVATE(toplwai_aero_s2, sollwai_aero_s2) |
|---|
| 347 | REAL,ALLOCATABLE,SAVE :: toplwad0_aero_s2(:), sollwad0_aero_s2(:) |
|---|
| 348 | !$OMP THREADPRIVATE(toplwad0_aero_s2, sollwad0_aero_s2) |
|---|
| 349 | |
|---|
| 350 | !Ajout de celles n??cessaires au phys_output_write_mod |
|---|
| 351 | REAL, SAVE, ALLOCATABLE :: tal1(:), pal1(:), pab1(:), pab2(:) |
|---|
| 352 | !$OMP THREADPRIVATE(tal1, pal1, pab1, pab2) |
|---|
| 353 | REAL, SAVE, ALLOCATABLE :: ptstar(:), pt0(:), slp(:) |
|---|
| 354 | !$OMP THREADPRIVATE(ptstar, pt0, slp) |
|---|
| 355 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: sens, flwp, fiwp |
|---|
| 356 | !$OMP THREADPRIVATE(sens, flwp, fiwp) |
|---|
| 357 | !! |
|---|
| 358 | !FC |
|---|
| 359 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zxfluxt, zxfluxq |
|---|
| 360 | !$OMP THREADPRIVATE(zxfluxt, zxfluxq) |
|---|
| 361 | !FC |
|---|
| 362 | !! Wake variables |
|---|
| 363 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_wake |
|---|
| 364 | !$OMP THREADPRIVATE(alp_wake) |
|---|
| 365 | !!jyg! REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: wake_h,wake_k |
|---|
| 366 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: wake_h |
|---|
| 367 | INTEGER,ALLOCATABLE,SAVE,DIMENSION(:) :: wake_k |
|---|
| 368 | !$OMP THREADPRIVATE(wake_h,wake_k) |
|---|
| 369 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wake_omg |
|---|
| 370 | !$OMP THREADPRIVATE(wake_omg) |
|---|
| 371 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:) :: d_deltat_wk, d_deltaq_wk |
|---|
| 372 | !$OMP THREADPRIVATE(d_deltat_wk, d_deltaq_wk) |
|---|
| 373 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: d_s_wk, d_s_a_wk, d_dens_wk, d_dens_a_wk |
|---|
| 374 | !$OMP THREADPRIVATE(d_s_wk, d_s_a_wk, d_dens_wk, d_dens_a_wk) |
|---|
| 375 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:) :: d_deltat_wk_gw, d_deltaq_wk_gw |
|---|
| 376 | !$OMP THREADPRIVATE(d_deltat_wk_gw, d_deltaq_wk_gw) |
|---|
| 377 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:) :: d_deltat_vdf, d_deltaq_vdf |
|---|
| 378 | !$OMP THREADPRIVATE(d_deltat_vdf, d_deltaq_vdf) |
|---|
| 379 | !!! REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: d_s_vdf, d_dens_vdf |
|---|
| 380 | !!!OMP THREADPRIVATE(d_s_vdf, d_dens_vdf) |
|---|
| 381 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:) :: d_deltat_the, d_deltaq_the |
|---|
| 382 | !$OMP THREADPRIVATE(d_deltat_the, d_deltaq_the) |
|---|
| 383 | !!! REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: d_s_the, d_dens_the |
|---|
| 384 | !!!OMP THREADPRIVATE(d_s_the, d_dens_the) |
|---|
| 385 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: d_deltat_ajs_cv, d_deltaq_ajs_cv |
|---|
| 386 | !$OMP THREADPRIVATE(d_deltat_ajs_cv, d_deltaq_ajs_cv) |
|---|
| 387 | #ifdef ISO |
|---|
| 388 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:,:) :: d_deltaxt_wk |
|---|
| 389 | !$OMP THREADPRIVATE(d_deltaxt_wk) |
|---|
| 390 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:,:) :: d_deltaxt_wk_gw |
|---|
| 391 | !$OMP THREADPRIVATE(d_deltaxt_wk_gw) |
|---|
| 392 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:,:) :: d_deltaxt_the |
|---|
| 393 | !$OMP THREADPRIVATE(d_deltaxt_the) |
|---|
| 394 | REAL, SAVE, ALLOCATABLE,DIMENSION(:,:,:) :: d_deltaxt_vdf |
|---|
| 395 | !$OMP THREADPRIVATE(d_deltaxt_vdf) |
|---|
| 396 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: d_deltaxt_ajs_cv |
|---|
| 397 | !$OMP THREADPRIVATE(d_deltaxt_ajs_cv) |
|---|
| 398 | #endif |
|---|
| 399 | !! End of Wake variables |
|---|
| 400 | !! |
|---|
| 401 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: bils |
|---|
| 402 | !$OMP THREADPRIVATE(bils) |
|---|
| 403 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cdragm, cdragh |
|---|
| 404 | !$OMP THREADPRIVATE(cdragm, cdragh) |
|---|
| 405 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cldh, cldl, cldm, cldq, cldt, qsat2m |
|---|
| 406 | !$OMP THREADPRIVATE(cldh, cldl, cldm, cldq, cldt, qsat2m) |
|---|
| 407 | !AS: cldhjn, cldljn, cldmjn,cldtjn pas utilisés en tant que variables, juste noms de diagnostics |
|---|
| 408 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: JrNt |
|---|
| 409 | !$OMP THREADPRIVATE(JrNt) |
|---|
| 410 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: dthmin, evap, snowerosion, fder, plcl, plfc, prw, prlw, prsw, prbsw, water_budget |
|---|
| 411 | !$OMP THREADPRIVATE(dthmin, evap, snowerosion, fder, plcl, plfc, prw, prlw, prsw, prbsw, water_budget) |
|---|
| 412 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: icesub_lic |
|---|
| 413 | !$OMP THREADPRIVATE(icesub_lic) |
|---|
| 414 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zustar, zu10m, zv10m, rh2m |
|---|
| 415 | !$OMP THREADPRIVATE(zustar, zu10m, zv10m, rh2m) |
|---|
| 416 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: s_lcl, s_pblh, s_pblt, s_therm |
|---|
| 417 | !$OMP THREADPRIVATE(s_lcl, s_pblh, s_pblt, s_therm) |
|---|
| 418 | ! |
|---|
| 419 | !nrlmd+jyg< |
|---|
| 420 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: s_pblh_x, s_pblh_w |
|---|
| 421 | !$OMP THREADPRIVATE(s_pblh_x, s_pblh_w) |
|---|
| 422 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: s_lcl_x, s_lcl_w |
|---|
| 423 | !$OMP THREADPRIVATE(s_lcl_x, s_lcl_w) |
|---|
| 424 | !>nrlmd+jyg |
|---|
| 425 | ! |
|---|
| 426 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: slab_wfbils |
|---|
| 427 | !$OMP THREADPRIVATE(slab_wfbils) |
|---|
| 428 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: tpot, tpote, ue, uq, uwat, ve, vq, vwat, zxffonte |
|---|
| 429 | !$OMP THREADPRIVATE(tpot, tpote, ue, uq, uwat, ve, vq, vwat, zxffonte) |
|---|
| 430 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxustartlic, zxrhoslic, zxqsaltlic, tempsmoothlic |
|---|
| 431 | !$OMP THREADPRIVATE(zxustartlic, zxrhoslic, zxqsaltlic, tempsmoothlic) |
|---|
| 432 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfqcalving |
|---|
| 433 | !$OMP THREADPRIVATE(zxfqcalving) |
|---|
| 434 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfluxlat, zxtsol, snow_lsc, zxfqfonte |
|---|
| 435 | !$OMP THREADPRIVATE(zxfluxlat, zxtsol, snow_lsc, zxfqfonte) |
|---|
| 436 | !SN runoffdiag |
|---|
| 437 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxrunofflic, runoff_diag |
|---|
| 438 | !$OMP THREADPRIVATE(zxrunofflic, runoff_diag) |
|---|
| 439 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxqsurf, rain_lsc, rain_num |
|---|
| 440 | !$OMP THREADPRIVATE(zxqsurf, rain_lsc, rain_num) |
|---|
| 441 | #ifdef ISO |
|---|
| 442 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: xtevap,xtprw |
|---|
| 443 | !$OMP THREADPRIVATE(xtevap,xtprw) |
|---|
| 444 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: h1_diag |
|---|
| 445 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: xtrunoff_diag |
|---|
| 446 | !$OMP THREADPRIVATE(h1_diag,xtrunoff_diag) |
|---|
| 447 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zxfxtcalving |
|---|
| 448 | !$OMP THREADPRIVATE(zxfxtcalving) |
|---|
| 449 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: xtsnow_lsc, zxfxtfonte |
|---|
| 450 | !$OMP THREADPRIVATE(xtsnow_lsc, zxfxtfonte) |
|---|
| 451 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zxxtrunofflic |
|---|
| 452 | !$OMP THREADPRIVATE(zxxtrunofflic) |
|---|
| 453 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: xtrain_lsc |
|---|
| 454 | !$OMP THREADPRIVATE(xtrain_lsc) |
|---|
| 455 | #endif |
|---|
| 456 | ! |
|---|
| 457 | !jyg+nrlmd< |
|---|
| 458 | !!!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
|---|
| 459 | ! c |
|---|
| 460 | ! Declarations liees a la couche limite differentiee w-x c |
|---|
| 461 | ! c |
|---|
| 462 | !!!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
|---|
| 463 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: sens_x, sens_w |
|---|
| 464 | !$OMP THREADPRIVATE(sens_x, sens_w) |
|---|
| 465 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfluxlat_x, zxfluxlat_w |
|---|
| 466 | !$OMP THREADPRIVATE(zxfluxlat_x, zxfluxlat_w) |
|---|
| 467 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: delta_qsurf |
|---|
| 468 | !$OMP THREADPRIVATE(delta_qsurf) |
|---|
| 469 | !jyg< |
|---|
| 470 | !!! Entrees supplementaires couche-limite |
|---|
| 471 | !! REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t_x, t_w |
|---|
| 472 | !!!$OMP THREADPRIVATE(t_x, t_w) |
|---|
| 473 | !! REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: q_x, q_w |
|---|
| 474 | !!!$OMP THREADPRIVATE(q_x, q_w) |
|---|
| 475 | !>jyg |
|---|
| 476 | !!! Sorties ferret |
|---|
| 477 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dtvdf_x, dtvdf_w |
|---|
| 478 | !$OMP THREADPRIVATE(dtvdf_x, dtvdf_w) |
|---|
| 479 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dqvdf_x, dqvdf_w |
|---|
| 480 | !$OMP THREADPRIVATE(dqvdf_x, dqvdf_w) |
|---|
| 481 | ! Variables supplementaires dans physiq.F relative au splitting de la surface |
|---|
| 482 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: pbl_tke_input |
|---|
| 483 | !$OMP THREADPRIVATE(pbl_tke_input) |
|---|
| 484 | ! Entree supplementaire Thermiques : |
|---|
| 485 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t_therm, q_therm, u_therm, v_therm |
|---|
| 486 | !$OMP THREADPRIVATE(t_therm, q_therm, u_therm, v_therm) |
|---|
| 487 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cdragh_x, cdragh_w |
|---|
| 488 | !$OMP THREADPRIVATE(cdragh_x, cdragh_w) |
|---|
| 489 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cdragm_x, cdragm_w |
|---|
| 490 | !$OMP THREADPRIVATE(cdragm_x, cdragm_w) |
|---|
| 491 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: kh, kh_x, kh_w |
|---|
| 492 | !$OMP THREADPRIVATE(kh, kh_x, kh_w) |
|---|
| 493 | #ifdef ISO |
|---|
| 494 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: dxtvdf_x, dxtvdf_w |
|---|
| 495 | !$OMP THREADPRIVATE(dxtvdf_x, dxtvdf_w) |
|---|
| 496 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xt_therm |
|---|
| 497 | !$OMP THREADPRIVATE(xt_therm) |
|---|
| 498 | #endif |
|---|
| 499 | !!! |
|---|
| 500 | !!!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
|---|
| 501 | LOGICAL, SAVE, ALLOCATABLE :: ptconv(:,:) |
|---|
| 502 | !$OMP THREADPRIVATE(ptconv) |
|---|
| 503 | REAL, SAVE, ALLOCATABLE :: ratqsc(:,:) |
|---|
| 504 | !$OMP THREADPRIVATE(ratqsc) |
|---|
| 505 | !>jyg+nrlmd |
|---|
| 506 | ! |
|---|
| 507 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: wbeff, convoccur, zmax_th, zq2m, zt2m |
|---|
| 508 | !$OMP THREADPRIVATE(wbeff, convoccur, zmax_th, zq2m, zt2m) |
|---|
| 509 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zt2m_min_mon, zt2m_max_mon |
|---|
| 510 | !$OMP THREADPRIVATE(zt2m_min_mon, zt2m_max_mon) |
|---|
| 511 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: t2m_min_mon, t2m_max_mon |
|---|
| 512 | !$OMP THREADPRIVATE(t2m_min_mon, t2m_max_mon) |
|---|
| 513 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: weak_inversion |
|---|
| 514 | !$OMP THREADPRIVATE(weak_inversion) |
|---|
| 515 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_conv,alp_bl_det |
|---|
| 516 | !$OMP THREADPRIVATE(alp_bl_conv,alp_bl_det) |
|---|
| 517 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_fluct_m,alp_bl_fluct_tke |
|---|
| 518 | !$OMP THREADPRIVATE(alp_bl_fluct_m,alp_bl_fluct_tke) |
|---|
| 519 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_stat, n2, s2, strig, zcong, zlcl_th |
|---|
| 520 | !$OMP THREADPRIVATE(alp_bl_stat, n2, s2, strig, zcong, zlcl_th) |
|---|
| 521 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: proba_notrig, random_notrig |
|---|
| 522 | !$OMP THREADPRIVATE(proba_notrig, random_notrig) |
|---|
| 523 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: coef_clos, coef_clos_eff |
|---|
| 524 | !$OMP THREADPRIVATE(coef_clos, coef_clos_eff) |
|---|
| 525 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils |
|---|
| 526 | !$OMP THREADPRIVATE(fsolsw, wfbils) |
|---|
| 527 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wfevap |
|---|
| 528 | !$OMP THREADPRIVATE(wfevap) |
|---|
| 529 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t2m, fluxlat, fsollw,evap_pot |
|---|
| 530 | !$OMP THREADPRIVATE(t2m, fluxlat, fsollw,evap_pot) |
|---|
| 531 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dnwd0, omega |
|---|
| 532 | !$OMP THREADPRIVATE(dnwd0, omega) |
|---|
| 533 | REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: epmax_diag ! epmax_cape |
|---|
| 534 | !$OMP THREADPRIVATE(epmax_diag) |
|---|
| 535 | ! |
|---|
| 536 | ! Deep convective variables used in phytrac |
|---|
| 537 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: ep ! epmax_cape |
|---|
| 538 | !$OMP THREADPRIVATE(ep) |
|---|
| 539 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dnwd, upwd |
|---|
| 540 | !$OMP THREADPRIVATE(dnwd, upwd) |
|---|
| 541 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: pmflxr, pmflxs |
|---|
| 542 | !$OMP THREADPRIVATE(pmflxr, pmflxs) |
|---|
| 543 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wdtrainA, wdtrainS, wdtrainM, wdtrainAS |
|---|
| 544 | !$OMP THREADPRIVATE(wdtrainA, wdtrainS, wdtrainM, wdtrainAS) |
|---|
| 545 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: da, mp |
|---|
| 546 | !$OMP THREADPRIVATE(da, mp) |
|---|
| 547 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wght_cvfd |
|---|
| 548 | !$OMP THREADPRIVATE(wght_cvfd) |
|---|
| 549 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:):: phi, phi2, elij, epmlmMm |
|---|
| 550 | !$OMP THREADPRIVATE(phi, phi2, elij, epmlmMm) |
|---|
| 551 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: d1a, dam |
|---|
| 552 | !$OMP THREADPRIVATE(d1a, dam) |
|---|
| 553 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: ev |
|---|
| 554 | !$OMP THREADPRIVATE(ev) |
|---|
| 555 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: qtaa |
|---|
| 556 | !$OMP THREADPRIVATE(qtaa) |
|---|
| 557 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: clw |
|---|
| 558 | !$OMP THREADPRIVATE(clw) |
|---|
| 559 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: eplaMm |
|---|
| 560 | !$OMP THREADPRIVATE(eplaMm) |
|---|
| 561 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:):: sij |
|---|
| 562 | !$OMP THREADPRIVATE(sij) |
|---|
| 563 | #ifdef ISO |
|---|
| 564 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xtwdtrainA |
|---|
| 565 | !$OMP THREADPRIVATE(xtwdtrainA) |
|---|
| 566 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xtev |
|---|
| 567 | !$OMP THREADPRIVATE(xtev) |
|---|
| 568 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xttaa |
|---|
| 569 | !$OMP THREADPRIVATE(xttaa) |
|---|
| 570 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xtclw |
|---|
| 571 | !$OMP THREADPRIVATE(xtclw) |
|---|
| 572 | #ifdef DIAGISO |
|---|
| 573 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: qlp |
|---|
| 574 | !$OMP THREADPRIVATE(qlp) |
|---|
| 575 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: qvp |
|---|
| 576 | !$OMP THREADPRIVATE(qvp) |
|---|
| 577 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fq_detrainement |
|---|
| 578 | !$OMP THREADPRIVATE(fq_detrainement) |
|---|
| 579 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fq_ddft |
|---|
| 580 | !$OMP THREADPRIVATE(fq_ddft) |
|---|
| 581 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fq_fluxmasse |
|---|
| 582 | !$OMP THREADPRIVATE(fq_fluxmasse) |
|---|
| 583 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fq_evapprecip |
|---|
| 584 | !$OMP THREADPRIVATE(fq_evapprecip) |
|---|
| 585 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: f_detrainement |
|---|
| 586 | !$OMP THREADPRIVATE(f_detrainement) |
|---|
| 587 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: q_detrainement |
|---|
| 588 | !$OMP THREADPRIVATE(q_detrainement) |
|---|
| 589 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xt_detrainement |
|---|
| 590 | !$OMP THREADPRIVATE(xt_detrainement) |
|---|
| 591 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xtlp |
|---|
| 592 | !$OMP THREADPRIVATE(xtlp) |
|---|
| 593 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xtvp |
|---|
| 594 | !$OMP THREADPRIVATE(xtvp) |
|---|
| 595 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: q_the |
|---|
| 596 | !$OMP THREADPRIVATE(q_the) |
|---|
| 597 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xt_the |
|---|
| 598 | !$OMP THREADPRIVATE(xt_the) |
|---|
| 599 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: fxt_detrainement |
|---|
| 600 | !$OMP THREADPRIVATE(fxt_detrainement) |
|---|
| 601 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: fxt_ddft |
|---|
| 602 | !$OMP THREADPRIVATE(fxt_ddft) |
|---|
| 603 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: fxt_fluxmasse |
|---|
| 604 | !$OMP THREADPRIVATE(fxt_fluxmasse) |
|---|
| 605 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: fxt_evapprecip |
|---|
| 606 | !$OMP THREADPRIVATE(fxt_evapprecip) |
|---|
| 607 | #endif |
|---|
| 608 | #endif |
|---|
| 609 | ! |
|---|
| 610 | ! REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: coefh, coefm, lambda_th |
|---|
| 611 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: lambda_th |
|---|
| 612 | !$OMP THREADPRIVATE(lambda_th) |
|---|
| 613 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: cldemi, cldfra, cldtau, fiwc, fl, re, flwc |
|---|
| 614 | !$OMP THREADPRIVATE(cldemi, cldfra, cldtau, fiwc, fl, re, flwc) |
|---|
| 615 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: qlth, qith, qsith, wiceth |
|---|
| 616 | !$OMP THREADPRIVATE(qlth, qith, qsith, wiceth) |
|---|
| 617 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: ref_liq, ref_ice, theta, zphi |
|---|
| 618 | !$OMP THREADPRIVATE(ref_liq, ref_ice, theta, zphi) |
|---|
| 619 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: ref_liq_pi, ref_ice_pi |
|---|
| 620 | !$OMP THREADPRIVATE(ref_liq_pi, ref_ice_pi) |
|---|
| 621 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zx_rh, zx_rhl, zx_rhi |
|---|
| 622 | !$OMP THREADPRIVATE(zx_rh, zx_rhl, zx_rhi) |
|---|
| 623 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: prfl, psfl, fraca, bsfl |
|---|
| 624 | !$OMP THREADPRIVATE(prfl, psfl, fraca, bsfl) |
|---|
| 625 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: Vprecip, zw2 |
|---|
| 626 | !$OMP THREADPRIVATE(Vprecip, zw2) |
|---|
| 627 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: pmfd, pmfu |
|---|
| 628 | !$OMP THREADPRIVATE(pmfd, pmfu) |
|---|
| 629 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: fluxt, fluxu, fluxv |
|---|
| 630 | !$OMP THREADPRIVATE(fluxt, fluxu, fluxv) |
|---|
| 631 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: uwriteSTD, vwriteSTD, wwriteSTD |
|---|
| 632 | !$OMP THREADPRIVATE(uwriteSTD, vwriteSTD, wwriteSTD) |
|---|
| 633 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: phiwriteSTD, qwriteSTD, twriteSTD, rhwriteSTD |
|---|
| 634 | !$OMP THREADPRIVATE(phiwriteSTD, qwriteSTD, twriteSTD, rhwriteSTD) |
|---|
| 635 | |
|---|
| 636 | |
|---|
| 637 | ! ug et d'autres encore: |
|---|
| 638 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: beta_prec |
|---|
| 639 | !$OMP THREADPRIVATE(beta_prec) |
|---|
| 640 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rneb,rnebjn,rneblsvol |
|---|
| 641 | !$OMP THREADPRIVATE(rneb,rnebjn,rneblsvol) |
|---|
| 642 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: pfraclr,pfracld |
|---|
| 643 | !$OMP THREADPRIVATE(pfraclr,pfracld) |
|---|
| 644 | REAL, SAVE, ALLOCATABLE :: cldfraliq(:,:) |
|---|
| 645 | !$OMP THREADPRIVATE(cldfraliq) |
|---|
| 646 | REAL, SAVE, ALLOCATABLE ::mean_icefracturb(:,:) |
|---|
| 647 | !$OMP THREADPRIVATE(mean_icefracturb) |
|---|
| 648 | REAL, SAVE, ALLOCATABLE :: sigma2_icefracturb(:,:) |
|---|
| 649 | !$OMP THREADPRIVATE(sigma2_icefracturb) |
|---|
| 650 | REAL, SAVE, ALLOCATABLE :: cldfraliqth(:,:) |
|---|
| 651 | !$OMP THREADPRIVATE(cldfraliqth) |
|---|
| 652 | REAL, SAVE, ALLOCATABLE ::mean_icefracturbth(:,:) |
|---|
| 653 | !$OMP THREADPRIVATE(mean_icefracturbth) |
|---|
| 654 | REAL, SAVE, ALLOCATABLE :: sigma2_icefracturbth(:,:) |
|---|
| 655 | !$OMP THREADPRIVATE(sigma2_icefracturbth) |
|---|
| 656 | |
|---|
| 657 | ! variables de sorties MM |
|---|
| 658 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: zxsnow,snowhgt,qsnow,to_ice |
|---|
| 659 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sissnow,runoff,albsol3_lic |
|---|
| 660 | !$OMP THREADPRIVATE(zxsnow,snowhgt,qsnow,to_ice) |
|---|
| 661 | !$OMP THREADPRIVATE(sissnow,runoff,albsol3_lic) |
|---|
| 662 | #ifdef ISO |
|---|
| 663 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: zxxtsnow |
|---|
| 664 | !$OMP THREADPRIVATE(zxxtsnow) |
|---|
| 665 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: xtVprecip,xtVprecipi |
|---|
| 666 | !$OMP THREADPRIVATE(xtVprecip,xtVprecipi) |
|---|
| 667 | REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: pxtrfl, pxtsfl |
|---|
| 668 | !$OMP THREADPRIVATE(pxtrfl, pxtsfl) |
|---|
| 669 | #endif |
|---|
| 670 | |
|---|
| 671 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: dyntropo, p_tropopause, z_tropopause, t_tropopause |
|---|
| 672 | !$OMP THREADPRIVATE(dyntropo, p_tropopause, z_tropopause, t_tropopause) |
|---|
| 673 | |
|---|
| 674 | INTEGER,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zn2mout |
|---|
| 675 | !$OMP THREADPRIVATE(zn2mout) |
|---|
| 676 | |
|---|
| 677 | !-- LSCP - condensation and ice supersaturation variables |
|---|
| 678 | REAL, SAVE, ALLOCATABLE :: qsub(:,:), qissr(:,:), qcld(:,:) |
|---|
| 679 | !$OMP THREADPRIVATE(qsub, qissr, qcld) |
|---|
| 680 | REAL, SAVE, ALLOCATABLE :: subfra(:,:), issrfra(:,:) |
|---|
| 681 | !$OMP THREADPRIVATE(subfra, issrfra) |
|---|
| 682 | REAL, SAVE, ALLOCATABLE :: gamma_cond(:,:) |
|---|
| 683 | !$OMP THREADPRIVATE(gamma_cond) |
|---|
| 684 | REAL, SAVE, ALLOCATABLE :: ql_seri_lscp(:,:) |
|---|
| 685 | !$OMP THREADPRIVATE(ql_seri_lscp) |
|---|
| 686 | REAL, SAVE, ALLOCATABLE :: ratio_ql_qtot(:,:) |
|---|
| 687 | !$OMP THREADPRIVATE(ratio_ql_qtot) |
|---|
| 688 | REAL, SAVE, ALLOCATABLE :: qi_seri_lscp(:,:) |
|---|
| 689 | !$OMP THREADPRIVATE(qi_seri_lscp) |
|---|
| 690 | REAL, SAVE, ALLOCATABLE :: ratio_qi_qtot(:,:) |
|---|
| 691 | !$OMP THREADPRIVATE(ratio_qi_qtot) |
|---|
| 692 | REAL, SAVE, ALLOCATABLE :: dcf_sub(:,:), dcf_con(:,:), dcf_mix(:,:) |
|---|
| 693 | !$OMP THREADPRIVATE(dcf_sub, dcf_con, dcf_mix) |
|---|
| 694 | REAL, SAVE, ALLOCATABLE :: dqi_adj(:,:), dqi_sub(:,:), dqi_con(:,:), dqi_mix(:,:) |
|---|
| 695 | !$OMP THREADPRIVATE(dqi_adj, dqi_sub, dqi_con, dqi_mix) |
|---|
| 696 | REAL, SAVE, ALLOCATABLE :: dqvc_adj(:,:), dqvc_sub(:,:), dqvc_con(:,:), dqvc_mix(:,:) |
|---|
| 697 | !$OMP THREADPRIVATE(dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix) |
|---|
| 698 | REAL, SAVE, ALLOCATABLE :: qsatliq(:,:), qsatice(:,:) |
|---|
| 699 | !$OMP THREADPRIVATE(qsatliq, qsatice) |
|---|
| 700 | |
|---|
| 701 | !-- LSCP - aviation and contrails variables |
|---|
| 702 | REAL, SAVE, ALLOCATABLE :: Tcontr(:,:), qcontr(:,:), qcontr2(:,:) |
|---|
| 703 | !$OMP THREADPRIVATE(Tcontr, qcontr, qcontr2) |
|---|
| 704 | REAL, SAVE, ALLOCATABLE :: fcontrN(:,:), fcontrP(:,:) |
|---|
| 705 | !$OMP THREADPRIVATE(fcontrN, fcontrP) |
|---|
| 706 | REAL, SAVE, ALLOCATABLE :: dcf_avi(:,:), dqi_avi(:,:), dqvc_avi(:,:) |
|---|
| 707 | !$OMP THREADPRIVATE(dcf_avi, dqi_avi, dqvc_avi) |
|---|
| 708 | REAL, SAVE, ALLOCATABLE :: flight_dist(:,:), flight_h2o(:,:) |
|---|
| 709 | !$OMP THREADPRIVATE(flight_dist, flight_h2o) |
|---|
| 710 | |
|---|
| 711 | !-- LSCP - mixed phase clouds variables |
|---|
| 712 | REAL, SAVE, ALLOCATABLE :: distcltop(:,:) |
|---|
| 713 | !$OMP THREADPRIVATE(distcltop) |
|---|
| 714 | REAL, SAVE, ALLOCATABLE :: temp_cltop(:,:) |
|---|
| 715 | !$OMP THREADPRIVATE(temp_cltop) |
|---|
| 716 | |
|---|
| 717 | !-- LSCP - POPRECIP variables |
|---|
| 718 | REAL, SAVE, ALLOCATABLE :: qraindiag(:,:) |
|---|
| 719 | !$OMP THREADPRIVATE(qraindiag) |
|---|
| 720 | REAL, SAVE, ALLOCATABLE :: qsnowdiag(:,:) |
|---|
| 721 | !$OMP THREADPRIVATE(qsnowdiag) |
|---|
| 722 | REAL, SAVE, ALLOCATABLE :: dqreva(:,:) |
|---|
| 723 | !$OMP THREADPRIVATE(dqreva) |
|---|
| 724 | REAL, SAVE, ALLOCATABLE :: dqrauto(:,:) |
|---|
| 725 | !$OMP THREADPRIVATE(dqrauto) |
|---|
| 726 | REAL, SAVE, ALLOCATABLE :: dqrcol(:,:) |
|---|
| 727 | !$OMP THREADPRIVATE(dqrcol) |
|---|
| 728 | REAL, SAVE, ALLOCATABLE :: dqrmelt(:,:) |
|---|
| 729 | !$OMP THREADPRIVATE(dqrmelt) |
|---|
| 730 | REAL, SAVE, ALLOCATABLE :: dqrfreez(:,:) |
|---|
| 731 | !$OMP THREADPRIVATE(dqrfreez) |
|---|
| 732 | REAL, SAVE, ALLOCATABLE :: dqssub(:,:) |
|---|
| 733 | !$OMP THREADPRIVATE(dqssub) |
|---|
| 734 | REAL, SAVE, ALLOCATABLE :: dqsauto(:,:) |
|---|
| 735 | !$OMP THREADPRIVATE(dqsauto) |
|---|
| 736 | REAL, SAVE, ALLOCATABLE :: dqsagg(:,:) |
|---|
| 737 | !$OMP THREADPRIVATE(dqsagg) |
|---|
| 738 | REAL, SAVE, ALLOCATABLE :: dqsrim(:,:) |
|---|
| 739 | !$OMP THREADPRIVATE(dqsrim) |
|---|
| 740 | REAL, SAVE, ALLOCATABLE :: dqsmelt(:,:) |
|---|
| 741 | !$OMP THREADPRIVATE(dqsmelt) |
|---|
| 742 | REAL, SAVE, ALLOCATABLE :: dqsfreez(:,:) |
|---|
| 743 | !$OMP THREADPRIVATE(dqsfreez) |
|---|
| 744 | |
|---|
| 745 | ! variables for stratospheric aerosol |
|---|
| 746 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: d_q_emiss |
|---|
| 747 | !$OMP THREADPRIVATE(d_q_emiss) |
|---|
| 748 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: R2SO4 |
|---|
| 749 | !$OMP THREADPRIVATE(R2SO4) |
|---|
| 750 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: R2SO4B |
|---|
| 751 | !$OMP THREADPRIVATE(R2SO4B) |
|---|
| 752 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: DENSO4 |
|---|
| 753 | !$OMP THREADPRIVATE(DENSO4) |
|---|
| 754 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:, :) :: DENSO4B |
|---|
| 755 | !$OMP THREADPRIVATE(DENSO4B) |
|---|
| 756 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: f_r_wet |
|---|
| 757 | !$OMP THREADPRIVATE(f_r_wet) |
|---|
| 758 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:, :) :: f_r_wetB |
|---|
| 759 | !$OMP THREADPRIVATE(f_r_wetB) |
|---|
| 760 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: decfluxaer |
|---|
| 761 | !$OMP THREADPRIVATE(decfluxaer) |
|---|
| 762 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: mdw |
|---|
| 763 | !$OMP THREADPRIVATE(mdw) |
|---|
| 764 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_lifetime |
|---|
| 765 | !$OMP THREADPRIVATE(OCS_lifetime) |
|---|
| 766 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SO2_lifetime |
|---|
| 767 | !$OMP THREADPRIVATE(SO2_lifetime) |
|---|
| 768 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: H2SO4_lifetime |
|---|
| 769 | !$OMP THREADPRIVATE(H2SO4_lifetime) |
|---|
| 770 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: O3_clim |
|---|
| 771 | !$OMP THREADPRIVATE(O3_clim) |
|---|
| 772 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: alpha_bin |
|---|
| 773 | !$OMP THREADPRIVATE(alpha_bin) |
|---|
| 774 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: piz_bin |
|---|
| 775 | !$OMP THREADPRIVATE(piz_bin) |
|---|
| 776 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: cg_bin |
|---|
| 777 | !$OMP THREADPRIVATE(cg_bin) |
|---|
| 778 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SO2_chlm |
|---|
| 779 | !$OMP THREADPRIVATE(SO2_chlm) |
|---|
| 780 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_443 |
|---|
| 781 | !$OMP THREADPRIVATE(tau_strat_443) |
|---|
| 782 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550 |
|---|
| 783 | !$OMP THREADPRIVATE(tau_strat_550) |
|---|
| 784 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_670 |
|---|
| 785 | !$OMP THREADPRIVATE(tau_strat_670) |
|---|
| 786 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_765 |
|---|
| 787 | !$OMP THREADPRIVATE(tau_strat_765) |
|---|
| 788 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_1020 |
|---|
| 789 | !$OMP THREADPRIVATE(tau_strat_1020) |
|---|
| 790 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_10um |
|---|
| 791 | !$OMP THREADPRIVATE(tau_strat_10um) |
|---|
| 792 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tausum_strat |
|---|
| 793 | !$OMP THREADPRIVATE(tausum_strat) |
|---|
| 794 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: surf_PM25_sulf |
|---|
| 795 | !$OMP THREADPRIVATE(surf_PM25_sulf) |
|---|
| 796 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vsed_aer |
|---|
| 797 | !$OMP THREADPRIVATE(vsed_aer) |
|---|
| 798 | ! Sulfate aerosol concentration (dry mixing ratio) (condensed H2SO4 mmr) |
|---|
| 799 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulfmmr |
|---|
| 800 | !$OMP THREADPRIVATE(sulfmmr) |
|---|
| 801 | ! SAD all aerosols (cm2/cm3) |
|---|
| 802 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SAD_sulfate |
|---|
| 803 | !$OMP THREADPRIVATE(SAD_sulfate) |
|---|
| 804 | ! Effective radius of wet surface aerosols (cm) |
|---|
| 805 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: reff_sulfate |
|---|
| 806 | !$OMP THREADPRIVATE(reff_sulfate) |
|---|
| 807 | ! sulfate MMR in different modes (based on sulfmmr, it must be dry mmr) |
|---|
| 808 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sulfmmr_mode |
|---|
| 809 | !$OMP THREADPRIVATE(sulfmmr_mode) |
|---|
| 810 | ! particle concentration in different modes (part/m3) |
|---|
| 811 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nd_mode |
|---|
| 812 | !$OMP THREADPRIVATE(nd_mode) |
|---|
| 813 | ! |
|---|
| 814 | !---3D budget variables |
|---|
| 815 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_nucl |
|---|
| 816 | !$OMP THREADPRIVATE(budg_3D_nucl) |
|---|
| 817 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_cond_evap |
|---|
| 818 | !$OMP THREADPRIVATE(budg_3D_cond_evap) |
|---|
| 819 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_ocs_to_so2 |
|---|
| 820 | !$OMP THREADPRIVATE(budg_3D_ocs_to_so2) |
|---|
| 821 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_so2_to_h2so4 |
|---|
| 822 | !$OMP THREADPRIVATE(budg_3D_so2_to_h2so4) |
|---|
| 823 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_ocs |
|---|
| 824 | !$OMP THREADPRIVATE(budg_3D_backgr_ocs) |
|---|
| 825 | REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_so2 |
|---|
| 826 | !$OMP THREADPRIVATE(budg_3D_backgr_so2) |
|---|
| 827 | ! |
|---|
| 828 | !---2D budget variables |
|---|
| 829 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_ocs |
|---|
| 830 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_so2 |
|---|
| 831 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_h2so4 |
|---|
| 832 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_part |
|---|
| 833 | !$OMP THREADPRIVATE(budg_dep_dry_ocs,budg_dep_dry_so2,budg_dep_dry_h2so4,budg_dep_dry_part) |
|---|
| 834 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_ocs |
|---|
| 835 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_so2 |
|---|
| 836 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_h2so4 |
|---|
| 837 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_part |
|---|
| 838 | !$OMP THREADPRIVATE(budg_dep_wet_ocs,budg_dep_wet_so2,budg_dep_wet_h2so4,budg_dep_wet_part) |
|---|
| 839 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_ocs |
|---|
| 840 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_so2 |
|---|
| 841 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_h2so4 |
|---|
| 842 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_part |
|---|
| 843 | !$OMP THREADPRIVATE(budg_emi_ocs,budg_emi_so2,budg_emi_h2so4,budg_emi_part) |
|---|
| 844 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_ocs_to_so2 |
|---|
| 845 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_so2_to_h2so4 |
|---|
| 846 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_h2so4_to_part |
|---|
| 847 | !$OMP THREADPRIVATE(budg_ocs_to_so2,budg_so2_to_h2so4,budg_h2so4_to_part) |
|---|
| 848 | REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_sed_part |
|---|
| 849 | !$OMP THREADPRIVATE(budg_sed_part) |
|---|
| 850 | |
|---|
| 851 | CONTAINS |
|---|
| 852 | |
|---|
| 853 | !====================================================================== |
|---|
| 854 | SUBROUTINE phys_local_var_init |
|---|
| 855 | USE dimphy |
|---|
| 856 | USE infotrac_phy, ONLY : nbtr,nqtot |
|---|
| 857 | #ifdef ISO |
|---|
| 858 | USE infotrac_phy, ONLY : ntraciso=>ntiso,niso |
|---|
| 859 | #endif |
|---|
| 860 | USE aero_mod |
|---|
| 861 | USE indice_sol_mod |
|---|
| 862 | USE phys_output_var_mod |
|---|
| 863 | USE phys_state_var_mod |
|---|
| 864 | USE infotrac_phy, ONLY : nbtr_bin |
|---|
| 865 | |
|---|
| 866 | IMPLICIT NONE |
|---|
| 867 | ALLOCATE(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev), qbs_seri(klon,klev)) |
|---|
| 868 | ! SN 4D ISO |
|---|
| 869 | ALLOCATE(qx_seri(klon,klev,nqtot)) |
|---|
| 870 | ! SN |
|---|
| 871 | ALLOCATE(u_seri(klon,klev),v_seri(klon,klev)) |
|---|
| 872 | ALLOCATE(cf_seri(klon,klev),rvc_seri(klon,klev)) |
|---|
| 873 | ALLOCATE(l_mixmin(klon,klev+1,nbsrf),l_mix(klon,klev+1,nbsrf),wprime(klon,klev+1,nbsrf)) |
|---|
| 874 | ALLOCATE(pbl_eps(klon,klev+1,nbsrf+1)) |
|---|
| 875 | ALLOCATE(tke_shear(klon,klev+1,nbsrf), tke_buoy(klon,klev+1,nbsrf), tke_trans(klon,klev+1,nbsrf)) |
|---|
| 876 | pbl_eps(:,:,:)=0. |
|---|
| 877 | tke_shear(:,:,:)=0.; tke_buoy(:,:,:)=0.; tke_trans(:,:,:)=0. |
|---|
| 878 | l_mix(:,:,:)=0.;l_mixmin(:,:,:)=0.;wprime(:,:,:)=0. ! doit etre initialse car pas toujours remplis |
|---|
| 879 | ALLOCATE(rhcl(klon,klev)) |
|---|
| 880 | ALLOCATE(tr_seri(klon,klev,nbtr)) |
|---|
| 881 | ALLOCATE(d_t_dyn(klon,klev),d_q_dyn(klon,klev)) |
|---|
| 882 | ALLOCATE(d_ql_dyn(klon,klev),d_qs_dyn(klon,klev), d_qbs_dyn(klon,klev)) |
|---|
| 883 | ALLOCATE(d_q_dyn2d(klon),d_ql_dyn2d(klon),d_qs_dyn2d(klon), d_qbs_dyn2d(klon)) |
|---|
| 884 | ALLOCATE(d_u_dyn(klon,klev),d_v_dyn(klon,klev)) |
|---|
| 885 | ALLOCATE(d_cf_dyn(klon,klev),d_rvc_dyn(klon,klev)) |
|---|
| 886 | ALLOCATE(d_tke_dyn(klon,klev+1)) |
|---|
| 887 | ALLOCATE(d_tr_dyn(klon,klev,nbtr)) !RomP |
|---|
| 888 | ALLOCATE(d_t_con(klon,klev),d_q_con(klon,klev)) |
|---|
| 889 | ALLOCATE(d_u_con(klon,klev),d_v_con(klon,klev)) |
|---|
| 890 | ALLOCATE(d_t_con_zmasse(klon,klev),d_q_con_zmasse(klon,klev)) |
|---|
| 891 | ALLOCATE(d_u_con_zmasse(klon,klev),d_v_con_zmasse(klon,klev)) |
|---|
| 892 | ALLOCATE(d_t_wake(klon,klev),d_q_wake(klon,klev)) |
|---|
| 893 | ALLOCATE(d_t_lsc(klon,klev),d_q_lsc(klon,klev)) |
|---|
| 894 | ALLOCATE(d_t_lwr(klon,klev),d_t_lw0(klon,klev)) |
|---|
| 895 | ALLOCATE(d_t_swr(klon,klev),d_t_sw0(klon,klev)) |
|---|
| 896 | ALLOCATE(d_ql_lsc(klon,klev),d_qi_lsc(klon,klev)) |
|---|
| 897 | ALLOCATE(d_t_ajsb(klon,klev),d_q_ajsb(klon,klev)) |
|---|
| 898 | ALLOCATE(d_t_ajs(klon,klev),d_q_ajs(klon,klev)) |
|---|
| 899 | !nrlmd< |
|---|
| 900 | ALLOCATE(d_t_ajs_w(klon,klev),d_q_ajs_w(klon,klev)) |
|---|
| 901 | ALLOCATE(d_t_ajs_x(klon,klev),d_q_ajs_x(klon,klev)) |
|---|
| 902 | !>nrlmd |
|---|
| 903 | ALLOCATE(d_u_ajs(klon,klev),d_v_ajs(klon,klev)) |
|---|
| 904 | ALLOCATE(d_t_eva(klon,klev),d_q_eva(klon,klev)) |
|---|
| 905 | ! SN 4D ISO |
|---|
| 906 | ALLOCATE(d_qx_eva(klon,klev,nqtot)) |
|---|
| 907 | ! SN |
|---|
| 908 | ALLOCATE(d_ql_eva(klon,klev),d_qi_eva(klon,klev)) |
|---|
| 909 | ALLOCATE(d_t_lscst(klon,klev),d_q_lscst(klon,klev)) |
|---|
| 910 | ALLOCATE(d_t_lscth(klon,klev),d_q_lscth(klon,klev)) |
|---|
| 911 | ALLOCATE(plul_st(klon),plul_th(klon)) |
|---|
| 912 | ALLOCATE(d_t_vdf(klon,klev),d_q_vdf(klon,klev),d_t_diss(klon,klev)) |
|---|
| 913 | ALLOCATE (d_qbs_vdf(klon,klev)) |
|---|
| 914 | ALLOCATE(d_t_bsss(klon,klev),d_q_bsss(klon,klev),d_qbs_bsss(klon,klev)) |
|---|
| 915 | ALLOCATE(d_t_vdf_w(klon,klev),d_q_vdf_w(klon,klev)) |
|---|
| 916 | ALLOCATE(d_t_vdf_x(klon,klev),d_q_vdf_x(klon,klev)) |
|---|
| 917 | #ifdef ISO |
|---|
| 918 | allocate(xt_seri(ntraciso,klon,klev)) |
|---|
| 919 | allocate(xtl_seri(ntraciso,klon,klev)) |
|---|
| 920 | allocate(xts_seri(ntraciso,klon,klev)) |
|---|
| 921 | allocate(xtbs_seri(ntraciso,klon,klev)) |
|---|
| 922 | allocate(d_xt_dyn(ntraciso,klon,klev)) |
|---|
| 923 | allocate(d_xtl_dyn(ntraciso,klon,klev)) |
|---|
| 924 | allocate(d_xts_dyn(ntraciso,klon,klev)) |
|---|
| 925 | allocate(d_xtbs_dyn(ntraciso,klon,klev)) |
|---|
| 926 | allocate(d_xt_con(ntraciso,klon,klev)) |
|---|
| 927 | allocate(d_xt_wake(ntraciso,klon,klev)) |
|---|
| 928 | allocate(d_xt_lsc(ntraciso,klon,klev)) |
|---|
| 929 | allocate(d_xtl_lsc(ntraciso,klon,klev)) |
|---|
| 930 | allocate(d_xti_lsc(ntraciso,klon,klev)) |
|---|
| 931 | allocate(d_xt_ajsb(ntraciso,klon,klev)) |
|---|
| 932 | allocate(d_xt_ajs(ntraciso,klon,klev)) |
|---|
| 933 | allocate(d_xt_ajs_w(ntraciso,klon,klev)) |
|---|
| 934 | allocate(d_xt_ajs_x(ntraciso,klon,klev)) |
|---|
| 935 | allocate(d_xt_eva(ntraciso,klon,klev)) |
|---|
| 936 | allocate(d_xtl_eva(ntraciso,klon,klev)) |
|---|
| 937 | allocate(d_xti_eva(ntraciso,klon,klev)) |
|---|
| 938 | allocate(d_xt_vdf(ntraciso,klon,klev)) |
|---|
| 939 | allocate(d_xt_vdf_w(ntraciso,klon,klev)) |
|---|
| 940 | allocate(d_xt_vdf_x(ntraciso,klon,klev)) |
|---|
| 941 | allocate(d_xt_ch4(ntraciso,klon,klev)) |
|---|
| 942 | allocate(d_xt_prod_nucl(ntraciso,klon,klev)) |
|---|
| 943 | allocate(d_xt_cosmo(ntraciso,klon,klev)) |
|---|
| 944 | allocate(d_xt_decroiss(ntraciso,klon,klev)) |
|---|
| 945 | #endif |
|---|
| 946 | |
|---|
| 947 | ALLOCATE(d_u_vdf(klon,klev),d_v_vdf(klon,klev)) |
|---|
| 948 | ALLOCATE(d_t_oli(klon,klev),d_t_oro(klon,klev)) |
|---|
| 949 | ALLOCATE(d_u_oli(klon,klev),d_v_oli(klon,klev)) |
|---|
| 950 | ALLOCATE(d_u_oro(klon,klev),d_v_oro(klon,klev)) |
|---|
| 951 | ALLOCATE(d_u_oro_gw(klon,klev),d_v_oro_gw(klon,klev)) |
|---|
| 952 | ALLOCATE(d_t_oro_gw(klon,klev)) |
|---|
| 953 | ALLOCATE(d_t_lif(klon,klev),d_t_ec(klon,klev)) |
|---|
| 954 | ALLOCATE(d_u_lif(klon,klev),d_v_lif(klon,klev)) |
|---|
| 955 | ALLOCATE(d_ts(klon,nbsrf), d_tr(klon,klev,nbtr)) |
|---|
| 956 | |
|---|
| 957 | ! Special RRTM |
|---|
| 958 | ALLOCATE(ZLWFT0_i(klon,klev+1),ZSWFT0_i(klon,klev+1),ZFLDN0(klon,klev+1)) |
|---|
| 959 | ZFLDN0= 0. |
|---|
| 960 | ALLOCATE(ZFLUP0(klon,klev+1),ZFSDN0(klon,klev+1),ZFSUP0(klon,klev+1)) |
|---|
| 961 | ! |
|---|
| 962 | ALLOCATE(topswad_aero(klon), solswad_aero(klon)) |
|---|
| 963 | ALLOCATE(topswai_aero(klon), solswai_aero(klon)) |
|---|
| 964 | ALLOCATE(topswad0_aero(klon), solswad0_aero(klon)) |
|---|
| 965 | ALLOCATE(toplwad_aero(klon), sollwad_aero(klon)) |
|---|
| 966 | ALLOCATE(toplwai_aero(klon), sollwai_aero(klon)) |
|---|
| 967 | ALLOCATE(toplwad0_aero(klon), sollwad0_aero(klon)) |
|---|
| 968 | ALLOCATE(topsw_aero(klon,naero_grp), solsw_aero(klon,naero_grp)) |
|---|
| 969 | ALLOCATE(topsw0_aero(klon,naero_grp), solsw0_aero(klon,naero_grp)) |
|---|
| 970 | ALLOCATE(topswcf_aero(klon,3), solswcf_aero(klon,3)) |
|---|
| 971 | ALLOCATE(du_gwd_hines(klon,klev),dv_gwd_hines(klon,klev)) |
|---|
| 972 | ALLOCATE(dv_gwd_rando(klon,klev),dv_gwd_front(klon,klev)) |
|---|
| 973 | ALLOCATE(east_gwstress(klon,klev),west_gwstress(klon,klev)) |
|---|
| 974 | east_gwstress(:,:)=0. !ym missing init |
|---|
| 975 | west_gwstress(:,:)=0. !ym missing init |
|---|
| 976 | ALLOCATE(d_t_hin(klon,klev)) |
|---|
| 977 | ALLOCATE(d_q_ch4(klon,klev)) |
|---|
| 978 | ALLOCATE(stratomask(klon,klev)) |
|---|
| 979 | ALLOCATE(tausum_aero(klon,nwave,naero_tot)) |
|---|
| 980 | ALLOCATE(drytausum_aero(klon,naero_tot)) |
|---|
| 981 | ALLOCATE(tau3d_aero(klon,klev,nwave,naero_tot)) |
|---|
| 982 | ALLOCATE(dNovrN(klon)) |
|---|
| 983 | ALLOCATE(zfice(klon, klev)) |
|---|
| 984 | ALLOCATE(od443aer(klon)) |
|---|
| 985 | ALLOCATE(od550aer(klon)) |
|---|
| 986 | ALLOCATE(od865aer(klon)) |
|---|
| 987 | ALLOCATE(dryod550aer(klon)) |
|---|
| 988 | dryod550aer(:) = 0. |
|---|
| 989 | ALLOCATE(abs550aer(klon)) |
|---|
| 990 | abs550aer(:) = 0. |
|---|
| 991 | ALLOCATE(ec550aer(klon,klev)) |
|---|
| 992 | ALLOCATE(od550lt1aer(klon)) |
|---|
| 993 | ALLOCATE(sconcso4(klon)) |
|---|
| 994 | ALLOCATE(sconcno3(klon)) |
|---|
| 995 | ALLOCATE(sconcoa(klon)) |
|---|
| 996 | ALLOCATE(sconcbc(klon)) |
|---|
| 997 | ALLOCATE(sconcss(klon)) |
|---|
| 998 | ALLOCATE(sconcdust(klon)) |
|---|
| 999 | ALLOCATE(concso4(klon,klev)) |
|---|
| 1000 | ALLOCATE(concno3(klon,klev)) |
|---|
| 1001 | ALLOCATE(concoa(klon,klev)) |
|---|
| 1002 | ALLOCATE(concbc(klon,klev)) |
|---|
| 1003 | ALLOCATE(concss(klon,klev)) |
|---|
| 1004 | ALLOCATE(concdust(klon,klev)) |
|---|
| 1005 | ALLOCATE(loadso4(klon)) |
|---|
| 1006 | ALLOCATE(loadoa(klon)) |
|---|
| 1007 | ALLOCATE(loadbc(klon)) |
|---|
| 1008 | ALLOCATE(loadss(klon)) |
|---|
| 1009 | ALLOCATE(loaddust(klon)) |
|---|
| 1010 | ALLOCATE(loadno3(klon)) |
|---|
| 1011 | ALLOCATE(load_tmp1(klon)) |
|---|
| 1012 | ALLOCATE(load_tmp2(klon)) |
|---|
| 1013 | ALLOCATE(load_tmp3(klon)) |
|---|
| 1014 | ALLOCATE(load_tmp4(klon)) |
|---|
| 1015 | ALLOCATE(load_tmp5(klon)) |
|---|
| 1016 | ALLOCATE(load_tmp6(klon)) |
|---|
| 1017 | ALLOCATE(load_tmp7(klon)) |
|---|
| 1018 | ALLOCATE(load_tmp8(klon)) |
|---|
| 1019 | ALLOCATE(load_tmp9(klon)) |
|---|
| 1020 | ALLOCATE(load_tmp10(klon)) |
|---|
| 1021 | !GG |
|---|
| 1022 | ALLOCATE(fcds(klon)) |
|---|
| 1023 | ALLOCATE(fcdi(klon)) |
|---|
| 1024 | ALLOCATE(dh_basal_growth(klon)) |
|---|
| 1025 | ALLOCATE(dh_basal_melt(klon)) |
|---|
| 1026 | ALLOCATE(dh_top_melt(klon)) |
|---|
| 1027 | ALLOCATE(dh_snow2sic(klon)) |
|---|
| 1028 | ALLOCATE(dtice_melt(klon)) |
|---|
| 1029 | ALLOCATE(dtice_snow2sic(klon)) |
|---|
| 1030 | !GG |
|---|
| 1031 | |
|---|
| 1032 | !IM ajout variables CFMIP2/CMIP5 |
|---|
| 1033 | ALLOCATE(topswad_aerop(klon), solswad_aerop(klon)) |
|---|
| 1034 | ALLOCATE(topswai_aerop(klon), solswai_aerop(klon)) |
|---|
| 1035 | ALLOCATE(topswad0_aerop(klon), solswad0_aerop(klon)) |
|---|
| 1036 | ALLOCATE(topsw_aerop(klon,naero_grp), topsw0_aerop(klon,naero_grp)) |
|---|
| 1037 | ALLOCATE(solsw_aerop(klon,naero_grp), solsw0_aerop(klon,naero_grp)) |
|---|
| 1038 | ALLOCATE(topswcf_aerop(klon,naero_grp), solswcf_aerop(klon,naero_grp)) |
|---|
| 1039 | |
|---|
| 1040 | ! additional LW variables CK |
|---|
| 1041 | ALLOCATE(toplwad_aerop(klon), sollwad_aerop(klon)) |
|---|
| 1042 | ALLOCATE(toplwai_aerop(klon), sollwai_aerop(klon)) |
|---|
| 1043 | ALLOCATE(toplwad0_aerop(klon), sollwad0_aerop(klon)) |
|---|
| 1044 | |
|---|
| 1045 | !AI Ajout Ecrad (3Deffect) |
|---|
| 1046 | ALLOCATE(topswad_aero_s2(klon), solswad_aero_s2(klon)) |
|---|
| 1047 | ALLOCATE(topswai_aero_s2(klon), solswai_aero_s2(klon)) |
|---|
| 1048 | ALLOCATE(topswad0_aero_s2(klon), solswad0_aero_s2(klon)) |
|---|
| 1049 | ALLOCATE(topsw_aero_s2(klon,naero_grp), topsw0_aero_s2(klon,naero_grp)) |
|---|
| 1050 | ALLOCATE(solsw_aero_s2(klon,naero_grp), solsw0_aero_s2(klon,naero_grp)) |
|---|
| 1051 | ALLOCATE(topswcf_aero_s2(klon,naero_grp), solswcf_aero_s2(klon,naero_grp)) |
|---|
| 1052 | ! additional LW variables CK |
|---|
| 1053 | ALLOCATE(toplwad_aero_s2(klon), sollwad_aero_s2(klon)) |
|---|
| 1054 | ALLOCATE(toplwai_aero_s2(klon), sollwai_aero_s2(klon)) |
|---|
| 1055 | ALLOCATE(toplwad0_aero_s2(klon), sollwad0_aero_s2(klon)) |
|---|
| 1056 | |
|---|
| 1057 | ! FH Ajout de celles necessaires au phys_output_write_mod |
|---|
| 1058 | |
|---|
| 1059 | ALLOCATE(tal1(klon), pal1(klon), pab1(klon), pab2(klon)) |
|---|
| 1060 | ALLOCATE(ptstar(klon),pt0(klon),slp(klon)) |
|---|
| 1061 | !! |
|---|
| 1062 | !! Wake variables |
|---|
| 1063 | ALLOCATE(alp_wake(klon)) |
|---|
| 1064 | ALLOCATE(wake_h(klon),wake_k(klon)) |
|---|
| 1065 | ALLOCATE(wake_omg(klon, klev)) |
|---|
| 1066 | ALLOCATE(d_deltat_wk(klon, klev), d_deltaq_wk(klon, klev)) |
|---|
| 1067 | ALLOCATE(d_s_wk(klon), d_s_a_wk(klon), d_dens_wk(klon), d_dens_a_wk(klon)) |
|---|
| 1068 | ALLOCATE(d_deltat_wk_gw(klon, klev), d_deltaq_wk_gw(klon, klev)) |
|---|
| 1069 | ALLOCATE(d_deltat_vdf(klon, klev), d_deltaq_vdf(klon, klev)) |
|---|
| 1070 | !! ALLOCATE( d_s_vdf(klon), d_dens_vdf(klon)) |
|---|
| 1071 | ALLOCATE(d_deltat_the(klon, klev), d_deltaq_the(klon, klev)) |
|---|
| 1072 | !! ALLOCATE( d_s_the(klon), d_dens_the(klon)) |
|---|
| 1073 | ALLOCATE(d_deltat_ajs_cv(klon, klev), d_deltaq_ajs_cv(klon, klev)) |
|---|
| 1074 | #ifdef ISO |
|---|
| 1075 | ALLOCATE(d_deltaxt_wk(ntraciso,klon, klev)) |
|---|
| 1076 | ALLOCATE(d_deltaxt_wk_gw(ntraciso,klon, klev)) |
|---|
| 1077 | ALLOCATE(d_deltaxt_the(ntraciso,klon, klev)) |
|---|
| 1078 | ALLOCATE(d_deltaxt_vdf(ntraciso,klon, klev)) |
|---|
| 1079 | ALLOCATE(d_deltaxt_ajs_cv(ntraciso,klon, klev)) |
|---|
| 1080 | #endif |
|---|
| 1081 | !! End of wake variables |
|---|
| 1082 | !! |
|---|
| 1083 | ALLOCATE(bils(klon)) |
|---|
| 1084 | ALLOCATE(cdragm(klon), cdragh(klon), cldh(klon), cldl(klon)) |
|---|
| 1085 | ALLOCATE(cldm(klon), cldq(klon), cldt(klon), qsat2m(klon)) |
|---|
| 1086 | ALLOCATE(JrNt(klon)) |
|---|
| 1087 | ALLOCATE(dthmin(klon), evap(klon), snowerosion(klon), fder(klon), plcl(klon), plfc(klon), icesub_lic(klon)) |
|---|
| 1088 | ALLOCATE(prw(klon), prlw(klon), prsw(klon), prbsw(klon), water_budget(klon), zustar(klon), zu10m(klon), zv10m(klon), rh2m(klon)) |
|---|
| 1089 | ALLOCATE(s_lcl(klon)) |
|---|
| 1090 | ALLOCATE(s_pblh(klon), s_pblt(klon), s_therm(klon)) |
|---|
| 1091 | ! |
|---|
| 1092 | !nrlmd+jyg< |
|---|
| 1093 | ALLOCATE(s_pblh_x(klon), s_pblh_w(klon)) |
|---|
| 1094 | ALLOCATE(s_lcl_x(klon), s_lcl_w(klon)) |
|---|
| 1095 | !>nrlmd+jyg |
|---|
| 1096 | ! |
|---|
| 1097 | ALLOCATE(slab_wfbils(klon), tpot(klon), tpote(klon), ue(klon)) |
|---|
| 1098 | ALLOCATE(uq(klon), ve(klon), vq(klon), zxffonte(klon)) |
|---|
| 1099 | ALLOCATE(uwat(klon), vwat(klon)) |
|---|
| 1100 | ALLOCATE(zxfqcalving(klon), zxfluxlat(klon)) |
|---|
| 1101 | ALLOCATE(zxtsol(klon), snow_lsc(klon), zxfqfonte(klon), zxqsurf(klon)) |
|---|
| 1102 | ! SN add runoff_diag |
|---|
| 1103 | ALLOCATE(zxrunofflic(klon), runoff_diag(klon)) |
|---|
| 1104 | runoff_diag(:)=0. |
|---|
| 1105 | ALLOCATE(zxustartlic(klon), zxrhoslic(klon), zxqsaltlic(klon), tempsmoothlic(klon)) |
|---|
| 1106 | zxustartlic(:)=0. ; zxrhoslic(:)=0. ; zxqsaltlic(:)=0. ; tempsmoothlic(:)=0. |
|---|
| 1107 | ALLOCATE(rain_lsc(klon)) |
|---|
| 1108 | ALLOCATE(rain_num(klon)) |
|---|
| 1109 | ALLOCATE(qlth(klon,klev), qith(klon,klev), qsith(klon,klev), wiceth(klon,klev)) |
|---|
| 1110 | ! |
|---|
| 1111 | #ifdef ISO |
|---|
| 1112 | ALLOCATE(xtevap(ntraciso,klon)) |
|---|
| 1113 | ALLOCATE(xtprw(ntraciso,klon)) |
|---|
| 1114 | ALLOCATE(zxfxtcalving(niso,klon)) |
|---|
| 1115 | ALLOCATE(xtsnow_lsc(ntraciso,klon), zxfxtfonte(niso,klon)) |
|---|
| 1116 | ALLOCATE(zxxtrunofflic(niso,klon)) |
|---|
| 1117 | ALLOCATE(xtrain_lsc(ntraciso,klon)) |
|---|
| 1118 | ALLOCATE(xtrunoff_diag(niso,klon)) |
|---|
| 1119 | ALLOCATE(h1_diag(klon)) |
|---|
| 1120 | !SN |
|---|
| 1121 | xtrunoff_diag(:,:)=0. ! because variables are only given values on knon grid points |
|---|
| 1122 | #endif |
|---|
| 1123 | ! |
|---|
| 1124 | ALLOCATE(sens_x(klon), sens_w(klon)) |
|---|
| 1125 | ALLOCATE(zxfluxlat_x(klon), zxfluxlat_w(klon)) |
|---|
| 1126 | ALLOCATE(delta_qsurf(klon)) |
|---|
| 1127 | !jyg< |
|---|
| 1128 | !! ALLOCATE(t_x(klon,klev), t_w(klon,klev)) |
|---|
| 1129 | !! ALLOCATE(q_x(klon,klev), q_w(klon,klev)) |
|---|
| 1130 | !>jyg |
|---|
| 1131 | ALLOCATE(dtvdf_x(klon,klev), dtvdf_w(klon,klev)) |
|---|
| 1132 | dtvdf_x = 0 ; dtvdf_w=0 ; !ym missing init |
|---|
| 1133 | ALLOCATE(dqvdf_x(klon,klev), dqvdf_w(klon,klev)) |
|---|
| 1134 | dqvdf_x = 0 ; dqvdf_w=0 ; !ym missing init |
|---|
| 1135 | ALLOCATE(pbl_tke_input(klon,klev+1,nbsrf)) |
|---|
| 1136 | ALLOCATE(t_therm(klon,klev), q_therm(klon,klev),u_therm(klon,klev), v_therm(klon,klev)) |
|---|
| 1137 | ALLOCATE(cdragh_x(klon), cdragh_w(klon)) |
|---|
| 1138 | ALLOCATE(cdragm_x(klon), cdragm_w(klon)) |
|---|
| 1139 | ALLOCATE(kh(klon), kh_x(klon), kh_w(klon)) |
|---|
| 1140 | #ifdef ISO |
|---|
| 1141 | ALLOCATE(dxtvdf_x(ntraciso,klon,klev), dxtvdf_w(ntraciso,klon,klev)) |
|---|
| 1142 | ALLOCATE(xt_therm(ntraciso,klon,klev)) |
|---|
| 1143 | #endif |
|---|
| 1144 | ! |
|---|
| 1145 | ALLOCATE(ptconv(klon,klev)) |
|---|
| 1146 | ALLOCATE(ratqsc(klon,klev)) |
|---|
| 1147 | ! |
|---|
| 1148 | ALLOCATE(wbeff(klon), convoccur(klon), zmax_th(klon)) |
|---|
| 1149 | ALLOCATE(zq2m(klon), zt2m(klon), weak_inversion(klon)) |
|---|
| 1150 | ALLOCATE(zt2m_min_mon(klon), zt2m_max_mon(klon)) |
|---|
| 1151 | ALLOCATE(t2m_min_mon(klon), t2m_max_mon(klon)) |
|---|
| 1152 | ALLOCATE(sens(klon), flwp(klon), fiwp(klon)) |
|---|
| 1153 | ALLOCATE(alp_bl_conv(klon), alp_bl_det(klon)) |
|---|
| 1154 | alp_bl_conv(:)=0 ; alp_bl_det(:)=0 |
|---|
| 1155 | ALLOCATE(alp_bl_fluct_m(klon), alp_bl_fluct_tke(klon)) |
|---|
| 1156 | alp_bl_fluct_m(:)=0 ; alp_bl_fluct_tke(:)= 0. |
|---|
| 1157 | ALLOCATE(alp_bl_stat(klon), n2(klon), s2(klon), strig(klon), zcong(klon), zlcl_th(klon)) |
|---|
| 1158 | alp_bl_stat(:)=0 |
|---|
| 1159 | ALLOCATE(proba_notrig(klon), random_notrig(klon)) |
|---|
| 1160 | ALLOCATE(coef_clos(klon), coef_clos_eff(klon)) |
|---|
| 1161 | coef_clos(:)=0. |
|---|
| 1162 | coef_clos_eff(:)=0. |
|---|
| 1163 | |
|---|
| 1164 | ALLOCATE(dnwd0(klon, klev)) |
|---|
| 1165 | ! ALLOCATE(upwd(klon, klev), omega(klon, klev), coefh(klon, klev)) |
|---|
| 1166 | ALLOCATE(omega(klon, klev)) |
|---|
| 1167 | ALLOCATE(epmax_diag(klon)) ! epmax_cape |
|---|
| 1168 | ! ALLOCATE(coefm(klon, klev), lambda_th(klon, klev), cldemi(klon, klev)) |
|---|
| 1169 | ALLOCATE(lambda_th(klon, klev), cldemi(klon, klev)) |
|---|
| 1170 | ALLOCATE(cldfra(klon, klev), cldtau(klon, klev), fiwc(klon, klev)) |
|---|
| 1171 | ALLOCATE(fl(klon, klev), re(klon, klev), flwc(klon, klev)) |
|---|
| 1172 | ALLOCATE(ref_liq(klon, klev), ref_ice(klon, klev), theta(klon, klev)) |
|---|
| 1173 | ALLOCATE(ref_liq_pi(klon, klev), ref_ice_pi(klon, klev)) |
|---|
| 1174 | ALLOCATE(zphi(klon, klev), zx_rh(klon, klev), zx_rhl(klon,klev), zx_rhi(klon,klev)) |
|---|
| 1175 | zx_rhl(:,:)=0.; zx_rhi(:,:)=0. ! because not always defined |
|---|
| 1176 | ALLOCATE(pmfd(klon, klev), pmfu(klon, klev)) |
|---|
| 1177 | |
|---|
| 1178 | ALLOCATE(t2m(klon, nbsrf), fluxlat(klon, nbsrf)) |
|---|
| 1179 | ALLOCATE(fsollw(klon, nbsrf)) |
|---|
| 1180 | ALLOCATE(fsolsw(klon, nbsrf), wfbils(klon, nbsrf)) |
|---|
| 1181 | ALLOCATE(wfevap(klon, nbsrf)) |
|---|
| 1182 | ALLOCATE(evap_pot(klon, nbsrf)) |
|---|
| 1183 | ! FC |
|---|
| 1184 | ALLOCATE(zxfluxq(klon,klev),zxfluxt(klon,klev)) |
|---|
| 1185 | ! |
|---|
| 1186 | ! Deep convective variables used in phytrac |
|---|
| 1187 | ALLOCATE(pmflxr(klon, klev+1), pmflxs(klon, klev+1)) |
|---|
| 1188 | ALLOCATE(wdtrainA(klon,klev),wdtrainS(klon,klev),wdtrainM(klon,klev),wdtrainAS(klon,klev)) |
|---|
| 1189 | ALLOCATE(dnwd(klon, klev), upwd(klon, klev)) |
|---|
| 1190 | ALLOCATE(ep(klon,klev)) ! epmax_cape |
|---|
| 1191 | ALLOCATE(da(klon,klev), mp(klon,klev)) |
|---|
| 1192 | ALLOCATE(phi(klon,klev,klev)) |
|---|
| 1193 | ALLOCATE(wght_cvfd(klon,klev)) |
|---|
| 1194 | ALLOCATE(phi2(klon,klev,klev)) |
|---|
| 1195 | ALLOCATE(d1a(klon,klev), dam(klon,klev)) |
|---|
| 1196 | ALLOCATE(ev(klon,klev)) |
|---|
| 1197 | ALLOCATE(elij(klon,klev,klev)) |
|---|
| 1198 | ALLOCATE(qtaa(klon,klev)) |
|---|
| 1199 | ALLOCATE(clw(klon,klev)) |
|---|
| 1200 | ALLOCATE(epmlmMm(klon,klev,klev), eplaMm(klon,klev)) |
|---|
| 1201 | ALLOCATE(sij(klon,klev,klev)) |
|---|
| 1202 | #ifdef ISO |
|---|
| 1203 | ALLOCATE(xtwdtrainA(ntraciso,klon,klev)) |
|---|
| 1204 | ALLOCATE(xtev(ntraciso,klon,klev) ) |
|---|
| 1205 | ALLOCATE(xttaa(ntraciso,klon,klev) ) |
|---|
| 1206 | ALLOCATE(xtclw(ntraciso,klon,klev) ) |
|---|
| 1207 | #ifdef DIAGISO |
|---|
| 1208 | ALLOCATE(qlp(klon,klev)) |
|---|
| 1209 | ALLOCATE(qvp(klon,klev)) |
|---|
| 1210 | ALLOCATE(fq_detrainement(klon,klev)) |
|---|
| 1211 | ALLOCATE(fq_ddft(klon,klev)) |
|---|
| 1212 | ALLOCATE(fq_fluxmasse(klon,klev)) |
|---|
| 1213 | ALLOCATE(fq_evapprecip(klon,klev)) |
|---|
| 1214 | ALLOCATE(f_detrainement(klon,klev), q_detrainement(klon,klev)) |
|---|
| 1215 | ALLOCATE(xtlp(ntraciso,klon,klev)) |
|---|
| 1216 | ALLOCATE(xtvp(ntraciso,klon,klev)) |
|---|
| 1217 | ALLOCATE(q_the(klon,klev), xt_the(ntraciso,klon,klev)) |
|---|
| 1218 | ALLOCATE(fxt_detrainement(ntraciso,klon,klev)) |
|---|
| 1219 | ALLOCATE(fxt_ddft(ntraciso,klon,klev)) |
|---|
| 1220 | ALLOCATE(fxt_fluxmasse(ntraciso,klon,klev)) |
|---|
| 1221 | ALLOCATE(fxt_evapprecip(ntraciso,klon,klev)) |
|---|
| 1222 | ALLOCATE(xt_detrainement(ntraciso,klon,klev)) |
|---|
| 1223 | #endif |
|---|
| 1224 | #endif |
|---|
| 1225 | |
|---|
| 1226 | ALLOCATE(prfl(klon, klev+1)) |
|---|
| 1227 | ALLOCATE(psfl(klon, klev+1), fraca(klon, klev+1), Vprecip(klon, klev+1)) |
|---|
| 1228 | ALLOCATE(bsfl(klon,klev+1)) |
|---|
| 1229 | ALLOCATE(zw2(klon, klev+1)) |
|---|
| 1230 | |
|---|
| 1231 | ALLOCATE(fluxu(klon, klev, nbsrf), fluxv(klon, klev, nbsrf)) |
|---|
| 1232 | ALLOCATE(fluxt(klon, klev, nbsrf)) |
|---|
| 1233 | |
|---|
| 1234 | ALLOCATE(uwriteSTD(klon,nlevSTD,nfiles), vwriteSTD(klon,nlevSTD,nfiles)) |
|---|
| 1235 | ALLOCATE(wwriteSTD(klon,nlevSTD,nfiles), phiwriteSTD(klon,nlevSTD,nfiles)) |
|---|
| 1236 | ALLOCATE(qwriteSTD(klon,nlevSTD,nfiles), twriteSTD(klon,nlevSTD,nfiles)) |
|---|
| 1237 | ALLOCATE(rhwriteSTD(klon,nlevSTD,nfiles)) |
|---|
| 1238 | |
|---|
| 1239 | ! ug et d'autres encore: |
|---|
| 1240 | ALLOCATE(beta_prec(klon,klev)) |
|---|
| 1241 | ALLOCATE(rneb(klon,klev),rnebjn(klon,klev),rneblsvol(klon,klev)) |
|---|
| 1242 | ALLOCATE(pfraclr(klon,klev),pfracld(klon,klev)) |
|---|
| 1243 | pfraclr(:,:)=0. ; pfracld(:,:)=0. ! because not always defined |
|---|
| 1244 | ALLOCATE(cldfraliq(klon,klev)) |
|---|
| 1245 | ALLOCATE(sigma2_icefracturb(klon,klev)) |
|---|
| 1246 | ALLOCATE(mean_icefracturb(klon,klev)) |
|---|
| 1247 | ALLOCATE(cldfraliqth(klon,klev)) |
|---|
| 1248 | ALLOCATE(sigma2_icefracturbth(klon,klev)) |
|---|
| 1249 | ALLOCATE(mean_icefracturbth(klon,klev)) |
|---|
| 1250 | ALLOCATE(distcltop(klon,klev)) |
|---|
| 1251 | ALLOCATE(temp_cltop(klon,klev)) |
|---|
| 1252 | |
|---|
| 1253 | |
|---|
| 1254 | ALLOCATE (zxsnow(klon),snowhgt(klon),qsnow(klon),to_ice(klon)) |
|---|
| 1255 | ALLOCATE (sissnow(klon),runoff(klon),albsol3_lic(klon)) |
|---|
| 1256 | #ifdef ISO |
|---|
| 1257 | ALLOCATE (zxxtsnow(niso,klon)) |
|---|
| 1258 | ALLOCATE(xtVprecip(ntraciso,klon, klev+1),xtVprecipi(ntraciso,klon, klev+1)) |
|---|
| 1259 | ALLOCATE(pxtsfl(ntraciso,klon, klev+1),pxtrfl(ntraciso,klon, klev+1)) |
|---|
| 1260 | #endif |
|---|
| 1261 | |
|---|
| 1262 | ALLOCATE (dyntropo(klon)) |
|---|
| 1263 | ALLOCATE (p_tropopause(klon)) |
|---|
| 1264 | ALLOCATE (z_tropopause(klon)) |
|---|
| 1265 | ALLOCATE (t_tropopause(klon)) |
|---|
| 1266 | |
|---|
| 1267 | ALLOCATE(zn2mout(klon,6)) |
|---|
| 1268 | |
|---|
| 1269 | !-- LSCP - condensation and ice supersaturation variables |
|---|
| 1270 | ALLOCATE(qsub(klon,klev), qissr(klon,klev), qcld(klon,klev)) |
|---|
| 1271 | ALLOCATE(subfra(klon,klev), issrfra(klon,klev)) |
|---|
| 1272 | ALLOCATE(gamma_cond(klon,klev), ql_seri_lscp(klon,klev), ratio_ql_qtot(klon,klev)) |
|---|
| 1273 | ALLOCATE(qi_seri_lscp(klon,klev), ratio_qi_qtot(klon,klev)) |
|---|
| 1274 | ALLOCATE(dcf_sub(klon,klev), dcf_con(klon,klev), dcf_mix(klon,klev)) |
|---|
| 1275 | ALLOCATE(dqi_adj(klon,klev), dqi_sub(klon,klev), dqi_con(klon,klev), dqi_mix(klon,klev)) |
|---|
| 1276 | ALLOCATE(dqvc_adj(klon,klev), dqvc_sub(klon,klev), dqvc_con(klon,klev), dqvc_mix(klon,klev)) |
|---|
| 1277 | ALLOCATE(qsatliq(klon,klev), qsatice(klon,klev)) |
|---|
| 1278 | |
|---|
| 1279 | !-- LSCP - aviation and contrails variables |
|---|
| 1280 | ALLOCATE(Tcontr(klon,klev), qcontr(klon,klev), qcontr2(klon,klev)) |
|---|
| 1281 | ALLOCATE(fcontrN(klon,klev), fcontrP(klon,klev)) |
|---|
| 1282 | ALLOCATE(dcf_avi(klon,klev), dqi_avi(klon,klev), dqvc_avi(klon,klev)) |
|---|
| 1283 | ALLOCATE(flight_dist(klon,klev), flight_h2o(klon,klev)) |
|---|
| 1284 | |
|---|
| 1285 | !-- LSCP - POPRECIP variables |
|---|
| 1286 | ALLOCATE(qraindiag(klon,klev), qsnowdiag(klon,klev)) |
|---|
| 1287 | ALLOCATE(dqreva(klon,klev), dqssub(klon,klev)) |
|---|
| 1288 | ALLOCATE(dqrauto(klon,klev), dqrcol(klon,klev), dqrmelt(klon,klev), dqrfreez(klon,klev)) |
|---|
| 1289 | ALLOCATE(dqsauto(klon,klev), dqsagg(klon,klev), dqsrim(klon,klev), dqsmelt(klon,klev), dqsfreez(klon,klev)) |
|---|
| 1290 | |
|---|
| 1291 | IF (CPPKEY_STRATAER) THEN |
|---|
| 1292 | ALLOCATE (d_q_emiss(klon,klev)) |
|---|
| 1293 | ALLOCATE (R2SO4(klon,klev)) |
|---|
| 1294 | ALLOCATE (R2SO4B(klon,klev,nbtr_bin)) |
|---|
| 1295 | ALLOCATE (DENSO4(klon,klev)) |
|---|
| 1296 | ALLOCATE (DENSO4B(klon,klev,nbtr_bin)) |
|---|
| 1297 | ALLOCATE (f_r_wet(klon,klev)) |
|---|
| 1298 | ALLOCATE (f_r_wetB(klon,klev,nbtr_bin)) |
|---|
| 1299 | ALLOCATE (decfluxaer(klon,nbtr)) |
|---|
| 1300 | ALLOCATE (mdw(nbtr)) |
|---|
| 1301 | ALLOCATE (budg_3D_nucl(klon,klev)) |
|---|
| 1302 | ALLOCATE (budg_3D_cond_evap(klon,klev)) |
|---|
| 1303 | ALLOCATE (budg_3D_ocs_to_so2(klon,klev)) |
|---|
| 1304 | ALLOCATE (budg_3D_so2_to_h2so4(klon,klev)) |
|---|
| 1305 | ALLOCATE (budg_3D_backgr_ocs(klon,klev)) |
|---|
| 1306 | ALLOCATE (budg_3D_backgr_so2(klon,klev)) |
|---|
| 1307 | ALLOCATE (OCS_lifetime(klon,klev)) |
|---|
| 1308 | ALLOCATE (SO2_lifetime(klon,klev)) |
|---|
| 1309 | ALLOCATE (H2SO4_lifetime(klon,klev)) |
|---|
| 1310 | ALLOCATE (O3_clim(klon,klev)) |
|---|
| 1311 | ALLOCATE (alpha_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave,nbtr)) |
|---|
| 1312 | ALLOCATE (piz_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave,nbtr)) |
|---|
| 1313 | ALLOCATE (cg_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave,nbtr)) |
|---|
| 1314 | ALLOCATE (SO2_chlm(klon,klev)) |
|---|
| 1315 | ALLOCATE (tau_strat_443(klon,klev)) |
|---|
| 1316 | ALLOCATE (tau_strat_550(klon,klev)) |
|---|
| 1317 | ALLOCATE (tau_strat_670(klon,klev)) |
|---|
| 1318 | ALLOCATE (tau_strat_765(klon,klev)) |
|---|
| 1319 | ALLOCATE (tau_strat_1020(klon,klev)) |
|---|
| 1320 | ALLOCATE (tau_strat_10um(klon,klev)) |
|---|
| 1321 | ALLOCATE (tausum_strat(klon,6)) |
|---|
| 1322 | ALLOCATE (budg_dep_dry_ocs(klon)) |
|---|
| 1323 | ALLOCATE (budg_dep_wet_ocs(klon)) |
|---|
| 1324 | ALLOCATE (budg_dep_dry_so2(klon)) |
|---|
| 1325 | ALLOCATE (budg_dep_wet_so2(klon)) |
|---|
| 1326 | ALLOCATE (budg_dep_dry_h2so4(klon)) |
|---|
| 1327 | ALLOCATE (budg_dep_wet_h2so4(klon)) |
|---|
| 1328 | ALLOCATE (budg_dep_dry_part(klon)) |
|---|
| 1329 | ALLOCATE (budg_dep_wet_part(klon)) |
|---|
| 1330 | ALLOCATE (budg_emi_ocs(klon)) |
|---|
| 1331 | ALLOCATE (budg_emi_so2(klon)) |
|---|
| 1332 | ALLOCATE (budg_emi_h2so4(klon)) |
|---|
| 1333 | ALLOCATE (budg_emi_part(klon)) |
|---|
| 1334 | ALLOCATE (budg_ocs_to_so2(klon)) |
|---|
| 1335 | ALLOCATE (budg_so2_to_h2so4(klon)) |
|---|
| 1336 | ALLOCATE (budg_h2so4_to_part(klon)) |
|---|
| 1337 | ALLOCATE (budg_sed_part(klon)) |
|---|
| 1338 | ALLOCATE (surf_PM25_sulf(klon)) |
|---|
| 1339 | ALLOCATE (vsed_aer(klon,klev)) |
|---|
| 1340 | ALLOCATE (sulfmmr(klon,klev)) |
|---|
| 1341 | ALLOCATE (SAD_sulfate(klon,klev)) |
|---|
| 1342 | ALLOCATE (reff_sulfate(klon,klev)) |
|---|
| 1343 | ALLOCATE (sulfmmr_mode(klon,klev,nbtr_bin)) |
|---|
| 1344 | ALLOCATE (nd_mode(klon,klev,nbtr_bin)) |
|---|
| 1345 | END IF |
|---|
| 1346 | |
|---|
| 1347 | END SUBROUTINE phys_local_var_init |
|---|
| 1348 | |
|---|
| 1349 | !====================================================================== |
|---|
| 1350 | SUBROUTINE phys_local_var_end |
|---|
| 1351 | USE dimphy |
|---|
| 1352 | USE indice_sol_mod |
|---|
| 1353 | IMPLICIT NONE |
|---|
| 1354 | DEALLOCATE(t_seri,q_seri,ql_seri,qs_seri, qbs_seri) |
|---|
| 1355 | ! SN 4D ISO |
|---|
| 1356 | DEALLOCATE(qx_seri) |
|---|
| 1357 | ! SN |
|---|
| 1358 | DEALLOCATE(u_seri,v_seri) |
|---|
| 1359 | DEALLOCATE(cf_seri,rvc_seri) |
|---|
| 1360 | DEALLOCATE(l_mixmin,l_mix,wprime) |
|---|
| 1361 | DEALLOCATE(tke_shear,tke_buoy,tke_trans) |
|---|
| 1362 | DEALLOCATE(pbl_eps) |
|---|
| 1363 | DEALLOCATE(rhcl) |
|---|
| 1364 | DEALLOCATE(tr_seri) |
|---|
| 1365 | DEALLOCATE(d_t_dyn,d_q_dyn) |
|---|
| 1366 | DEALLOCATE(d_ql_dyn,d_qs_dyn, d_qbs_dyn) |
|---|
| 1367 | DEALLOCATE(d_q_dyn2d,d_ql_dyn2d,d_qs_dyn2d, d_qbs_dyn2d) |
|---|
| 1368 | DEALLOCATE(d_u_dyn,d_v_dyn) |
|---|
| 1369 | DEALLOCATE(d_cf_dyn,d_rvc_dyn) |
|---|
| 1370 | DEALLOCATE(d_tke_dyn) |
|---|
| 1371 | DEALLOCATE(d_tr_dyn) !RomP |
|---|
| 1372 | DEALLOCATE(d_t_con,d_q_con) |
|---|
| 1373 | DEALLOCATE(d_u_con,d_v_con) |
|---|
| 1374 | DEALLOCATE(d_t_con_zmasse,d_q_con_zmasse) |
|---|
| 1375 | DEALLOCATE(d_u_con_zmasse,d_v_con_zmasse) |
|---|
| 1376 | DEALLOCATE(d_t_wake,d_q_wake) |
|---|
| 1377 | DEALLOCATE(d_t_lsc,d_q_lsc) |
|---|
| 1378 | DEALLOCATE(d_t_lwr,d_t_lw0) |
|---|
| 1379 | DEALLOCATE(d_t_swr,d_t_sw0) |
|---|
| 1380 | DEALLOCATE(d_ql_lsc,d_qi_lsc) |
|---|
| 1381 | DEALLOCATE(d_t_ajsb,d_q_ajsb) |
|---|
| 1382 | DEALLOCATE(d_t_ajs,d_q_ajs) |
|---|
| 1383 | !nrlmd< |
|---|
| 1384 | DEALLOCATE(d_t_ajs_w,d_q_ajs_w) |
|---|
| 1385 | DEALLOCATE(d_t_ajs_x,d_q_ajs_x) |
|---|
| 1386 | !>nrlmd |
|---|
| 1387 | DEALLOCATE(d_u_ajs,d_v_ajs) |
|---|
| 1388 | DEALLOCATE(d_t_eva,d_q_eva) |
|---|
| 1389 | ! SN 4D ISO |
|---|
| 1390 | DEALLOCATE(d_qx_eva) |
|---|
| 1391 | ! SN |
|---|
| 1392 | DEALLOCATE(d_ql_eva,d_qi_eva) |
|---|
| 1393 | DEALLOCATE(d_t_lscst,d_q_lscst) |
|---|
| 1394 | DEALLOCATE(d_t_lscth,d_q_lscth) |
|---|
| 1395 | DEALLOCATE(plul_st,plul_th) |
|---|
| 1396 | DEALLOCATE(d_t_vdf,d_q_vdf,d_t_diss) |
|---|
| 1397 | DEALLOCATE(d_qbs_vdf) |
|---|
| 1398 | DEALLOCATE(d_t_bsss,d_q_bsss,d_qbs_bsss) |
|---|
| 1399 | #ifdef ISO |
|---|
| 1400 | deallocate(xt_seri,xtl_seri,xts_seri,xtbs_seri) |
|---|
| 1401 | DEALLOCATE(d_xtl_eva,d_xti_eva) |
|---|
| 1402 | deallocate(d_xt_dyn,d_xtl_dyn,d_xts_dyn,d_xtbs_dyn) |
|---|
| 1403 | deallocate(d_xt_con) |
|---|
| 1404 | deallocate(d_xt_wake) |
|---|
| 1405 | deallocate(d_xt_lsc) |
|---|
| 1406 | deallocate(d_xtl_lsc,d_xti_lsc) |
|---|
| 1407 | deallocate(d_xt_ajsb) |
|---|
| 1408 | deallocate(d_xt_ajs) |
|---|
| 1409 | deallocate(d_xt_ajs_w,d_xt_ajs_x) |
|---|
| 1410 | deallocate(d_xt_eva) |
|---|
| 1411 | deallocate(d_xtl_eva) |
|---|
| 1412 | deallocate(d_xti_eva) |
|---|
| 1413 | deallocate(d_xt_vdf) |
|---|
| 1414 | deallocate(d_xt_vdf_w,d_xt_vdf_x) |
|---|
| 1415 | deallocate(d_xt_ch4) |
|---|
| 1416 | deallocate(d_xt_prod_nucl) |
|---|
| 1417 | deallocate(d_xt_cosmo) |
|---|
| 1418 | deallocate(d_xt_decroiss) |
|---|
| 1419 | #endif |
|---|
| 1420 | |
|---|
| 1421 | DEALLOCATE(d_u_vdf,d_v_vdf) |
|---|
| 1422 | DEALLOCATE(d_t_oli,d_t_oro) |
|---|
| 1423 | DEALLOCATE(d_u_oli,d_v_oli) |
|---|
| 1424 | DEALLOCATE(d_u_oro,d_v_oro) |
|---|
| 1425 | DEALLOCATE(d_t_oro_gw) |
|---|
| 1426 | DEALLOCATE(d_u_oro_gw,d_v_oro_gw) |
|---|
| 1427 | DEALLOCATE(d_t_lif,d_t_ec) |
|---|
| 1428 | DEALLOCATE(d_u_lif,d_v_lif) |
|---|
| 1429 | DEALLOCATE(d_ts, d_tr) |
|---|
| 1430 | DEALLOCATE(topswad_aero,solswad_aero) |
|---|
| 1431 | DEALLOCATE(topswai_aero,solswai_aero) |
|---|
| 1432 | DEALLOCATE(topswad0_aero,solswad0_aero) |
|---|
| 1433 | DEALLOCATE(toplwad_aero,sollwad_aero) |
|---|
| 1434 | DEALLOCATE(toplwai_aero,sollwai_aero) |
|---|
| 1435 | DEALLOCATE(toplwad0_aero,sollwad0_aero) |
|---|
| 1436 | DEALLOCATE(topsw_aero,solsw_aero) |
|---|
| 1437 | DEALLOCATE(topsw0_aero,solsw0_aero) |
|---|
| 1438 | DEALLOCATE(topswcf_aero,solswcf_aero) |
|---|
| 1439 | DEALLOCATE(stratomask) |
|---|
| 1440 | DEALLOCATE(tausum_aero) |
|---|
| 1441 | DEALLOCATE(drytausum_aero) |
|---|
| 1442 | DEALLOCATE(tau3d_aero) |
|---|
| 1443 | DEALLOCATE(dNovrN) |
|---|
| 1444 | DEALLOCATE(zfice) |
|---|
| 1445 | DEALLOCATE(od443aer) |
|---|
| 1446 | DEALLOCATE(od550aer) |
|---|
| 1447 | DEALLOCATE(od865aer) |
|---|
| 1448 | DEALLOCATE(dryod550aer) |
|---|
| 1449 | DEALLOCATE(abs550aer) |
|---|
| 1450 | DEALLOCATE(ec550aer) |
|---|
| 1451 | DEALLOCATE(od550lt1aer) |
|---|
| 1452 | DEALLOCATE(sconcso4) |
|---|
| 1453 | DEALLOCATE(sconcno3) |
|---|
| 1454 | DEALLOCATE(sconcoa) |
|---|
| 1455 | DEALLOCATE(sconcbc) |
|---|
| 1456 | DEALLOCATE(sconcss) |
|---|
| 1457 | DEALLOCATE(sconcdust) |
|---|
| 1458 | DEALLOCATE(concso4) |
|---|
| 1459 | DEALLOCATE(concno3) |
|---|
| 1460 | DEALLOCATE(concoa) |
|---|
| 1461 | DEALLOCATE(concbc) |
|---|
| 1462 | DEALLOCATE(concss) |
|---|
| 1463 | DEALLOCATE(concdust) |
|---|
| 1464 | DEALLOCATE(loadso4) |
|---|
| 1465 | DEALLOCATE(loadoa) |
|---|
| 1466 | DEALLOCATE(loadbc) |
|---|
| 1467 | DEALLOCATE(loadss) |
|---|
| 1468 | DEALLOCATE(loaddust) |
|---|
| 1469 | DEALLOCATE(loadno3) |
|---|
| 1470 | DEALLOCATE(load_tmp1) |
|---|
| 1471 | DEALLOCATE(load_tmp2) |
|---|
| 1472 | DEALLOCATE(load_tmp3) |
|---|
| 1473 | DEALLOCATE(load_tmp4) |
|---|
| 1474 | DEALLOCATE(load_tmp5) |
|---|
| 1475 | DEALLOCATE(load_tmp6) |
|---|
| 1476 | DEALLOCATE(load_tmp7) |
|---|
| 1477 | DEALLOCATE(load_tmp8) |
|---|
| 1478 | DEALLOCATE(load_tmp9) |
|---|
| 1479 | DEALLOCATE(load_tmp10) |
|---|
| 1480 | DEALLOCATE(du_gwd_hines,dv_gwd_hines,d_t_hin) |
|---|
| 1481 | DEALLOCATE(d_q_ch4) |
|---|
| 1482 | DEALLOCATE(dv_gwd_rando,dv_gwd_front) |
|---|
| 1483 | DEALLOCATE(east_gwstress,west_gwstress) |
|---|
| 1484 | !GG |
|---|
| 1485 | DEALLOCATE(fcds) |
|---|
| 1486 | DEALLOCATE(fcdi) |
|---|
| 1487 | DEALLOCATE(dh_basal_growth) |
|---|
| 1488 | DEALLOCATE(dh_basal_melt) |
|---|
| 1489 | DEALLOCATE(dh_top_melt) |
|---|
| 1490 | DEALLOCATE(dh_snow2sic) |
|---|
| 1491 | DEALLOCATE(dtice_melt) |
|---|
| 1492 | DEALLOCATE(dtice_snow2sic) |
|---|
| 1493 | !GG |
|---|
| 1494 | |
|---|
| 1495 | !IM ajout variables CFMIP2/CMIP5 |
|---|
| 1496 | DEALLOCATE(topswad_aerop, solswad_aerop) |
|---|
| 1497 | DEALLOCATE(topswai_aerop, solswai_aerop) |
|---|
| 1498 | DEALLOCATE(topswad0_aerop, solswad0_aerop) |
|---|
| 1499 | DEALLOCATE(topsw_aerop, topsw0_aerop) |
|---|
| 1500 | DEALLOCATE(solsw_aerop, solsw0_aerop) |
|---|
| 1501 | DEALLOCATE(topswcf_aerop, solswcf_aerop) |
|---|
| 1502 | !CK LW diagnostics |
|---|
| 1503 | DEALLOCATE(toplwad_aerop, sollwad_aerop) |
|---|
| 1504 | DEALLOCATE(toplwai_aerop, sollwai_aerop) |
|---|
| 1505 | DEALLOCATE(toplwad0_aerop, sollwad0_aerop) |
|---|
| 1506 | |
|---|
| 1507 | !AI Ajout pour Ecrad (3Deffect) |
|---|
| 1508 | DEALLOCATE(topswad_aero_s2, solswad_aero_s2) |
|---|
| 1509 | DEALLOCATE(topswai_aero_s2, solswai_aero_s2) |
|---|
| 1510 | DEALLOCATE(topswad0_aero_s2, solswad0_aero_s2) |
|---|
| 1511 | DEALLOCATE(topsw_aero_s2, topsw0_aero_s2) |
|---|
| 1512 | DEALLOCATE(solsw_aero_s2, solsw0_aero_s2) |
|---|
| 1513 | DEALLOCATE(topswcf_aero_s2, solswcf_aero_s2) |
|---|
| 1514 | !CK LW diagnostics |
|---|
| 1515 | DEALLOCATE(toplwad_aero_s2, sollwad_aero_s2) |
|---|
| 1516 | DEALLOCATE(toplwai_aero_s2, sollwai_aero_s2) |
|---|
| 1517 | DEALLOCATE(toplwad0_aero_s2, sollwad0_aero_s2) |
|---|
| 1518 | |
|---|
| 1519 | ! FH Ajout de celles necessaires au phys_output_write_mod |
|---|
| 1520 | DEALLOCATE(tal1, pal1, pab1, pab2) |
|---|
| 1521 | DEALLOCATE(ptstar, pt0, slp) |
|---|
| 1522 | ! |
|---|
| 1523 | DEALLOCATE(alp_wake) |
|---|
| 1524 | DEALLOCATE(wake_h,wake_k) |
|---|
| 1525 | DEALLOCATE(wake_omg) |
|---|
| 1526 | DEALLOCATE(d_deltat_wk, d_deltaq_wk) |
|---|
| 1527 | DEALLOCATE(d_s_wk, d_s_a_wk, d_dens_wk, d_dens_a_wk) |
|---|
| 1528 | DEALLOCATE(d_deltat_wk_gw, d_deltaq_wk_gw) |
|---|
| 1529 | DEALLOCATE(d_deltat_vdf, d_deltaq_vdf) |
|---|
| 1530 | !! DEALLOCATE( d_s_vdf, d_dens_vdf) |
|---|
| 1531 | DEALLOCATE(d_deltat_the, d_deltaq_the) |
|---|
| 1532 | !! DEALLOCATE( d_s_the, d_dens_the) |
|---|
| 1533 | DEALLOCATE(d_deltat_ajs_cv, d_deltaq_ajs_cv) |
|---|
| 1534 | #ifdef ISO |
|---|
| 1535 | DEALLOCATE(d_deltaxt_wk) |
|---|
| 1536 | DEALLOCATE(d_deltaxt_wk_gw) |
|---|
| 1537 | DEALLOCATE(d_deltaxt_ajs_cv) |
|---|
| 1538 | DEALLOCATE(d_deltaxt_vdf) |
|---|
| 1539 | #endif |
|---|
| 1540 | ! |
|---|
| 1541 | DEALLOCATE(bils) |
|---|
| 1542 | DEALLOCATE(cdragm, cdragh, cldh, cldl) |
|---|
| 1543 | DEALLOCATE(cldm, cldq, cldt, qsat2m) |
|---|
| 1544 | DEALLOCATE(JrNt) |
|---|
| 1545 | DEALLOCATE(dthmin, evap, snowerosion, icesub_lic, fder, plcl, plfc) |
|---|
| 1546 | DEALLOCATE(prw, prlw, prsw, prbsw, water_budget, zustar, zu10m, zv10m, rh2m, s_lcl) |
|---|
| 1547 | DEALLOCATE(s_pblh, s_pblt, s_therm) |
|---|
| 1548 | ! |
|---|
| 1549 | !nrlmd+jyg< |
|---|
| 1550 | DEALLOCATE(s_pblh_x, s_pblh_w) |
|---|
| 1551 | DEALLOCATE(s_lcl_x, s_lcl_w) |
|---|
| 1552 | !>nrlmd+jyg |
|---|
| 1553 | ! |
|---|
| 1554 | DEALLOCATE(slab_wfbils, tpot, tpote, ue) |
|---|
| 1555 | DEALLOCATE(uq, ve, vq, zxffonte) |
|---|
| 1556 | DEALLOCATE(uwat, vwat) |
|---|
| 1557 | DEALLOCATE(zxfqcalving, zxfluxlat) |
|---|
| 1558 | ! SN runoff_diag |
|---|
| 1559 | DEALLOCATE(zxrunofflic, runoff_diag) |
|---|
| 1560 | DEALLOCATE(zxustartlic, zxrhoslic, zxqsaltlic, tempsmoothlic) |
|---|
| 1561 | DEALLOCATE(zxtsol, snow_lsc, zxfqfonte, zxqsurf) |
|---|
| 1562 | DEALLOCATE(rain_lsc) |
|---|
| 1563 | DEALLOCATE(rain_num) |
|---|
| 1564 | DEALLOCATE(qlth, qith, qsith, wiceth) |
|---|
| 1565 | ! |
|---|
| 1566 | DEALLOCATE(sens_x, sens_w) |
|---|
| 1567 | DEALLOCATE(zxfluxlat_x, zxfluxlat_w) |
|---|
| 1568 | DEALLOCATE(delta_qsurf) |
|---|
| 1569 | !jyg< |
|---|
| 1570 | !! DEALLOCATE(t_x, t_w) |
|---|
| 1571 | !! DEALLOCATE(q_x, q_w) |
|---|
| 1572 | !>jyg |
|---|
| 1573 | DEALLOCATE(d_t_vdf_x, d_t_vdf_w) |
|---|
| 1574 | DEALLOCATE(d_q_vdf_x, d_q_vdf_w) |
|---|
| 1575 | DEALLOCATE(pbl_tke_input) |
|---|
| 1576 | DEALLOCATE(t_therm, q_therm, u_therm, v_therm) |
|---|
| 1577 | DEALLOCATE(cdragh_x, cdragh_w) |
|---|
| 1578 | DEALLOCATE(cdragm_x, cdragm_w) |
|---|
| 1579 | DEALLOCATE(kh, kh_x, kh_w) |
|---|
| 1580 | #ifdef ISO |
|---|
| 1581 | DEALLOCATE(xtevap,xtprw) |
|---|
| 1582 | DEALLOCATE(zxfxtcalving) |
|---|
| 1583 | DEALLOCATE(zxxtrunofflic) |
|---|
| 1584 | DEALLOCATE(xtsnow_lsc, zxfxtfonte) |
|---|
| 1585 | DEALLOCATE(xtrain_lsc) |
|---|
| 1586 | DEALLOCATE(dxtvdf_x, dxtvdf_w) |
|---|
| 1587 | DEALLOCATE(xt_therm) |
|---|
| 1588 | DEALLOCATE(h1_diag,xtrunoff_diag) |
|---|
| 1589 | #endif |
|---|
| 1590 | ! |
|---|
| 1591 | DEALLOCATE(ptconv) |
|---|
| 1592 | DEALLOCATE(ratqsc) |
|---|
| 1593 | ! |
|---|
| 1594 | DEALLOCATE(wbeff, convoccur, zmax_th) |
|---|
| 1595 | DEALLOCATE(zq2m, zt2m, weak_inversion) |
|---|
| 1596 | DEALLOCATE(zt2m_min_mon, zt2m_max_mon) |
|---|
| 1597 | DEALLOCATE(t2m_min_mon, t2m_max_mon) |
|---|
| 1598 | DEALLOCATE(sens, flwp, fiwp) |
|---|
| 1599 | DEALLOCATE(alp_bl_conv,alp_bl_det) |
|---|
| 1600 | DEALLOCATE(alp_bl_fluct_m,alp_bl_fluct_tke) |
|---|
| 1601 | DEALLOCATE(alp_bl_stat, n2, s2, strig, zcong, zlcl_th) |
|---|
| 1602 | DEALLOCATE(proba_notrig, random_notrig) |
|---|
| 1603 | DEALLOCATE(coef_clos, coef_clos_eff) |
|---|
| 1604 | !FC |
|---|
| 1605 | DEALLOCATE(zxfluxq,zxfluxt) |
|---|
| 1606 | |
|---|
| 1607 | DEALLOCATE(dnwd0) |
|---|
| 1608 | ! DEALLOCATE(upwd, omega, coefh) |
|---|
| 1609 | DEALLOCATE(omega) |
|---|
| 1610 | DEALLOCATE(epmax_diag) |
|---|
| 1611 | ! DEALLOCATE(coefm, lambda_th, cldemi) |
|---|
| 1612 | DEALLOCATE(lambda_th, cldemi) |
|---|
| 1613 | DEALLOCATE(cldfra, cldtau, fiwc) |
|---|
| 1614 | DEALLOCATE(fl, re, flwc) |
|---|
| 1615 | DEALLOCATE(ref_liq, ref_ice, theta) |
|---|
| 1616 | DEALLOCATE(ref_liq_pi, ref_ice_pi) |
|---|
| 1617 | DEALLOCATE(zphi, zx_rh, zx_rhl, zx_rhi) |
|---|
| 1618 | DEALLOCATE(pmfd, pmfu) |
|---|
| 1619 | |
|---|
| 1620 | DEALLOCATE(t2m, fluxlat) |
|---|
| 1621 | DEALLOCATE(fsollw, evap_pot) |
|---|
| 1622 | DEALLOCATE(fsolsw, wfbils) |
|---|
| 1623 | DEALLOCATE(wfevap) |
|---|
| 1624 | |
|---|
| 1625 | DEALLOCATE(pmflxr, pmflxs) |
|---|
| 1626 | DEALLOCATE(wdtrainA, wdtrainS, wdtrainM, wdtrainAS) |
|---|
| 1627 | DEALLOCATE(upwd, dnwd) |
|---|
| 1628 | DEALLOCATE(ep) |
|---|
| 1629 | DEALLOCATE(da, mp) |
|---|
| 1630 | DEALLOCATE(phi) |
|---|
| 1631 | DEALLOCATE(wght_cvfd) |
|---|
| 1632 | DEALLOCATE(phi2) |
|---|
| 1633 | DEALLOCATE(d1a, dam) |
|---|
| 1634 | DEALLOCATE(ev) |
|---|
| 1635 | DEALLOCATE(elij) |
|---|
| 1636 | DEALLOCATE(qtaa) |
|---|
| 1637 | DEALLOCATE(clw) |
|---|
| 1638 | DEALLOCATE(epmlmMm, eplaMm) |
|---|
| 1639 | DEALLOCATE(sij) |
|---|
| 1640 | #ifdef ISO |
|---|
| 1641 | DEALLOCATE(xtwdtrainA) |
|---|
| 1642 | DEALLOCATE(xttaa ) |
|---|
| 1643 | DEALLOCATE(xtclw ) |
|---|
| 1644 | DEALLOCATE(xtev ) |
|---|
| 1645 | #ifdef DIAGISO |
|---|
| 1646 | DEALLOCATE(qlp) |
|---|
| 1647 | DEALLOCATE(qvp) |
|---|
| 1648 | DEALLOCATE(fq_detrainement) |
|---|
| 1649 | DEALLOCATE(fq_ddft) |
|---|
| 1650 | DEALLOCATE(fq_fluxmasse) |
|---|
| 1651 | DEALLOCATE(fq_evapprecip) |
|---|
| 1652 | DEALLOCATE(f_detrainement,q_detrainement) |
|---|
| 1653 | DEALLOCATE(xtlp) |
|---|
| 1654 | DEALLOCATE(xtvp) |
|---|
| 1655 | DEALLOCATE(q_the,xt_the) |
|---|
| 1656 | DEALLOCATE(fxt_detrainement) |
|---|
| 1657 | DEALLOCATE(fxt_ddft) |
|---|
| 1658 | DEALLOCATE(fxt_fluxmasse) |
|---|
| 1659 | DEALLOCATE(fxt_evapprecip) |
|---|
| 1660 | DEALLOCATE(xt_detrainement) |
|---|
| 1661 | #endif |
|---|
| 1662 | #endif |
|---|
| 1663 | |
|---|
| 1664 | |
|---|
| 1665 | DEALLOCATE(prfl, psfl, bsfl, fraca, Vprecip) |
|---|
| 1666 | DEALLOCATE(zw2) |
|---|
| 1667 | |
|---|
| 1668 | DEALLOCATE(fluxu, fluxv) |
|---|
| 1669 | DEALLOCATE(fluxt) |
|---|
| 1670 | |
|---|
| 1671 | DEALLOCATE(uwriteSTD, vwriteSTD) |
|---|
| 1672 | DEALLOCATE(wwriteSTD, phiwriteSTD) |
|---|
| 1673 | DEALLOCATE(qwriteSTD, twriteSTD, rhwriteSTD) |
|---|
| 1674 | |
|---|
| 1675 | ! ug et d'autres encore: |
|---|
| 1676 | DEALLOCATE(beta_prec) |
|---|
| 1677 | DEALLOCATE(rneb) |
|---|
| 1678 | DEALLOCATE(pfraclr,pfracld) |
|---|
| 1679 | DEALLOCATE(cldfraliq) |
|---|
| 1680 | DEALLOCATE(sigma2_icefracturb) |
|---|
| 1681 | DEALLOCATE(mean_icefracturb) |
|---|
| 1682 | DEALLOCATE(cldfraliqth) |
|---|
| 1683 | DEALLOCATE(sigma2_icefracturbth) |
|---|
| 1684 | DEALLOCATE(mean_icefracturbth) |
|---|
| 1685 | DEALLOCATE (zxsnow,snowhgt,qsnow,to_ice,sissnow,runoff,albsol3_lic) |
|---|
| 1686 | DEALLOCATE(distcltop) |
|---|
| 1687 | DEALLOCATE(temp_cltop) |
|---|
| 1688 | #ifdef ISO |
|---|
| 1689 | DEALLOCATE (zxxtsnow,xtVprecip,xtVprecipi,pxtrfl,pxtsfl) |
|---|
| 1690 | #endif |
|---|
| 1691 | |
|---|
| 1692 | DEALLOCATE (dyntropo) |
|---|
| 1693 | DEALLOCATE (p_tropopause) |
|---|
| 1694 | DEALLOCATE (z_tropopause) |
|---|
| 1695 | DEALLOCATE (t_tropopause) |
|---|
| 1696 | DEALLOCATE(zn2mout) |
|---|
| 1697 | |
|---|
| 1698 | !-- LSCP - condensation and ice supersaturation variables |
|---|
| 1699 | DEALLOCATE(qsub, qissr, qcld) |
|---|
| 1700 | DEALLOCATE(subfra, issrfra) |
|---|
| 1701 | DEALLOCATE(gamma_cond, ql_seri_lscp, ratio_ql_qtot, qi_seri_lscp, ratio_qi_qtot) |
|---|
| 1702 | DEALLOCATE(dcf_sub, dcf_con, dcf_mix) |
|---|
| 1703 | DEALLOCATE(dqi_adj, dqi_sub, dqi_con, dqi_mix) |
|---|
| 1704 | DEALLOCATE(dqvc_adj, dqvc_sub, dqvc_con, dqvc_mix) |
|---|
| 1705 | DEALLOCATE(qsatliq, qsatice) |
|---|
| 1706 | |
|---|
| 1707 | !-- LSCP - aviation and contrails variables |
|---|
| 1708 | DEALLOCATE(Tcontr, qcontr, qcontr2) |
|---|
| 1709 | DEALLOCATE(fcontrN, fcontrP) |
|---|
| 1710 | DEALLOCATE(dcf_avi, dqi_avi, dqvc_avi) |
|---|
| 1711 | DEALLOCATE(flight_dist, flight_h2o) |
|---|
| 1712 | |
|---|
| 1713 | !-- LSCP - POPRECIP variables |
|---|
| 1714 | DEALLOCATE(qraindiag, qsnowdiag) |
|---|
| 1715 | DEALLOCATE(dqreva, dqssub) |
|---|
| 1716 | DEALLOCATE(dqrauto, dqrcol, dqrmelt, dqrfreez) |
|---|
| 1717 | DEALLOCATE(dqsauto, dqsagg, dqsrim, dqsmelt, dqsfreez) |
|---|
| 1718 | |
|---|
| 1719 | IF (CPPKEY_STRATAER) THEN |
|---|
| 1720 | ! variables for strat. aerosol CK |
|---|
| 1721 | DEALLOCATE (d_q_emiss) |
|---|
| 1722 | DEALLOCATE (R2SO4, R2SO4B) |
|---|
| 1723 | DEALLOCATE (DENSO4, DENSO4B) |
|---|
| 1724 | DEALLOCATE (f_r_wet, f_r_wetB) |
|---|
| 1725 | DEALLOCATE (decfluxaer) |
|---|
| 1726 | DEALLOCATE (mdw) |
|---|
| 1727 | DEALLOCATE (SO2_lifetime) |
|---|
| 1728 | DEALLOCATE (OCS_lifetime) |
|---|
| 1729 | DEALLOCATE (H2SO4_lifetime) |
|---|
| 1730 | DEALLOCATE (O3_clim) |
|---|
| 1731 | DEALLOCATE (alpha_bin) |
|---|
| 1732 | DEALLOCATE (piz_bin) |
|---|
| 1733 | DEALLOCATE (cg_bin) |
|---|
| 1734 | DEALLOCATE (SO2_chlm) |
|---|
| 1735 | DEALLOCATE (tau_strat_443) |
|---|
| 1736 | DEALLOCATE (tau_strat_550) |
|---|
| 1737 | DEALLOCATE (tau_strat_670) |
|---|
| 1738 | DEALLOCATE (tau_strat_765) |
|---|
| 1739 | DEALLOCATE (tau_strat_1020) |
|---|
| 1740 | DEALLOCATE (tau_strat_10um) |
|---|
| 1741 | DEALLOCATE (tausum_strat) |
|---|
| 1742 | DEALLOCATE (surf_PM25_sulf) |
|---|
| 1743 | DEALLOCATE (vsed_aer) |
|---|
| 1744 | DEALLOCATE (sulfmmr) |
|---|
| 1745 | DEALLOCATE (SAD_sulfate) |
|---|
| 1746 | DEALLOCATE (reff_sulfate) |
|---|
| 1747 | DEALLOCATE (sulfmmr_mode) |
|---|
| 1748 | DEALLOCATE (nd_mode) |
|---|
| 1749 | DEALLOCATE (budg_3D_ocs_to_so2) |
|---|
| 1750 | DEALLOCATE (budg_3D_so2_to_h2so4) |
|---|
| 1751 | DEALLOCATE (budg_3D_backgr_ocs) |
|---|
| 1752 | DEALLOCATE (budg_3D_backgr_so2) |
|---|
| 1753 | DEALLOCATE (budg_3D_nucl) |
|---|
| 1754 | DEALLOCATE (budg_3D_cond_evap) |
|---|
| 1755 | DEALLOCATE (budg_dep_dry_ocs) |
|---|
| 1756 | DEALLOCATE (budg_dep_wet_ocs) |
|---|
| 1757 | DEALLOCATE (budg_dep_dry_so2) |
|---|
| 1758 | DEALLOCATE (budg_dep_wet_so2) |
|---|
| 1759 | DEALLOCATE (budg_dep_dry_h2so4) |
|---|
| 1760 | DEALLOCATE (budg_dep_wet_h2so4) |
|---|
| 1761 | DEALLOCATE (budg_dep_dry_part) |
|---|
| 1762 | DEALLOCATE (budg_dep_wet_part) |
|---|
| 1763 | DEALLOCATE (budg_emi_ocs) |
|---|
| 1764 | DEALLOCATE (budg_emi_so2) |
|---|
| 1765 | DEALLOCATE (budg_emi_h2so4) |
|---|
| 1766 | DEALLOCATE (budg_emi_part) |
|---|
| 1767 | DEALLOCATE (budg_ocs_to_so2) |
|---|
| 1768 | DEALLOCATE (budg_so2_to_h2so4) |
|---|
| 1769 | DEALLOCATE (budg_h2so4_to_part) |
|---|
| 1770 | DEALLOCATE (budg_sed_part) |
|---|
| 1771 | END IF |
|---|
| 1772 | |
|---|
| 1773 | END SUBROUTINE phys_local_var_end |
|---|
| 1774 | |
|---|
| 1775 | END MODULE phys_local_var_mod |
|---|