Changeset 2149


Ignore:
Timestamp:
Jul 19, 2019, 11:40:36 AM (5 years ago)
Author:
emillour
Message:

Mars GCM:
Add F.Lott's non-orographic GW parametrization. Disabled by default for now, activated by setting calllott_nonoro=.true. in callphys.def
GG+EM

Location:
trunk/LMDZ.MARS
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r2141 r2149  
    27202720- minor updates: enable output of Ls in diagfi files and make an error
    27212721  message more verbose.
     2722
     2723== 19/07/2019 == GG+EM
     2724- Add F.Lott's non-orographic GW parametrization. Disabled by default for now,
     2725  activated by setting calllott_nonoro=.true. in callphys.def
  • trunk/LMDZ.MARS/libf/phymars/callkeys.h

    r1974 r2149  
    1515     &   ,calltherm,callrichsl,callslope,tituscap,callyamada4,co2clouds &
    1616     &   ,co2useh2o,meteo_flux,CLFvaryingCO2,spantCO2,CLFvarying        &
    17      &   ,satindexco2,rdstorm
     17     &   ,satindexco2,rdstorm,calllott_nonoro
    1818     
    1919      COMMON/callkeys_i/iradia,iaervar,iddist,ilwd,ilwb,ilwn,ncouche    &
     
    2525     
    2626      LOGICAL callrad,calldifv,calladj,callcond,callsoil,               &
    27      &   season,diurnal,lwrite,calllott                                 &
     27     &   season,diurnal,lwrite,calllott,calllott_nonoro                 &
    2828     &   ,callstats,calleofdump                                         &
    2929     &   ,callnirco2,callnlte,callthermos,callconduct,                  &
  • trunk/LMDZ.MARS/libf/phymars/conf_phys.F

    r1974 r2149  
    280280         write(*,*)" calllott = ",calllott
    281281
     282         write(*,*)"call Lott's non-oro GWs parameterisation ",
     283     &             "scheme ?"
     284         calllott_nonoro=.false. ! default value
     285         call getin("calllott_nonoro",calllott_nonoro)
     286         write(*,*)" calllott_nonoro = ",calllott_nonoro
     287
    282288! rocket dust storm injection scheme
    283289         write(*,*)"call rocket dust storm and slope lifting",
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r2141 r2149  
    6262      use iono_h, only: allocate_param_iono
    6363      use compute_dtau_mod, only: compute_dtau
     64      use nonoro_gwd_ran_mod, only: nonoro_gwd_ran
    6465#ifdef MESOSCALE
    6566      use comsoil_h, only: mlayer,layer
     
    414415      real*8  varerr
    415416
     417C  Non-oro GW drag & Calcul of Brunt-Vaisala freq. (BV2)
     418      REAL ztetalev(ngrid,nlayer)
     419      real zdtetalev(ngrid,nlayer), zdzlev(ngrid,nlayer)
     420      REAL bv2(ngrid,nlayer)    ! BV2 at zlev   
     421c  Non-oro GW tendencies
     422      REAL d_u_hin(ngrid,nlayer), d_v_hin(ngrid,nlayer)
     423      REAL d_t_hin(ngrid,nlayer)
     424c  Diagnostics 2D of gw_nonoro
     425      REAL zustrhi(ngrid), zvstrhi(ngrid)
     426
    416427c Variables for PBL
    417428      REAL zz1(ngrid)
     
    12701281      ENDIF ! of IF(calladj)
    12711282
     1283c-----------------------------------------------------
     1284c    8. Non orographic Gravity waves :
     1285c -------------------------------------------------
     1286
     1287      IF (calllott_nonoro) THEN
     1288
     1289         CALL nonoro_gwd_ran(ngrid,nlayer,ptimestep,zplay,
     1290     &               zmax_th,                      ! max altitude reached by thermals (m)
     1291     &               pt, pu, pv,
     1292     &               pdt, pdu, pdv,
     1293     &               zustrhi,zvstrhi,
     1294     &               d_t_hin, d_u_hin, d_v_hin)
     1295
     1296!  Update tendencies
     1297         pdt(1:ngrid,1:nlayer)=pdt(1:ngrid,1:nlayer)
     1298     &                         +d_t_hin(1:ngrid,1:nlayer)
     1299!        d_t_hin(:,:)= d_t_hin(:,:)/ptimestep ! K/s (for outputs?)
     1300         pdu(1:ngrid,1:nlayer)=pdu(1:ngrid,1:nlayer)
     1301     &                         +d_u_hin(1:ngrid,1:nlayer)
     1302!        d_u_hin(:,:)= d_u_hin(:,:)/ptimestep ! (m/s)/s (for outputs?)
     1303         pdv(1:ngrid,1:nlayer)=pdv(1:ngrid,1:nlayer)
     1304     &                         +d_v_hin(1:ngrid,1:nlayer)
     1305!        d_v_hin(:,:)= d_v_hin(:,:)/ptimestep ! (m/s)/s (for outputs?)
     1306
     1307      ENDIF ! of IF (calllott_nonoro)
    12721308
    12731309c-----------------------------------------------------------------------
    1274 c   8. Specific parameterizations for tracers
     1310c   9. Specific parameterizations for tracers
    12751311c:   -----------------------------------------
    12761312
    12771313      if (tracer) then
    12781314
    1279 c   8a. Water and ice
     1315c   9a. Water and ice
    12801316c     ---------------
    12811317
     
    13571393         END IF  ! of IF (water)
    13581394
    1359 c   8a bis. CO2 clouds (CL & JA)
     1395c   9a bis. CO2 clouds (CL & JA)
    13601396c        ---------------------------------------
    13611397c        CO2 ice cloud condensation in the atmosphere
     
    14791515      END IF                    ! of IF (co2clouds)
    14801516
    1481 c   8b. Aerosol particles
     1517c   9b. Aerosol particles
    14821518c     -------------------
    14831519c        ----------
     
    15711607      ENDIF
    15721608c
    1573 c   8c. Chemical species
     1609c   9c. Chemical species
    15741610c     ------------------
    15751611
     
    16321668#endif
    16331669
    1634 c   8d. Updates
     1670c   9d. Updates
    16351671c     ---------
    16361672
     
    16501686#ifndef MESOSCALE
    16511687c-----------------------------------------------------------------------
    1652 c   9. THERMOSPHERE CALCULATION
     1688c   10. THERMOSPHERE CALCULATION
    16531689c-----------------------------------------------------------------------
    16541690
     
    16751711#endif
    16761712c-----------------------------------------------------------------------
    1677 c   10. Carbon dioxide condensation-sublimation:
     1713c   11. Carbon dioxide condensation-sublimation:
    16781714c     (should be the last atmospherical physical process to be computed)
    16791715c   -------------------------------------------
     
    17481784
    17491785c-----------------------------------------------------------------------
    1750 c   11. Surface  and sub-surface soil temperature
     1786c   12. Surface  and sub-surface soil temperature
    17511787c-----------------------------------------------------------------------
    17521788c
    17531789c
    1754 c   11.1 Increment Surface temperature:
     1790c   12.1 Increment Surface temperature:
    17551791c   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    17561792
     
    17931829
    17941830c
    1795 c   11.2 Compute soil temperatures and subsurface heat flux:
     1831c   12.2 Compute soil temperatures and subsurface heat flux:
    17961832c   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    17971833      IF (callsoil) THEN
     
    18411877
    18421878c-----------------------------------------------------------------------
    1843 c  12. Write output files
     1879c  13. Write output files
    18441880c  ----------------------
    18451881
     
    25392575         call WRITEDIAGFI(ngrid,"v","Meridional wind","m.s-1",3,zv)
    25402576         call WRITEDIAGFI(ngrid,"w","Vertical wind","m.s-1",3,pw)
    2541          call WRITEDIAGFI(ngrid,"rho","density","none",3,rho)
     2577         call WRITEDIAGFI(ngrid,"rho","density","kg.m-3",3,rho)
    25422578c        call WRITEDIAGFI(ngrid,"q2","q2","kg.m-3",3,q2)
    25432579c        call WRITEDIAGFI(ngrid,'Teta','T potentielle','K',3,zh)
     
    28782914         end if  ! (tracer.and.(dustbin.ne.0))
    28792915
     2916c        ----------------------------------------------------------
     2917c        GW non-oro outputs
     2918c        ----------------------------------------------------------
     2919
     2920         if(calllott_nonoro) then
     2921           call WRITEDIAGFI(ngrid,"dugwno","GW non-oro dU","m/s2",
     2922     $           3,d_u_hin/ptimestep)
     2923           call WRITEDIAGFI(ngrid,"dvgwno","GW non-oro dV","m/s2",
     2924     $           3,d_v_hin/ptimestep)
     2925         endif                  !(calllott_nonoro)
    28802926
    28812927c        ----------------------------------------------------------
  • trunk/LMDZ.MARS/libf/phymars/yoegwd.h

    r38 r2149  
    1 C     -----------------------------------------------------------------
    2 C*    *COMMON* *YOEGWD* - PARAMETERS FOR GRAVITY WAVE DRAG CALCULATIONS
    3 C     -----------------------------------------------------------------
    4 C
    5       real GFRCRIT,GRCRIT,GVCRIT,GKDRAG,GKDRAGL,GHMAX
    6      *             , GRAHILO,GSIGCR,GSSEC, GTSEC,  GVSEC
    7      *             ,GKWAKE
    8 
    9       integer NKTOPG
    10 
    11       COMMON/YOEGWD/ GFRCRIT,GRCRIT,GVCRIT,GKDRAG,GKDRAGL,GHMAX
    12      *             , GRAHILO,GSIGCR,NKTOPG,GSSEC, GTSEC,  GVSEC
    13      *             ,GKWAKE
    14 C
     1!     -----------------------------------------------------------------
     2!*    *COMMON* *YOEGWD* - PARAMETERS FOR GRAVITY WAVE DRAG CALCULATIONS
     3!     -----------------------------------------------------------------
     4!
     5      real    ::  GFRCRIT,GRCRIT,GVCRIT,GKDRAG,GKDRAGL,GHMAX
     6      real    ::   GRAHILO,GSIGCR,GSSEC, GTSEC,  GVSEC, GKWAKE
     7      integer ::  NKTOPG
     8      COMMON/YOEGWD/ GFRCRIT,GRCRIT,GVCRIT,GKDRAG,GKDRAGL,GHMAX         &
     9     &             ,GRAHILO,GSIGCR,NKTOPG,GSSEC, GTSEC, GVSEC,GKWAKE
    1510
    1611
     12
Note: See TracChangeset for help on using the changeset viewer.