[3990] | 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 |
---|