123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- !
- #include "tm5.inc"
- !
- !----------------------------------------------------------------------------
- ! TM5 !
- !----------------------------------------------------------------------------
- !BOP
- !
- ! !MODULE: chem_param
- !
- ! !DESCRIPTION:
- !
- ! definition of the chemistry: #reactions, order of species, etc.
- ! parameters needed for chemistry and rate constants
- !
- !\\
- !\\
- ! !INTERFACE:
- !
- module chem_param
- !
- ! !USES:
- !
- use binas, only : xmair
- use reaction_data
- use deposition_data
- implicit none
- !
- ! !PUBLIC DATA MEMBERS:
- !
- ! nmark: number of 'marked' tracers
- integer, parameter :: nmark = 1
- character(len=8),dimension(nmark) :: marknam = (/ 'test ' /)
- !
- integer, parameter :: ntrace = 1 ! number of tracers for chemistry
- integer, parameter :: ntracet = 1 ! number of transported tracers
- integer, parameter :: ntrace_chem = ntrace-ntracet ! non-transported tracers
- integer, parameter :: maxtrace = ntrace + 0 ! total number of tracers
- !
- ! components numbers
- !
- integer, parameter :: itracer=1
- !
- ! additional fields used in chemistry routine alone
- ! (more meteo-like files in units different from #/cm3)
- !
- integer, parameter :: n_extra = 0
- integer, parameter :: nstd = 1
- integer, dimension(nstd), parameter :: istd = (/ itracer /)
- !
- ! species name
- !
- integer, parameter :: tracer_name_len = 8
- Character(len=tracer_name_len), dimension(maxtrace) :: names = (/ 'TEST1 ' /)
- !
- ! molar weights of components
- !
- real, parameter :: xmh = 1.0079
- real, parameter :: xmn = 14.0067
- real, parameter :: xmc = 12.01115
- real, parameter :: xms = 32.064
- real, parameter :: xmo = 15.9994
- real, parameter :: xmcl = 35.453
- ! used in wet_depos ...
- real, parameter :: xmhno3 = xmh + xmn + xmo*3.0
- real,dimension(maxtrace),parameter :: ra = (/ xmair /)
- real,dimension(maxtrace),parameter :: fscale = xmair/ra(:)
- ! fscale(ntrace): scaling factor for conversion of mixing ratios
- ! in kg tracer per kg air to practical mixing ratio units (e.g. ppm)
- ! In this version: ratio of molecular weight of tracer to that of air
- ! ********************************************************************
- ! rates
- ! ********************************************************************
-
- ! heterogeneous removal rates
- real :: henry(ntracet,ntemp)
- ! ********************************************************************
- ! dummy tracers
- ! ********************************************************************
- ! dummy indices for tracers not included in this chemistry;
- ! comparision of tracer index with this numbers will fail ...
- integer, parameter :: iso2 = -999
- integer, parameter :: iso4 = -998
- integer, parameter :: inh3 = -997
- integer, parameter :: ihno3 = -996
- integer, parameter :: ino = -995
- integer, parameter :: ino2 = -994
- integer, parameter :: inox = -994
- integer, parameter :: io3 = -993
- integer, parameter :: ihno4 = -992
- integer, parameter :: ih2o2 = -991
- ! ********************************************************************
- ! aerosol
- ! ********************************************************************
- real, parameter :: density_ref = 1800.0 ! for 'reference' density calculations
- ! ********************************************************************
- ! dry deposition
- ! ********************************************************************
- ! number of tracers on which dry depositions should be applied:
- integer, parameter :: ndep = 0
- ! tracer indices on which dry depositions should be applied:
- integer, parameter :: idep(1) = (/ -999 /)
- ! deposition parameters:
- real, parameter :: ddep_diffrb(1) = (/ -999.9 /)
- real, parameter :: ddep_rsoil (1) = (/ -999.9 /)
- real, parameter :: ddep_rwat (1) = (/ -999.9 /)
- real, parameter :: ddep_rws (1) = (/ -999.9 /)
- real, parameter :: ddep_rsnow (1) = (/ -999.9 /)
- real, parameter :: ddep_rmes (1) = (/ -999.9 /)
- real, parameter :: ddep_rcut (1) = (/ -999.9 /)
- real, parameter :: ddep_diffcf(1) = (/ -999.9 /)
- ! some vd fields are copies:
- integer, parameter :: vd_ncopy = 0 ! dummy
- integer, parameter :: vd_copy_itarget(1) = (/ -999 /)
- integer, parameter :: vd_copy_isource(1) = (/ -999 /)
- ! number of aerosol bins used for deposition:
- integer, parameter :: nrdep = 0
- ! aerosol radii used for each bin:
- real, parameter :: lur(1) = (/ -999.9 /)
- ! ********************************************************************
- ! wet deposition
- ! ********************************************************************
- !
- ! nscav : selected species for scavenging
- ! nscav_index : index for scavenging:
- ! nscav_type : type of scavenging:
- ! 0 no scavenging
- ! 1 scavenging 100 % solubility assumed
- ! 2 scavenging henry solubility assumed
- ! 3 scavenging, aerosol removal assumed
- ! 4 scavenging, special case for SO2 with aq phase diss.
- !
- integer, parameter :: nscav = 0
- integer, parameter :: nscav_index(1) = (/ -999 /)
- !
- ! note CMK CFD: wetS accounts for removal of SO2, so nscav_type = 0
- ! nh3 is taken out anyhow, since most will be scavenged
- ! by acidic falling frops below cloud
- integer, parameter :: nscav_type(1) = (/ -999 /)
- !
- ! !REVISION HISTORY:
- ! 9 Sep 2010 - Philippe Le Sager - Added "tracer_name_len"
- !
- ! !REMARKS:
- !
- !EOP
- !------------------------------------------------------------------------
- end module chem_param
|