Ignore:
Timestamp:
Mar 6, 2019, 7:10:00 PM (6 years ago)
Author:
aboissinot
Message:

Add new formulae to compute vertical speed in thermcell_plume (only consistent with mix0=0)

Add pdt and pdq to pt and pq for computing zdttherm and zdqtherm in physiq_mod when water=false.
That in order to be consistent with the case water=true

Location:
trunk/LMDZ.GENERIC/libf/phystd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90

    r2107 r2113  
    11931193            CALL evap(ngrid,nlayer,nq,ptimestep,pt,pq,pdq,pdt,dqevap,dtevap,zqtherm,zttherm)
    11941194         ELSE
    1195             zttherm(:,:) = pt(:,:)
    1196             zqtherm(:,:,:) = pq(:,:,:)
     1195            zttherm(:,:)   = pt(:,:)   + pdt(:,:)
     1196            zqtherm(:,:,:) = pq(:,:,:) + pdq(:,:,:)
    11971197         ENDIF
    11981198         
  • trunk/LMDZ.GENERIC/libf/phystd/thermcell_plume.F90

    r2101 r2113  
    3131!==============================================================================
    3232     
    33 !      inputs:
    34 !      -------
     33!     Inputs:
     34!     -------
    3535     
    3636      INTEGER itap
     
    5252      REAL zpspsk(ngrid,nlay)                   ! Exner function
    5353     
    54 !      outputs:
    55 !      --------
     54!     Outputs:
     55!     --------
    5656     
    5757      INTEGER lmin(ngrid)                       ! plume base level (first unstable level)
     
    8181      REAL zqsatth(ngrid,nlay)                  ! saturation vapor pressure (after mixing)
    8282     
    83 !      local:
    84 !      ------
     83!     Local:
     84!     ------
    8585     
    8686      INTEGER ig, l, k
     
    305305! AB : own derivation for w_est (Rio 2010 formula with e=d=0)
    306306!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    307                zw2fact = 2. * fact_epsilon * zdz
    308                zdw2 = 2. * afact * zbuoy(ig,l) * zdz
     307!               zw2fact = 2. * fact_epsilon * zdz
     308!               zdw2 = 2. * afact * zbuoy(ig,l) * zdz
     309               zw2fact = 2. * fact_epsilon * zdz / (1. + betalpha)
     310               zdw2 = 2. * afact * zbuoy(ig,l) * zdz / (1. + betalpha)
    309311               w_est(ig,l+1) = Max(0., exp(-zw2fact) * w_est(ig,l) + zdw2)
    310312               
     
    459461!               zw2fact = fact_epsilon * 2. * zdz / (1. + betalpha)
    460462!               zdw2 = afact * zbuoy(ig,l) / fact_epsilon
    461 !               zdw2bis = afact * zbuoy(ig,l-1) / fact_epsilon
    462463!               zw2(ig,l+1) = Max(0.0001,exp(-zw2fact)*(zw2(ig,l)-zdw2)+zdw2)
    463464!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    464465! AB : own derivation for zw2 (Rio 2010 formula)
    465466!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    466                zw2fact = 2. * (fact_epsilon * zdz  + entr_star(ig,l) / f_star(ig,l))
    467                zdw2 = 2. * afact * zbuoy(ig,l) * zdz
     467!               zw2fact = 2. * (fact_epsilon * zdz  + entr_star(ig,l) / f_star(ig,l))
     468!               zdw2 = 2. * afact * zbuoy(ig,l) * zdz
     469               zw2fact = 2. * fact_epsilon * zdz / (1. + betalpha)
     470               zdw2 = 2. * afact * zbuoy(ig,l) * zdz / (1. + betalpha)
    468471               zw2(ig,l+1) = Max(0., exp(-zw2fact) * zw2(ig,l) + zdw2)
    469472               
Note: See TracChangeset for help on using the changeset viewer.