Changeset 5099 for LMDZ6/branches/Amaury_dev/libf/phylmd/climb_hq_mod.F90
- Timestamp:
- Jul 22, 2024, 9:29:09 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/climb_hq_mod.F90
r5081 r5099 1 1 MODULE climb_hq_mod 2 ! 2 3 3 ! Module to solve the verctical diffusion of "q" and "H"; 4 4 ! specific humidity and potential energi. 5 ! 5 6 6 USE dimphy 7 7 … … 30 30 31 31 CONTAINS 32 ! 33 !**************************************************************************************** 34 ! 32 33 !**************************************************************************************** 34 35 35 SUBROUTINE climb_hq_down(knon, coefhq, paprs, pplay, & 36 36 delp, temp, q, dtime, & … … 44 44 ! for the quantity X=[Q,H] in equation X(k) = C(k) + D(k)*X(k-1), where k is 45 45 ! the index of the vertical layer. 46 ! 46 47 47 ! Input arguments 48 48 !**************************************************************************************** … … 90 90 ! 1) 91 91 ! Allocation at first time step only 92 ! 92 93 93 !**************************************************************************************** 94 94 … … 132 132 ! 2) 133 133 ! Definition of the coeficient K 134 ! 134 135 135 !**************************************************************************************** 136 136 Kcoefhq(:,:) = 0.0 … … 146 146 ! 3) 147 147 ! Calculation of gama for "Q" and "H" 148 ! 148 149 149 !**************************************************************************************** 150 150 ! surface pressure is used as reference … … 180 180 ! 4) 181 181 ! Calculte the coefficients C and D for specific humidity, q 182 ! 182 183 183 !**************************************************************************************** 184 184 … … 189 189 ! 5) 190 190 ! Calculte the coefficients C and D for potentiel entalpie, H 191 ! 191 192 192 !**************************************************************************************** 193 193 h_old(:,:) = 0.0 … … 207 207 ! 6) 208 208 ! Return the first layer in output variables 209 ! 209 210 210 !**************************************************************************************** 211 211 Acoef_H_out = Acoef_H … … 217 217 ! 7) 218 218 ! If Pbl is split, return also the other layers in output variables 219 ! 219 220 220 !**************************************************************************************** 221 221 !!! jyg le 07/02/2012 … … 244 244 245 245 END SUBROUTINE climb_hq_down 246 ! 247 !**************************************************************************************** 248 ! 246 247 !**************************************************************************************** 248 249 249 SUBROUTINE calc_coef(knon, Kcoef, gama, delp, X, Ccoef, Dcoef, Acoef, Bcoef) 250 ! 250 251 251 ! Calculate the coefficients C and D in : X(k) = C(k) + D(k)*X(k-1) 252 252 ! where X is H or Q, and k the vertical level k=1,klev 253 ! 253 254 254 INCLUDE "YOMCST.h" 255 255 ! Input arguments … … 272 272 !**************************************************************************************** 273 273 ! Niveau au sommet, k=klev 274 ! 274 275 275 !**************************************************************************************** 276 276 Ccoef(:,:) = 0.0 … … 287 287 !**************************************************************************************** 288 288 ! Niveau (klev-1) <= k <= 2 289 ! 289 290 290 !**************************************************************************************** 291 291 … … 301 301 !**************************************************************************************** 302 302 ! Niveau k=1 303 ! 303 304 304 !**************************************************************************************** 305 305 … … 311 311 312 312 END SUBROUTINE calc_coef 313 ! 314 !**************************************************************************************** 315 ! 313 314 !**************************************************************************************** 315 316 316 SUBROUTINE climb_hq_up(knon, dtime, t_old, q_old, & 317 317 flx_q1, flx_h1, paprs, pplay, & … … 322 322 !!! 323 323 flux_q, flux_h, d_q, d_t) 324 ! 324 325 325 ! This routine calculates the flux and tendency of the specific humidity q and 326 326 ! the potential engergi H. … … 328 328 ! X(k) = C(k) + D(k)*X(k-1) for X=[q,H], where the coefficients 329 329 ! C and D are known from before and k is index of the vertical layer. 330 !331 330 332 331 ! Input arguments … … 365 364 ! Definition of some variables 366 365 REAL, DIMENSION(klon,klev) :: d_h, zairm 367 ! 366 368 367 !**************************************************************************************** 369 368 flux_q(:,:) = 0.0 … … 406 405 ! 2) 407 406 ! Calculation of Q and H 408 ! 407 409 408 !**************************************************************************************** 410 409 … … 423 422 ! 3) 424 423 ! Calculation of the flux for Q and H 425 ! 424 426 425 !**************************************************************************************** 427 426 … … 444 443 ! 4) 445 444 ! Calculation of tendency for Q and H 446 ! 445 447 446 !**************************************************************************************** 448 447 d_h_col_vdf(:) = 0.0 … … 461 460 !**************************************************************************************** 462 461 ! Some deallocations 463 ! 462 464 463 !**************************************************************************************** 465 464 IF (last) THEN … … 476 475 END IF 477 476 END SUBROUTINE climb_hq_up 478 ! 479 !**************************************************************************************** 480 ! 477 478 !**************************************************************************************** 479 481 480 END MODULE climb_hq_mod 482 481
Note: See TracChangeset
for help on using the changeset viewer.