PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module tropchem_driver_mod

Contact:  Larry W. Horowitz
Reviewers: 
Change History: WebCVS Log


OVERVIEW

This code calculates tracer tendencies due to tropospheric chemistry

This code calculates chemical production and loss of tracers due to tropospheric chemistry. It also includes dry deposition, upper boundary conditions, emissions. Off-line sulfate concentrations are read in for use in calculating heterogeneous reaction rates (if SO4 is not included as a tracer).

This module is only activated is do_tropchem=T in tropchem_driver_nml



OTHER MODULES USED

                   fms_mod
time_manager_mod
diag_manager_mod
tracer_manager_mod
field_manager_mod
atmos_tracer_utilities_mod
constants_mod
mpp_mod
interpolator_mod
mo_chemdr_mod
mo_chemini_mod
M_TRACNAME_MOD
MO_GRID_MOD
MOZ_HOOK_MOD

PUBLIC INTERFACE

tropchem_driver:
Tropospheric chemistry driver.
tropchem_driver_init:
Initializes the tropospheric chemistry driver.
read_2D_emis_data:
Read emissions file
init_2D_emis_data:
Open emissions file
tropchem_drydep_init:
Open dry deposition file


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. tropchem_driver

    call tropchem_driver (lon, lat, land, pwt, r, chem_dt, & Time, phalf, pfull, t, is, js, dt, & z_half, z_full, q, tsurf, albedo, coszen, & Time_next, rdiag, kbot)
    DESCRIPTION
    This subroutine calculates the sources and sinks of tracers due to tropospheric chemistry. It is called from atmos_tracer_driver.


    INPUT
    lon    The longitudes for the local domain.
       [real, dimension(:,:)]
    lat    The latitudes for the local domain.
       [real, dimension(:,:)]
    land    The latitudes for the local domain.
       [real, dimension(:,:)]
    pwt    Pressure weighting (air mass) for each layer (kg/m2)
       [real, dimension(:,:,:)]
    r    Tracer mixing ratios (tropchem tracers in VMR)
       [real, dimension(:,:,:,:)]
    Time, Time_next    Model time
       [time_type]
    phalf    Pressure on the model half levels (Pa)
       [real, dimension(:,:,:)]
    pfull    Pressure on the model full levels (Pa)
       [real, dimension(:,:,:)]
    t    Temperature.
       [real, dimension(:,:,:)]
    is, js    Local domain start indices
       [integer]
    dt    Model physics timestep (s)
       [real]
    z_half    Height at model half levels (m)
       [real, dimension(:,:,:)]
    z_full    Height at model full levels (m)
       [real, dimension(:,:,:)]
    q    Specific humidity (kg/kg)
       [real, dimension(:,:,:)]
    tsurf    Surface temperature (K)
       [real, dimension(:,:)]
    albedo    Surface albedo
       [real, dimension(:,:)]
    coszen    Cosine of the solar zenith angle
       [real, dimension(:,:)]
    kbot    Integer array describing which model layer intercepts the surface.
       [integer, optional, dimension(:,:)]

    INPUT/OUTPUT
    rdiag    Diagnostic tracer mixing ratios (tropchem tracers in VMR), updated on output
       [real, dimension(:,:,:,:)]

    OUTPUT
    chem_dt    Tracer tendencies from tropospheric chemistry (VMR/s)
       [real, dimension(:,:,:,:)]

  2. tropchem_driver_init

    Ltropchem = tropchem_driver_init ( r, mask, axes, Time, & lonb_mod, latb_mod, phalf, & drydep_data )
    DESCRIPTION
    This subroutine initializes the tropospheric chemistry module. It is called from atmos_tracer_driver_init. Data sets are read in for dry deposition, upper boundary conditions, and emissions. Off-line sulfate concentrations are also read in for use in calculating heterogeneous reaction rates (if SO4 is not included as a tracer).


    INPUT
    mask    optional mask that designates which grid points are above (1) or below (0) the ground
       [real, optional, dimension(:,:,:)]
    axes    The axes relating to the tracer array
       [integer, dimension(4)]
    Time    Model time.
       [type(time_type)]
    lonb_mod    The longitudes for the local domain.
       [real, dimension(:)]
    latb_mod    The latitudes for the local domain.
       [real, dimension(:)]
    phalf    Pressure on the model half levels (Pa)
       [real, dimension(:,:,:)]

    INPUT/OUTPUT
    r    Tracer mixing ratios (tropchem tracers in VMR)
       [real, dimension(:,:,:,:)]

    OUTPUT
    drydep_data    Tracer dry deposition velocities
       [interpolate_type, dimension(:)]
    Ltropchem    Do tropospheric chemistry? (Output as function value)
       [logical]

  3. read_2D_emis_data

    call read_2D_emis_data ( emis_type, emis, Time, field_names, is, js, id_emis )
    DESCRIPTION
    Reads tracer surface emissions from a NetCDF file


  4. init_2D_emis_data

    call init_2D_emis_data ( emis_type, model, method_type, index, file_name, & lonb_mod, latb_mod, field_type, flag )
    DESCRIPTION
    Opens NetCDF file of tracer surface emissions for reading, and set up interpolation to model grid/time


  5. tropchem_drydep_init

    call tropchem_drydep_init ( dry_files, dry_names, & lonb_mod, latb_mod, & drydep_data )
    DESCRIPTION
    Opens NetCDF file of tracer dry deposition velocities for reading, and set up interpolation to model grid/time



DATA SETS

None.


ERROR MESSAGES

FATAL in tropchem_driver
tropchem_driver_init must be called first.
Tropchem_driver_init needs to be called before tracer_driver.
WARNING in tropchem_driver_init
Tropospheric chemistry tracer not found in field table
A tropospheric chemistry tracer was not included in the field table


top