source: trunk/LMDZ.MARS/libf/phymars/callkeys.h @ 171

Last change on this file since 171 was 161, checked in by acolaitis, 13 years ago

================================================
======== IMPLEMENTATION OF THERMALS ============
================================================

Author: A. Colaitis (2011-06-16)

The main goal of this revision is to start including the thermals into the model
for development purposes. Users should not use the thermals yet, as
several major configuration changes still need to be done.

This version includes :

  • updraft and downdraft parametrizations
  • velocity in the thermal, including drag
  • plume height analysis
  • closure equation
  • updraft transport of heat, tracers and momentum
  • downdraft transport of heat

This model should not be used without upcoming developments, namely :

  • downdraft transport of tracers and momentum
  • updraft & downdraft transport of q2 (tke)
  • revision of vdif_kc to compute q2 for non-stratified cases

Thermals could also include in a later revision :

  • momentum loss during transport (horizontal drag)

Compilation of the thermals has been successfully tested on ifort, gfortran and pgf90

================================================
================================================

M libf/phymars/callkeys.h
M libf/phymars/inifis.F

Added new control flags to call the thermals :

  • calltherm (false by default) <- to call thermals
  • outptherm (false by default) <- to output thermal-related diagnostics (for dev purposes)

================================================

M libf/phymars/vdifc.F
------> added a temporary output for thermal-related diagnostics

M libf/phymars/testphys1d.F
------> added treatment for a initialization from a profile of neutral gas (ar)

-> will be transformed in a decaying tracer for thermal diagnostics

M libf/phymars/physiq.F
------> added a section to call the thermals

-> changed the call to convadj
-> added thermal-related outputs for diagnostics

M libf/phymars/convadj.F
------> takes now into account the height of thermals to execute convective adjustment

=> note : convective adjustment needs to be activated when using thermals, in case of a

second instable layer above the thermals

================================================

A libf/phymars/calltherm_interface.F90
------> Interface between physiq.F and the thermals

A libf/phymars/calltherm_mars.F90
------> Routine running the sub-timestep of the thermals

A libf/phymars/thermcell_main_mars.F90
------> Main thermals routine specific to Martian physics

A libf/phymars/thermcell_dqupdown.F90
------> Thermals subroutine computing transport of quantities by updrafts and downdrafts

A libf/phymars/thermcell.F90
------> Module including parameters from the Earth to Mars importation. Will disappear in future dev

================================================
================================================

File size: 2.0 KB
Line 
1!
2! For Fortran 77/Fortran 90 compliance always use line continuation
3! symbols '&' in columns 73 and 6
4!
5! NB: to keep commons aligned, it is better to split them in groups
6!     of given types (logical, integer, real, ...)
7
8      COMMON/callkeys_l/callrad,calldifv,calladj,callcond,callsoil      &
9     &   ,season,diurnal,lwrite,calllott,callstats,calleofdump          &
10     &   ,callnirco2,callnlte,callthermos,callconduct,calleuv           &
11     &   ,callmolvis,callmoldiff,thermochem,thermoswater,callemis       &
12     &   ,callg2d,linear,rayleigh,tracer,active,doubleq,submicron       &
13     &   ,lifting,callddevil,scavenging,sedimentation,activice,water    &
14     &   ,caps,photochem,calltherm,outptherm
15     
16      COMMON/callkeys_i/iradia,iaervar,iddist,ilwd,ilwb,ilwn,ncouche    &
17     &   ,dustbin,nqchem_min
18     
19      COMMON/callkeys_r/topdustref,solarcondate,semi,alphan
20     
21      LOGICAL callrad,calldifv,calladj,callcond,callsoil,               &
22     &   season,diurnal,lwrite,calllott                                 &
23     &   ,callstats,calleofdump                                         &
24     &   ,callnirco2,callnlte,callthermos,callconduct,                  &
25     &    calleuv,callmolvis,callmoldiff,thermochem,thermoswater        &
26     &   ,calltherm,outptherm
27
28
29      logical callemis
30      logical callg2d
31      logical linear
32
33      real topdustref
34      real semi
35      real alphan
36      real solarcondate
37
38      integer iddist
39      integer iaervar
40      integer iradia
41      integer ilwd
42      integer ilwb
43      integer ilwn
44      integer ncouche
45
46      logical rayleigh
47      logical tracer
48      integer dustbin
49      logical active,doubleq,submicron,lifting,callddevil,scavenging
50      logical sedimentation,activice,water,caps
51      logical photochem
52      integer nqchem_min
53
54      integer swrtype ! type of short wave (solar wavelength) radiative
55      ! transfer to use 1: Fouquart 2: Toon.
56      parameter (swrtype=2)
57!      parameter (swrtype=2)
Note: See TracBrowser for help on using the repository browser.