source: trunk/LMDZ.MARS/libf/phymars/tracer.h @ 416

Last change on this file since 416 was 358, checked in by aslmd, 14 years ago

LMDZ.MARS:


A FIRST VERSION WITH SCAVENGING
TRANSPARENT TO CASUAL USER
FOR WATER CYCLE FOLKS, SEE BELOW


[TN and AS solved conflicts due to r330 >> r357]


07/11/11 == JBM

Changed watercloud.F to call two separate routines,

simpleclouds.F or improvedclouds.F, which are a simplified and
full microphysical scheme for cloud formation, respectively.
Removed the tag called "improved" in watercloud.F, and added
another tag called "microphys" which is defined in callphys.F
instead. Changed routines: callkeys, inifis, physiq, watercloud.

Reimplemented the use of typical profiles of dust particle sizes

and CCNs in simpleclouds.F. Corrected the previously used
analytical CCN profile. Moved ccn_factor to simpleclouds.F,
which won't be used in the new microphysical scheme. Changed
routines: aeropacity, physiq, simpleclouds, watercloud.

Computed rdust at the end of callsedim instead of updatereffrad,

except at firstcall. Renamed rfall into rsedcloud and moved it
in simpleclouds. Moved nuice_sed to initracer.F and added it to
tracer.h. Changed routines: callsedim, physiq, tracer.h,
watercloud, initracer, simpleclouds, updatereffrad.

Added two tracers for the CCNs. Added the different tests in

initracer.F to make sure that, for example, microphys is not
used without doubleq, etc. Corrected an inconsistency in
callsedim.F, and changed the way r0 is updated. Changes
routines: callsedim, inifis, initracer, physiq, testphys1d,
tracer.h.

Added the ability to have a spatially variable density in

newsedim (same method as that used for the radius of
sedimentation). Required the addition of one input to newsedim,
which is the size of the density variable "rho". Changed
routines: callsedim, newsedim.

Added an output to aeropacity called "tauscaling", which is a

factor to convert dust_mass and dust_number to true quantities,
based on tauvis. Removed ccn and qdust from aeropacity, which
are obsolete now.

Wrote improvedcloud.F which includes all the microphysical

scheme, and connected it to the sedimentation scheme. Added and
changed routines: callsedim, physiq, growthrate, nuclea,
improvedclouds, initracer, watercloud, microphys.h.

07/11/11 == TN

Added CCN & dust tracers updates in physiq.F

Corrected a bug that can give negative CCN numbers, due to the
use of single precision values (only 6 decimals) whereas up to 10E+10
CCN can be formed or disappears...

Corrected physical bug that causes h2o_vap or h2o_ice

to be negative in improvedclouds.F.

Corrected physical bug that causes CCN & dust tracers

to be negative in improvedclouds.F when all ice sublimates and
releases dust

Added parameter contact mteta in callphys.def

Default value is still 0.95, see inifis.F

Changed tendancy computation for dust_number in improvedclouds.F

that was not the right one. Indeed, the scavenged dust_number tracer
is computed from the dust_mass one, and its tendancy before scavenging
must be taken into account to compute its scavenging's tendancy.

File size: 3.7 KB
Line 
1!-----------------------------------------------------------------------
2! INCLUDE 'tracer.h'
3
4      character*20  noms(nqmx)  ! name of the tracer
5      real mmol(nqmx)           ! mole mass of tracer (g/mol-1) 
6      real radius(nqmx)   ! dust and ice particle radius (m)
7      real rho_q(nqmx)    ! tracer densities (kg.m-3)
8      real alpha_lift(nqmx) ! saltation vertical flux/horiz flux ratio (m-1)
9      real alpha_devil(nqmx) ! lifting coeeficient by dust devil
10
11      real varian      ! Characteristic variance of log-normal distribution
12      real r3n_q     ! used to compute r0 from number and mass mixing ratio
13      real rho_dust     ! Mars dust density (kg.m-3)
14      real rho_ice     ! Water ice density (kg.m-3)
15      real nuice_ref   ! Effective variance of the water ice dist.
16      real nuice_sed   ! Sedimentation effective variance of the water ice dist.
17      real ref_r0        ! for computing reff=ref_r0*r0 (in log.n. distribution)
18
19      real dryness(ngridmx)!"Dryness coefficient" for grnd water ice sublimation
20     
21! tracer indexes: these are initialized in initracer and should be 0 if the
22!                 corresponding tracer does not exist
23      ! dust
24      integer :: igcm_dustbin(nqmx) ! for dustbin 'dust' tracers
25      ! dust, special doubleq case
26      integer :: igcm_dust_mass   ! dust mass mixing ratio
27                                  !   (for transported dust)
28      integer :: igcm_dust_number ! dust number mixing ratio
29                                  !   (transported dust)
30      integer :: igcm_ccn_mass   ! CCN mass mixing ratio
31      integer :: igcm_ccn_number ! CCN number mixing ratio
32      integer :: igcm_dust_submicron ! submicron dust mixing ratio
33                                     !   (transported dust)
34      ! water
35      integer :: igcm_h2o_vap ! water vapour
36      integer :: igcm_h2o_ice ! water ice
37      ! chemistry:
38      integer :: igcm_co2
39      integer :: igcm_co
40      integer :: igcm_o
41      integer :: igcm_o1d
42      integer :: igcm_o2
43      integer :: igcm_o3
44      integer :: igcm_h
45      integer :: igcm_h2
46      integer :: igcm_oh
47      integer :: igcm_ho2
48      integer :: igcm_h2o2
49      integer :: igcm_n2
50      integer :: igcm_ar
51      integer :: igcm_n
52      integer :: igcm_no
53      integer :: igcm_no2
54      integer :: igcm_n2d
55      integer :: igcm_ch4
56      ! Ions
57      integer :: igcm_co2plus
58      integer :: igcm_oplus
59      integer :: igcm_o2plus
60      integer :: igcm_coplus
61      integer :: igcm_cplus
62      integer :: igcm_nplus
63      integer :: igcm_noplus
64      integer :: igcm_n2plus
65      integer :: igcm_hplus
66      integer :: igcm_elec
67      ! other tracers
68      integer :: igcm_ar_n2 ! for simulations using co2 +neutral gas
69
70
71! NB: to keep commons aligned: 
72!     split them in groups (reals, integers and characters)
73      COMMON/tracer/radius,rho_q,alpha_lift,alpha_devil,mmol,           &
74     & varian,r3n_q,rho_dust,rho_ice,nuice_ref,nuice_sed,               &
75     & ref_r0,dryness
76      COMMON/tracer2/                                                   &
77     & igcm_dustbin,igcm_dust_mass,igcm_dust_number,                    &
78     & igcm_ccn_mass,igcm_ccn_number,igcm_dust_submicron,               &
79     & igcm_h2o_vap,igcm_h2o_ice,igcm_co2,igcm_co,igcm_o,igcm_o1d,      &
80     & igcm_o2,igcm_o3,igcm_h,igcm_h2,igcm_oh,igcm_ho2,igcm_h2o2,       &
81     & igcm_n2,igcm_ar,igcm_n,igcm_no,igcm_no2,igcm_n2d,                &
82     & igcm_ch4,                                                        &
83     & igcm_co2plus,igcm_oplus,igcm_o2plus,igcm_coplus,igcm_cplus,      &
84     & igcm_nplus,igcm_noplus,igcm_n2plus,igcm_hplus,igcm_elec,         &
85     & igcm_ar_n2!,nbqchem,niqchem
86      COMMON/tracer3/noms
87!-----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.