source: trunk/LMDZ.GENERIC/libf/phystd/tracer_h.F90 @ 1834

Last change on this file since 1834 was 1799, checked in by bclmd, 7 years ago

Adding photochemistry to LMDZ Generic

File size: 3.5 KB
Line 
1
2       module tracer_h
3
4       implicit none
5
6! nqtot : total number of tracers
7       INTEGER, SAVE :: nqtot
8!$OMP THREADPRIVATE(nqtot)
9
10       character*20, DIMENSION(:), ALLOCATABLE :: noms   ! name of the tracer
11       real, DIMENSION(:), ALLOCATABLE :: mmol     ! mole mass of tracer (g/mol-1)
12       real, DIMENSION(:), ALLOCATABLE :: radius   ! dust and ice particle radius (m)
13       real, DIMENSION(:), ALLOCATABLE :: rho_q    ! tracer densities (kg.m-3)
14       real, DIMENSION(:), ALLOCATABLE :: qext     ! Single Scat. Extinction coeff at 0.67 um
15       real, DIMENSION(:), ALLOCATABLE :: alpha_lift  ! saltation vertical flux/horiz flux ratio (m-1)
16       real, DIMENSION(:), ALLOCATABLE :: alpha_devil ! lifting coeeficient by dust devil
17       real, DIMENSION(:), ALLOCATABLE :: qextrhor ! Intermediate for computing opt. depth from q
18
19      real varian      ! Characteristic variance of log-normal distribution
20      real r3n_q     ! used to compute r0 from number and mass mixing ratio
21      real rho_dust     ! Mars dust density (kg.m-3)
22      real rho_ice     ! Water ice density (kg.m-3)
23      real rho_co2     ! CO2 ice density (kg.m-3)
24      real ref_r0        ! for computing reff=ref_r0*r0 (in log.n. distribution)
25!$OMP THREADPRIVATE(noms,mmol,radius,rho_q,qext,alpha_lift,alpha_devil,qextrhor, &
26        !$OMP varian,r3n_q,rho_dust,rho_ice,rho_co2,ref_r0)
27
28! tracer indexes: these are initialized in initracer and should be 0 if the
29!                 corresponding tracer does not exist
30      ! dust
31      integer, DIMENSION(:), ALLOCATABLE :: igcm_dustbin ! for dustbin 'dust' tracers
32      ! dust, special doubleq case
33      integer :: igcm_dust_mass   ! dust mass mixing ratio (for transported dust)
34      integer :: igcm_dust_number ! dust number mixing ratio (transported dust)
35      ! water
36      integer :: igcm_h2o_vap ! water vapour
37      integer :: igcm_h2o_ice ! water ice
38      ! chemistry:
39      integer :: igcm_co2
40      integer :: igcm_co
41      integer :: igcm_o
42      integer :: igcm_o1d
43      integer :: igcm_o2
44      integer :: igcm_o3
45      integer :: igcm_h
46      integer :: igcm_h2
47      integer :: igcm_oh
48      integer :: igcm_ho2
49      integer :: igcm_h2o2
50      integer :: igcm_n2
51      integer :: igcm_ar
52      integer,save :: igcm_n
53      integer,save :: igcm_no
54      integer,save :: igcm_no2
55      integer,save :: igcm_n2d
56      integer,save :: igcm_ch4
57
58      integer :: igcm_ch3
59      integer :: igcm_ch
60      integer :: igcm_3ch2
61      integer :: igcm_1ch2
62      integer :: igcm_cho
63      integer :: igcm_ch2o
64      integer :: igcm_ch3o
65      integer :: igcm_c
66      integer :: igcm_c2
67      integer :: igcm_c2h
68      integer :: igcm_c2h2
69      integer :: igcm_c2h3
70      integer :: igcm_c2h4
71      integer :: igcm_c2h6
72      integer :: igcm_ch2co
73      integer :: igcm_ch3co
74      integer :: igcm_hcaer
75
76
77
78      ! other tracers
79      integer :: igcm_ar_n2 ! for simulations using co2 +neutral gaz
80      integer :: igcm_co2_ice ! CO2 ice
81!$OMP THREADPRIVATE(igcm_dustbin,igcm_dust_mass,igcm_dust_number,igcm_h2o_vap,igcm_h2o_ice, &
82        !$OMP igcm_co2,igcm_co,igcm_o,igcm_o1d,igcm_o2,igcm_o3,igcm_h,igcm_h2,igcm_oh,      &
83        !$OMP igcm_ho2,igcm_h2o2,igcm_n2,igcm_ar,igcm_ar_n2,igcm_co2_ice,                   &
84        !$OMP igcm_n,igcm_no,igcm_no2,igcm_n2d,igcm_ch4,igcm_ch3,igcm_ch,igcm_3ch2,         &
85        !$OMP igcm_1ch2,igcm_cho,igcm_ch2o,igcm_ch3o,igcm_c,igcm_c2,igcm_c2h,igcm_c2h2,     &
86        !$OMP igcm_c2h3,igcm_c2h4,igcm_c2h6,igcm_ch2co,igcm_ch3co,igcm_hcaer)
87
88       end module tracer_h
89
Note: See TracBrowser for help on using the repository browser.