deposition_data.F90 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. !### macro's #####################################################
  2. !
  3. #define TRACEBACK write (gol,'("in ",a," (",a,", line",i5,")")') rname, __FILE__, __LINE__; call goErr
  4. #define IF_NOTOK_RETURN(action) if (status/=0) then; TRACEBACK; action; return; end if
  5. #define IF_ERROR_RETURN(action) if (status> 0) then; TRACEBACK; action; return; end if
  6. !
  7. #include "tm5.inc"
  8. !
  9. !#################################################################
  10. !------------------------------------------------------------------------------
  11. ! TM5 !
  12. !------------------------------------------------------------------------------
  13. !BOP
  14. !
  15. ! !MODULE: deposition_data
  16. !
  17. ! !DESCRIPTION: Dry Deposition Constants
  18. !\\
  19. !\\
  20. ! !INTERFACE:
  21. !
  22. module deposition_data
  23. !
  24. ! !USES:
  25. !
  26. use GO, only : gol, goPr, goErr
  27. implicit none
  28. public
  29. !
  30. ! !PUBLIC DATA MEMBERS:
  31. !
  32. !
  33. ! -- definition of terms which correct for the diffusivity
  34. ! for the computation of the boundary layer resistance, (v/D)**2/3
  35. ! v = 0.189 cm2 s-1 (heat) and D from DH2O/DX where DH2O=0.212
  36. !
  37. real, parameter :: diffrb_o3 = 1.2
  38. real, parameter :: diffrb_hno3 = 1.4
  39. real, parameter :: diffrb_no = 1.1
  40. real, parameter :: diffrb_no2 = 1.2
  41. real, parameter :: diffrb_so2 = 1.4
  42. real, parameter :: diffrb_so4 = 999.
  43. real, parameter :: diffrb_h2o2 = 1.2
  44. real, parameter :: diffrb_ald2 = 1.4
  45. real, parameter :: diffrb_mald = 1.4
  46. real, parameter :: diffrb_ch2o = 1.1
  47. real, parameter :: diffrb_ch3o2h = 1.3
  48. real, parameter :: diffrb_nh3 = 0.9
  49. real, parameter :: diffrb_pan = 1.7
  50. real, parameter :: diffrb_co = 1.2
  51. real, parameter :: diffrb_ch3coo2h = 1.5
  52. real, parameter :: diffrb_hcooh = 1.3
  53. real, parameter :: diffrb_hno2 = 1.3
  54. real, parameter :: diffrb_hno4 = 0.0 ! <--- dummy
  55. !
  56. ! -- parallel soil resistance, the resistances of the trace gases
  57. ! of the Wesely scheme are calculated assuming a O3 soil resistance
  58. ! of 400 s m-1, for SO2 rsoil=100 s m-1 and the wet skin resistance of
  59. ! O3 is 2000 s m-1 whereas rws SO2 is 100 s m-1.
  60. !
  61. real, parameter :: rsoil_o3 = 400.0
  62. real, parameter :: rsoil_hno3 = 1.0
  63. real, parameter :: rsoil_no = 1.0e+10
  64. real, parameter :: rsoil_no2 = 600.0
  65. real, parameter :: rsoil_so2 = 100.0
  66. real, parameter :: rsoil_so4 = 999.
  67. real, parameter :: rsoil_h2o2 = 80.0
  68. real, parameter :: rsoil_mald = 1.e+10
  69. real, parameter :: rsoil_ald2 = 1.0e+10
  70. real, parameter :: rsoil_ch2o = 1666.0
  71. real, parameter :: rsoil_ch3o2h = 3650.0
  72. real, parameter :: rsoil_nh3 = 100.0
  73. real, parameter :: rsoil_pan = 3994.0
  74. real, parameter :: rsoil_co = 5.0e+4
  75. real, parameter :: rsoil_ch3coo2h = 3290.0
  76. real, parameter :: rsoil_hcooh = 1.0
  77. real, parameter :: rsoil_hno2 = 97.0
  78. real, parameter :: rsoil_hno4 = 0.0 ! <--- dummy
  79. !
  80. ! -- sea water resistance, which is generally similar to the wet skin
  81. ! resistance except of that for SO2 due to a different pH of sea water
  82. ! compared to the pH of a wet canopy
  83. ! note for ammonia ocean emissions we use 2-way exchange approach FD
  84. !
  85. real, parameter :: rwat_o3 = 2000.0
  86. real, parameter :: rwat_hno3 = 1.0
  87. real, parameter :: rwat_no = 1.0e+10
  88. real, parameter :: rwat_no2 = 3000.0
  89. real, parameter :: rwat_so2 = 1.0
  90. real, parameter :: rwat_so4 = 999.0
  91. real, parameter :: rwat_h2o2 = 72.0
  92. real, parameter :: rwat_mald = 300.0
  93. real, parameter :: rwat_ald2 = 300.0
  94. real, parameter :: rwat_ch2o = 254.0
  95. real, parameter :: rwat_ch3o2h = 293.0
  96. real, parameter :: rwat_nh3 = 1.0
  97. real, parameter :: rwat_pan = 295.0
  98. real, parameter :: rwat_co = 1.0e+10
  99. real, parameter :: rwat_ch3coo2h = 291.0
  100. real, parameter :: rwat_hcooh = 1.0
  101. real, parameter :: rwat_hno2 = 75.0
  102. real, parameter :: rwat_hno4 = 0.0 ! <--- dummy
  103. !
  104. ! -- wet skin reservoir resistance
  105. !
  106. real, parameter :: rws_o3 = 2000.0
  107. real, parameter :: rws_hno3 = 1.0
  108. real, parameter :: rws_no = 1.0e+10
  109. real, parameter :: rws_no2 = 3000.0
  110. real, parameter :: rws_so2 = 100.0
  111. real, parameter :: rws_so4 = 999.0
  112. real, parameter :: rws_h2o2 = 72.0
  113. real, parameter :: rws_mald = 300.0
  114. real, parameter :: rws_ald2 = 300.0
  115. real, parameter :: rws_ch2o = 254.0
  116. real, parameter :: rws_ch3o2h = 293.0
  117. real, parameter :: rws_nh3 = 1.0
  118. real, parameter :: rws_pan = 295.0
  119. real, parameter :: rws_co = 1.0e+10
  120. real, parameter :: rws_ch3coo2h = 291.0
  121. real, parameter :: rws_hno2 = 75.0
  122. real, parameter :: rws_hcooh = 1.0
  123. real, parameter :: rws_hno4 = 0.0 ! <--- dummy
  124. !
  125. ! -- snow resistance, the snow/ice resistances of the trace gases
  126. ! of Wesely's scheme are taken same as that of the rsoil and corrected
  127. ! for temperatures smaller than 271 K
  128. !
  129. real, parameter :: rsnow_o3 = 2000.0
  130. real, parameter :: rsnow_hno3 = 1.0
  131. real, parameter :: rsnow_no = 1.0e+10
  132. real, parameter :: rsnow_no2 = 3000.0
  133. real, parameter :: rsnow_so2 = 1.0
  134. real, parameter :: rsnow_so4 = 999.0
  135. real, parameter :: rsnow_h2o2 = 80.0
  136. real, parameter :: rsnow_mald = 1.0e+10
  137. real, parameter :: rsnow_ald2 = 1.0e+10
  138. real, parameter :: rsnow_ch2o = 1666.0
  139. real, parameter :: rsnow_ch3o2h = 3650.0
  140. real, parameter :: rsnow_nh3 = 1.0e10
  141. real, parameter :: rsnow_pan = 3394.0
  142. real, parameter :: rsnow_co = 1.0e10
  143. real, parameter :: rsnow_ch3coo2h = 3290.0
  144. real, parameter :: rsnow_hcooh = 1.0e+10
  145. real, parameter :: rsnow_hno2 = 97.0
  146. real, parameter :: rsnow_hno4 = 0.0 ! <--- dummy
  147. !
  148. ! -- mesophyll resistance
  149. !
  150. real, parameter :: rmes_o3 = 1.0
  151. real, parameter :: rmes_hno3 = 1.0
  152. real, parameter :: rmes_no = 500.0
  153. real, parameter :: rmes_no2 = 1.0
  154. real, parameter :: rmes_so2 = 1.0
  155. real, parameter :: rmes_so4 = 999.0
  156. real, parameter :: rmes_h2o2 = 1.0
  157. real, parameter :: rmes_mald = 200.0
  158. real, parameter :: rmes_ald2 = 200.0
  159. real, parameter :: rmes_ch2o = 1.0
  160. real, parameter :: rmes_ch3o2h = 1.0
  161. real, parameter :: rmes_nh3 = 1.0
  162. real, parameter :: rmes_pan = 1.0
  163. real, parameter :: rmes_co = 1.0e10
  164. real, parameter :: rmes_ch3coo2h = 1.0
  165. real, parameter :: rmes_hcooh = 1.0
  166. real, parameter :: rmes_hno2 = 1.0
  167. real, parameter :: rmes_hno4 = 0.0 ! <--- dummy
  168. !
  169. ! -- cuticle resistance
  170. !
  171. real, parameter :: rcut_o3 = 1.0e+10
  172. real, parameter :: rcut_hno3 = 1.0
  173. real, parameter :: rcut_no = 1.0e+10
  174. real, parameter :: rcut_no2 = 1.0e+10
  175. real, parameter :: rcut_so2 = 1.0e+10
  176. real, parameter :: rcut_so4 = 999.
  177. real, parameter :: rcut_h2o2 = 1.0e+10
  178. real, parameter :: rcut_mald = 1.0e+10
  179. real, parameter :: rcut_ald2 = 1.0e+10
  180. real, parameter :: rcut_ch2o = 1.0e+10
  181. real, parameter :: rcut_ch3o2h = 1.0e+10
  182. real, parameter :: rcut_nh3 = 1.0e+10
  183. real, parameter :: rcut_pan = 1.0e+10
  184. real, parameter :: rcut_co = 1.0e+10
  185. real, parameter :: rcut_ch3coo2h = 1.0e+10
  186. real, parameter :: rcut_hcooh = 2500.0
  187. real, parameter :: rcut_hno2 = 1.0e+10
  188. real, parameter :: rcut_hno4 = 0.0 ! <--- dummy
  189. !
  190. ! -- Diffusivity coefficent, to correct stomatal resistance for differences
  191. ! in diffusivity between water vapour and the specific trace gas
  192. !
  193. real, parameter :: diffcf_o3 = 1.6
  194. real, parameter :: diffcf_hno3 = 1.9
  195. real, parameter :: diffcf_no = 1.3
  196. real, parameter :: diffcf_no2 = 1.6
  197. real, parameter :: diffcf_so2 = 1.9
  198. real, parameter :: diffcf_so4 = 999.
  199. real, parameter :: diffcf_h2o2 = 1.4
  200. real, parameter :: diffcf_mald = 1.6
  201. real, parameter :: diffcf_ald2 = 1.6
  202. real, parameter :: diffcf_ch2o = 1.3
  203. real, parameter :: diffcf_ch3o2h = 1.6
  204. real, parameter :: diffcf_nh3 = 1.0
  205. real, parameter :: diffcf_pan = 2.6
  206. real, parameter :: diffcf_co = 1.2
  207. real, parameter :: diffcf_ch3coo2h = 2.0
  208. real, parameter :: diffcf_hcooh = 1.6
  209. real, parameter :: diffcf_hno2 = 1.6
  210. real, parameter :: diffcf_hno4 = 0.0 ! <--- dummy
  211. !
  212. ! !REVISION HISTORY:
  213. ! 25 Mar 2010 - P. Le Sager - reintroduced SO4 parameters, added
  214. ! protex tags.
  215. ! 7 Feb 2013 - N Banda - changed high resistance values - from 1e+5 to 1e+10
  216. ! 3 Sep 2013 - P. Le Sager - declare all as real instead of integer
  217. !
  218. !
  219. ! !REMARKS:
  220. ! o extracted from dry_deposition.F90 codes;
  221. ! o dummy values for HNO4, actual deposition velocity is computed from:
  222. ! vd(HNO4) = ( vd(NO2) + vd(H2O2) )/2
  223. !
  224. !EOP
  225. !------------------------------------------------------------------------------
  226. end module deposition_data