| 1 | subroutine PHY_Atm_CP_RUN(mzc,kcolc) |
|---|
| 2 | |
|---|
| 3 | !------------------------------------------------------------------------------+ |
|---|
| 4 | ! Mon 17-Jun-2013 MAR | |
|---|
| 5 | ! subroutine PHY_Atm_CP_RUN interfaces | |
|---|
| 6 | ! Bechtold et al. (2001) Convective Parameterization with MAR | |
|---|
| 7 | ! | |
|---|
| 8 | ! version 3.p.4.1 created by H. Gallee, Mon 8-Apr-2013 | |
|---|
| 9 | ! Last Modification by H. Gallee, Mon 17-Jun-2013 | |
|---|
| 10 | ! | |
|---|
| 11 | !------------------------------------------------------------------------------+ |
|---|
| 12 | ! | |
|---|
| 13 | ! INPUT | |
|---|
| 14 | ! ^^^^^ it_EXP : Experiment Iteration Counter | |
|---|
| 15 | ! dt__CP : Mass Flux Scheme: Time Step | |
|---|
| 16 | ! dxHOST : grid spacing of HOST MODEL [m] | |
|---|
| 17 | ! Ta__DY(kcolp,mzpp) : air temperature [K] | |
|---|
| 18 | ! qs__CM(kcolp,mzpp) : air snow Particl. concentr. [kg/kg] | |
|---|
| 19 | ! qr__CM(kcolp,mzp ) : air rain drops concentr. [kg/kg] | |
|---|
| 20 | ! | |
|---|
| 21 | ! INPUT/OUTPUT | |
|---|
| 22 | ! ^^^^^^^^^^^^ qv__DY(kcolp,mzpp) : Specific Humidity [kg/kg] | |
|---|
| 23 | ! qw__CM(kcolp,mzp ) : air cloud droplets concentr. [kg/kg] | |
|---|
| 24 | ! qi__CM(kcolp,mzp ) : air cloud crystals concentr. [kg/kg] | |
|---|
| 25 | ! snowCP(kcolp ) : Snow (convective) [m] | |
|---|
| 26 | ! snowCM(kcolp ) : Snow (convective + stratiform) [m] | |
|---|
| 27 | ! rainCP(kcolp ) : Rain (convective) [m] | |
|---|
| 28 | ! rainCM(kcolp ) : Rain (convective + stratiform) [m] | |
|---|
| 29 | ! | |
|---|
| 30 | ! OUTPUT dpktCP(kcolp,mzp ) : Reduc. Pot.Temperat.Tendency [K/X/s] | |
|---|
| 31 | ! ^^^^^^ dqv_CP(kcolp,mzp ) : Specific Humidity Tendency [kg/kg/s] | |
|---|
| 32 | ! dqw_CP(kcolp,mzp ) : cloud dropl.Concent.Tendency [kg/kg/s] | |
|---|
| 33 | ! dqi_CP(kcolp,mzp ) : cloud cryst.Concent.Tendency [kg/kg/s] | |
|---|
| 34 | ! | |
|---|
| 35 | ! dss_CP(kcolp ) : Snow (convective) Tendency [m/s] | |
|---|
| 36 | ! drr_CP(kcolp ) : Rain (convective) Tendency [m/s] | |
|---|
| 37 | ! | |
|---|
| 38 | ! pkt_DY(kcolp,mzp ) : Reduced Potential Temperature [K/X] | |
|---|
| 39 | ! | |
|---|
| 40 | ! CAPECP(kcolp ) : Convective Avail.Potent.Energy | |
|---|
| 41 | ! | |
|---|
| 42 | ! REFER. : MesoNH MASS FLUX CONVECTION Routine | |
|---|
| 43 | ! ^^^^^^^^ (Bechtold et al., 2001, QJRMS 127, pp 869-886) | |
|---|
| 44 | ! | |
|---|
| 45 | ! # OPTION : #EW Energy and Water Conservation | |
|---|
| 46 | ! # ^^^^^^^^ | |
|---|
| 47 | ! | |
|---|
| 48 | ! MODIF. HGallee: 18-11-2004: Adaptation to CVAmnh.f90.laurent | |
|---|
| 49 | ! ^^^^^^ (Argument kensbl of CONVECTION removed) | |
|---|
| 50 | ! | |
|---|
| 51 | !------------------------------------------------------------------------------+ |
|---|
| 52 | |
|---|
| 53 | use Mod_Real |
|---|
| 54 | use Mod_PHY____dat |
|---|
| 55 | use Mod_PHY____grd |
|---|
| 56 | use Mod_PHY_CP_ctr |
|---|
| 57 | use Mod_PHY_CP_dat |
|---|
| 58 | use Mod_PHY_CP_grd |
|---|
| 59 | use Mod_PHY_CP_kkl |
|---|
| 60 | use Mod_PHY_DY_kkl |
|---|
| 61 | use Mod_PHY_AT_kkl |
|---|
| 62 | use Mod_PHY_CM_kkl |
|---|
| 63 | |
|---|
| 64 | use Mod_Atm_CP_RUN |
|---|
| 65 | |
|---|
| 66 | IMPLICIT NONE |
|---|
| 67 | |
|---|
| 68 | |
|---|
| 69 | |
|---|
| 70 | ! Global Variables |
|---|
| 71 | ! ================ |
|---|
| 72 | |
|---|
| 73 | integer :: mzc ! Nb of levels |
|---|
| 74 | integer :: kcolc ! Nb of columns |
|---|
| 75 | |
|---|
| 76 | |
|---|
| 77 | |
|---|
| 78 | |
|---|
| 79 | ! Local Variables |
|---|
| 80 | ! ================ |
|---|
| 81 | |
|---|
| 82 | real(kind=real8) :: bANA ! |
|---|
| 83 | real(kind=real8) :: zANA ! |
|---|
| 84 | |
|---|
| 85 | integer :: i ! x-Axis Index |
|---|
| 86 | integer :: j ! y-Axis Index |
|---|
| 87 | integer :: k ! Level Index (from top to bottom) |
|---|
| 88 | integer :: klc ! Level Index (from bottom to top ) |
|---|
| 89 | integer :: ikl ! Column Index |
|---|
| 90 | |
|---|
| 91 | REAL :: Pdxdy0(kcolc) |
|---|
| 92 | REAL :: P_pa_0(kcolc,mzc) |
|---|
| 93 | REAL :: P_za_0(kcolc,mzc) |
|---|
| 94 | REAL :: P_Ta_0(kcolc,mzc) |
|---|
| 95 | REAL :: P_Qa_0(kcolc,mzc) |
|---|
| 96 | REAL :: P_Qw_0(kcolc,mzc) |
|---|
| 97 | REAL :: P_Qi_0(kcolc,mzc) |
|---|
| 98 | REAL :: P_Ua_0(kcolc,mzc) |
|---|
| 99 | REAL :: P_Va_0(kcolc,mzc) |
|---|
| 100 | REAL :: P_Wa_0(kcolc,mzc) |
|---|
| 101 | |
|---|
| 102 | integer :: Kstep1(kcolc) ! convective counter |
|---|
| 103 | integer :: K_CbT1(kcolc) ! cloud top level |
|---|
| 104 | integer :: K_CbB1(kcolc) ! cloud base level |
|---|
| 105 | |
|---|
| 106 | integer, parameter :: KTCCH0=1 ! |
|---|
| 107 | REAL :: P_CH_0(kcolc,mzc,KTCCH0) |
|---|
| 108 | REAL :: PdCH_1(kcolc,mzc,KTCCH0) |
|---|
| 109 | |
|---|
| 110 | REAL :: PdTa_1(kcolc,mzc) |
|---|
| 111 | REAL :: PdQa_1(kcolc,mzc) |
|---|
| 112 | REAL :: PdQw_1(kcolc,mzc) |
|---|
| 113 | REAL :: PdQi_1(kcolc,mzc) |
|---|
| 114 | REAL :: Pdrr_1(kcolc) |
|---|
| 115 | REAL :: Pdss_1(kcolc) |
|---|
| 116 | REAL :: PuMF_1(kcolc,mzc) ! Upward Mass Flux |
|---|
| 117 | REAL :: PdMF_1(kcolc,mzc) ! Downward Mass Flux |
|---|
| 118 | REAL :: Pfrr_1(kcolc,mzc) ! Liquid Precipitation Flux |
|---|
| 119 | REAL :: Pfss_1(kcolc,mzc) ! Solid Precipitation Flux |
|---|
| 120 | REAL :: Pcape1(kcolc) ! CAPE [J/kg] |
|---|
| 121 | |
|---|
| 122 | |
|---|
| 123 | ! Diagnostic Variables |
|---|
| 124 | ! -------------------- |
|---|
| 125 | |
|---|
| 126 | ! #EW integer :: irmx ,jrmx ,iter_0 ! |
|---|
| 127 | ! #EW real(kind=real8) :: rr_max,temp_r,energ0 ! |
|---|
| 128 | ! #EW real(kind=real8) :: water0,waterb ! |
|---|
| 129 | |
|---|
| 130 | |
|---|
| 131 | |
|---|
| 132 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 133 | ! ! |
|---|
| 134 | ! ALLOCATION |
|---|
| 135 | ! ---------- |
|---|
| 136 | |
|---|
| 137 | IF (it_RUN.EQ.1 .OR. FlagDALLOC) THEN ! |
|---|
| 138 | allocate ( wa_ANA(kcolc,mzc) ) ! ANAbatic Wind Speed [m/s] |
|---|
| 139 | END IF |
|---|
| 140 | ! ! |
|---|
| 141 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 142 | |
|---|
| 143 | |
|---|
| 144 | |
|---|
| 145 | |
|---|
| 146 | ! Update Convective Mass Flux |
|---|
| 147 | ! =========================== |
|---|
| 148 | |
|---|
| 149 | IF ( mod(iitCV0,jjtCV0).EQ.0 ) THEN |
|---|
| 150 | |
|---|
| 151 | ! Martin control |
|---|
| 152 | PRINT*,'Dans PHY_Atm_CP_RUN' |
|---|
| 153 | PRINT*,'size(ii__AP)',size(ii__AP) |
|---|
| 154 | PRINT*,'size(jj__AP)',size(jj__AP) |
|---|
| 155 | PRINT*,'size(wa_ANA)=',size(wa_ANA) |
|---|
| 156 | PRINT*,'ii__AP(1)=',ii__AP(1) |
|---|
| 157 | PRINT*,'jj__AP(1)=',jj__AP(1) |
|---|
| 158 | PRINT*,'ii__AP(kcolp)=',ii__AP(kcolp) |
|---|
| 159 | PRINT*,'jj__AP(kcolp)=',jj__AP(kcolp) |
|---|
| 160 | PRINT*,'mzp=',mzp |
|---|
| 161 | ! Martin control |
|---|
| 162 | |
|---|
| 163 | DO ikl = 1,kcolp |
|---|
| 164 | |
|---|
| 165 | ! PRINT*,'ikl=',ikl |
|---|
| 166 | |
|---|
| 167 | i = ii__AP(ikl) |
|---|
| 168 | j = jj__AP(ikl) |
|---|
| 169 | |
|---|
| 170 | ! PRINT*,'ii__AP(',ikl,')=',ii__AP(ikl) |
|---|
| 171 | ! PRINT*,'jj__AP(',ikl,')=',jj__AP(ikl) |
|---|
| 172 | |
|---|
| 173 | |
|---|
| 174 | ! Contribution from Subgrid Mountain Breeze |
|---|
| 175 | ! ----------------------------------------- |
|---|
| 176 | |
|---|
| 177 | DO k=1,mzp |
|---|
| 178 | wa_ANA(ikl,k ) = 0.0 |
|---|
| 179 | END DO |
|---|
| 180 | IF(Lo_ANA) THEN |
|---|
| 181 | DO k=1,mzp |
|---|
| 182 | bANA = min(Z___DY(ikl,k ), zi__AT(ikl)) |
|---|
| 183 | zANA = hANA(ikl) + bANA * 2.0 |
|---|
| 184 | IF (Z___DY(ikl,k ) .LE. zANA .AND. & |
|---|
| 185 | & Ta__DY(ikl,mzpp) .GT. Ta__DY(ikl,mzp)) THEN |
|---|
| 186 | wa_ANA(ikl,k ) = rANA * bANA * 0.5 ! Half Integrated Horizontal Divergence |
|---|
| 187 | |
|---|
| 188 | END IF |
|---|
| 189 | END DO |
|---|
| 190 | END IF |
|---|
| 191 | |
|---|
| 192 | |
|---|
| 193 | |
|---|
| 194 | ! Mass Flux convective Scheme: Set Up Vertical Profiles |
|---|
| 195 | ! ----------------------------------------------------- |
|---|
| 196 | |
|---|
| 197 | Pdxdy0(ikl) = dxHOST * dxHOST ! grid area [m2] |
|---|
| 198 | DO klc= 1,mzp |
|---|
| 199 | k = mzpp-klc |
|---|
| 200 | P_pa_0(ikl,klc) = (psa_DY( ikl)*sigma(k) + pt__DY) *1.e3 ! pressure in layer [Pa] |
|---|
| 201 | P_za_0(ikl,klc) = Z___DY(ikl,k) ! height of model layer [m] |
|---|
| 202 | P_Ta_0(ikl,klc) = Ta__DY(ikl,k) ! grid scale T at time t [K] |
|---|
| 203 | P_Qa_0(ikl,klc) = qv__DY(ikl,k) ! grid scale water vapor at time t [kg/kg] |
|---|
| 204 | P_Qw_0(ikl,klc) = qw__CM(ikl,k) / (1.0-qw__CM(ikl,k)) ! grid scale Cloud drops at time t [kg/kg] |
|---|
| 205 | P_Qi_0(ikl,klc) = qi__CM(ikl,k) / (1.0-qi__CM(ikl,k)) ! grid scale Cloud ice at time t [kg/kg] |
|---|
| 206 | P_Ua_0(ikl,klc) = ua__DY(ikl,k) ! grid scale hor. wind u at time t [m/s] |
|---|
| 207 | P_Va_0(ikl,klc) = va__DY(ikl,k) ! grid scale hor. wind v at time t [m/s] |
|---|
| 208 | P_Wa_0(ikl,klc) = wa__DY(ikl,k) + wa_ANA(ikl,k) ! grid scale vertic.wind at time t [m/s] |
|---|
| 209 | END DO |
|---|
| 210 | |
|---|
| 211 | END DO ! ikl = 1,kcolp |
|---|
| 212 | |
|---|
| 213 | |
|---|
| 214 | ! Mass Flux convective Scheme: Bechtold et al. (2001) Convective Parameterization |
|---|
| 215 | ! ------------------------------------------------------------------------------- |
|---|
| 216 | |
|---|
| 217 | ! *************** |
|---|
| 218 | call CONVECTION( & |
|---|
| 219 | & kcolc , mzc , kidia0, kfdia0, kbdia0, ktdia0, & |
|---|
| 220 | & pdtCV , Odeep , Oshal , Orset0, Odown0, kIce_0, & |
|---|
| 221 | & OsetA0, PTdcv , PTscv , & |
|---|
| 222 | & kensbl, & |
|---|
| 223 | & P_pa_0, P_za_0, Pdxdy0, & |
|---|
| 224 | & P_Ta_0, P_Qa_0, P_Qw_0, P_Qi_0, P_Ua_0, P_Va_0, P_Wa_0, & |
|---|
| 225 | & Kstep1, PdTa_1, PdQa_1, PdQw_1, PdQi_1, & |
|---|
| 226 | & Pdrr_1, Pdss_1, & |
|---|
| 227 | & PuMF_1, PdMF_1, Pfrr_1, Pfss_1, Pcape1, K_CbT1, K_CbB1, & |
|---|
| 228 | & OCvTC0, KTCCH0, P_CH_0, PdCH_1) |
|---|
| 229 | ! *************** |
|---|
| 230 | |
|---|
| 231 | |
|---|
| 232 | |
|---|
| 233 | ! Mass Flux convective Scheme: products |
|---|
| 234 | ! ------------------------------------- |
|---|
| 235 | |
|---|
| 236 | DO ikl = 1,kcolp |
|---|
| 237 | CAPECP(ikl) = Pcape1(ikl) |
|---|
| 238 | timeCP(ikl) = Kstep1(ikl) *dt__CP |
|---|
| 239 | drr_CP(ikl) = Pdrr_1(ikl) |
|---|
| 240 | dss_CP(ikl) = Pdss_1(ikl) |
|---|
| 241 | |
|---|
| 242 | DO klc= 1,mzp |
|---|
| 243 | k = mzpp - klc |
|---|
| 244 | dpktCP(ikl,k) = PdTa_1(ikl,klc) /ExnrDY(ikl,k) |
|---|
| 245 | dqv_CP(ikl,k) = PdQa_1(ikl,klc) |
|---|
| 246 | dqw_CP(ikl,k) = PdQw_1(ikl,klc) |
|---|
| 247 | dqi_CP(ikl,k) = PdQi_1(ikl,klc) |
|---|
| 248 | |
|---|
| 249 | END DO |
|---|
| 250 | |
|---|
| 251 | END DO |
|---|
| 252 | |
|---|
| 253 | |
|---|
| 254 | END IF ! mod(iitCV0,jjtCV0).EQ.0 (UPDATE) THEN |
|---|
| 255 | |
|---|
| 256 | |
|---|
| 257 | |
|---|
| 258 | |
|---|
| 259 | ! Vertical Integrated Energy and Water Content |
|---|
| 260 | ! ============================================ |
|---|
| 261 | |
|---|
| 262 | ! #EW irmx = i_x0 |
|---|
| 263 | ! #EW jrmx = j_y0 |
|---|
| 264 | ! #EW rr_max = 0.0 |
|---|
| 265 | |
|---|
| 266 | DO ikl = 1,kcolp |
|---|
| 267 | i = ii__AP(ikl) |
|---|
| 268 | j = jj__AP(ikl) |
|---|
| 269 | |
|---|
| 270 | ! #EW enr0EW(ikl) = 0.0 |
|---|
| 271 | ! #EW wat0EW(ikl) = 0.0 |
|---|
| 272 | |
|---|
| 273 | ! #EW DO k=1,mzp |
|---|
| 274 | ! #EW temp_r = pkt_DY(ikl,k)*ExnrDY(ikl,k) |
|---|
| 275 | ! #EW enr0EW(ikl) = enr0EW(ikl) & |
|---|
| 276 | ! #EW& +(temp_r & |
|---|
| 277 | ! #EW& -(qw__CM(ikl,k)+qr__CM(ikl,k)) * Lv_CPd & |
|---|
| 278 | ! #EW& -(qi__CM(ikl,k)+qs__CM(ikl,k)) * Ls_CPd)*dsigmi(k) |
|---|
| 279 | ! #EW wat0EW(ikl) = wat0EW(ikl) & |
|---|
| 280 | ! #EW& +(qv__DY(ikl,k) & |
|---|
| 281 | ! #EW& + qw__CM(ikl,k)+qr__CM(ikl,k) & |
|---|
| 282 | ! #EW& + qi__CM(ikl,k)+qs__CM(ikl,k) )*dsigmi(k) |
|---|
| 283 | ! #EW END DO |
|---|
| 284 | |
|---|
| 285 | ! #EW enr0EW(ikl) = enr0EW(ikl) * psa_DY( ikl) * Grav_I |
|---|
| 286 | ! #EW wat0EW(ikl) = wat0EW(ikl) * psa_DY( ikl) * Grav_I |
|---|
| 287 | ! .. wat0EW [m] contains implicit factor 1.d3 [kPa-->Pa] /ro_Wat |
|---|
| 288 | |
|---|
| 289 | ! #EW energ0 = energ0 - enr0EW(ikl) |
|---|
| 290 | ! #EW water0 = water0 - wat0EW(ikl) |
|---|
| 291 | |
|---|
| 292 | |
|---|
| 293 | |
|---|
| 294 | |
|---|
| 295 | ! Update of Mass Flux convective Tendencies |
|---|
| 296 | ! ========================================= |
|---|
| 297 | |
|---|
| 298 | ! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|---|
| 299 | |
|---|
| 300 | IF (timeCP(ikl) .GT. 0.) THEN |
|---|
| 301 | |
|---|
| 302 | |
|---|
| 303 | ! Temporal tendencies on pkt_DY, qv__DY and rainCM |
|---|
| 304 | ! ------------------------------------------------ |
|---|
| 305 | |
|---|
| 306 | DO k=1,mzp |
|---|
| 307 | dqv_CP(ikl,k) = min(dqv_CP(ikl,k),(qv__DY(ikl,k)-epsq)/dt__CP) |
|---|
| 308 | dqw_CP(ikl,k) = min(dqw_CP(ikl,k),(qw__CM(ikl,k)-epsq)/dt__CP) |
|---|
| 309 | dqi_CP(ikl,k) = min(dqi_CP(ikl,k),(qi__CM(ikl,k)-epsq)/dt__CP) |
|---|
| 310 | ENDDO |
|---|
| 311 | |
|---|
| 312 | rainCM(ikl) = rainCM(ikl) + drr_CP(ikl) *dt__CP |
|---|
| 313 | rainCP(ikl) = rainCP(ikl) + drr_CP(ikl) *dt__CP |
|---|
| 314 | |
|---|
| 315 | snowCM(ikl) = snowCM(ikl) + dss_CP(ikl) *dt__CP |
|---|
| 316 | snowCP(ikl) = snowCP(ikl) + dss_CP(ikl) *dt__CP |
|---|
| 317 | |
|---|
| 318 | ELSE |
|---|
| 319 | |
|---|
| 320 | DO k=1,mzp |
|---|
| 321 | dpktCP(ikl,k) = 0.00 |
|---|
| 322 | dqv_CP(ikl,k) = 0.00 |
|---|
| 323 | dqw_CP(ikl,k) = 0.00 |
|---|
| 324 | dqi_CP(ikl,k) = 0.00 |
|---|
| 325 | ENDDO |
|---|
| 326 | |
|---|
| 327 | |
|---|
| 328 | ENDIF ! {timeCP(ikl) .gt. 0} |
|---|
| 329 | |
|---|
| 330 | timeCP(ikl) = max(timeCP(ikl) - dt__CP,zer0) |
|---|
| 331 | ! .. ^^^^ remaining time before the end of convection |
|---|
| 332 | ! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|---|
| 333 | |
|---|
| 334 | |
|---|
| 335 | |
|---|
| 336 | |
|---|
| 337 | ! Vertical Integrated Energy and Water Content |
|---|
| 338 | ! ============================================ |
|---|
| 339 | |
|---|
| 340 | ! #EW enr1EW(ikl) = 0.0 |
|---|
| 341 | ! #EW wat1EW(ikl) = 0.0 |
|---|
| 342 | ! #EW watfEW(ikl) =-drr_CP(ikl) |
|---|
| 343 | |
|---|
| 344 | ! #EW DO k=1,mz |
|---|
| 345 | ! #EW temp_r = pkt_DY(ikl,k)*ExnrDY(ikl,k) |
|---|
| 346 | ! #EW enr1EW(ikl) = enr1EW(ikl) & |
|---|
| 347 | ! #EW& +(temp_r & |
|---|
| 348 | ! #EW& -(qw__CM(ikl,k)+qr__CM(ikl,k)) *Lv_CPd & |
|---|
| 349 | ! #EW& -(qi__CM(ikl,k)+qs__CM(ikl,k)) *Ls_CPd)*dsigmi(k) |
|---|
| 350 | ! #EW wat1EW(ikl) = wat1EW(ikl) & |
|---|
| 351 | ! #EW& +(qv__DY(ikl,k) & |
|---|
| 352 | ! #EW& + qw__CM(ikl,k)+qr__CM(ikl,k) & |
|---|
| 353 | ! #EW& + qi__CM(ikl,k)+qs__CM(ikl,k) )*dsigmi(k) |
|---|
| 354 | ! #EW END DO |
|---|
| 355 | |
|---|
| 356 | ! #EW enr1EW(ikl) = enr1EW(ikl) * psa_DY( ikl) *Grav_I & |
|---|
| 357 | ! #EW& - drr_CP(ikl) *Lv_CPd |
|---|
| 358 | ! #EW wat1EW(ikl) = wat1EW(ikl) * psa_DY( ikl) *Grav_I |
|---|
| 359 | ! .. wat1EW [m] contains implicit factor 1.d3 [kPa-->Pa] /rhoWat |
|---|
| 360 | |
|---|
| 361 | ! #EW energ0 = energ0 + enr1EW(ikl) |
|---|
| 362 | ! #EW water0 = water0 + wat1EW(ikl) |
|---|
| 363 | ! #EW iter_0 = iter_0 + 1 |
|---|
| 364 | |
|---|
| 365 | |
|---|
| 366 | |
|---|
| 367 | |
|---|
| 368 | ! Vertical Integrated Energy and Water Content: OUTPUT |
|---|
| 369 | ! ==================================================== |
|---|
| 370 | |
|---|
| 371 | ! #EW IF (drr_CP(ikl).gt.rr_max) THEN |
|---|
| 372 | ! #EW rr_max = drr_CP(ikl) |
|---|
| 373 | ! #EW irmx = i |
|---|
| 374 | ! #EW jrmx = j |
|---|
| 375 | ! #EW END IF |
|---|
| 376 | |
|---|
| 377 | END DO |
|---|
| 378 | |
|---|
| 379 | ! #EW waterb = wat1EW(irmx,jrmx)-wat0EW(irmx,jrmx)-watfEW(irmx,jrmx) |
|---|
| 380 | ! #EW write(6,606) it_EXP,enr0EW(irmx,jrmx),1.d3*wat0EW(irmx,jrmx), & |
|---|
| 381 | ! #EW& irmx,jrmx,enr1EW(irmx,jrmx),1.d3*wat1EW(irmx,jrmx), & |
|---|
| 382 | ! #EW& 1.d3*watfEW(irmx,jrmx), & |
|---|
| 383 | ! #EW& 1.d3*waterb , & |
|---|
| 384 | ! #EW& energ0/iter_0 , water0/iter_0 |
|---|
| 385 | 606 format(i9,' Before CVAj: E0 =',f12.6,' W0 = ',f9.6, & |
|---|
| 386 | & /,i5,i4,' After CVAj: E1 =',f12.6,' W1 = ',f9.6, & |
|---|
| 387 | & ' W Flux =',f9.6, & |
|---|
| 388 | & ' Div(W) =',e9.3, & |
|---|
| 389 | & /,9x,' Mean dE =',f12.9,' dW = ',e9.3) |
|---|
| 390 | |
|---|
| 391 | |
|---|
| 392 | |
|---|
| 393 | |
|---|
| 394 | ! Incrementation Step Nb |
|---|
| 395 | ! ====================== |
|---|
| 396 | |
|---|
| 397 | iitCV0 = iitCV0 + 1 |
|---|
| 398 | |
|---|
| 399 | |
|---|
| 400 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 401 | ! ! |
|---|
| 402 | ! DE-ALLOCATION |
|---|
| 403 | ! ============= |
|---|
| 404 | |
|---|
| 405 | IF (FlagDALLOC) THEN ! |
|---|
| 406 | deallocate ( wa_ANA ) ! ANAbatic Wind Speed [m/s] |
|---|
| 407 | END IF |
|---|
| 408 | |
|---|
| 409 | ! Bug corrigé par Martin: |
|---|
| 410 | ! IF (it_RUN.EQ.1 .OR. FlagDALLOC) THEN ! |
|---|
| 411 | ! deallocate ( wa_ANA ) ! ANAbatic Wind Speed [m/s] |
|---|
| 412 | ! END IF |
|---|
| 413 | ! ! |
|---|
| 414 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|---|
| 415 | |
|---|
| 416 | |
|---|
| 417 | |
|---|
| 418 | return |
|---|
| 419 | end subroutine PHY_Atm_CP_RUN |
|---|