Changeset 2187 for LMDZ5/branches/testing/libf/phylmd/climb_hq_mod.F90
- Timestamp:
- Jan 30, 2015, 2:57:13 PM (10 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2159,2162,2166-2167,2169-2171,2177-2186
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/climb_hq_mod.F90
r1910 r2187 30 30 SUBROUTINE climb_hq_down(knon, coefhq, paprs, pplay, & 31 31 delp, temp, q, dtime, & 32 !!! nrlmd le 02/05/2011 33 Ccoef_H_out, Ccoef_Q_out, Dcoef_H_out, Dcoef_Q_out, & 34 Kcoef_hq_out, gama_q_out, gama_h_out, & 35 !!! 32 36 Acoef_H_out, Acoef_Q_out, Bcoef_H_out, Bcoef_Q_out) 33 37 34 INCLUDE "YOMCST.h"35 38 ! This routine calculates recursivly the coefficients C and D 36 39 ! for the quantity X=[Q,H] in equation X(k) = C(k) + D(k)*X(k-1), where k is … … 54 57 REAL, DIMENSION(klon), INTENT(OUT) :: Bcoef_Q_out 55 58 59 !!! nrlmd le 02/05/2011 60 REAL, DIMENSION(klon,klev), INTENT(OUT) :: Ccoef_H_out 61 REAL, DIMENSION(klon,klev), INTENT(OUT) :: Ccoef_Q_out 62 REAL, DIMENSION(klon,klev), INTENT(OUT) :: Dcoef_H_out 63 REAL, DIMENSION(klon,klev), INTENT(OUT) :: Dcoef_Q_out 64 REAL, DIMENSION(klon,klev), INTENT(OUT) :: Kcoef_hq_out 65 REAL, DIMENSION(klon,klev), INTENT(OUT) :: gama_q_out 66 REAL, DIMENSION(klon,klev), INTENT(OUT) :: gama_h_out 67 !!! 68 56 69 ! Local variables 57 70 !**************************************************************************************** … … 65 78 ! Include 66 79 !**************************************************************************************** 80 INCLUDE "YOMCST.h" 67 81 INCLUDE "compbl.h" 68 82 … … 186 200 Bcoef_Q_out = Bcoef_Q 187 201 202 !**************************************************************************************** 203 ! 7) 204 ! If Pbl is split, return also the other layers in output variables 205 ! 206 !**************************************************************************************** 207 !!! jyg le 07/02/2012 208 IF (mod(iflag_pbl_split,2) .eq.1) THEN 209 !!! nrlmd le 02/05/2011 210 DO k= 1, klev 211 DO i= 1, klon 212 Ccoef_H_out(i,k) = Ccoef_H(i,k) 213 Dcoef_H_out(i,k) = Dcoef_H(i,k) 214 Ccoef_Q_out(i,k) = Ccoef_Q(i,k) 215 Dcoef_Q_out(i,k) = Dcoef_Q(i,k) 216 Kcoef_hq_out(i,k) = Kcoefhq(i,k) 217 IF (k.eq.1) THEN 218 gama_h_out(i,k) = 0. 219 gama_q_out(i,k) = 0. 220 ELSE 221 gama_h_out(i,k) = gamah(i,k) 222 gama_q_out(i,k) = gamaq(i,k) 223 ENDIF 224 ENDDO 225 ENDDO 226 !!! 227 ENDIF ! (mod(iflag_pbl_split,2) .eq.1) 228 !!! 229 188 230 END SUBROUTINE climb_hq_down 189 231 ! … … 252 294 Bcoef(i) = -1. * RG / buf 253 295 END DO 254 acoef(knon+1: klon) = 0.255 bcoef(knon+1: klon) = 0.256 296 257 297 END SUBROUTINE calc_coef … … 261 301 SUBROUTINE climb_hq_up(knon, dtime, t_old, q_old, & 262 302 flx_q1, flx_h1, paprs, pplay, & 303 !!! nrlmd le 02/05/2011 304 Acoef_H_in, Acoef_Q_in, Bcoef_H_in, Bcoef_Q_in, & 305 Ccoef_H_in, Ccoef_Q_in, Dcoef_H_in, Dcoef_Q_in, & 306 Kcoef_hq_in, gama_q_in, gama_h_in, & 307 !!! 263 308 flux_q, flux_h, d_q, d_t) 264 309 ! … … 269 314 ! C and D are known from before and k is index of the vertical layer. 270 315 ! 271 INCLUDE "YOMCST.h" 316 272 317 ! Input arguments 273 318 !**************************************************************************************** … … 279 324 REAL, DIMENSION(klon,klev), INTENT(IN) :: pplay 280 325 326 !!! nrlmd le 02/05/2011 327 REAL, DIMENSION(klon), INTENT(IN) :: Acoef_H_in,Acoef_Q_in, Bcoef_H_in, Bcoef_Q_in 328 REAL, DIMENSION(klon,klev), INTENT(IN) :: Ccoef_H_in, Ccoef_Q_in, Dcoef_H_in, Dcoef_Q_in 329 REAL, DIMENSION(klon,klev), INTENT(IN) :: Kcoef_hq_in, gama_q_in, gama_h_in 330 !!! 331 281 332 ! Output arguments 282 333 !**************************************************************************************** … … 289 340 REAL, DIMENSION(klon) :: psref 290 341 INTEGER :: k, i, ierr 342 343 ! Include 344 !**************************************************************************************** 345 INCLUDE "YOMCST.h" 346 INCLUDE "compbl.h" 291 347 292 348 !**************************************************************************************** … … 301 357 302 358 psref(1:knon) = paprs(1:knon,1) 359 360 !!! jyg le 07/02/2012 361 IF (mod(iflag_pbl_split,2) .eq.1) THEN 362 !!! nrlmd le 02/05/2011 363 DO i = 1, knon 364 Acoef_H(i)=Acoef_H_in(i) 365 Acoef_Q(i)=Acoef_Q_in(i) 366 Bcoef_H(i)=Bcoef_H_in(i) 367 Bcoef_Q(i)=Bcoef_Q_in(i) 368 ENDDO 369 DO k = 1, klev 370 DO i = 1, knon 371 Ccoef_H(i,k)=Ccoef_H_in(i,k) 372 Ccoef_Q(i,k)=Ccoef_Q_in(i,k) 373 Dcoef_H(i,k)=Dcoef_H_in(i,k) 374 Dcoef_Q(i,k)=Dcoef_Q_in(i,k) 375 Kcoefhq(i,k)=Kcoef_hq_in(i,k) 376 IF (k.gt.1) THEN 377 gamah(i,k)=gama_h_in(i,k) 378 gamaq(i,k)=gama_q_in(i,k) 379 ENDIF 380 ENDDO 381 ENDDO 382 !!! 383 ENDIF ! (mod(iflag_pbl_split,2) .eq.1) 384 !!! 303 385 304 386 !****************************************************************************************
Note: See TracChangeset
for help on using the changeset viewer.