Difference between revisions of "Thermal plume model Generic PCM"

From Planets
Jump to: navigation, search
(In a 1D rcm1d run)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
  
== Description of the Thermal plume model ==
+
== Overview of the Thermal plume model ==
  
 +
The Thermal Plume Model (TPM) is a parametrisation of the vertical transport related to the small-scale convective processes. It is based on a mass flux approach, meaning it is a nonlocal scheme which allows mixing between layers that are not directly adjacent.
 +
 +
== How to use it? ==
 +
 +
=== In a 1D rcm1d run ===
 +
 +
The TPM is activated in callphys.def with
 +
calltherm = .True.
 +
 +
Remember to also turn off the convective adjustment scheme (as it default value is .True.), to use only one parametrisation of convection
 +
calladj  = .False.
 +
 +
Then, several options may be used to tune the model
 +
dqimpl              = .True.  !  .true.  Flag for thermcell_dq version (True : implicit scheme || False : explicit scheme)
 +
dvimpl              = .False.  !  .false.  Flag for specific u, v mixing (True : thermcell_dv2 || False : thermcell_dq)
 +
r_aspect_thermals    = 2.0      !  1.0      Aspect ratio of the thermals (width / height)
 +
tau_thermals        = 0.0      !  0.      Relaxation time
 +
betalpha            = 0.9      !  0.9      - between 0 (e=d=0) and 1 (rho*fraca=cst)
 +
afact                = 0.9      !  2./3.    - buoyancy acceleration efficiency, between 0 and 1
 +
fact_epsilon        = 1.e-4    !  2.e-3    - turbulence and friction deceleration
 +
alpha_max            = 0.7      !  0.7      Maximal permitted updraft fraction   
 +
fomass_max          = 0.5      !  0.5      Maximal permitted outgoing layer mass fraction
 +
pres_limit          = 1.e3    !  1.e5    Minimum pressure level above which thermals cannot be triggered
 +
nu                  = 0.0      !  0.      Geometrical contributions to entrainment and detrainment
 +
linf                = 1.0      !  1.0      linf is used to set the lowest possible first level because we allow it
 +
                                !          to begin higher than the surface. It is set to 2 in order to remove the
 +
                                !          first layer for gas giant.
 +
                                !          If there is a surface, it has to be set to 1.
 +
                                !          If someone want to call more than once the thermal plume model in some
 +
                                !          grid points, this variable may become a saved array of INTEGER with size ngrid.
 +
 +
=== In a 3D DYNAMICO run ===
 +
 +
== Physical description of the TPM ==
  
 
== Implementation in the Generic PCM ==
 
== Implementation in the Generic PCM ==
Line 41: Line 75:
 
     Implementation to take into account generic tracers
 
     Implementation to take into account generic tracers
  
== How to use it? ==
 
 
=== In a 1D rcm1d run ===
 
 
The TPM is activated in callphys.def with
 
calltherm = .True.
 
 
Remember to also turn off the convective adjustment scheme to use only one parametrisation of convection
 
calladj  = .True.
 
 
Then, several options may be used to tune the model
 
dvimpl              = .False.
 
dqimpl              = .True.
 
r_aspect_thermals    = 2.0
 
tau_thermals        = 0.0
 
betalpha            = 0.9
 
afact                = 0.9
 
fact_epsilon        = 1.e-4
 
alpha_max            = 0.7
 
fomass_max          = 0.5
 
pres_limit          = 1.e3
 
nu                  = 0.0
 
 
 
 
=== In a 3D DYNAMICO run ===
 
  
 
== References ==
 
== References ==

Latest revision as of 11:18, 30 April 2025

Overview of the Thermal plume model

The Thermal Plume Model (TPM) is a parametrisation of the vertical transport related to the small-scale convective processes. It is based on a mass flux approach, meaning it is a nonlocal scheme which allows mixing between layers that are not directly adjacent.

How to use it?

In a 1D rcm1d run

The TPM is activated in callphys.def with

calltherm = .True.

Remember to also turn off the convective adjustment scheme (as it default value is .True.), to use only one parametrisation of convection

calladj  = .False.

Then, several options may be used to tune the model

dqimpl               = .True.   !  .true.   Flag for thermcell_dq version (True : implicit scheme || False : explicit scheme)
dvimpl               = .False.  !  .false.  Flag for specific u, v mixing (True : thermcell_dv2 || False : thermcell_dq)
r_aspect_thermals    = 2.0      !  1.0      Aspect ratio of the thermals (width / height)
tau_thermals         = 0.0      !  0.       Relaxation time
betalpha             = 0.9      !  0.9      - between 0 (e=d=0) and 1 (rho*fraca=cst)
afact                = 0.9      !  2./3.    - buoyancy acceleration efficiency, between 0 and 1
fact_epsilon         = 1.e-4    !  2.e-3    - turbulence and friction deceleration
alpha_max            = 0.7      !  0.7      Maximal permitted updraft fraction    
fomass_max           = 0.5      !  0.5      Maximal permitted outgoing layer mass fraction
pres_limit           = 1.e3     !  1.e5     Minimum pressure level above which thermals cannot be triggered
nu                   = 0.0      !  0.       Geometrical contributions to entrainment and detrainment
linf                 = 1.0      !  1.0      linf is used to set the lowest possible first level because we allow it
                                !           to begin higher than the surface. It is set to 2 in order to remove the
                                !           first layer for gas giant.
                                !           If there is a surface, it has to be set to 1.
                                !           If someone want to call more than once the thermal plume model in some
                                !           grid points, this variable may become a saved array of INTEGER with size ngrid.

In a 3D DYNAMICO run

Physical description of the TPM

Implementation in the Generic PCM

Code

Edition history

Authors: F. Hourdin, C. Rio, A. Mathieu, A. Boissinot, A. Le Saux

Version du 09.02.07

  Calculation of vertical transport in the boundary layer in the presence of explicitly represented “thermals” with cloud processes
  Rewriting from a paper listing in Habas, 14/02/00
  Thermal energy is assumed to be homogeneous and dissipated by mixing with its surroundings. 
  The length l_mix controls the mixing efficiency.
  The transport of the different species is calculated by taking into account:
    1. upward mass flux
    2. downward mass flux
    3. entrainment
    4. a detrainment

Modif 2013/01/04 (FH hourdin@lmd.jussieu.fr)

   Introduction of an implicit computation of vertical advection in the environment of thermal plumes in thermcell_dq
   impl = 0 : explicit ; impl = 1 : implicit ; impl =-1 : old version
   controled by iflag_thermals =
      15, 16 run with impl=-1 : numerical convergence with NPv3
      17, 18 run with impl=1  : more stable
   15 and 17 correspond to the activation of the stratocumulus "bidouille"

Major changes 2018-19 (AB alexandre.boissinot@lmd.jussieu.fr)

   New detr and entre formulae (no longer alimentation)
   lmin can be greater than 1
   Mix every tracer
   Can stack verticaly multiple plumes (it makes thermcell_dv2 unusable for the moment)

Modif 2024 (ALS, arthur.le-saux@lmd.ipsl.fr)

   Implementation to take into account generic tracers


References