chem_param__co2.F90 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #include "tm5.inc"
  2. !
  3. !----------------------------------------------------------------------------
  4. ! TM5 !
  5. !----------------------------------------------------------------------------
  6. module chem_param
  7. use binas, only : xmair
  8. use deposition_data
  9. implicit none
  10. integer, parameter :: nmark= 0 ! number of 'marked' tracers
  11. integer, parameter :: nstd = 1 ! number of 'std deviation' in mmix output
  12. !
  13. ! molar weights of components
  14. !
  15. real, parameter :: xmh = 1.0079
  16. real, parameter :: xmn = 14.0067
  17. real, parameter :: xmc = 12.01115
  18. real, parameter :: xms = 32.064
  19. real, parameter :: xmo = 15.9994
  20. real, parameter :: xmcl = 35.453
  21. real, parameter :: xmco2 = xmc + xmo*2.0
  22. ! used in wet_depos ...
  23. real, parameter :: xmhno3 = xmh + xmn + xmo*3.0
  24. !
  25. integer, parameter :: ntrace = 1 ! number of tracers
  26. integer, parameter :: ntracet = 1 ! number of transported tracers
  27. integer, parameter :: ntrace_chem = ntrace-ntracet ! non-transported tracers
  28. !
  29. ! components numbers
  30. !
  31. integer, parameter :: ico2=1
  32. !
  33. ! dummy indices for tracers not included in this chemistry;
  34. ! comparision of tracer index with this numbers will fail ...
  35. integer, parameter :: iso2 = -999
  36. integer, parameter :: iso4 = -998
  37. integer, parameter :: inh3 = -997
  38. integer, parameter :: ihno3 = -996
  39. integer, parameter :: ino = -995
  40. integer, parameter :: ino2 = -994
  41. integer, parameter :: inox = -993
  42. integer, parameter :: io3 = -992
  43. integer, parameter :: ihno4 = -991
  44. integer, parameter :: ih2o2 = -990
  45. integer, parameter :: ich4 = -989
  46. !
  47. integer, parameter :: tracer_name_len = 9
  48. Character(len=tracer_name_len), dimension(ntrace) :: names = (/ 'CO2 ' /)
  49. real,dimension(ntrace),parameter :: ra = (/ xmco2 /)
  50. !
  51. ! additional fields used in chemistry routine alone
  52. ! (more meteo-like files in units different from #/cm3)
  53. !
  54. integer, parameter :: n_extra = 0
  55. ! id list of species, for which standard deviation is wanted (must be transported species)
  56. integer, dimension(nstd), parameter :: istd = (/ ico2 /)
  57. ! fscale(ntrace): scaling factor for conversion of mixing ratios
  58. ! in kg tracer per kg air to practical mixing ratio units (e.g. ppm)
  59. ! In this version: ratio of molecular weight of tracer to that of air
  60. real,dimension(ntrace),parameter :: fscale = xmair/ra(:)
  61. ! ********************************************************************
  62. ! dry deposition
  63. ! ********************************************************************
  64. ! number of tracers on which dry depositions should be applied:
  65. integer, parameter :: ndep = 0
  66. ! tracer indices on which dry depositions should be applied:
  67. integer, parameter :: idep(1) = (/ -999 /)
  68. ! deposition parameters:
  69. real, parameter :: ddep_diffrb(1) = (/ -999.9 /)
  70. real, parameter :: ddep_rsoil (1) = (/ -999.9 /)
  71. real, parameter :: ddep_rwat (1) = (/ -999.9 /)
  72. real, parameter :: ddep_rws (1) = (/ -999.9 /)
  73. real, parameter :: ddep_rsnow (1) = (/ -999.9 /)
  74. real, parameter :: ddep_rmes (1) = (/ -999.9 /)
  75. real, parameter :: ddep_rcut (1) = (/ -999.9 /)
  76. real, parameter :: ddep_diffcf(1) = (/ -999.9 /)
  77. ! some vd fields are copies:
  78. integer, parameter :: vd_ncopy = 0 ! dummy
  79. integer, parameter :: vd_copy_itarget(1) = (/ -999 /)
  80. integer, parameter :: vd_copy_isource(1) = (/ -999 /)
  81. ! number of aerosol bins used for deposition:
  82. integer, parameter :: nrdep = 0
  83. ! aerosol radii used for each bin:
  84. real, parameter :: lur(1) = (/ -999.9 /)
  85. ! ********************************************************************
  86. ! wet deposition
  87. ! ********************************************************************
  88. !
  89. ! nscav : selected species for scavenging
  90. ! nscav_index : index for scavenging:
  91. ! nscav_type : type of scavenging:
  92. ! 0 no scavenging
  93. ! 1 scavenging 100 % solubility assumed
  94. ! 2 scavenging henry solubility assumed
  95. ! 3 scavenging, aerosol removal assumed
  96. ! 4 scavenging, special case for SO2 with aq phase diss.
  97. !
  98. integer, parameter :: nscav = 0
  99. integer, parameter :: nscav_index(1) = (/ -999 /)
  100. !
  101. ! note CMK CFD: wetS accounts for removal of SO2, so nscav_type = 0
  102. ! nh3 is taken out anyhow, since most will be scavenged
  103. ! by acidic falling frops below cloud
  104. integer, parameter :: nscav_type(1) = (/ -999 /)
  105. !
  106. ! !REVISION HISTORY:
  107. ! 9 Sep 2010 - Philippe Le Sager - Added "tracer_name_len"
  108. !
  109. ! !REMARKS:
  110. !
  111. !EOP
  112. !------------------------------------------------------------------------
  113. end module chem_param