Non orographic gravity waves drag
From Planets
Contents
Description of the physical process
Parametrization of the momentum flux deposition due to a discrete number of gravity waves randomly generated by setting their waves characteristics (set as Gaussian distribution).
In the code, the FORTRAN file corresponding to this parametrization isnonoro_gwd_ran_mod.F90
Inherited and adapted from Earth's model (F. Lott), Venus' model (F. LOTT, and S. LEBONNOIS) and Mars' model (G.GILLI, F. FORGET and D.BARDET). Parametrization implemented in the Generic PCM by D.BARDET is the case of Giant Planets and updated J.LIU
Underlying hypotheses and limitations
- input flux compensated in the deepest layers
- Variable EP-flux according to PBL variation (max velocity thermals)
- reproductibility of the launching altitude calculation
- wave characteristic calculation using MOD
- adding east_gwstress and west_gwstress variables
- The rho (density) at the specific locations is introduced. The equation of EP-flux is corrected by adding the term of density at launch (source) altitude(level)
Equations that are being solved, whenever possible
Important variables and their names in the code
Inputs and outputs of the module
! 0.1 INPUTS
INTEGER, intent(in):: ngrid ! number of atmospheric columns
INTEGER, intent(in):: nlayer ! number of atmospheric columns
REAL, intent(in):: dtime ! Time step of the Physics
REAL, intent(in):: zmax_therm(ngrid) ! Altitude of max velocity thermals (m)
REAL,INTENT(IN) :: cpnew(ngrid,nlayer)! Cp of the atmosphere
REAL,INTENT(IN) :: rnew(ngrid,nlayer) ! R of the atmosphere
REAL, intent(in):: pp(ngrid, nlayer) ! Pressure at full levels(Pa)
REAL, intent(in):: pt(ngrid, nlayer) ! Temperature at full levels(K)
REAL, intent(in):: pu(ngrid, nlayer) ! Zonal wind at full levels(m/s)
REAL, intent(in):: pv(ngrid, nlayer) ! Meridional wind at full levels(m/s)
REAL, intent(in):: pdt(ngrid, nlayer) ! Tendency on temperature(K/s)
REAL, intent(in):: pdu(ngrid, nlayer) ! Tendency on zonal wind(m/s/s)
REAL, intent(in):: pdv(ngrid, nlayer) ! Tendency on meridional wind(m/s/s)
! 0.2 OUTPUTS
REAL, intent(out):: zustr(ngrid) ! Zonal surface stress
REAL, intent(out):: zvstr(ngrid) ! Meridional surface stress
REAL, intent(out):: d_t(ngrid, nlayer) ! Tendency on temperature (K/s) due to gravity waves (not used set to zero)
REAL, intent(out):: d_u(ngrid, nlayer) ! Tendency on zonal wind (m/s/s) due to gravity waves
REAL, intent(out):: d_v(ngrid, nlayer) ! Tendency on meridional wind (m/s/s) due to gravity waves
Dedicated flags to call in the callphys.def
To activate this parametrization:
You have to set the maximum value of the Eliassen-Palm flux that can be transported by the wave package:
epflux_max
Additional parameters can be also change in the callphys.def (do not worry if you do not want to change them, they have default values in the code)
sat ! default gravity waves saturation value = 1. !!
cmax ! default gravity waves phase velocity value = 30. !!
rdiss ! default coefficient of dissipation = 1 !!
kmax ! default Max horizontal wavenumber = 1.e-4 !!