source: trunk/LMDZ.PLUTO/libf/phypluto/tracer_h.F90 @ 3237

Last change on this file since 3237 was 3237, checked in by afalco, 9 months ago

Pluto PCM:
Import methane and ch4 clouds from pluto.old
AF

File size: 5.5 KB
Line 
1
2       module tracer_h
3
4       implicit none
5
6       integer, save :: nqtot ! total number of tracers
7       integer, save :: nesp  ! number of species in the chemistry
8       integer, save :: ngt   ! number of generic tracers
9       integer, save :: n_rgcs ! number of Radiative Generic Condensable Species
10!$OMP THREADPRIVATE(nqtot,nesp,ngt,n_rgcs)
11
12       logical :: moderntracdef=.false. ! Standard or modern traceur.def
13!$OMP THREADPRIVATE(moderntracdef)
14
15       character*30, save, allocatable :: noms(:)   ! name of the tracer
16       real, save, allocatable :: mmol(:)     ! mole mass of tracer (g/mol)
17       real, save, allocatable :: aki(:)      ! to compute coefficient of thermal concduction if photochem
18       real, save, allocatable :: cpi(:)      ! to compute cpnew in concentration.F if photochem
19       real, save, allocatable :: radius(:)   ! dust and ice particle radius (m)
20       real, save, allocatable :: rho_q(:)    ! tracer densities (kg.m-3)
21       real, save, allocatable :: qext(:)     ! Single Scat. Extinction coeff at 0.67 um
22       real, save, allocatable :: alpha_lift(:)  ! saltation vertical flux/horiz flux ratio (m-1)
23       real, save, allocatable :: alpha_devil(:) ! lifting coeeficient by dust devil
24       real, save, allocatable :: qextrhor(:) ! Intermediate for computing opt. depth from q
25
26       real,save :: varian      ! Characteristic variance of log-normal distribution
27       real,save :: r3n_q     ! used to compute r0 from number and mass mixing ratio
28       real,save :: rho_dust     ! Mars dust density (kg.m-3)
29       real,save :: rho_ice     ! Water ice density (kg.m-3)
30       real,save :: rho_ch4_ice     ! ch4 ice density (kg.m-3)
31       real,save :: rho_co_ice     ! co ice density (kg.m-3)
32       real,save :: rho_n2     ! N2 ice density (kg.m-3)
33       real,save :: lw_ch4     ! Latent heat CH4 gas -> solid
34       real,save :: lw_co      ! Latent heat CO gas -> solid
35       real,save :: lw_n2      ! Latent heat N2 gas -> solid
36       integer,save :: nmono
37       real,save :: ref_r0        ! for computing reff=ref_r0*r0 (in log.n. distribution)
38!$OMP THREADPRIVATE(noms,mmol,aki,cpi,radius,rho_q,qext,alpha_lift,alpha_devil,qextrhor, &
39        !$OMP varian,r3n_q,rho_dust,rho_ice,rho_n2,lw_n2,ref_r0)
40
41       integer, save, allocatable :: is_chim(:) ! 1 if tracer used in chemistry, else 0
42       integer, save, allocatable :: is_rad(:)  ! 1 if   ""    ""  in radiative transfer, else 0
43!$OMP THREADPRIVATE(is_chim,is_rad)
44
45       integer, save, allocatable :: is_recomb(:)      ! 1 if tracer used in recombining scheme, else 0 (if 1, must have is_rad=1)
46       integer, save, allocatable :: is_recomb_qset(:) ! 1 if tracer k-corr assume predefined vmr, else 0 (if 1, must have is_recomb=1)
47       integer, save, allocatable :: is_recomb_qotf(:) ! 1 if tracer recombination is done on-the-fly, else 0 (if 1, must have is_recomb_qset=0)
48!$OMP THREADPRIVATE(is_recomb,is_recomb_qset,is_recomb_qotf)
49       integer, save, allocatable :: is_condensable(:)      ! 1 if tracer is generic, else 0 (added LT)
50       integer,save,allocatable :: is_rgcs(:)               ! 1 if tracer is a radiative generic condensable specie, else 0 (added LT 2022)
51       ! Lists of constants for condensable tracers
52       real, save, allocatable :: constants_mass(:)                    ! molecular mass of the specie (g/mol)
53       real, save, allocatable :: constants_delta_vapH(:)           ! Enthalpy of vaporization (J/mol)
54       real, save, allocatable :: constants_Tref(:)                 ! Ref temperature for Clausis-Clapeyron (K)
55       real, save, allocatable :: constants_Pref(:)                 ! Reference pressure for Clausius Clapeyron (Pa)
56       real, save, allocatable :: constants_epsi_generic(:)                 ! fractionnal molecular mass (m/mugaz)
57       real, save, allocatable :: constants_RLVTT_generic(:)                ! Latent heat of vaporization (J/kg)
58       real, save, allocatable :: constants_metallicity_coeff(:)    ! Coefficient to take into account the metallicity
59       real, save, allocatable :: constants_RCPV_generic(:)                   ! specific heat capacity of the tracer vapor at Tref
60!$OMP THREADPRIVATE(constants_mass,constants_delta_vapH,constants_Tref)
61!$OMP THREADPRIVATE(constants_Pref,constants_epsi_generic)
62!$OMP THREADPRIVATE(constants_RLVTT_generic,constants_metallicity_coeff,constants_RCPV_generic)
63
64!$OMP THREADPRIVATE(is_condensable,is_rgcs)   !also added by LT
65! tracer indexes: these are initialized in initracer and should be 0 if the
66!                 corresponding tracer does not exist
67
68       !Pluto chemistry
69       integer,save :: igcm_co_gas
70       integer,save :: igcm_n2
71       integer,save :: igcm_ar
72       integer,save :: igcm_ch4_gas ! methane gas
73       ! other tracers
74       integer,save :: igcm_ar_n2 ! for simulations using co2 +neutral gaz
75       integer,save :: igcm_ch4_ice ! methane ice
76       integer,save :: igcm_co_ice ! methane ice
77       integer,save :: igcm_prec_haze
78       integer,save :: igcm_haze
79       integer,save :: igcm_haze10
80       integer,save :: igcm_haze30
81       integer,save :: igcm_haze50
82       integer,save :: igcm_haze100
83       integer,save :: igcm_eddy1e6
84       integer,save :: igcm_eddy1e7
85       integer,save :: igcm_eddy5e7
86       integer,save :: igcm_eddy1e8
87       integer,save :: igcm_eddy5e8
88
89!$OMP THREADPRIVATE(igcm_co_gas,igcm_n2,igcm_ar,igcm_ch4_gas,igcm_ar_n2,igcm_ch4_ice,igcm_co_ice,igcm_prec_haze,igcm_haze,igcm_haze10,igcm_haze30,igcm_haze50,igcm_haze100,igcm_eddy1e6,igcm_eddy1e7,igcm_eddy5e7,igcm_eddy1e8,igcm_eddy5e8)
90
91       end module tracer_h
92
Note: See TracBrowser for help on using the repository browser.