Difference between revisions of "Sandbox"

From Geos-chem
Jump to: navigation, search
(feel free to experiment here)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==feel free to experiment here ==
+
== Instructions for adding tracers to GEOS-Chem ==
  
{| border=1 cellspacing=0 cellpadding=5
+
'''''By [mailto:mpayer@seas.harvard.edu Melissa Payer]'''''
|-align="center"
+
!width="220px"|Previous major release
+
!width="220px" bgcolor="#CCFFFF"|Current release candidate
+
!width="220px"|Pending major release
+
!width="220px"|Next stable version
+
!width="220px"|Successive major release
+
  
|-align="center" valign="top"
+
These instructions describe how to add advected tracers to GEOS-Chem.  Advected tracers are carried in the <tt>STT</tt> array (which is declared in <tt>GeosCore/tracer_mod.F</tt>), and are transported by the winds.
|[[GEOS-Chem_v11-01#v11-01_public_release|GEOS-Chem v11-01-public]]
+
|bgcolor="#CCFFFF"|[[GEOS-Chem v11-02#GEOS-Chem v11-02 release candidate|'''v11-02-release-candidate''']]<br>(aka '''v11-02-rc''')
+
|[[GEOS-Chem 12#12.0.0|GEOS-Chem 12.0.0]]<br>aka v11-02-final in the<br>[[GEOS-Chem version numbering system|old version number system]]
+
|[[GEOS-Chem 12#12.1.0|GEOS-Chem 12.1.0]]
+
|GEOS-Chem 13.0.0
+
  
|-align="center" valign="top"
+
NOTE: Some advected tracers are also chemical species, which comprise GEOS-Chem's NOx-Ox-HC-aerosol chemistry mechanism.
|RELEASED 01 Feb 2017
+
|bgcolor="#CCFFFF"|'''RELEASED 22 Jun 2018'''
+
|RELEASE TBD
+
|RELEASE TBD
+
|RELEASE TBD 2019
+
  
|-align="center" valign="top"
+
#<p>Add tracers to input.geos under Tracer Menu</p>
|[http://acmg.seas.harvard.edu/geos/doc/archive/man.v11-01/index.html GC v11-01 online manual]
+
##<p>Increase “Number of tracers” accordingly</p>
|bgcolor="#CCFFFF"|'''[[GEOS-Chem v11-02 benchmark history|GC v11-02 benchmark history]]'''
+
##<p>Add tracer number, name, molecular weight, and emitted species to end of tracer list</p>
|[http://acmg.seas.harvard.edu/geos/doc/man/index.html GC 12 online manual]
+
#<p>Add tracer(s) to restart file – see separate instructions</p>
|[[GEOS-Chem 12 benchmark history|GC 12 benchmark history]]
+
#<p>Modify the following source code routines:</p>
|
+
##<p><tt>Headers/CMN_SIZE_mod.F</tt></p>
 +
###<p>Increase <tt>NNPAR</tt> by number of tracers being added</p>
 +
###<p>If the species have anthropogenic emissions, increase NEMPARA accordingly</p>
 +
###<p>If the species have biogenic emissions, increase NEMPARB accordingly</p>
 +
###<p>If the species have biomass burning emissions, increase NBIOMAX accordingly</p>
 +
##<p><tt>GeosCore/tracerid_mod.F</tt></p>
 +
###<p>Increase <tt>NNNTRID</tt> by the number of tracers being added NOTE: <tt>NNNTRID</tt> must be equal to <tt>NNPAR</tt> in <tt>CMN_SIZE_mod.F</tt></p>
 +
###<p>Define tracer IDs as needed:</p>
 +
####<p>IDxxxx – ID for SMVGEAR species</p>
 +
####<p>IDTxxxx – GEOS-Chem tracer ID</p>
 +
####<p>IDExxxx – GEOS-Chem emission ID</p>
 +
####<p>IDBFxxxx – GEOS-Chem biofuel ID</p>
 +
####<p>IDBxxxx – GEOS-Chem biomass ID</p>
 +
###<p>In subroutine <tt>TRACERID</tt>,</p>
 +
####<p>Under “Assign tracer, biomass, biofuel, and anthro emission ID’s,” add case for added tracers to initialize IDTxxxx, IDBFxxxx, IDBxxxx</p>
 +
####<p>Under “Initialize the IDExxx flags,” add IF statement for added tracer IDs and initialize IDExxxx</p>
 +
####<p>Under “Fill IDEMS with appropriate tracer ID #’s,” add IF statement for added tracers</p>
 +
####<p>Under “Print additional information,” add WRITE statements for added tracers</p>
 +
###<p>In subroutine SETTRACE  (NOTE: Only do the following if species is included in SMVGEAR chemical mechanism<p>
 +
####<p>Add IF statement, to initialize IDxxxx</p>
 +
####<p>In subroutine INIT_TRACERID,</p>
 +
####<p>Zero all IDs added (IDxxxx, IDTxxxx, IDExxxx, etc.)</p>
 +
##<p>Other modules that may need to be updated include:</p>
 +
###<p>wetscav_mod.F</p>
 +
###<p>drydep_mod.F</p>
 +
###<p>emissions_mod.F</p>
 +
###<p>biomass_mod.F</p>
 +
###<p>biofuel_mod.F</p> etc.
  
|}
 
  
== Collection list ==
 
  
 +
Instructions for adding species to GEOS-Chem
  
EXPID:  OutputDir/GCHP
+
Modify run directory files
EXPDSC: GEOS-Chem_devel
+
CoresPerNode: 6
+
  
#===================================================================
+
1) Add tracers to input.geos under Tracer Menu
# Declare collection names and toggle on/off
+
c) Increase “Number of tracers” accordingly
# by commenting out with a #
+
d) Add tracer number, name, molecular weight, and emitted species to end of tracer list
#===================================================================
+
COLLECTIONS: 'SpeciesConc',
+
              'Aerosols',
+
              'CloudConvFlux',
+
              'ConcAfterChem',
+
              'DryDep',
+
              'JValues',
+
              'JValuesLocalNoon',
+
              'LevelEdgeDiags',     
+
              'ProdLoss',
+
              'StateChm',   
+
              'StateMet',     
+
              'WetLossConv',
+
              'WetLossLS',
+
  
== The SpeciesConc collection ==
+
2) Add tracer(s) to restart file – see separate instructions
  
A sample collection definition section is listed below. You may cut-and-paste this into your <tt>HISTORY.rc</tt> file and edit accordingly.
+
3) Modify globchem.dat to include additional species, kinetic reactions (including emissions and drydep), or photolysis reactions
 +
NOTE: If you modify globchem.dat and plan to run GEOS-Chem using the KPP chemical solver, you will need to generate new gckpp*.F90 files. For more information see the following wiki pages:
 +
http://wiki.seas.harvard.edu/geos-chem/index.php/KPP_solvers_FAQ#What_are_the_cons_of_using_KPP.3F
 +
http://wiki.seas.harvard.edu/geos-chem/index.php/Interfacing_GEOS-Chem_with_KPP#Generating_KPP_input_files_from_GEOS-Chem_globchem.dat
  
  SpeciesConc.template:      '%y4%m2%d2_%h2%n2z.nc4',
+
4) If necessary, modify:
  SpeciesConc.format:         'CFIO',
+
a) ratj.d – contains species names and branching ratios for FAST–JX photolysis species
  SpeciesConc.frequency:      010000
+
For more information: http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html#5.4.1
  SpeciesConc.duration:      010000
+
b) jv_spec.dat – contains cross-sections and quantum yields for FAST–JX photolysis species
  SpeciesConc.mode:          'time-averaged'
+
For more information: http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html#5.4.3
  SpeciesConc.fields:        'SpeciesConc_?ADV?            ', 'GIGCchem',
+
 
+
Here follows a description of diagnostic quantities belonging to the SpeciesConc collection.
+
 
+
{| border=1 cellspacing=0 cellpadding=5
+
|-valign="top" bgcolor="#CCCCCC"
+
!width="225px"|Diagnostic name
+
!width="225px"|Description
+
!width="125px"|Units
+
!width="80px"|Wildcards
+
!width="150px"|Simulations
+
!width="100px"|[[List of diagnostics archived to bpch format|Bpch equiv.]]
+
!width="150px"|Notes
+
 
+
|-valign="top"
+
|SpeciesConc_<spcname>
+
|Chemical species concentrations
+
|mol/mol dry air
+
|
+
*?ADV?
+
*?AER?
+
*?ALL?
+
*?DRY?
+
*?FIX?
+
*?GAS?
+
*?KPP?
+
*?PHO?
+
*?VAR?
+
*?WET?
+
|all simulations
+
|
+
*[[List of diagnostics archived to bpch format|ND45]]
+
*[[List of diagnostics archived to bpch format|ND47]]
+
*[[List of diagnostics archived to bpch format|ND48]]
+
*[[List of diagnostics archived to bpch format|ND49]]
+
*[[List of diagnostics archived to bpch format|ND50]]
+
*[[List of diagnostics archived to bpch format|ND51]]
+
|
+
|}
+
 
+
== Aerosol diagnostics ==
+
 
+
#===================================================================
+
# Aerosol optical depth, surface area, number density, and hygroscopic growth
+
  Aerosols.template:         '%y4%m2%d2_%h2%n2z.nc4',
+
  Aerosols.format:           'CFIO',
+
  Aerosols.frequency:        010000
+
  Aerosols.duration:          010000
+
  Aerosols.mode:              'time-averaged'
+
  Aerosols.fields:            'AODDust                      ', 'GIGCchem',
+
                              'AODDustWL1_?DUSTBIN?          ', 'GIGCchem',
+
                              'AODHygWL1_?HYG?              ', 'GIGCchem',
+
                              'AODSOAfromAqIsopreneWL1      ', 'GIGCchem',
+
                              'AODStratLiquidAerWL1          ', 'GIGCchem',
+
                              'AODPolarStratCloudWL1        ', 'GIGCchem',
+
                              'AerHygroscopicGrowth_?HYG?    ', 'GIGCchem',
+
                              'AerNumDensityStratLiquid      ', 'GIGCchem',
+
                              'AerNumDensityStratParticulate ', 'GIGCchem',
+
                              'AerAqueousVolume              ', 'GIGCchem',
+
                              'AerSurfAreaDust              ', 'GIGCchem',
+
                              'AerSurfAreaHyg_?HYG?          ', 'GIGCchem',
+
                              'AerSurfAreaStratLiquid        ', 'GIGCchem',
+
                              'AerSurfAreaPolarStratCloud    ', 'GIGCchem',
+
                              'Chem_AeroAreaMDUST1          ', 'GIGCchem',
+
                              'Chem_AeroAreaMDUST2          ', 'GIGCchem',
+
                              'Chem_AeroAreaMDUST3'          ', 'GIGCchem',
+
                              'Chem_AeroAreaMDUST4          ', 'GIGCchem',
+
                              'Chem_AeroAreaMDUST5          ', 'GIGCchem',
+
                              'Chem_AeroAreaMDUST6          ', 'GIGCchem',
+
                              'Chem_AeroAreaMDUST7          ', 'GIGCchem',
+
                              'Chem_AeroAreaSULF            ', 'GIGCchem',
+
                              'Chem_AeroAreaBC              ', 'GIGCchem',
+
                              'Chem_AeroAreaOC              ', 'GIGCchem',
+
                              'Chem_AeroAreaSSA              ', 'GIGCchem',
+
                              'Chem_AeroAreaSSC              ', 'GIGCchem',
+
                              'Chem_AeroAreaBGSULF          ', 'GIGCchem',
+
                              'Chem_AeroAreaICEI            ', 'GIGCchem',
+
                              'Chem_AeroRadiMDUST1          ', 'GIGCchem',
+
                              'Chem_AeroRadiMDUST2          ', 'GIGCchem',
+
                              'Chem_AeroRadiMDUST3          ', 'GIGCchem',
+
                              'Chem_AeroRadiMDUST4          ', 'GIGCchem',
+
                              'Chem_AeroRadiMDUST5          ', 'GIGCchem',
+
                              'Chem_AeroRadiMDUST6          ', 'GIGCchem',
+
                              'Chem_AeroRadiMDUST7          ', 'GIGCchem',
+
                              'Chem_AeroRadiSULF            ', 'GIGCchem',
+
                              'Chem_AeroRadiBC              ', 'GIGCchem',
+
                              'Chem_AeroRadiOC              ', 'GIGCchem',
+
                              'Chem_AeroRadiSSA              ', 'GIGCchem',
+
                              'Chem_AeroRadiSSC              ', 'GIGCchem',
+
                              'Chem_AeroRadiBGSULF          ', 'GIGCchem',
+
                              'Chem_AeroRadiICEI            ', 'GIGCchem',
+
                              'Chem_WetAeroAreaMDUST1        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaMDUST2        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaMDUST3        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaMDUST4        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaMDUST5        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaMDUST6        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaMDUST7        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaSULF          ', 'GIGCchem',
+
                              'Chem_WetAeroAreaBC            ', 'GIGCchem',
+
                              'Chem_WetAeroAreaOC            ', 'GIGCchem',
+
                              'Chem_WetAeroAreaSSA          ', 'GIGCchem',
+
                              'Chem_WetAeroAreaSSC          ', 'GIGCchem',
+
                              'Chem_WetAeroAreaBGSULF        ', 'GIGCchem',
+
                              'Chem_WetAeroAreaICEI          ', 'GIGCchem',
+
                              'Chem_WetAeroRadiMDUST1        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiMDUST2        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiMDUST3        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiMDUST4        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiMDUST5        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiMDUST6        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiMDUST7        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiSULF          ', 'GIGCchem',
+
                              'Chem_WetAeroRadiBC            ', 'GIGCchem',
+
                              'Chem_WetAeroRadiOC            ', 'GIGCchem',
+
                              'Chem_WetAeroRadiSSA          ', 'GIGCchem',
+
                              'Chem_WetAeroRadiSSC          ', 'GIGCchem',
+
                              'Chem_WetAeroRadiBGSULF        ', 'GIGCchem',
+
                              'Chem_WetAeroRadiICEI          ', 'GIGCchem',
+
                              'Chem_StatePSC                ', 'GIGCchem',
+
                              'Chem_KhetiSLAN2O5H2O          ', 'GIGCchem',
+
                              'Chem_KhetiSLAN2O5HCl          ', 'GIGCchem',
+
                              'Chem_KhetiSLAClNO3H2O        ', 'GIGCchem',
+
                              'Chem_KhetiSLAClNO3HCl        ', 'GIGCchem',
+
                              'Chem_KhetiSLAClNO3HBr        ', 'GIGCchem',
+
                              'Chem_KhetiSLABrNO3H2O        ', 'GIGCchem',
+
                              'Chem_KhetiSLABrNO3HCl        ', 'GIGCchem',
+
                              'Chem_KhetiSLAHOClHCl          ', 'GIGCchem',
+
                              'Chem_KhetiSLAHOClHBr          ', 'GIGCchem',
+
                              'Chem_KhetiSLAHOBrHCl          ', 'GIGCchem',
+
                              'Chem_KhetiSLAHOBrHBr          ', 'GIGCchem',
+
                              ::
+
 
+
== Cloud convective flux ==
+
 
+
== The CloudConvFlux collection ==
+
 
+
A sample collection definition section is listed below.  You may cut-and-paste this into your <tt>HISTORY.rc</tt> file and edit accordingly.
+
 
+
  CloudConvFlux.template:    '%y4%m2%d2_%h2%n2z.nc4',
+
  CloudConvFlux.format:      'CFIO',
+
  CloudConvFlux.frequency:    010000
+
  CloudConvFlux.duration:    010000
+
  CloudConvFlux.mode:        'time-averaged'
+
  CloudConvFlux.fields:      'CloudConvFlux_?ADV?          ', 'GIGCchem',
+
 
+
Here follows a description of diagnostic quantities belonging to the SpeciesConc collection.
+
 
+
{| border=1 cellspacing=0 cellpadding=5
+
|-valign="top" bgcolor="#CCCCCC"
+
!width="225px"|Diagnostic name
+
!width="225px"|Description
+
!width="125px"|Units
+
!width="80px"|Wildcards
+
!width="150px"|Simulations
+
!width="100px"|[[List of diagnostics archived to bpch format|Bpch equiv.]]
+
!width="150px"|Notes
+
 
+
|-valign="top"
+
|CloudConvFlux_<spcname>
+
|Mass change due to cloud convection
+
|kg/s
+
|
+
*?ADV?
+
*?DRY?
+
*?GAS?
+
*?WET?
+
|
+
*all simulations
+
|
+
*[[List of diagnostics archived to bpch format|ND14]]
+
|
+
*Will be replaced by new flux diagnostics in v11-03
+
|}
+
 
+
== Concentrations after chemistry ==
+
 
+
  # Concentrations after chemistry
+
  ConcAfterChem.template:    '%y4%m2%d2_%h2%n2z.nc4',
+
  ConcAfterChem.format:      'CFIO',
+
  ConcAfterChem.frequency:    010000
+
  ConcAfterChem.duration:    010000
+
  ConcAfterChem.mode:        'time-averaged'
+
  ConcAfterChem.fields:      'OHconcAfterChem              ', 'GIGCchem', 
+
                              'HO2concAfterChem              ', 'GIGCchem', 
+
                              'O1DconcAfterChem              ', 'GIGCchem', 
+
                              'O3PconcAfterChem              ', 'GIGCchem', 
+
::
+
 
+
== Dry deposition diagnostics ==
+
 
+
# Dry deposition flux velocity (per dry deposited species)
+
  DryDep.template:            '%y4%m2%d2_%h2%n2z.nc4',
+
  DryDep.format:              'CFIO',
+
  DryDep.frequency:          010000
+
  DryDep.duration:            010000
+
  DryDep.mode:                'time-averaged'
+
  DryDep.fields:              'DryDepVel_?DRY?              ', 'GIGCchem',
+
                              'DryDepMix_?DRY?              ', 'GIGCchem',
+
                              'DryDepChm_?DRY?              ', 'GIGCchem',
+
                              'DryDep_?DRY?                  ', 'GIGCchem',
+
::
+
 
+
== Photolysis diagnostics ==
+
 
+
# Photolysis rates (J-values)
+
  JValues.template:          '%y4%m2%d2_%h2%n2z.nc4',
+
  JValues.format:            'CFIO',
+
  JValues.frequency:          010000
+
  JValues.duration:          010000
+
  JValues.mode:              'time-averaged'
+
  JValues.fields:            'Jval_?PHO?                    ', 'GIGCchem',
+
::
+
# Photolysis rates at local noon (J-values)
+
  JValuesLocalNoon.template:  '%y4%m2%d2_%h2%n2z.nc4',
+
  JValuesLocalNoon.format:    'CFIO',
+
  JValuesLocalNoon.frequency: 010000
+
  JValuesLocalNoon.duration:  010000
+
  JValuesLocalNoon.mode:      'instantaneous'
+
  JValuesLocalNoon.fields:    'JNoon_?PHO?                  ', 'GIGCchem',
+
::
+
 
+
== Diagnostics on level edges ==
+
 
+
# Level edge diagnostics (73-level only)
+
  LevelEdgeDiags.template:    '%y4%m2%d2_%h2%n2z.nc4',
+
  LevelEdgeDiags.format:      'CFIO',
+
  LevelEdgeDiags.frequency:  010000
+
  LevelEdgeDiags.duration:    010000
+
  LevelEdgeDiags.mode:        'time-averaged'
+
  LevelEdgeDiags.fields:      'Met_CMFMC                    ', 'GIGCchem',
+
                              'Met_PEDGE                      ', 'GIGCchem',
+
                              'Met_PEDGEDRY                  ', 'GIGCchem',
+
                              'Met_PFICU                      ', 'GIGCchem',
+
                              'Met_PFILSAN                    ', 'GIGCchem',
+
                              'Met_PFLCU                      ', 'GIGCchem',
+
                              'Met_PFLLSAN                    ', 'GIGCchem',
+
::
+
 
+
== Production and loss rates ==
+
 
+
  # Prod/loss rates
+
  ProdLoss.template:          '%y4%m2%d2_%h2%n2z.nc4',
+
  ProdLoss.format:            'CFIO',
+
  ProdLoss.frequency:        010000
+
  ProdLoss.duration:          010000
+
  ProdLoss.mode:              'time-averaged'
+
  ProdLoss.fields:            'PROD_?PRD?                    ', 'GIGCchem',
+
                              'ProdBCPIfromBCPO              ', 'GIGCchem',
+
                              'ProdOCPIfromOCPO              ', 'GIGCchem',
+
                              'ProdSO4fromH2O2inCloud        ', 'GIGCchem',
+
                              'ProdSO4fromO3inCloud          ', 'GIGCchem',
+
                              'ProdSO4fromO3inSeaSalt        ', 'GIGCchem',
+
                              'ProdSO4fromHOBrInCloud        ', 'GIGCchem',
+
                              'ProdSO4fromSRO3              ', 'GIGCchem',
+
                              'ProdSO4fromSRHObr            ', 'GIGCchem',
+
                              'ProdSO4fromO3s                ', 'GIGCchem',
+
                              'LOSS_?LOS?                    ', 'GIGCchem',
+
                              'LossHNO3onSeaSalt            ', 'GIGCchem',
+
::
+
 
+
== Fields of the State_Chm object ==
+
 
+
# State_Chm array diagnostics (see also Aerosols collection
+
  StateChm.template:          '%y4%m2%d2_%h2%n2z.nc4',
+
  StateChm.format:            'CFIO',
+
  StateChm.frequency:        010000
+
  StateChm.duration:          010000
+
  StateChm.mode:              'time-averaged'
+
  StateChm.fields:            'Chem_phSav                    ', 'GIGCchem', 
+
                              'Chem_HplusSav                ', 'GIGCchem', 
+
                              'Chem_WaterSav                ', 'GIGCchem', 
+
                              'Chem_SulRatSav                ', 'GIGCchem', 
+
                              'Chem_NaRatSav                ', 'GIGCchem', 
+
                              'Chem_AcidPurSav              ', 'GIGCchem', 
+
                              'Chem_BiSulSav                ', 'GIGCchem',
+
                              'Chem_pHCloud                  ', 'GIGCchem',
+
                              'Chem_SSAlk',                  ', 'GIGCchem',
+
                              'Chem_HSO3AQ                  ', 'GIGCchem',
+
                              'Chem_SO3AQ                    ', 'GIGCchem',
+
                              'Chem_fupdateHOBr              ', 'GIGCchem',
+
::
+
 
+
== Fields of the State_Met object ==
+
 
+
# State_Met array diagnostics
+
  StateMet.template:          '%y4%m2%d2_%h2%n2z.nc4',
+
  StateMet.format:            'CFIO',
+
  StateMet.frequency:        010000
+
  StateMet.duration:          010000
+
  StateMet.mode:              'time-averaged'
+
  StateMet.fields:            'Met_AD                        ', 'GIGCchem',
+
                              'Met_AIRDEN                    ', 'GIGCchem',
+
                              'Met_AIRVOL                    ', 'GIGCchem',
+
                              'Met_ALBD                      ', 'GIGCchem',
+
                              'Met_AREAM2                    ', 'GIGCchem',
+
                              'Met_AVGW                      ', 'GIGCchem',
+
                              'Met_BXHEIGHT                  ', 'GIGCchem',
+
                              'Met_ChemGridLev                ', 'GIGCchem',
+
                              'Met_CLDF                      ', 'GIGCchem',
+
                              'Met_CLDFRC                    ', 'GIGCchem',
+
                              'Met_CLDTOPS                    ', 'GIGCchem',
+
                              'Met_DELP                      ', 'GIGCchem',
+
                              'Met_DQRCU                      ', 'GIGCchem',
+
                              'Met_DQRLSAN                    ', 'GIGCchem',
+
                              'Met_DTRAIN                    ', 'GIGCchem',
+
                              'Met_EFLUX                      ', 'GIGCchem',
+
                              'Met_FRCLND                    ', 'GIGCchem',
+
                              'Met_FRLAKE                    ', 'GIGCchem',
+
                              'Met_FRLAND                    ', 'GIGCchem',
+
                              'Met_FRLANDIC                  ', 'GIGCchem',
+
                              'Met_FROCEAN                    ', 'GIGCchem',
+
                              'Met_FRSEAICE                  ', 'GIGCchem',
+
                              'Met_FRSNO                      ', 'GIGCchem',
+
                              'Met_GWETROOT                  ', 'GIGCchem',
+
                              'Met_GWETTOP                    ', 'GIGCchem',
+
                              'Met_HFLUX                      ', 'GIGCchem',
+
                              'Met_LAI                        ', 'GIGCchem',
+
                              'Met_LWI                        ', 'GIGCchem',
+
                              'Met_PARDR                      ', 'GIGCchem',
+
                              'Met_PARDF                      ', 'GIGCchem',
+
                              'Met_PBLTOPL                    ', 'GIGCchem',
+
                              'Met_PBLH                      ', 'GIGCchem',
+
                              'Met_PHIS                      ', 'GIGCchem',
+
                              'Met_PMID                      ', 'GIGCchem',
+
                              'Met_PMIDDRY                    ', 'GIGCchem',
+
                              'Met_PRECANV                    ', 'GIGCchem',
+
                              'Met_PRECCON                    ', 'GIGCchem',
+
                              'Met_PRECLSC                    ', 'GIGCchem',
+
                              'Met_PRECTOT                    ', 'GIGCchem',
+
                              'Met_PS1DRY                    ', 'GIGCchem',
+
                              'Met_PS1WET                    ', 'GIGCchem',
+
                              'Met_PS2DRY                    ', 'GIGCchem',
+
                              'Met_PS2WET                    ', 'GIGCchem',
+
                              'Met_PSC2WET                    ', 'GIGCchem',
+
                              'Met_PSC2DRY                    ', 'GIGCchem',
+
                              'Met_QI                        ', 'GIGCchem',
+
                              'Met_QL                        ', 'GIGCchem',
+
                              'Met_OMEGA                      ', 'GIGCchem',
+
                              'Met_OPTD                      ', 'GIGCchem',
+
                              'Met_REEVAPCN                  ', 'GIGCchem',
+
                              'Met_REEVAPLS                  ', 'GIGCchem',
+
                              'Met_SLP                        ', 'GIGCchem',
+
                              'Met_SNODP                      ', 'GIGCchem',
+
                              'Met_SNOMAS                    ', 'GIGCchem',
+
                              'Met_SPHU                      ', 'GIGCchem',
+
                              'Met_SPHU1                      ', 'GIGCchem',
+
                              'Met_SPHU2                      ', 'GIGCchem',
+
                              'Met_SUNCOS                    ', 'GIGCchem',
+
                              'Met_SUNCOSmid                  ', 'GIGCchem',
+
                              'Met_SWGDN                      ', 'GIGCchem',
+
                              'Met_T                          ', 'GIGCchem',
+
                              'Met_TAUCLI                    ', 'GIGCchem',
+
                              'Met_TAUCLW                    ', 'GIGCchem',
+
                              'Met_THETA                      ', 'GIGCchem',
+
                              'Met_TMPU1                      ', 'GIGCchem',
+
                              'Met_TMPU2                      ', 'GIGCchem',
+
                              'Met_TO3                        ', 'GIGCchem',
+
                              'Met_TropHt                    ', 'GIGCchem',
+
                              'Met_TropLev                    ', 'GIGCchem',
+
                              'Met_TropP                      ', 'GIGCchem',
+
                              'Met_TS                        ', 'GIGCchem',
+
                              'Met_TSKIN                      ', 'GIGCchem',
+
                              'Met_TV                        ', 'GIGCchem',
+
                              'Met_U                          ', 'GIGCchem',
+
                              'Met_U10M                      ', 'GIGCchem',
+
                              'Met_USTAR                      ', 'GIGCchem',
+
                              'Met_UVALBEDO                  ', 'GIGCchem',
+
                              'Met_V                          ', 'GIGCchem',
+
                              'Met_V10M                      ', 'GIGCchem',
+
                              'Met_Z0                        ', 'GIGCchem',
+
::
+
 
+
== Loss of soluble species in cloud updrafts ==
+
 
+
# Loss due to convection (per wet deposited species)
+
  WetLossConv.template:       '%y4%m2%d2_%h2%n2z.nc4',
+
  WetLossConv.format:         'CFIO',
+
  WetLossConv.frequency:      010000
+
  WetLossConv.duration:      010000
+
  WetLossConv.mode:          'time-averaged'
+
  WetLossConv.fields:        'WetLossConv_?WET?            ', 'GIGCchem',
+
::
+
 
+
== Loss of soluble species in large-scale wet deposition ==
+
 
+
# Loss due to rainout and washout (per deposited species)
+
  WetLossLS.template:        '%y4%m2%d2_%h2%n2z.nc4',
+
  WetLossLS.format:          'CFIO',
+
  WetLossLS.frequency:        010000
+
  WetLossLS.duration:        010000
+
  WetLossLS.mode:            'time-averaged'
+
  WetLossLS.fields:          'WetLossLS_?WET?              ', 'GIGCchem',
+
::
+

Latest revision as of 21:25, 10 May 2023

Instructions for adding tracers to GEOS-Chem

By Melissa Payer

These instructions describe how to add advected tracers to GEOS-Chem. Advected tracers are carried in the STT array (which is declared in GeosCore/tracer_mod.F), and are transported by the winds.

NOTE: Some advected tracers are also chemical species, which comprise GEOS-Chem's NOx-Ox-HC-aerosol chemistry mechanism.

  1. Add tracers to input.geos under Tracer Menu

    1. Increase “Number of tracers” accordingly

    2. Add tracer number, name, molecular weight, and emitted species to end of tracer list

  2. Add tracer(s) to restart file – see separate instructions

  3. Modify the following source code routines:

    1. Headers/CMN_SIZE_mod.F

      1. Increase NNPAR by number of tracers being added

      2. If the species have anthropogenic emissions, increase NEMPARA accordingly

      3. If the species have biogenic emissions, increase NEMPARB accordingly

      4. If the species have biomass burning emissions, increase NBIOMAX accordingly

    2. GeosCore/tracerid_mod.F

      1. Increase NNNTRID by the number of tracers being added NOTE: NNNTRID must be equal to NNPAR in CMN_SIZE_mod.F

      2. Define tracer IDs as needed:

        1. IDxxxx – ID for SMVGEAR species

        2. IDTxxxx – GEOS-Chem tracer ID

        3. IDExxxx – GEOS-Chem emission ID

        4. IDBFxxxx – GEOS-Chem biofuel ID

        5. IDBxxxx – GEOS-Chem biomass ID

      3. In subroutine TRACERID,

        1. Under “Assign tracer, biomass, biofuel, and anthro emission ID’s,” add case for added tracers to initialize IDTxxxx, IDBFxxxx, IDBxxxx

        2. Under “Initialize the IDExxx flags,” add IF statement for added tracer IDs and initialize IDExxxx

        3. Under “Fill IDEMS with appropriate tracer ID #’s,” add IF statement for added tracers

        4. Under “Print additional information,” add WRITE statements for added tracers

      4. In subroutine SETTRACE (NOTE: Only do the following if species is included in SMVGEAR chemical mechanism<p>

        1. <p>Add IF statement, to initialize IDxxxx

        2. In subroutine INIT_TRACERID,

        3. Zero all IDs added (IDxxxx, IDTxxxx, IDExxxx, etc.)

    3. Other modules that may need to be updated include:

      1. wetscav_mod.F

      2. drydep_mod.F

      3. emissions_mod.F

      4. biomass_mod.F

      5. biofuel_mod.F

        etc.


Instructions for adding species to GEOS-Chem

Modify run directory files

1) Add tracers to input.geos under Tracer Menu c) Increase “Number of tracers” accordingly d) Add tracer number, name, molecular weight, and emitted species to end of tracer list

2) Add tracer(s) to restart file – see separate instructions

3) Modify globchem.dat to include additional species, kinetic reactions (including emissions and drydep), or photolysis reactions NOTE: If you modify globchem.dat and plan to run GEOS-Chem using the KPP chemical solver, you will need to generate new gckpp*.F90 files. For more information see the following wiki pages: http://wiki.seas.harvard.edu/geos-chem/index.php/KPP_solvers_FAQ#What_are_the_cons_of_using_KPP.3F http://wiki.seas.harvard.edu/geos-chem/index.php/Interfacing_GEOS-Chem_with_KPP#Generating_KPP_input_files_from_GEOS-Chem_globchem.dat

4) If necessary, modify: a) ratj.d – contains species names and branching ratios for FAST–JX photolysis species For more information: http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html#5.4.1 b) jv_spec.dat – contains cross-sections and quantum yields for FAST–JX photolysis species For more information: http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html#5.4.3