chem_param__one.F90 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. !
  2. #include "tm5.inc"
  3. !
  4. !----------------------------------------------------------------------------
  5. ! TM5 !
  6. !----------------------------------------------------------------------------
  7. !BOP
  8. !
  9. ! !MODULE: chem_param
  10. !
  11. ! !DESCRIPTION:
  12. !
  13. ! definition of the chemistry: #reactions, order of species, etc.
  14. ! parameters needed for chemistry and rate constants
  15. !
  16. !\\
  17. !\\
  18. ! !INTERFACE:
  19. !
  20. module chem_param
  21. !
  22. ! !USES:
  23. !
  24. use binas, only : xmair
  25. use reaction_data
  26. use deposition_data
  27. implicit none
  28. !
  29. ! !PUBLIC DATA MEMBERS:
  30. !
  31. ! nmark: number of 'marked' tracers
  32. integer, parameter :: nmark = 1
  33. character(len=8),dimension(nmark) :: marknam = (/ 'test ' /)
  34. !
  35. integer, parameter :: ntrace = 1 ! number of tracers for chemistry
  36. integer, parameter :: ntracet = 1 ! number of transported tracers
  37. integer, parameter :: ntrace_chem = ntrace-ntracet ! non-transported tracers
  38. integer, parameter :: maxtrace = ntrace + 0 ! total number of tracers
  39. !
  40. ! components numbers
  41. !
  42. integer, parameter :: itracer=1
  43. !
  44. ! additional fields used in chemistry routine alone
  45. ! (more meteo-like files in units different from #/cm3)
  46. !
  47. integer, parameter :: n_extra = 0
  48. integer, parameter :: nstd = 1
  49. integer, dimension(nstd), parameter :: istd = (/ itracer /)
  50. !
  51. ! species name
  52. !
  53. integer, parameter :: tracer_name_len = 8
  54. Character(len=tracer_name_len), dimension(maxtrace) :: names = (/ 'TEST1 ' /)
  55. !
  56. ! molar weights of components
  57. !
  58. real, parameter :: xmh = 1.0079
  59. real, parameter :: xmn = 14.0067
  60. real, parameter :: xmc = 12.01115
  61. real, parameter :: xms = 32.064
  62. real, parameter :: xmo = 15.9994
  63. real, parameter :: xmcl = 35.453
  64. ! used in wet_depos ...
  65. real, parameter :: xmhno3 = xmh + xmn + xmo*3.0
  66. real,dimension(maxtrace),parameter :: ra = (/ xmair /)
  67. real,dimension(maxtrace),parameter :: fscale = xmair/ra(:)
  68. ! fscale(ntrace): scaling factor for conversion of mixing ratios
  69. ! in kg tracer per kg air to practical mixing ratio units (e.g. ppm)
  70. ! In this version: ratio of molecular weight of tracer to that of air
  71. ! ********************************************************************
  72. ! rates
  73. ! ********************************************************************
  74. ! heterogeneous removal rates
  75. real :: henry(ntracet,ntemp)
  76. ! ********************************************************************
  77. ! dummy tracers
  78. ! ********************************************************************
  79. ! dummy indices for tracers not included in this chemistry;
  80. ! comparision of tracer index with this numbers will fail ...
  81. integer, parameter :: iso2 = -999
  82. integer, parameter :: iso4 = -998
  83. integer, parameter :: inh3 = -997
  84. integer, parameter :: ihno3 = -996
  85. integer, parameter :: ino = -995
  86. integer, parameter :: ino2 = -994
  87. integer, parameter :: inox = -994
  88. integer, parameter :: io3 = -993
  89. integer, parameter :: ihno4 = -992
  90. integer, parameter :: ih2o2 = -991
  91. ! ********************************************************************
  92. ! aerosol
  93. ! ********************************************************************
  94. real, parameter :: density_ref = 1800.0 ! for 'reference' density calculations
  95. ! ********************************************************************
  96. ! dry deposition
  97. ! ********************************************************************
  98. ! number of tracers on which dry depositions should be applied:
  99. integer, parameter :: ndep = 0
  100. ! tracer indices on which dry depositions should be applied:
  101. integer, parameter :: idep(1) = (/ -999 /)
  102. ! deposition parameters:
  103. real, parameter :: ddep_diffrb(1) = (/ -999.9 /)
  104. real, parameter :: ddep_rsoil (1) = (/ -999.9 /)
  105. real, parameter :: ddep_rwat (1) = (/ -999.9 /)
  106. real, parameter :: ddep_rws (1) = (/ -999.9 /)
  107. real, parameter :: ddep_rsnow (1) = (/ -999.9 /)
  108. real, parameter :: ddep_rmes (1) = (/ -999.9 /)
  109. real, parameter :: ddep_rcut (1) = (/ -999.9 /)
  110. real, parameter :: ddep_diffcf(1) = (/ -999.9 /)
  111. ! some vd fields are copies:
  112. integer, parameter :: vd_ncopy = 0 ! dummy
  113. integer, parameter :: vd_copy_itarget(1) = (/ -999 /)
  114. integer, parameter :: vd_copy_isource(1) = (/ -999 /)
  115. ! number of aerosol bins used for deposition:
  116. integer, parameter :: nrdep = 0
  117. ! aerosol radii used for each bin:
  118. real, parameter :: lur(1) = (/ -999.9 /)
  119. ! ********************************************************************
  120. ! wet deposition
  121. ! ********************************************************************
  122. !
  123. ! nscav : selected species for scavenging
  124. ! nscav_index : index for scavenging:
  125. ! nscav_type : type of scavenging:
  126. ! 0 no scavenging
  127. ! 1 scavenging 100 % solubility assumed
  128. ! 2 scavenging henry solubility assumed
  129. ! 3 scavenging, aerosol removal assumed
  130. ! 4 scavenging, special case for SO2 with aq phase diss.
  131. !
  132. integer, parameter :: nscav = 0
  133. integer, parameter :: nscav_index(1) = (/ -999 /)
  134. !
  135. ! note CMK CFD: wetS accounts for removal of SO2, so nscav_type = 0
  136. ! nh3 is taken out anyhow, since most will be scavenged
  137. ! by acidic falling frops below cloud
  138. integer, parameter :: nscav_type(1) = (/ -999 /)
  139. !
  140. ! !REVISION HISTORY:
  141. ! 9 Sep 2010 - Philippe Le Sager - Added "tracer_name_len"
  142. !
  143. ! !REMARKS:
  144. !
  145. !EOP
  146. !------------------------------------------------------------------------
  147. end module chem_param