IndexRundeck: E6TomaF40Created: Fri May 17 03:30:39 EDT 2024

masterchem

Module:
File: TRCHEM_master.f
Summary: masterchem main chemistry routine
Author : Drew Shindell (modelEifications by Greg Faluvegi)
Version:

Declaration:
Calls the following subroutines/functions:
fastj2_drv

crates
Module: Global File: TRCHEM_master.f
Crates calculate chemical reaction rates for each altitude, using JPL 00. Includes special calculations for pressure dependent reactions. Specifically: rrbi%CO_OH__HO2_O2, #15 HO2+HO2->H2O2+O2, #16 OH+HNO3->H2O+NO3, and reactions #29, and #42.
oxfam
Module: Global File: TRCHEM_family.f
Oxfam Find O,O1D & Ox initial conc assuming equilibrium with O3
hoxfam
Module: Global File: TRCHEM_family.f
HOxfam Find HOx family (OH,HO2) partitioning assuming equilibrium concentration of HOx.
noxfam
Module: Global File: TRCHEM_family.f
NOxfam Find NOx family (NO,NO2,NO3,HONO) partitioning assuming equilibrium at a given concentration of NOx. Only called during daylight, then assume NO3=HONO=1.
chemstep
Module: Global File: TRCHEM_calc.f
chemstep Calculate new concentrations after photolysis & chemistry
Variables:
get_param : used from dictionary_mod

is_set_param : used from dictionary_mod

qmom : used from somtq_com

pack_data : used from domain_decomp_1d

grid : used from domain_decomp_atm

getdomainbounds : used from domain_decomp_atm

am_i_root : used from domain_decomp_atm

globalsum : used from domain_decomp_atm

globalmax : used from domain_decomp_atm

write_parallel : used from domain_decomp_atm

writet8_column : used from domain_decomp_atm

writet_parallel : used from domain_decomp_atm

ls1 : used from resolution
Initial Value = >ls1_nominal
plbot : used from resolution

im : used from resolution

jm : used from resolution

t : used from atm_com

q : used from atm_com

modeleclock : used from model_com

itime : used from model_com

itimei : used from model_com

itime0 : used from model_com

hours_per_day : used from timeconstants_mod

ntm : used from tracer_com

coupled_chem : used from tracer_com

o2x : used from rad_com

radian : used from constant

gasc : used from constant

mair : used from constant

mb2kg : used from constant

pi : used from constant

avog : used from constant

rgas : used from constant

po2 : used from constant

bygrav : used from constant

lhe : used from constant

undef : used from constant

teeny : used from constant

byavog : used from constant

pedn : used from atm_com

pmidl00 : used from atm_com

ltropo : used from atm_com

openunit : used from filemanager

closeunit : used from filemanager

nameunit : used from filemanager

cosz1 : used from rad_com

alb : used from rad_com

rcloudfj : used from rad_com
Initial Value = >rcld
rad_to_chem : used from rad_com

chem_tracer_save : used from rad_com

h2obych4 : used from rad_com

srdn : used from rad_com

rad_to_file : used from rad_com

ghg_yr : used from rad_com

clim_interact_chem : used from rad_com

strato3_tracer_save : used from rad_com

byaxyp : used from geom

axyp : used from geom

lat2d_dg : used from geom

imaxj : used from geom

lat2d : used from geom

tr3dsource : used from fluxes

tr_wd_type : used from oldtracer_mod

nwater : used from oldtracer_mod

ntm_chem_beg : used from tracer_com

ntm_chem_end : used from tracer_com

n_ox : used from tracer_com

n_nox : used from tracer_com

n_n2o5 : used from tracer_com

n_hno3 : used from tracer_com

n_h2o2 : used from tracer_com

n_hcho : used from tracer_com

n_ho2no2 : used from tracer_com

n_co : used from tracer_com

n_ch4 : used from tracer_com

n_isoprene : used from tracer_com

n_alkylnit : used from tracer_com

n_alkenes : used from tracer_com

n_stratox : used from tracer_com

n_terpenes : used from tracer_com

n_so4 : used from tracer_com

n_h2o2_s : used from tracer_com

oh_live : used from tracer_com

no3_live : used from tracer_com

ntm_chem : used from tracer_com

n_dms : used from tracer_com

n_msa : used from tracer_com

n_so2 : used from tracer_com

trm : used from tracer_com

trmom : used from tracer_com

nchemistry : used from tracer_com

noverwrite : used from tracer_com

n_isopp1g : used from tracer_com

n_isopp1a : used from tracer_com

n_isopp2g : used from tracer_com

n_isopp2a : used from tracer_com

n_apinp1g : used from tracer_com

n_apinp1a : used from tracer_com

n_apinp2g : used from tracer_com

n_apinp2a : used from tracer_com

rsulf1 : used from tracer_com

rsulf2 : used from tracer_com

rsulf3 : used from tracer_com

rsulf4 : used from tracer_com

n_hbr : used from tracer_com

n_hocl : used from tracer_com

n_hcl : used from tracer_com

n_clono2 : used from tracer_com

n_clox : used from tracer_com

n_brox : used from tracer_com

n_brono2 : used from tracer_com

n_cfc : used from tracer_com

n_n2o : used from tracer_com

n_hobr : used from tracer_com

tr_mm : used from oldtracer_mod

mass2vol : used from oldtracer_mod

vol2mass : used from oldtracer_mod

trname : used from oldtracer_mod

krate : used from tracer_com

n_n_d1 : used from tracer_com

n_n_d2 : used from tracer_com

n_n_d3 : used from tracer_com

taijs : used from trdiag_com
Initial Value = >taijs_loc
taijls : used from trdiag_com
Initial Value = >taijls_loc
ijlt_no3 : used from trdiag_com

jls_cop : used from trdiag_com

jls_cod : used from trdiag_com

jls_oxp : used from trdiag_com

jls_n2o5sulf : used from trdiag_com

jls_o3vmr : used from trdiag_com

jls_oxd : used from trdiag_com

jls_oxpt : used from trdiag_com

jls_oxdt : used from trdiag_com

ijs_no2_1030 : used from trdiag_com

ijs_no2_1030c : used from trdiag_com

ijlt_cop : used from trdiag_com

ijlt_cod : used from trdiag_com

ijlt_oxd : used from trdiag_com

ijlt_oxp : used from trdiag_com

ijlt_po1d : used from trdiag_com

ijs_o3mass : used from trdiag_com

ijlt_poh : used from trdiag_com

ijlt_oxpho2 : used from trdiag_com

ijlt_oxpch3o2 : used from trdiag_com

ijlt_oxlho2 : used from trdiag_com

ijlt_oxlalk : used from trdiag_com

ijlt_oxloh : used from trdiag_com

ijs_no2_1330 : used from trdiag_com

ijs_no2_1330c : used from trdiag_com

ijlt_no2vmr : used from trdiag_com

ijlt_novmr : used from trdiag_com

ijlt_jo1d : used from trdiag_com

ijlt_jno2 : used from trdiag_com

ijlt_jh2o2 : used from trdiag_com

ijlt_o3ppbv : used from trdiag_com

ijlt_o3cmatm : used from trdiag_com

jls_clocon : used from trdiag_com

jls_h2ocon : used from trdiag_com

soa_aerosolphase : used from tracers_soa

voc2nox : used from tracers_soa

soa_apart : used from tracers_soa

whichsoa : used from tracers_soa

apartmolar : used from tracers_soa

lm_soa : used from tracers_soa

zonalmean_ij2ij : used from zonalmean_mod

nn_ch4 : used from tracer_com

nn_n2o : used from tracer_com

nn_ox : used from tracer_com

nn_nox : used from tracer_com

nn_n2o5 : used from tracer_com

nn_hno3 : used from tracer_com

nn_h2o2 : used from tracer_com

nn_hcho : used from tracer_com

nn_ho2no2 : used from tracer_com

nn_h2o17 : used from tracer_com

nn_isoprene : used from tracer_com

nn_alkylnit : used from tracer_com

nn_alkenes : used from tracer_com

nn_stratox : used from tracer_com

nn_terpenes : used from tracer_com

nn_isopp1g : used from tracer_com

nn_isopp1a : used from tracer_com

nn_isopp2g : used from tracer_com

nn_isopp2a : used from tracer_com

nn_apinp1g : used from tracer_com

nn_apinp1a : used from tracer_com

nn_apinp2g : used from tracer_com

nn_apinp2a : used from tracer_com

nn_clox : used from tracer_com

nn_brox : used from tracer_com

nn_hcl : used from tracer_com

nn_hocl : used from tracer_com

nn_clono2 : used from tracer_com

nn_hbr : used from tracer_com

nn_hobr : used from tracer_com

nn_brono2 : used from tracer_com

nn_cfc : used from tracer_com

nn_glt : used from tracer_com

subdd_groups : used from subdd_mod

subdd_type : used from subdd_mod

subdd_ngroups : used from subdd_mod

inc_subdd : used from subdd_mod

find_groups : used from subdd_mod

lmaxsubdd : used from subdd_mod

fastj2_drv : used from photolysis

o3_fastj : used from photolysis

rj : used from photolysis

sza : used from photolysis

szamax : used from photolysis

zj : used from photolysis

jpnl : used from photolysis

sf3_fact : used from photolysis

sf2_fact : used from photolysis

igrp : integer

ngroups : integer

grpids : integer, dimension(subdd_ngroups)

subdd : type(subdd_type), pointer

mrno : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo, lm)

mrno2 : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo, lm)

mro3 : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo, lm)

oh_conc : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo, lm)

ho2_conc : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo, lm)

jo1d_rate : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo, lm)

jno2_rate : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo, lm)

by35 : real*8, parameter
1/35 used for spherical geometry constant
Initial Value = 1.d0/35.d0
o3col : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo)

fastj_pfact : real*8
temp factor for vertical pressure-weighting
3 :
temp variable for strat overwrite
2 :
temp variable for strat overwrite
fact1 : real*8
temp variable for strat overwrite
bydtsrc : real*8
reciprocal of the timestep dtsrc
local :
logical for error checking
pres2 : real*8, dimension(lm)
local nominal pressure for verticle interpolations
thick : real*8
thickness of each layer in various units
cltot : real*8
total chlorine in all forms (reactive and reservoir)
brtot : real*8
total bromine in all forms (reactive and reservoir)
colmo3 : real*8
are overhead oxygen and ozone columns
colmo2 : real*8
are overhead oxygen and ozone columns
r179 : real*8
for setting CH4 ICs and strat distribution
ch4fact : real*8
for setting CH4 ICs and strat distribution
changehcl : real*8
nighttime changes
changehocl : real*8
nighttime changes
changeclox : real*8
nighttime changes
changeclono2 : real*8
nighttime changes
changehetclono2 : real*8
nighttime het change in ClONO2 (on sulfate)
chght5 : real*8
reaction rates for het rxns on pscs
chght4 : real*8
reaction rates for het rxns on pscs
chght3 : real*8
reaction rates for het rxns on pscs
rmrbrox : real*8
dummy vars with mixing ratios of halogens
rmrclox : real*8
dummy vars with mixing ratios of halogens
rmv : real*8
dummy variable for halogne removal in trop vs height
pifact : real*8, dimension(ntm)
strat-overwrite scaling
pfactor : real*8
to convert units on species chemical changes
bypfactor : real*8
to convert units on species chemical changes
changealdehyde : real*8
,
gwprodn2o5 : real*8
,
gwprodhno3 : real*8
,
dno3 : real*8
,
ration : real*8
variables for nitrogen conservation
rprodn : real*8
variables for nitrogen conservation
rlossn : real*8
variables for nitrogen conservation
n2 : integer
dummy loop variables
l2 : integer
dummy loop variables
ll : integer
dummy loop variables
inss : integer
dummy loop variables
igas : integer
dummy loop variables
n : integer
dummy loop variables
l : integer
dummy loop variables
j : integer
dummy loop variables
i : integer
dummy loop variables
avgtt_ch4 : real*8
Itime avg CH4 # density at LTROPO between 20N and 20S
avgtt_h2o : real*8
Itime avg H2O # density at LTROPO between 20N and 20S
counttt : real*8
# of points between 20N and 20S on LTROPO plane
maxt : integer
chosen tropopause 0=LTROPO(I,J), 1=LS1-1. Or the top layer
sumox :
for summing regional Ox tracers
bysumox :
reciprocal of sum of regional Ox tracers
bymair : real*8, parameter
Initial Value = 1.d0/mair
fact2 : real*8

fact3 : real*8

fact4 : real*8

fact5 : real*8

fact6 : real*8

fact7 : real*8

fact_so4 : real*8

wprod_sulf : real*8

wprodco : real*8

wprodhcho : real*8

rveln2o5 : real*8

changealkenes : real*8

changealkylnit : real*8

changeisoprene : real*8

changehcho : real*8

changehno3 : real*8

changenox : real*8

changen2o5 : real*8

rno3plusno2 : real*8

rn2o5decomp : real*8

rhchoplusno3 : real*8

raldplusno3 : real*8

risopplusno3 : real*8

rcloplusno2 : real*8

rdmsplusno3 : real*8

wlossn2o5 : real*8

wlossnox : real*8

wprodnox : real*8

rlossno3 : real*8

rprodno3 : real*8

wprodn2o5 : real*8

pno3temp : real*8

rbroplusno2 : real*8

wlossclono2 : real*8

wprodclono2 : real*8

changen : real*8

sphericalcorrectionreg1 : real*8

sphericalcorrectionreg2 : real*8

sphericalcorrectionreg3 : real*8

sphericalcorrectionreg4 : real*8

changeterpenes : real*8

rterpplusno3 : real*8

changeisopp1g : real*8

changeisopp2g : real*8

changeapinp1g : real*8

changeapinp2g : real*8

changeox : real*8

fraq : real*8

changeco : real*8

changen_d1 : real*8

changen_d2 : real*8

changen_d3 : real*8

changeno3p : real*8

temp_sw : real*8

albedotouse : real*8

rmrox : real*8

bhno3 : real*8

mhno3 : real*8

hno3_thresh : real*8

ttemp : real*8

changebrox : real*8

changebrono2 : real*8

changebrox2 : real*8

changehbr : real*8

tempchangenox : real*8

ss27x2 : real*8

ss27x2_c : real*8

ohpptv : real*8

ho2pptv : real*8

obyo3 : real*8

no2byno : real*8

clbyclo : real*8

voc2nox_denom : real*8

tempchangeox : real*8

pnoloc : real*8

mean_molecular_speed : real*8

jqq : integer

iqq : integer

iu : integer

itemp_iter : integer

ih1330e : integer

ih1030e : integer

ih1030 : integer

ih1330 : integer

m : integer

istep : integer

index1 : integer

index2 : integer

nb : integer

error : logical

jay : logical

daylight : logical

ghg_name : character*4

ghg_file : character*80

title : character*80

out_line : character(len=300)

ghg_out : real*8, dimension(LM, GRID%I_STRT_HALO:GRID%I_STOP_HALO, GRID%J_STRT_HALO:GRID%J_STOP_HALO)

du_o3_glob : real*8, dimension(jm)

avgtt_ch4_part : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo)

avgtt_h2o_part : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo)

counttt_part : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo)

surfisop : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo)

zonalisop : real*8, dimension(grid%i_strt_halo:grid%i_stop_halo, grid%j_strt_halo:grid%j_stop_halo)

j_0 : integer

j_1 : integer

j_0s : integer

j_1s : integer

j_0h : integer

j_1h : integer

i_0 : integer

i_1 : integer

initial_ghg_setup : integer

have_south_pole : logical

have_north_pole : logical

qsat : real*8

k : integer

hour : integer

idx : integer

Simplex Website Curator: Igor Aleinov — NASA Official: Gavin A. Schmidt

Contact GISS NASA Privacy PolicyAccessibility