Module atmos_sulfate_mod
OVERVIEW
This module is an implementation of sulfate chemistry. It contains
tracer emissions and chemistry. The chemistry is partly based on MOZART.
The change of concentration of SO2, DMS, SO4, MSA and H2O2 are
calculated using monthly mean concentration of OH, HO2, jH2O2, NO3, O3,
pH. The emissions include:
- DMS from seawater
- SO2 by fossil fuel, biomass burning, non-eruptive volcanoes and aircraft
- SO4 by fossil fuel
OTHER MODULES USED
fms_mod
time_manager_mod
diag_manager_mod
tracer_manager_mod
field_manager_mod
constants_mod
atmos_tracer_utilities_mod
PUBLIC INTERFACE
-
atmos_SOx_init:
- The constructor routine for the sulfate module.
-
atmos_SOx_end:
- The destructor routine for the sulfate module.
-
SOx_source_input:
- This subroutine read the monthly mean concentrations of
OH, HO2, NO3, O3, and the monthly photodissociation rates jH2o2 and
pH, as well as the emissions for DMS, SO2, and SO4
*****WARNING:
To save space only the actual month is kept in memory which implies
that the "atmos_SOx_init" should be executed at the begining of each
month. In other words, the script should not run more than 1 month
without a restart
-
atmos_DMS_emission:
- The constructor routine for the sulfate module.
-
atmos_SO2_emission:
- The constructor routine for the sulfate module.
-
atmos_SO4_emission:
- The constructor routine for the sulfate module.
-
get_SO2_nerup_volc_emis:
- This subroutine builds the emission rates of SO2 by non-eruptive volcanoes
PUBLIC DATA
None.
PUBLIC ROUTINES
-
atmos_SOx_init
-
DESCRIPTION
- A routine to initialize the sulfate module.
-
atmos_SOx_end
call atmos_SOx_end
-
DESCRIPTION
- This subroutine writes the version name to logfile and exits.
-
SOx_source_input
-
DESCRIPTION
-
atmos_DMS_emission
call atmos_DMS_emission (r, mask, axes, Time)
-
DESCRIPTION
- A routine to calculate dimethyl sulfide emission form the ocean
-
INPUT
-
mask | optional mask (0. or 1.) that designates which grid points
are above (=1.) or below (=0.) the ground dimensioned as
(nlon,nlat,nlev). [real, optional, dimension(:,:,:)] |
Time | Model time. [type(time_type)] |
axes | The axes relating to the tracer array dimensioned as
(nlon, nlat, nlev, ntime) [integer, dimension(4)] |
-
INPUT/OUTPUT
-
r | Tracer fields dimensioned as (nlon,nlat,nlev,ntrace). [real, dimension(:,:,:,:)] |
-
atmos_SO2_emission
call atmos_SO2_emission ()
-
DESCRIPTION
- A routine to calculate SO2 emission from volcanoes, biomass burning,
anthropogenic sources, aircraft.
-
INPUT
-
mask | optional mask (0. or 1.) that designates which grid points
are above (=1.) or below (=0.) the ground dimensioned as
(nlon,nlat,nlev). [real, optional, dimension(:,:,:)] |
Time | Model time. [type(time_type)] |
axes | The axes relating to the tracer array dimensioned as
(nlon, nlat, nlev, ntime) [integer, dimension(4)] |
-
INPUT/OUTPUT
-
r | Tracer fields dimensioned as (nlon,nlat,nlev,ntrace). [real, dimension(:,:,:,:)] |
-
atmos_SO4_emission
call atmos_SO4_emission ()
-
DESCRIPTION
- A routine to calculate SO4 emission from volcanoes, biomass burning,
anthropogenic sources, aircraft.
-
INPUT
-
mask | optional mask (0. or 1.) that designates which grid points
are above (=1.) or below (=0.) the ground dimensioned as
(nlon,nlat,nlev). [real, optional, dimension(:,:,:)] |
Time | Model time. [type(time_type)] |
axes | The axes relating to the tracer array dimensioned as
(nlon, nlat, nlev, ntime) [integer, dimension(4)] |
-
INPUT/OUTPUT
-
r | Tracer fields dimensioned as (nlon,nlat,nlev,ntrace). [real, dimension(:,:,:,:)] |
-
get_SO2_nerup_volc_emis
-
DESCRIPTION
DATA SETS
None.
ERROR MESSAGES
None.