Changeset 5491


Ignore:
Timestamp:
Jan 19, 2025, 6:48:10 PM (3 hours ago)
Author:
jyg
Message:

New outputs :

+ coef_clos = [conv mass flux given by Alp closure]/[conv mass flux given by Emanuel scheme closure]
+ coef_clos_eff = effective coefficient used in the convective scheme.

Location:
LMDZ6/trunk/libf/phylmd
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/concvl.f90

    r5304 r5491  
    1111                  pbase, bbase, dtvpdt1, dtvpdq1, dplcldt, dplcldr, &
    1212                  qcondc, wd, pmflxr, pmflxs, &
     13                  coef_clos, coef_clos_eff, &
    1314!RomP >>>
    1415!!     .             da,phi,mp,dd_t,dd_q,lalim_conv,wght_th)
    1516                  da, phi, mp, phii, d1a, dam, sij, qta, clw, elij, &! RomP
    16                   dd_t, dd_q, lalim_conv, wght_th, &                 ! RomP
     17                  dd_t, dd_q, lalim_conv, wght_th,                  &! RomP
    1718                  evap, ep, epmlmMm, eplaMm, &                       ! RomP
    1819                  wdtrainA, wdtrainS, wdtrainM, wght, qtc, sigt, detrain, &
     
    132133  REAL, DIMENSION(klon),        INTENT(OUT)     :: wd
    133134  REAL, DIMENSION(klon,klev+1), INTENT(OUT)     :: pmflxr, pmflxs
     135  REAL, DIMENSION(klon),        INTENT(OUT)     :: coef_clos, coef_clos_eff
    134136
    135137  REAL, DIMENSION(klon,klev),   INTENT(OUT)     :: da, mp
     
    430432                    cape, cin, tvp, &
    431433                    dd_t, dd_q, plim1, plim2, asupmax, supmax0, &
    432                     asupmaxmin, lalim_conv, &
     434                    asupmaxmin, &
     435                    coef_clos, coef_clos_eff, &
     436                    lalim_conv, &
    433437!AC!+!RomP+jyg
    434438!!                   da,phi,mp,phii,d1a,dam,sij,clw,elij, &               ! RomP
  • LMDZ6/trunk/libf/phylmd/cv3a_uncompress.f90

    r5346 r5491  
     1! $Id$
     2
    13SUBROUTINE cv3a_uncompress(nloc, len, ncum, nd, ntra, idcum, compress, &
    24                           iflag, kbas, ktop, &
     
    911                           plim1, plim2, asupmax, supmax0, &
    1012                           asupmaxmin, &
     13                           coef_clos, coef_clos_eff, &
    1114                           da, phi, mp, phi2, d1a, dam, sigij, &                ! RomP+AC+jyg
    1215                           qta, clw, elij, evap, ep, epmlmMm, eplaMm, &         ! RomP+jyg
     
    2326                           plim11, plim21, asupmax1, supmax01, &
    2427                           asupmaxmin1, &
     28                           coef_clos1, coef_clos_eff1, &
    2529                           da1, phi1, mp1, phi21, d1a1, dam1, sigij1, &         ! RomP+AC+jyg
    2630                           qta1, clw1, elij1, evap1, ep1, epmlmMm1, eplaMm1, &  ! RomP+jyg
     
    6872  REAL, DIMENSION (nloc, nd), INTENT (IN)            :: asupmax
    6973  REAL, DIMENSION (nloc), INTENT (IN)                :: supmax0, asupmaxmin
     74  REAL, DIMENSION (nloc), INTENT (IN)                :: coef_clos, coef_clos_eff
    7075
    7176  REAL, DIMENSION (nloc, nd), INTENT (IN)            :: da
     
    105110  REAL, DIMENSION (len, nd), INTENT (OUT)            :: asupmax1
    106111  REAL, DIMENSION (len), INTENT (OUT)                :: supmax01, asupmaxmin1
     112  REAL, DIMENSION (len), INTENT (OUT)                :: coef_clos1, coef_clos_eff1
    107113                                                   
    108114  REAL, DIMENSION (len, nd), INTENT (OUT)            :: da1
     
    149155      supmax01(idcum(i)) = supmax0(i)
    150156      asupmaxmin1(idcum(i)) = asupmaxmin(i)
     157      coef_clos1(idcum(i)) = coef_clos(i)
     158      coef_clos_eff1(idcum(i)) = coef_clos_eff(i)
    151159      epmax_diag1(idcum(i)) = epmax_diag(i)
    152160    END DO
     
    282290      supmax01(:) = supmax0(:)
    283291      asupmaxmin1(:) = asupmaxmin(:)
     292      coef_clos1(:) = coef_clos(:)
     293      coef_clos_eff1(:) = coef_clos_eff(:)
    284294!
    285295      sig1(:, 1:nl) = sig(:, 1:nl)
  • LMDZ6/trunk/libf/phylmd/cv3p1_closure.f90

    r5346 r5491  
    44SUBROUTINE cv3p1_closure(nloc, ncum, nd, icb, inb, pbase, plcl, p, ph, tv, &
    55    tvp, buoy, supmax, ok_inhib, ale, alp, omega,sig, w0, ptop2, cape, cin, m, &
    6     iflag, coef, plim1, plim2, asupmax, supmax0, asupmaxmin, cbmf, plfc, &
    7     wbeff)
     6    iflag, coef, coeftrue, plim1, plim2, asupmax, supmax0, asupmaxmin, &
     7    cbmf, plfc, wbeff)
    88
    99
     
    4848  REAL, DIMENSION (nloc), INTENT (OUT)               :: cape, cin
    4949  REAL, DIMENSION (nloc, nd), INTENT (OUT)           :: m
     50  REAL, DIMENSION (nloc), INTENT (OUT)               :: coef, coeftrue
    5051  REAL, DIMENSION (nloc), INTENT (OUT)               :: plim1, plim2
    5152  REAL, DIMENSION (nloc, nd), INTENT (OUT)           :: asupmax
     
    7475  REAL cbmflim(nloc), cbmf1(nloc), cbmfmax(nloc)
    7576  REAL cbmflast(nloc)
    76   REAL coef(nloc)
    7777  REAL xp(nloc), xq(nloc), xr(nloc), discr(nloc), b3(nloc), b4(nloc)
    7878  REAL theta(nloc), bb(nloc)
     
    598598  DO il = 1, ncum
    599599    coef(il) = (cbmf(il)+1.E-10)/(cbmflim(il)+1.E-10)
     600    coeftrue(il) = coef(il)
    600601  END DO
    601602  IF (prt_level>=20) PRINT *, 'cv3p1_param apres coef_plantePLUS'
  • LMDZ6/trunk/libf/phylmd/cva_driver.f90

    r5279 r5491  
    2121                      ftd1, fqd1, &
    2222                      Plim11, Plim21, asupmax1, supmax01, asupmaxmin1, &
     23                      coef_clos1, coef_clos_eff1, &
    2324                      lalim_conv1, &
    2425!!                      da1,phi1,mp1,phi21,d1a1,dam1,sigij1,clw1, &        ! RomP
     
    249250  REAL, DIMENSION (len), INTENT (OUT)                :: supmax01
    250251  REAL, DIMENSION (len), INTENT (OUT)                :: asupmaxmin1
     252  REAL, DIMENSION (len), INTENT (OUT)                :: coef_clos1, coef_clos_eff1
    251253  REAL, DIMENSION (len, nd), INTENT (OUT)            :: qtc1    ! in cloud water content (intensive)   ! cld
    252254  REAL, DIMENSION (len, nd), INTENT (OUT)            :: sigt1   ! fract. cloud area (intensive)        ! cld
     
    495497  REAL elij(nloc, nd, nd)
    496498  REAL supmax(nloc, nd)
    497   REAL Ale(nloc), Alp(nloc), coef_clos(nloc)
     499  REAL Ale(nloc), Alp(nloc), coef_clos(nloc), coef_clos_eff(nloc)
    498500  REAL omega(nloc,nd)
    499501  REAL sigd(nloc)
     
    679681  DO il = 1, nloc
    680682    coef_clos(il) = 1.
     683    coef_clos_eff(il) = 1.
    681684  END DO
    682685
     
    10031006                           pbase, plcl, p, ph, tv, tvp, buoy, &
    10041007                           supmax, ok_inhib, Ale, Alp, omega, &
    1005                            sig, w0, ptop2, cape, cin, m, iflag, coef_clos, &
     1008                           sig, w0, ptop2, cape, cin, m, iflag, &
     1009                           coef_clos_eff, coef_clos, &
    10061010                           Plim1, plim2, asupmax, supmax0, &
    10071011                           asupmaxmin, cbmf, plfc, wbeff)
     
    10161020                           pbase, plcl, p, ph, tv, tvp, buoy, &
    10171021                           supmax, ok_inhib, Ale, Alp, omega, &
    1018                            sig, w0, ptop2, cape, cin, m, iflag, coef_clos, &
     1022                           sig, w0, ptop2, cape, cin, m, iflag, coef_clos_eff, &
    10191023                           Plim1, plim2, asupmax, supmax0, &
    10201024                           asupmaxmin, cbmf, plfc, wbeff)
     
    10911095                     th_wake, tv_wake, lv_wake, lf_wake, cpn_wake, &
    10921096                     ep, sigp, clw, frac_s, qpreca, frac_a, qta, &                    !!jygprl
    1093                      m, ment, elij, delt, plcl, coef_clos, &
     1097                     m, ment, elij, delt, plcl, coef_clos_eff, &
    10941098                     mp, qp, up, vp, trap, wt, water, evap, fondue, ice, &
    10951099                     faci, b, sigd, &
     
    12181222                           Plim1, plim2, asupmax, supmax0, &
    12191223                           asupmaxmin, &
     1224                           coef_clos, coef_clos_eff, &
    12201225                           da, phi, mp, phi2, d1a, dam, sigij, &         ! RomP
    12211226                           qta, clw, elij, evap, ep, epmlmMm, eplaMm, &  ! RomP
     
    12311236                           Plim11, plim21, asupmax1, supmax01, &
    12321237                           asupmaxmin1, &
     1238                           coef_clos1, coef_clos_eff1, &
    12331239                           da1, phi1, mp1, phi21, d1a1, dam1, sigij1,  &       ! RomP
    12341240                           qta1, clw1, elij1, evap1, ep1, epmlmMm1, eplaMm1, & ! RomP
  • LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90

    r5486 r5491  
    496496      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: proba_notrig, random_notrig
    497497!$OMP THREADPRIVATE(proba_notrig, random_notrig)
     498      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: coef_clos, coef_clos_eff
     499!$OMP THREADPRIVATE(coef_clos, coef_clos_eff)
    498500      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils
    499501!$OMP THREADPRIVATE(fsolsw, wfbils)
     
    11021104      alp_bl_stat(:)=0
    11031105      ALLOCATE(proba_notrig(klon), random_notrig(klon))
     1106      ALLOCATE(coef_clos(klon), coef_clos_eff(klon))
    11041107
    11051108      ALLOCATE(dnwd0(klon, klev))
     
    15201523      DEALLOCATE(alp_bl_stat, n2, s2, strig, zcong, zlcl_th)
    15211524      DEALLOCATE(proba_notrig, random_notrig)
     1525      DEALLOCATE(coef_clos, coef_clos_eff)
    15221526!FC
    15231527      DEALLOCATE(zxfluxq,zxfluxt)
  • LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90

    r5486 r5491  
    930930  TYPE(ctrl_out), SAVE :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    931931    'wape', '', 'm2/s2', (/ ('', i=1, 10) /))
     932!!
     933  TYPE(ctrl_out), SAVE :: o_coef_clos = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     934    'coef_clos', 'closure coefficient', '', (/ ('', i=1, 10) /))
     935  TYPE(ctrl_out), SAVE :: o_coef_clos_eff = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     936    'coef_clos_eff', 'effective closure coefficient', '', (/ ('', i=1, 10) /))
     937
    932938
    933939!!! nrlmd le 10/04/2012
  • LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90

    r5486 r5491  
    107107         o_alp_bl_fluct_m, o_alp_bl_fluct_tke, &
    108108         o_alp_bl_conv, o_alp_bl_stat, &
     109         o_coef_clos, o_coef_clos_eff, &
    109110         o_slab_qflux, o_tslab, o_slab_bils, &
    110111         o_slab_bilg, o_slab_sic, o_slab_tice, &
     
    343344         wake_h, &
    344345         wake_omg, d_t_wake, d_q_wake, Vprecip, qtaa, Clw, &
     346         coef_clos, coef_clos_eff, &
    345347         wdtrainA, wdtrainS, wdtrainM, n2, s2, strig, zcong, zlcl_th, proba_notrig, &
    346348         random_notrig, &
     
    14511453          CALL histwrite_phy(o_cape_max, cape)
    14521454
     1455          CALL histwrite_phy(o_coef_clos, coef_clos)
     1456          CALL histwrite_phy(o_coef_clos_eff, coef_clos_eff)
    14531457          CALL histwrite_phy(o_upwd, upwd)
    14541458          CALL histwrite_phy(o_Ma, Ma)
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r5486 r5491  
    303303       !    Deep convective variables used in phytrac
    304304       pmflxr, pmflxs,  &
     305       coef_clos, coef_clos_eff, &
    305306       wdtrainA, wdtrainS, wdtrainM, wdtrainAS,  &
    306307       upwd, dnwd, &
     
    32483249                                !!     .        pmflxr,pmflxs,da,phi,mp,
    32493250                                !!     .        ftd,fqd,lalim_conv,wght_th)
    3250                pmflxr,pmflxs,da,phi,mp,phi2,d1a,dam,sij,qtaa,clw,elij, &
     3251               pmflxr,pmflxs, &
     3252               coef_clos, coef_clos_eff, &
     3253               da,phi,mp,phi2,d1a,dam,sij,qtaa,clw,elij, &
    32513254               ftd,fqd,lalim_conv,wght_th, &
    32523255               ev, ep,epmlmMm,eplaMm, &
Note: See TracChangeset for help on using the changeset viewer.