Difference between revisions of "Sandbox"

From Geos-chem
Jump to: navigation, search
(feel free to experiment here)
 
(57 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==feel free to experiment here ==
+
== Instructions for adding tracers to GEOS-Chem ==
  
== Overview ==
+
'''''By [mailto:mpayer@seas.harvard.edu Melissa Payer]'''''
  
In the sections below, we present a '''''list of naming conventions''''' for netCDF diagnostics that we developed last year. GCST member [[User:bmy|Bob Yantosca]] will be working on the transition to netCDF diagnostics very soon so feel free to follow up with him on suggested names.
+
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.
  
=== An introduction to netCDF diagnostics ===
+
NOTE: Some advected tracers are also chemical species, which comprise GEOS-Chem's NOx-Ox-HC-aerosol chemistry mechanism.
  
Bob Yantosca has created [[Media:Netcdf_Diagnostics.pdf|an overview presentation about the new netCDF diagnostics for v11-02]].  
+
#<p>Add tracers to input.geos under Tracer Menu</p>
 +
##<p>Increase “Number of tracers” accordingly</p>
 +
##<p>Add tracer number, name, molecular weight, and emitted species to end of tracer list</p>
 +
#<p>Add tracer(s) to restart file – see separate instructions</p>
 +
#<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.
  
=== Sample HISTORY.rc diagnostic input file ===
 
  
Here is a sample <tt>HISTORY.rc</tt> file that is used to request netCDF diagnostic output from a GEOS-Chem “Classic” simulation.  The names for netCDF diagnostic quantities follow the [[#Naming convention|naming convention listed above]].
 
  
COLLECTIONS: <span style="color:red">'inst'</span>,
+
Instructions for adding species to GEOS-Chem
              'avg’,
+
              ::
+
  <span style="color:red">inst</span>.filename:    './GEOSChem.inst.%y4%m2%d2.nc4',
+
  <span style="color:red">inst</span>.<span style="color:darkorange">frequency:    060000</span>,
+
  <span style="color:red">inst</span>.<span style="color:purple">duration:    240000</span>,
+
  <span style="color:red">inst</span>.<span style="color:brown">mode:        'instantaneous'</span>,
+
  <span style="color:red">inst</span>.<span style="color:green">fields:      'SpeciesConc_?ADV?'</span>,  'GIGCchem',
+
                      <span style="color:green">'Met_T'</span>,              'GIGCchem',
+
                      <span style="color:green">'DryDepVel_?DRY?'</span>,    'GIGCchem',
+
                      <span style="color:green">'WetLossLS_?WET?'</span>,    ‘GIGCchem’,
+
                      ::
+
  <span style="color:blue">avg</span>.filename:      './GEOSChem.avg.%y4%m2%d2.nc4',
+
  <span style="color:blue">avg</span>.<span style="color:magenta">frequency:    000100 000000</span>,
+
  <span style="color:blue">avg</span>.<span style="color:purple">duration:      000100 000000</span>,
+
  <span style="color:blue">avg</span>.<span style="color:darkcyan">mode:          'time-averaged'</span>,
+
  <span style="color:blue">avg</span>.<span style="color:green">fields:        'SpeciesConc_?ADV?'</span>,  'GIGCchem',
+
                      <span style="color:green">'Met_PEDGE'</span>,          'GIGCchem',
+
                      <span style="color:green">'Jval_?PHO?'</span>,        'GIGCchem',
+
                      <span style="color:green">'WetLossLS_?WET?'</span>,    ‘GIGCchem’,
+
                      <span style="color:green">'OHconcAfterChem'</span>,    ‘GIGCchem’,
+
                      ::
+
  
In this HISTORY.rc file, we are requesting two collections, or types of netCDF file output.
+
Modify run directory files
  
#The first collection (<span style="color:red">inst</span>) is <span style="color:brown">instantaneous (aka timeseries) output</span> with <span style="color:darkorange">a 6-hour frequency</span>. A new file will be created <span style="color:purple">every 24 hours</span>.  
+
1) Add tracers to input.geos under Tracer Menu
#The second collection (<span style="color:blue">avg</span>) is <span style="color:darkcyan">time-averaged output</span>. Data will be updated at the dynamic timestep (= 10 minutes for most GEOS-Chem simulations) by default and <span style="color:magenta">averaged into monthly-mean output</span>. A new file will be created <span style="color:purple">at the start of each new month</span>.
+
c) Increase “Number of tracers” accordingly
#<span style="color:green">The diagnostic quantities (aka "fields")</span> that will be archived in each collection are listed after the “fields” tag. These diagnostic quantities follow the naming convention described in the previous section.
+
d) Add tracer number, name, molecular weight, and emitted species to end of tracer list
#*For GEOS-Chem “Classic” simulations, you may use wildcards to request a multiple quantities. For example, instead of listing <tt>SpeciesConc_NO</tt>, <tt>SpeciesConc_O3</tt>, <tt>SpeciesConc_PAN</tt>, <tt>SpeciesConc_CO</tt>, etc. individually, you can use <tt>SpeciesConc_?ADV?</tt> to request all of the advected GEOS_Chem species.
+
#*The "GIGCchem" text is only relevant for GCHP and will be ignored for GEOS-Chem “Classic” simulations.
+
  
For more examples, please see [[Media:Netcdf_Diagnostics.pdf|Bob Yantosca’s netCDF diagnostics overview presentation]]. We will also add more documentation to the GEOS-Chem wiki in the coming weeks.
+
2) Add tracer(s) to restart file – see separate instructions
  
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 21:33, 28 November 2017 (UTC)
+
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
  
== Collection list ==
+
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
EXPID:  OutputDir/GCHP
+
b) jv_spec.dat – contains cross-sections and quantum yields for FAST–JX photolysis species
EXPDSC: GEOS-Chem_devel
+
For more information: http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html#5.4.3
CoresPerNode: 6
+
 
+
#===================================================================
+
# Declare collection names and toggle on/off
+
#===================================================================
+
COLLECTIONS: 'SpeciesConc',
+
            'Aerosols',
+
            'CloudConvFlux',
+
            'ConcAfterChem',
+
            'DryDep',
+
            'JValues',
+
            'JValuesLocalNoon',
+
            'LevelEdgeDiags',     
+
            'ProdLoss',
+
            'StateChm',   
+
            'StateMet',     
+
            'WetLossConv',
+
            'WetLossLS',
+
 
+
== Species concentrations ==
+
 
+
# Species concentrations (per advected species)
+
  SpeciesConc.template:      '%y4%m2%d2_%h2%n2z.nc4',
+
  SpeciesConc.format:         'CFIO',
+
  SpeciesConc.frequency:      010000
+
  SpeciesConc.duration:      010000
+
  SpeciesConc.mode:          'time-averaged'
+
  SpeciesConc.fields:        'SpeciesConc_?ADV?            ', 'GIGCchem',
+
 
+
== 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 ==
+
 
+
# Cloud convective flux (per advected species)
+
  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',
+
 
+
== 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