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

Last change on this file since 1579 was 1315, checked in by milmd, 10 years ago

LMDZ.GENERIC. OpenMP directives added in generic physic. When running in pure OpenMP or hybrid OpenMP/MPI, may have some bugs with condense_cloud and wstats routines.

File size: 2.5 KB
Line 
1
2       module tracer_h
3
4       implicit none
5
6       character*20, DIMENSION(:), ALLOCATABLE :: noms   ! name of the tracer
7       real, DIMENSION(:), ALLOCATABLE :: mmol     ! mole mass of tracer (g/mol-1)
8       real, DIMENSION(:), ALLOCATABLE :: radius   ! dust and ice particle radius (m)
9       real, DIMENSION(:), ALLOCATABLE :: rho_q    ! tracer densities (kg.m-3)
10       real, DIMENSION(:), ALLOCATABLE :: qext     ! Single Scat. Extinction coeff at 0.67 um
11       real, DIMENSION(:), ALLOCATABLE :: alpha_lift  ! saltation vertical flux/horiz flux ratio (m-1)
12       real, DIMENSION(:), ALLOCATABLE :: alpha_devil ! lifting coeeficient by dust devil
13       real, DIMENSION(:), ALLOCATABLE :: qextrhor ! Intermediate for computing opt. depth from q
14
15      real varian      ! Characteristic variance of log-normal distribution
16      real r3n_q     ! used to compute r0 from number and mass mixing ratio
17      real rho_dust     ! Mars dust density (kg.m-3)
18      real rho_ice     ! Water ice density (kg.m-3)
19      real rho_co2     ! CO2 ice density (kg.m-3)
20      real ref_r0        ! for computing reff=ref_r0*r0 (in log.n. distribution)
21!$OMP THREADPRIVATE(noms,mmol,radius,rho_q,qext,alpha_lift,alpha_devil,qextrhor, &
22        !$OMP varian,r3n_q,rho_dust,rho_ice,rho_co2,ref_r0)
23
24! tracer indexes: these are initialized in initracer and should be 0 if the
25!                 corresponding tracer does not exist
26      ! dust
27      integer, DIMENSION(:), ALLOCATABLE :: igcm_dustbin ! for dustbin 'dust' tracers
28      ! dust, special doubleq case
29      integer :: igcm_dust_mass   ! dust mass mixing ratio (for transported dust)
30      integer :: igcm_dust_number ! dust number mixing ratio (transported dust)
31      ! water
32      integer :: igcm_h2o_vap ! water vapour
33      integer :: igcm_h2o_ice ! water ice
34      ! chemistry:
35      integer :: igcm_co2
36      integer :: igcm_co
37      integer :: igcm_o
38      integer :: igcm_o1d
39      integer :: igcm_o2
40      integer :: igcm_o3
41      integer :: igcm_h
42      integer :: igcm_h2
43      integer :: igcm_oh
44      integer :: igcm_ho2
45      integer :: igcm_h2o2
46      integer :: igcm_n2
47      integer :: igcm_ar
48      ! other tracers
49      integer :: igcm_ar_n2 ! for simulations using co2 +neutral gaz
50      integer :: igcm_co2_ice ! CO2 ice
51!$OMP THREADPRIVATE(igcm_dustbin,igcm_dust_mass,igcm_dust_number,igcm_h2o_vap,igcm_h2o_ice, &
52        !$OMP igcm_co2,igcm_co,igcm_o,igcm_o1d,igcm_o2,igcm_o3,igcm_h,igcm_h2,igcm_oh,      &
53        !$OMP igcm_ho2,igcm_h2o2,igcm_n2,igcm_ar,igcm_ar_n2,igcm_co2_ice)
54
55       end module tracer_h
56
Note: See TracBrowser for help on using the repository browser.