Ignore:
Timestamp:
Jul 18, 2013, 3:32:27 PM (11 years ago)
Author:
Ehouarn Millour
Message:

Déplacement de nombreuses variables de physiq.F vers phys_local_var_mod.
UG
................................
Moving of numerous vars from physiq.F to phys_local_var_mod.
UG

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90

    r1785 r1797  
    33!
    44      MODULE phys_local_var_mod
    5 
    65! Variables locales pour effectuer les appels en serie
    76!======================================================================
     
    187186!$OMP THREADPRIVATE(topswcf_aerop, solswcf_aerop)
    188187
     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
    189266CONTAINS
    190267
     
    195272USE aero_mod
    196273USE indice_sol_mod
     274USE phys_output_var_mod
     275USE phys_state_var_mod
    197276
    198277IMPLICIT NONE
     
    279358      ALLOCATE(topswcf_aerop(klon,naero_grp), solswcf_aerop(klon,naero_grp))
    280359
     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
    281415END SUBROUTINE phys_local_var_init
    282416
     
    368502      deallocate(topswcf_aerop, solswcf_aerop)
    369503
     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
    370556END SUBROUTINE phys_local_var_end
    371557
Note: See TracChangeset for help on using the changeset viewer.