seq_drydep_mod Module



Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: n_species_table = 77
character(len=16), public, parameter :: DD_XATM = 'xactive_atm'
character(len=16), public, parameter :: DD_XLND = 'xactive_lnd'
character(len=16), public, parameter :: DD_TABL = 'table'
character(len=16), public :: drydep_method = DD_XLND
real(kind=r8), public, parameter :: ph = 1.e-5_r8
logical, public :: lnd_drydep
integer, public :: n_drydep = 0
character(len=32), public, dimension(maxspc) :: drydep_list = ''
character(len=CS), public :: drydep_fields_token = ''
real(kind=r8), public, allocatable, dimension(:) :: foxd
real(kind=r8), public, allocatable, dimension(:) :: drat
integer, public, allocatable, dimension(:) :: mapping
integer, public :: h2_ndx
integer, public :: ch4_ndx
integer, public :: co_ndx
integer, public :: pan_ndx
integer, public :: mpan_ndx
integer, public :: so2_ndx
integer, public :: o3_ndx
integer, public :: o3a_ndx
integer, public :: xpan_ndx
real(kind=r8), public, parameter :: h2_a(NLUse) = (/0.000_r8, 0.000_r8, 0.270_r8, 0.000_r8, 0.000_r8, 0.000_r8, 0.000_r8, 0.000_r8, 0.000_r8, 0.000_r8, 0.000_r8/)
real(kind=r8), public, parameter :: h2_b(NLUse) = (/0.000_r8, -41.390_r8, -0.472_r8, -41.900_r8, -41.900_r8, -41.900_r8, 0.000_r8, 0.000_r8, 0.000_r8, -41.390_r8, 0.000_r8/)
real(kind=r8), public, parameter :: h2_c(NLUse) = (/0.000_r8, 16.850_r8, 1.235_r8, 19.700_r8, 19.700_r8, 19.700_r8, 0.000_r8, 0.000_r8, 0.000_r8, 17.700_r8, 1.000_r8/)
real(kind=r8), public, dimension(NSeas,NLUse) :: ri
real(kind=r8), public, dimension(NSeas,NLUse) :: rlu
real(kind=r8), public, dimension(NSeas,NLUse) :: rac
real(kind=r8), public, dimension(NSeas,NLUse) :: rgss
real(kind=r8), public, dimension(NSeas,NLUse) :: rgso
real(kind=r8), public, dimension(NSeas,NLUse) :: rcls
real(kind=r8), public, dimension(NSeas,NLUse) :: rclo
real(kind=r8), public, dimension(NSeas,NLUse) :: z0
real(kind=r8), public, parameter :: dfoxd(n_species_table) = (/1._r8, 1._r8, 1._r8, .1_r8, 1.e-36_r8, 1.e-36_r8, 1._r8, .1_r8, 1.e-36_r8, 0._r8, 0._r8, .1_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, .1_r8, 1._r8, 1.e-36_r8, .1_r8, 1._r8, 1.e-36_r8, .1_r8, .1_r8, .1_r8, .1_r8, 1.e-36_r8, 1.e-36_r8, .1_r8, 1.e-36_r8, .1_r8, 1.e-36_r8, .1_r8, .1_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, .1_r8, 1.e-36_r8, .1_r8, 1.e-36_r8, .1_r8, .1_r8, .1_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, .1_r8, .1_r8, .1_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, 1.e-36_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8, 0.1_r8/)
character(len=20), public, parameter :: species_name_table(n_species_table) = (/'OX      ', 'H2O2    ', 'OH      ', 'HO2     ', 'CO      ', 'CH4     ', 'CH3O2   ', 'CH3OOH  ', 'CH2O    ', 'CHOOH   ', 'NO      ', 'NO2     ', 'HNO3    ', 'CO2     ', 'NH3     ', 'N2O5    ', 'NO3     ', 'CH3OH   ', 'HO2NO2  ', 'O1D     ', 'C2H6    ', 'C2H5O2  ', 'PO2     ', 'MACRO2  ', 'ISOPO2  ', 'C4H10   ', 'CH3CHO  ', 'C2H5OOH ', 'C3H6    ', 'POOH    ', 'C2H4    ', 'PAN     ', 'CH3COOOH', 'C10H16  ', 'CHOCHO  ', 'CH3COCHO', 'GLYALD  ', 'CH3CO3  ', 'C3H8    ', 'C3H7O2  ', 'CH3COCH3', 'C3H7OOH ', 'RO2     ', 'ROOH    ', 'Rn      ', 'ISOP    ', 'MVK     ', 'MACR    ', 'C2H5OH  ', 'ONITR   ', 'ONIT    ', 'ISOPNO3 ', 'HYDRALD ', 'HCN     ', 'CH3CN   ', 'SO2     ', 'SOAGff0 ', 'SOAGff1 ', 'SOAGff2 ', 'SOAGff3 ', 'SOAGff4 ', 'SOAGbg0 ', 'SOAGbg1 ', 'SOAGbg2 ', 'SOAGbg3 ', 'SOAGbg4 ', 'SOAG0   ', 'SOAG1   ', 'SOAG2   ', 'SOAG3   ', 'SOAG4   ', 'IVOC    ', 'SVOC    ', 'IVOCbb  ', 'IVOCff  ', 'SVOCbb  ', 'SVOCff  '/)
real(kind=r8), public, parameter :: dheff(n_species_table*6) = (/1.15e-02_r8, 2560._r8, 0._r8, 0._r8, 0._r8, 0._r8, 8.33e+04_r8, 7379._r8, 2.2e-12_r8, -3730._r8, 0._r8, 0._r8, 3.00e+01_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 2.00e+03_r8, 6600._r8, 3.5e-05_r8, 0._r8, 0._r8, 0._r8, 1.00e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.47e+00_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.11e+02_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 6.30e+03_r8, 6425._r8, 0._r8, 0._r8, 0._r8, 0._r8, 5.53e+03_r8, 5700._r8, 1.8e-04_r8, -1510._r8, 0._r8, 0._r8, 1.90e-03_r8, 1480._r8, 0._r8, 0._r8, 0._r8, 0._r8, 6.40e-03_r8, 2500._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 2.6e+06_r8, 8700._r8, 0._r8, 0._r8, 3.40e-02_r8, 2420._r8, 4.5e-07_r8, -1000._r8, 3.6e-11_r8, -1760._r8, 7.40e+01_r8, 3400._r8, 1.7e-05_r8, -450._r8, 1.0e-14_r8, -6716._r8, 2.14e+00_r8, 3362._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0.65e+00_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 2.20e+02_r8, 4934._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.2e+01_r8, 0._r8, 0._r8, 0._r8, 1.00e-16_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.47e+00_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.47e+00_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.47e+00_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.47e+00_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.14e+01_r8, 6267._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.36e+02_r8, 5995._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 2.20e+02_r8, 5653._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 5.00e+00_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 8.37e+02_r8, 5308._r8, 1.8e-04_r8, -1510._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.00e+05_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.71e+03_r8, 7541._r8, 0._r8, 0._r8, 0._r8, 0._r8, 4.14e+04_r8, 4630._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.47e+00_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.45e-03_r8, 2700._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.00e+06_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 2.70e+01_r8, 5300._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.36e+02_r8, 5995._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.47e+00_r8, 5241._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.36e+02_r8, 5995._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0.00e+00_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.70e-03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 2.00e+02_r8, 6500._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.51e+03_r8, 6485._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.00e+03_r8, 6000._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.00e+01_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.00e+01_r8, 6000._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.20e+01_r8, 5000._r8, 0._r8, 0._r8, 0._r8, 0._r8, 5.00e+01_r8, 4000._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.23e+00_r8, 3120._r8, 1.23e-02_r8, 1960._r8, 0._r8, 0._r8, 1.3e+07_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.2e+05_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 4.0e+05_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.3e+05_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.6e+05_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 7.9e+11_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 6.3e+10_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.2e+09_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 6.3e+08_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.2e+07_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 4.0e+11_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.2e+10_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.6e+09_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 3.2e+08_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.6e+07_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.e+03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.e+03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.e+03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.e+03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.e+03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 1.e+03_r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8/)

Interfaces

public interface seq_drydep_setHCoeff

  • private subroutine set_hcoeff_scalar(sfc_temp, heff)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r8), intent(in) :: sfc_temp
    real(kind=r8), intent(out) :: heff(n_drydep)
  • private subroutine set_hcoeff_vector(ncol, sfc_temp, heff)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: ncol
    real(kind=r8), intent(in) :: sfc_temp(ncol)
    real(kind=r8), intent(out) :: heff(ncol,n_drydep)

Subroutines

public subroutine seq_drydep_readnl(NLFilename, ID, seq_drydep_fields)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: NLFilename
integer, intent(in) :: ID
character(len=*), intent(out) :: seq_drydep_fields

public subroutine seq_drydep_init()

Arguments

None