Difference between revisions of "Thermal plume model Generic PCM"

From Planets
Jump to: navigation, search
(How to use it?)
(In a 1D rcm1d run)
 
(7 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 ==
  
== How to use it? ==
+
=== 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
  
The TPM is activated in callphys.def with:
 
calltherm = .true.
 
  
 
== References ==
 
== References ==
 +
 +
[[Category:Generic-Model]]
 +
[[Category:Generic-DYNAMICO]]

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