Changeset 1797 for LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90
- Timestamp:
- Jul 18, 2013, 3:32:27 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90
r1785 r1797 3 3 ! 4 4 MODULE phys_local_var_mod 5 6 5 ! Variables locales pour effectuer les appels en serie 7 6 !====================================================================== … … 187 186 !$OMP THREADPRIVATE(topswcf_aerop, solswcf_aerop) 188 187 188 189 !Ajout de celles nécessaires au phys_output_write_mod 190 REAL, SAVE, ALLOCATABLE :: slp(:) 191 !$OMP THREADPRIVATE(slp) 192 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: sens, flwp, fiwp 193 !$OMP THREADPRIVATE(sens, flwp, fiwp) 194 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: ale_wake, alp_wake, bils 195 !$OMP THREADPRIVATE(ale_wake, alp_wake, bils) 196 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cdragm, cdragh 197 !$OMP THREADPRIVATE(cdragm, cdragh) 198 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cldh, cldl, cldm, cldq, cldt, qsat2m, qsol 199 !$OMP THREADPRIVATE(cldh, cldl, cldm, cldq, cldt, qsat2m, qsol) 200 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: dthmin, evap, fder, plcl, plfc, prw 201 !$OMP THREADPRIVATE(dthmin, evap, fder, plcl, plfc, prw) 202 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zustar, zu10m, zv10m, rh2m 203 !$OMP THREADPRIVATE(zustar, zu10m, zv10m, rh2m) 204 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: s_lcl, s_pblh, s_pblt, s_therm 205 !$OMP THREADPRIVATE(s_lcl, s_pblh, s_pblt, s_therm) 206 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: slab_wfbils 207 !$OMP THREADPRIVATE(slab_wfbils) 208 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: tpot, tpote, ue, uq, ve, vq, zxffonte 209 !$OMP THREADPRIVATE(tpot, tpote, ue, uq, ve, vq, zxffonte) 210 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfqcalving 211 !$OMP THREADPRIVATE(zxfqcalving) 212 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfluxlat, zxrugs, zxtsol, snow_lsc, zxfqfonte 213 !$OMP THREADPRIVATE(zxfluxlat, zxrugs, zxtsol, snow_lsc, zxfqfonte) 214 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxqsurf, rain_lsc 215 !$OMP THREADPRIVATE(zxqsurf, rain_lsc) 216 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: wake_h, wbeff, zmax_th, zq2m, zt2m 217 !$OMP THREADPRIVATE(wake_h, wbeff, zmax_th, zq2m, zt2m) 218 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: weak_inversion 219 !$OMP THREADPRIVATE(weak_inversion) 220 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: ale_bl_stat,alp_bl_conv,alp_bl_det 221 !$OMP THREADPRIVATE(ale_bl_stat,alp_bl_conv,alp_bl_det) 222 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_fluct_m,alp_bl_fluct_tke 223 !$OMP THREADPRIVATE(alp_bl_fluct_m,alp_bl_fluct_tke) 224 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_stat, n2, s2 225 !$OMP THREADPRIVATE(alp_bl_stat, n2, s2) 226 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: proba_notrig, random_notrig 227 !$OMP THREADPRIVATE(proba_notrig, random_notrig) 228 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils, wfbilo 229 !$OMP THREADPRIVATE(fsolsw, wfbils, wfbilo) 230 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t2m, fevap, fluxlat, fsollw,evap_pot 231 !$OMP THREADPRIVATE(t2m, fevap, fluxlat, fsollw,evap_pot) 232 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dnwd, dnwd0, upwd, omega 233 !$OMP THREADPRIVATE(dnwd, dnwd0, upwd, omega) 234 ! REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: coefh, coefm, lambda_th 235 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: lambda_th 236 !$OMP THREADPRIVATE(lambda_th) 237 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: cldemi, cldfra, cldtau, fiwc, fl, re, flwc 238 !$OMP THREADPRIVATE(cldemi, cldfra, cldtau, fiwc, fl, re, flwc) 239 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: ref_liq, ref_ice, theta, zphi 240 !$OMP THREADPRIVATE(ref_liq, ref_ice, theta, zphi) 241 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wake_omg, zx_rh 242 !$OMP THREADPRIVATE(wake_omg, zx_rh) 243 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: frugs, agesno 244 !$OMP THREADPRIVATE(frugs, agesno) 245 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: pmflxr, pmflxs, prfl, psfl, fraca 246 !$OMP THREADPRIVATE(pmflxr, pmflxs, prfl, psfl, fraca) 247 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: Vprecip, zw2 248 !$OMP THREADPRIVATE(Vprecip, zw2) 249 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: pmfd, pmfu 250 !$OMP THREADPRIVATE(pmfd, pmfu) 251 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: fluxt, fluxu, fluxv 252 !$OMP THREADPRIVATE(fluxt, fluxu, fluxv) 253 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: uwriteSTD, vwriteSTD, wwriteSTD 254 !$OMP THREADPRIVATE(uwriteSTD, vwriteSTD, wwriteSTD) 255 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: phiwriteSTD, qwriteSTD, twriteSTD 256 !$OMP THREADPRIVATE(phiwriteSTD, qwriteSTD, twriteSTD) 257 258 ! ug et d'autres encore: 259 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wdtrainA, wdtrainM 260 !$OMP THREADPRIVATE(wdtrainA, wdtrainM) 261 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: beta_prec 262 !$OMP THREADPRIVATE(beta_prec) 263 REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rneb 264 !$OMP THREADPRIVATE(rneb) 265 189 266 CONTAINS 190 267 … … 195 272 USE aero_mod 196 273 USE indice_sol_mod 274 USE phys_output_var_mod 275 USE phys_state_var_mod 197 276 198 277 IMPLICIT NONE … … 279 358 ALLOCATE(topswcf_aerop(klon,naero_grp), solswcf_aerop(klon,naero_grp)) 280 359 360 ! FH Ajout de celles nécessaires au phys_output_write_mod 361 362 ALLOCATE(slp(klon)) 363 ALLOCATE(ale_wake(klon), alp_wake(klon), bils(klon)) 364 ALLOCATE(cdragm(klon), cdragh(klon), cldh(klon), cldl(klon)) 365 ALLOCATE(cldm(klon), cldq(klon), cldt(klon), qsat2m(klon), qsol(klon)) 366 ALLOCATE(dthmin(klon), evap(klon), fder(klon), plcl(klon), plfc(klon)) 367 ALLOCATE(prw(klon), zustar(klon), zu10m(klon), zv10m(klon), rh2m(klon)) 368 ALLOCATE(s_lcl(klon)) 369 ALLOCATE(s_pblh(klon), s_pblt(klon), s_therm(klon)) 370 ALLOCATE(slab_wfbils(klon), tpot(klon), tpote(klon), ue(klon)) 371 ALLOCATE(uq(klon), ve(klon), vq(klon), zxffonte(klon)) 372 ALLOCATE(zxfqcalving(klon), zxfluxlat(klon), zxrugs(klon)) 373 ALLOCATE(zxtsol(klon), snow_lsc(klon), zxfqfonte(klon), zxqsurf(klon)) 374 ALLOCATE(rain_lsc(klon), wake_h(klon), wbeff(klon), zmax_th(klon)) 375 ALLOCATE(zq2m(klon), zt2m(klon), weak_inversion(klon)) 376 ALLOCATE(sens(klon), flwp(klon), fiwp(klon)) 377 ALLOCATE(ale_bl_stat(klon), alp_bl_conv(klon), alp_bl_det(klon)) 378 ALLOCATE(alp_bl_fluct_m(klon), alp_bl_fluct_tke(klon)) 379 ALLOCATE(alp_bl_stat(klon), n2(klon), s2(klon)) 380 ALLOCATE(proba_notrig(klon), random_notrig(klon)) 381 382 ALLOCATE(dnwd(klon, klev), dnwd0(klon, klev)) 383 ! ALLOCATE(upwd(klon, klev), omega(klon, klev), coefh(klon, klev)) 384 ALLOCATE(upwd(klon, klev), omega(klon, klev)) 385 ! ALLOCATE(coefm(klon, klev), lambda_th(klon, klev), cldemi(klon, klev)) 386 ALLOCATE(lambda_th(klon, klev), cldemi(klon, klev)) 387 ALLOCATE(cldfra(klon, klev), cldtau(klon, klev), fiwc(klon, klev)) 388 ALLOCATE(fl(klon, klev), re(klon, klev), flwc(klon, klev)) 389 ALLOCATE(ref_liq(klon, klev), ref_ice(klon, klev), theta(klon, klev)) 390 ALLOCATE(zphi(klon, klev), wake_omg(klon, klev), zx_rh(klon, klev)) 391 ALLOCATE(pmfd(klon, klev), pmfu(klon, klev)) 392 393 ALLOCATE(t2m(klon, nbsrf), fevap(klon, nbsrf), fluxlat(klon, nbsrf)) 394 ALLOCATE(frugs(klon, nbsrf), agesno(klon, nbsrf), fsollw(klon, nbsrf)) 395 ALLOCATE(fsolsw(klon, nbsrf), wfbils(klon, nbsrf), wfbilo(klon, nbsrf)) 396 ALLOCATE(evap_pot(klon, nbsrf)) 397 398 ALLOCATE(pmflxr(klon, klev+1), pmflxs(klon, klev+1), prfl(klon, klev+1)) 399 ALLOCATE(psfl(klon, klev+1), fraca(klon, klev+1), Vprecip(klon, klev+1)) 400 ALLOCATE(zw2(klon, klev+1)) 401 402 ALLOCATE(fluxu(klon, klev, nbsrf), fluxv(klon, klev, nbsrf)) 403 ALLOCATE(fluxt(klon, klev, nbsrf)) 404 405 ALLOCATE(uwriteSTD(klon,nlevSTD,nfiles), vwriteSTD(klon,nlevSTD,nfiles)) 406 ALLOCATE(wwriteSTD(klon,nlevSTD,nfiles), phiwriteSTD(klon,nlevSTD,nfiles)) 407 ALLOCATE(qwriteSTD(klon,nlevSTD,nfiles), twriteSTD(klon,nlevSTD,nfiles)) 408 409 ! ug et d'autres encore: 410 ALLOCATE(wdtrainA(klon,klev),wdtrainM(klon,klev)) 411 ALLOCATE(beta_prec(klon,klev)) 412 ALLOCATE(rneb(klon,klev)) 413 414 281 415 END SUBROUTINE phys_local_var_init 282 416 … … 368 502 deallocate(topswcf_aerop, solswcf_aerop) 369 503 504 505 ! FH Ajout de celles nécessaires au phys_output_write_mod 506 DEALLOCATE(slp) 507 DEALLOCATE(ale_wake, alp_wake, bils) 508 DEALLOCATE(cdragm, cdragh, cldh, cldl) 509 DEALLOCATE(cldm, cldq, cldt, qsat2m, qsol) 510 DEALLOCATE(dthmin, evap, fder, plcl, plfc) 511 DEALLOCATE(prw, zustar, zu10m, zv10m, rh2m, s_lcl) 512 DEALLOCATE(s_pblh, s_pblt, s_therm) 513 DEALLOCATE(slab_wfbils, tpot, tpote, ue) 514 DEALLOCATE(uq, ve, vq, zxffonte) 515 DEALLOCATE(zxfqcalving, zxfluxlat, zxrugs) 516 DEALLOCATE(zxtsol, snow_lsc, zxfqfonte, zxqsurf) 517 DEALLOCATE(rain_lsc, wake_h, wbeff, zmax_th) 518 DEALLOCATE(zq2m, zt2m, weak_inversion) 519 DEALLOCATE(sens, flwp, fiwp) 520 DEALLOCATE(ale_bl_stat,alp_bl_conv,alp_bl_det) 521 DEALLOCATE(alp_bl_fluct_m,alp_bl_fluct_tke) 522 DEALLOCATE(alp_bl_stat, n2, s2) 523 DEALLOCATE(proba_notrig, random_notrig) 524 525 DEALLOCATE(dnwd, dnwd0) 526 ! DEALLOCATE(upwd, omega, coefh) 527 DEALLOCATE(upwd, omega) 528 ! DEALLOCATE(coefm, lambda_th, cldemi) 529 DEALLOCATE(lambda_th, cldemi) 530 DEALLOCATE(cldfra, cldtau, fiwc) 531 DEALLOCATE(fl, re, flwc) 532 DEALLOCATE(ref_liq, ref_ice, theta) 533 DEALLOCATE(zphi, wake_omg, zx_rh) 534 DEALLOCATE(pmfd, pmfu) 535 536 DEALLOCATE(t2m, fevap, fluxlat) 537 DEALLOCATE(frugs, agesno, fsollw, evap_pot) 538 DEALLOCATE(fsolsw, wfbils, wfbilo) 539 540 DEALLOCATE(pmflxr, pmflxs, prfl) 541 DEALLOCATE(psfl, fraca, Vprecip) 542 DEALLOCATE(zw2) 543 544 DEALLOCATE(fluxu, fluxv) 545 DEALLOCATE(fluxt) 546 547 DEALLOCATE(uwriteSTD, vwriteSTD) 548 DEALLOCATE(wwriteSTD, phiwriteSTD) 549 DEALLOCATE(qwriteSTD, twriteSTD) 550 551 ! ug et d'autres encore: 552 DEALLOCATE(wdtrainA, wdtrainM) 553 DEALLOCATE(beta_prec) 554 DEALLOCATE(rneb) 555 370 556 END SUBROUTINE phys_local_var_end 371 557
Note: See TracChangeset
for help on using the changeset viewer.