List routines by category:
Atmospheric Sciences |
Benchmarking |
Color |
Date/Time |
Doc |
File & I/O |
BPCH Format |
Scientific Data Formats |
GAMAP Examples |
GAMAP Internals |
GAMAP Utilities |
GAMAP Data Manipulation |
GAMAP Models &
Grids |
GAMAP Plotting |
General |
Graphics |
Math & Units |
Plotting |
Regridding |
Strings |
Structures |
Time Series
List routines by alphabetical order:
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
NAME:
BENCHMARK_1MON
PURPOSE:
Produces maps of tracers and other quantities from two
GEOS-Chem benchmark simulations (for model validation).
CATEGORY:
Benchmarking
CALLING SEQUENCE:
BENCHMARK_1MON, INPUTFILE, [, Keywords ]
INPUTS:
INPUTFILE -> A file containing default values for version
numbers, directories, model names, resolutions, etc.
Default is "input_bm.1mon"
KEYWORD PARAMETERS:
By default, BENCHMARK_1MON will produce the following types
of output:
(a) Table of Ox and CO budgets, mean OH conc. and CH3CCL3 lifetime
(b) Table of emissions totals
(c) Frequency distribution histogram
(d) Vertical profiles of tracer differences along 15S and 42N
(e) Maps of tracer concentration @ surface and 500 hPa
(f) Maps of tracer differences @ surface and 500 hPa
(g) Maps of J-value differences @ surface and 500 hPa
(h) Maps of tracer ratios @ surface and 500 hPa
Each of these types of output can be turned off individually
with the following keywords:
/NO_AOD_DIFFS -> Do not create difference maps of aerosol optical
depths.
/NO_AOD_MAPS -> Do not create concentration plots for aerosol
optical depths.
/NO_BUDGET -> Do not create the table of Ox and CO budgets,
mean OH concentration and CH3CCl3 lifetime.
/NO_CONC_MAPS -> Do not create the plot the maps of tracer
concentrations @ sfc and 500 hPa altitude.
/NO_DIFFS -> Do not create the maps of tracer differences
at the surface and 500 hPa altitude.
/NO_EMISSIONS -> Do not create the table of emissions totals.
/NO_FREQ_DIST -> Do not create the the frequency distribution
histogram plot.
/NO_JVALUES -> Do not create the maps of J-value ratios
at the surface and 500 hPa altitude.
/NO_JVDIFFS -> Do not create the maps of J-value differences
at the surface and 500 hPa altitude.
/NO_JVMAPS -> Do not create the maps of J-values
at the surface and 500 hPa altitude.
/NO_PROFILES -> Do not create the plot of vertical profiles
of tracer differences along 15S and 42N.
/NO_RATIOS -> Do not create the maps of tracer ratios at
the surface and 500 hPa altitude.
/NO_STRATDIFF -> Do not create the maps of zonal mean differences
in the stratosphere (100hPa-0.01hPa)
/NO_STRATCONC -> Do not create the maps of zonal mean concentrations
in the stratosphere (100hPa-0.01hPa)
/NO_ZONALDIFF -> Do not create the maps of zonal mean differences
/NO_ZONALCONC -> Do not create the maps of zonal tracer concentrations
/NO_CLOUDDIFF -> Do not create difference plots of cloud optical depth
/NO_2D_MET -> Do not create difference plots for 2-D met fields
/NO_3D_MET -> Do not create difference plots for 3-D met fields
Additional keywords:
--------------------
/DEBUG -> Set this switch to print the values of the various
input variables. Use this to make sure that all values
have been created corectly.
/DYNRANGE -> Set this switch to create additional difference
plots, ratio plots, and profile plots using the whole
dynamic range of the data.
/NO_FULLCHEM -> Set this switch to only plot the advected
tracers and omit full-chemistry quantities such as OH
and aerosol optical depths. This is useful if you wish
to compare output from offline GEOS-Chem simulations
(e.g. Rn-Pb-Be, CH4).
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines:
====================================================
DynOutFile (function) GetSfc500Levels (function)
External Subroutines Required:
====================================================
CTM_NAMEXT (function) CTM_TYPE (function)
DIFFERENCES FREQ_DIST
FULLCHEM_BUDGET FULLCHEM_EMISSIONS
JV_RATIO PROFILES
MAPS NYMD2TAU (function)
RATIOS REPLACE_TOKEN
STRUADDVAR (function) MCF_LIFETIME (function)
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
BENCHMARK_1MON assumes that the following GEOS-Chem
diagnostic quantities have been archived for the
"old" and "new" model versions:
(a) ND22 ("JV-MAP-$") (h) ND44 ("DRYD-FLX")
(b) ND24 ("EW-FLX-$") (i) ND45 ("IJ-AVG-$")
(c) ND25 ("NS-FLX-$") (j) ND65 ("PORL-L=$")
(d) ND26 ("UP-FLX-$") (k) ND66 ("DAO-3D-$")
(e) ND31 ("PEDGE-$" ) (l) ND67 ("DAO-FLDS")
(f) ND43 ("CHEM-L=$") (m) ND69 ("DXYP" )
(g) ND32 (""NOX-AC-$", "NOX-AN-$", "NOX-BIOB",
"NOX-FERT", "NOX-LI-$", "NOX-SOIL")
EXAMPLES:
BENCHMARK_1MON, 'input.1mon'
; Produces the full suite of benchmark output plots.
BENCHMARK_1MON, 'input.1mon', /DYNRANGE
; Produces the full suite of benchmark output plots.
; Will also produce an additional set of difference and
; ratio maps using the full dynamic range of the data.
BENCHMARK_1MON, 'input.1mon', /DEBUG, /NO_FREQ_DIST
; Will produce the standard plots except for the
; frequency distribution histogram. Also will cause
; extra information to be echoed to the screen.
MODIFICATION HISTORY:
bmy, 09 Nov 2007: VERSION 1.01
- based on "benchmark.pro"
bmy, 10 Jan 2011: VERSION 1.02
- Now set proper symbolic links to
diaginfo.dat and tracerinfo.dat
- Set 500hPa level for MERRA
- Added /NO_PROFILES keyword to suppress
printing of vertical profiles
bmy, 08 Jun 2011: VERSION 1.03
- Updated comments
- Added /NO_BUDGET, /NO_EMISSIONS,
/NO_PROFILES, /NO_CONC_MAPS, /NO_DIFFS,
/NO_JVALUES, /NO_RATIOS, /NO_FULLCHEM
keywords.
- Now pass _EXTRA=e to all routines
- Now use FILE_WHICH to locate the
diff_range.1mon file
- Now look for diaginfo.dat and
tracerinfo.dat in RUNDIR_2. Do not
use symbolic links anymore.
bmy, 10 Jun 2011: - Now call EMISSION_RATIOS
bmy, 23 Jun 2011 - Now call ZONAL_DIFF
bmy, 18 Jul 2011 - Now pass /PRESSURE keyword to ZONAL_DIFF
to create plots w/ pressure on Y-axis
bmy, 11 May 2012: GAMAP VERSION 2.16
- Now do not stop the run if the two model
grids are equivalent. This allows
comparisons between GEOS-5, MERRA,
GEOS-5.7 data.
- Return 500hPa level for GEOS-5.7 met
cdh, 18 Mar 2013: GAMAP VERSION 2.17
- Added Zonal concentration plots for !
1-month benchmarks
mps, 16 Sep 2013: - Now create AOD difference plots
- Now create AOD map plots
mps, 18 Nov 2013: - Read in Model_1 and Model_2 as printed in input
file. Previously, model names were converted to
filename extensions using CTM_NamExt.
- Update GetSfc500Levels to accept model names
- Rename all instances of GEOS57_47L to GEOSFP_47L
mps, 02 Dec 2013: - Now create difference plots for 2-D and 3-D
met fields
mps, 03 Dec 2013: - Now create absolute difference plots for J-values
mps, 21 Apr 2015: - Now create emission maps and emission difference
plots
mps, 11 Sep 2015: - Now create stratospheric benchmark plots showing
zonal mean differences and concentrations for
100-0.01 hPa
mps, 04 Mar 2016: - Include MERRA2 in the check for equivalent
vertical grids
mps, 29 Mar 2016: - Add plots for cloud optical depth
(See /n/home09/ryantosca/IDL/gamap2/benchmark/benchmark_1mon.pro)
NAME:
DIFFERENCES
PURPOSE:
Creates absolute difference plots ( New - Old )
for GEOS-Chem tracers and OH.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
DIFFERENCES, FILES, LEVELS, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
LEVELS -> A 4-element vector containing the level indices
for the GEOS-Chem surface layer and 500 hPa layer.
for both models (e.g. SFC_1, SFC_2, 500_1, 500_2).
NOTE: This is in Fortran notation (starting from 1!)
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to predetermined values as returned
by routine GET_DIFF_RANGE.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===================================================
PlotDiff
External Subroutines Required:
===================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA GET_DIFF_RANGE
GETMODELANDGRIDINFO EXTRACT_FILENAME (function)
MULTIPANEL MYCT
OPEN_DEVICE TVMAP
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
LEVELS = [ 1, 1, 13, 13 ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
TRACERS = INDGEN( 43 ) + 1
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
DIFFERENCES, FILES, LEVELS, TAUS, TRACERS, VERSIONS, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
; Creates ratio plots of two GEOS-CHEM versions
; (in this case v7-04-11 / v7-04-10) for July 2001.
; Output is sent to PostScript file "myplot.ps".
; The min and max of the data on each plot panel is
; restricted to pre-defined values returned by
; function GET_DIFF_RANGE.
DIFFERENCES, FILES, LEVELS, TAUS, TRACERS, VERSIONS, $
/DO_FULLCHEM, /DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as the above example, but the min & max of
; each plot panel corresponds to the dynamic range
; of the data.
MODIFICATION HISTORY:
bmy, 14 Nov 2007: VERSION 1.01
- Initial version
bmy, 20 Nov 2007: VERSION 1.02
- Now draw out-of-bounds triangles for
the colorbar when using the "small"
data ranges. New feature of TVMAP.
bmy, 07 May 2008: VERSION 1.03
- Now allow for comparing models on 2
different vertical grids.
bmy, 08 Feb 2011: VERSION 1.04
- Now display in the top-of-plot title
if the dynamic range option is used.
bmy, 08 Jun 2011: VERSION 1.05
- Added /NO_FULLCHEM keyword
- Now call COLORBAR with the UPOS keyword
to place the colorbar unit string properly
- Now use appropriate settings for creating
plots w/ the full dynamic range (/DYNRANGE)
- Now restore !MYCT sysvar to previous
settings upon exiting the program
mps, 29 Mar 2013: - Now plot HO2 differences
(See /n/home09/ryantosca/IDL/gamap2/benchmark/differences.pro)
NAME:
DIFFERENCES_AOD
PURPOSE:
Creates column difference maps of aerosol optical depths from
1-month GEOS-Chem benchmark simulation output.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
DIFFERENCES_AOD, FILES, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "red", 'green", and "blue" GEOS-Chem model
versions that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$") to be plotted.
VERSIONS -> A 2-element vector containing the model version
names from the "red", 'green", and "blue" simulations.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the entire
dynamic range of the data (centered around zero). The
default is to use pre-defined data ranges.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Provided:
=========================================
PLOTDIFF
External Subroutines Required:
=========================================
OPEN_DEVICE CLOSE_DEVICE
MULTIPANEL COLORBAR_NDIV (function)
CTM_PLOT CHKSTRU (function)
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLE:
FILES = [ 'ctm.bpch.v9-02p', 'ctm.bpch.v9-02q' ]
TAUS = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
TRACERS = [ 1, 2, 4 ]
VERSIONS = [ 'v9-02p', 'v9-02q' ]
DIFFERENCES_AOD, FILES, TAUS, TRACERS, VERSIONS, $
/PS, OUTFILENAME='myplot.ps'
; Creates difference maps from 2 different model versions
; using output from GEOS-Chem 1-month benchmark simulations.
DIFFERENCES_AOD, FILES, TAUS, TRACERS, VERSIONS, /DYNRANGE, $
/PS, OUTFILENAME='myplot.ps'
; Same as above, but will create difference maps using
; the full dynamic range of the data (centered around zero)
; instead of using pre-defined min & max values.
MODIFICATION HISTORY:
bmy, 09 Nov 2007: VERSION 1.01
- Initial version
bmy, 20 Dec 2007: VERSION 1.02
- Now pass the month as a keyword to
put on the plot panel titles
bmy, 02 Jun 2011: VERSION 1.03
- Make the colorbar a little wider
- Reduce the character size CsFac to 0.75
to better display long plot titles
- Now call COLORBAR with the UPOS keyword
to place the colorbar unit string properly
- Now use appropriate settings for creating
plots w/ the full dynamic range (/DYNRANGE)
- Also restore the !MYCT sysvar to defaults
mps, 16 Sep 2013: - Modified for 1-month benchmark output
bmy, 24 Jan 2014: GAMAP VERSION 2.17
- Updated comments
(See /n/home09/ryantosca/IDL/gamap2/benchmark/differences_aod.pro)
NAME:
DIFF_2D_MET
PURPOSE:
Creates absolute difference plots ( New - Old )
for GEOS-Chem 2-D meteorology fields.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
DIFF_2D_MET, FILES, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to predetermined values as returned
by routine GET_DIFF_RANGE.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===================================================
PlotDiff
External Subroutines Required:
===================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA GET_DIFF_RANGE
GETMODELANDGRIDINFO EXTRACT_FILENAME (function)
MULTIPANEL MYCT
OPEN_DEVICE TVMAP
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
TRACERS = INDGEN( 43 ) + 1
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
DIFF_2D_MET, FILES, TAUS, TRACERS, VERSIONS, $
/PS, OUTFILENAME='myplot.ps'
; Creates ratio plots of two GEOS-CHEM versions
; (in this case v7-04-11 / v7-04-10) for July 2001.
; Output is sent to PostScript file "myplot.ps".
; The min and max of the data on each plot panel is
; restricted to pre-defined values returned by
; function GET_DIFF_RANGE.
DIFF_2D_MET, FILES, TAUS, TRACERS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as the above example, but the min & max of
; each plot panel corresponds to the dynamic range
; of the data.
MODIFICATION HISTORY:
mps, 02 Dec 2013: - Initial version, based on differences.pro
ewl, 14 Mar 2016: - Fix bug in PlotPctDiff by passing Log=Log to TvMap
(See /n/home09/ryantosca/IDL/gamap2/benchmark/diff_2d_met.pro)
NAME:
DIFF_3D_MET
PURPOSE:
Creates absolute difference plots ( New - Old )
for GEOS-Chem 3-D meteorology fields.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
DIFF_3D_MET, FILES, LEVELS, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
LEVELS -> A 4-element vector containing the level indices
for the GEOS-Chem surface layer and 500 hPa layer.
for both models (e.g. SFC_1, SFC_2, 500_1, 500_2).
NOTE: This is in Fortran notation (starting from 1!)
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to predetermined values as returned
by routine GET_DIFF_RANGE.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===================================================
PlotDiff
External Subroutines Required:
===================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA GET_DIFF_RANGE
GETMODELANDGRIDINFO EXTRACT_FILENAME (function)
MULTIPANEL MYCT
OPEN_DEVICE TVMAP
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
LEVELS = [ 1, 1, 13, 13 ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
TRACERS = INDGEN( 43 ) + 1
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
DIFF_3D_MET, FILES, LEVELS, TAUS, TRACERS, VERSIONS, $
/PS, OUTFILENAME='myplot.ps'
; Creates ratio plots of two GEOS-CHEM versions
; (in this case v7-04-11 / v7-04-10) for July 2001.
; Output is sent to PostScript file "myplot.ps".
; The min and max of the data on each plot panel is
; restricted to pre-defined values returned by
; function GET_DIFF_RANGE.
DIFF_3D_MET, FILES, LEVELS, TAUS, TRACERS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as the above example, but the min & max of
; each plot panel corresponds to the dynamic range
; of the data.
MODIFICATION HISTORY:
mps, 02 Dec 2013: - Initial version, based on differences.pro
(See /n/home09/ryantosca/IDL/gamap2/benchmark/diff_3d_met.pro)
NAME:
DIFF_CLOUDS
PURPOSE:
Creates absolute difference plots ( New - Old ) for cloud fraction
(CLDTOT) and cloud optical depth (OPTD) in the surface - 500 hPa
column.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
DIFF_CLOUDS, FILES, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to predetermined values as returned
by routine GET_DIFF_RANGE.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===================================================
PlotAbsDiff
PlotPctDiff
External Subroutines Required:
===================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA GET_DIFF_RANGE
GETMODELANDGRIDINFO EXTRACT_FILENAME (function)
MULTIPANEL MYCT
OPEN_DEVICE TVMAP
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
TRACERS = [ 1, 2 ]
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
DIFF_CLOUDS, FILES, TAUS, TRACERS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Creates ratio plots of two GEOS-CHEM versions
; (in this case v7-04-11 / v7-04-10) for July 2001.
; Output is sent to PostScript file "myplot.ps".
; The min and max of the data on each plot panel
; corresponds to the dynamic range of the data.
MODIFICATION HISTORY:
mps, 23 Mar 2016: - Initial version
(See /n/home09/ryantosca/IDL/gamap2/benchmark/diff_clouds.pro)
NAME:
EMISSION_DIFFERENCES
PURPOSE:
Creates emission difference plots ( New - Old ) for GEOS-Chem.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
EMISSION_DIFFERENCES, FILES, TAUS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/PS -> Set this switch to generate PostScript output.
OUTDIR -> If /PS is set, then EMISSION_DIFFERENCES will
create PostScript files in this directory.
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===========================================
ComputeEmDiff PlotEmDiff
CreatePlots
External Subroutines Required:
============================================
OPEN_DEVICE CLOSE_DEVICE
MULTIPANEL COLORBAR_NDIV (function)
TVMAP CHKSTRU (function)
UNDEFINE EXTRACT_FILENAME (function)
CTM_GET_DATA ADD_SEPARATOR (function)
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILES = [ 'ctm.bpch.v9-01-01', 'ctm.bpch.v9-01-02' ]
TAUS = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
VERSIONS = [ 'v9-01-01', 'v9-01-02' ]
EMISSION_DIFFERENCES, FILES, TAUS, VERSIONS, $
/PS, OUTDIR='v9-01-02/output/'
; Creates emission difference plots of two GEOS-CHEM versions
; (in this case v9-01-02 - v9-01-01) for July 2005.
MODIFICATION HISTORY:
mps, 21 Apr 2015: Initial version based on emission_ratios.pro
(See /n/home09/ryantosca/IDL/gamap2/benchmark/emission_differences.pro)
NAME:
EMISSION_MAPS
PURPOSE:
Creates emission plots for GEOS-Chem tracers.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
EMISSION_MAPS, FILE, TAU, VERSION, [, Keywords ]
INPUTS:
FILE -> The name of the file containing data to be plotted.
TAU -> The TAU value (hours GMT from /1/1985) corresponding
to the data to be plotted.
VERSION -> The model version number corresponding to the
data to be plotted.
KEYWORD PARAMETERS:
/PS -> Set this switch to generate PostScript output.
OUTDIR -> If /PS is set, then EMISSION_MAPS will
create PostScript files in this directory.
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===========================================
CreatePlots PlotEmissions
External Subroutines Required:
============================================
OPEN_DEVICE CLOSE_DEVICE
MULTIPANEL COLORBAR_NDIV (function)
TVMAP CHKSTRU (function)
UNDEFINE EXTRACT_FILENAME (function)
CTM_GET_DATA ADD_SEPARATOR (function)
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILE = 'ctm.bpch.v10-01i'
TAU = NYMD2TAU( 20130701 )
VERSION = 'v10-01i'
EMISSION_MAPS, FILE, TAU, VERSION, /PS, OUTDIR='v10-01i/output/'
; Creates emission maps of GEOS-CHEM v10-01i for July 2013.
MODIFICATION HISTORY:
mps, 21 Apr 2015: Initial version based on emission_ratios.pro
(See /n/home09/ryantosca/IDL/gamap2/benchmark/emission_maps.pro)
NAME:
EMISSION_RATIOS
PURPOSE:
Creates emission ratio plots ( New / Old ) for GEOS-Chem.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
EMISSION_RATIOS, FILES, LEVELS, TAUS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/PS -> Set this switch to generate PostScript output.
OUTDIR -> If /PS is set, then EMISSION_RATIOS will
create PostScript files in this directory.
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===========================================
ComputeEmRatios PlotEmRatio
CreatePlots
External Subroutines Required:
============================================
OPEN_DEVICE CLOSE_DEVICE
MULTIPANEL COLORBAR_NDIV (function)
TVMAP CHKSTRU (function)
UNDEFINE EXTRACT_FILENAME (function)
CTM_GET_DATA ADD_SEPARATOR (function)
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILES = [ 'ctm.bpch.v9-01-01', 'ctm.bpch.v9-01-02' ]
TAUS = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
VERSIONS = [ 'v9-01-01', 'v9-01-02' ]
EMISSION_RATIOS, FILES, TAUS, VERSIONS, $
/PS, OUTDIR='v9-01-02/output/'
; Creates emission ratio plots of two GEOS-CHEM versions
; (in this case v9-01-02 / v9-01-01) for July 2005.
MODIFICATION HISTORY:
bmy, 10 Jun 2011: VERSION 1.00
- Initial version, based on "ratios.pro"
- Make sure directory ends with a path
separator character
bmy, 23 Jun 2011: - Add ratio plot for lightning NOx
bmy, 27 Jun 2011: - Now split top-title into 2 lines
bmy, 11 Aug 2011: VERSION 1.01
- Fix bug by making values less than 0.5
not show up as missing data.
bmy, 16 Dec 2011: GAMAP VERSION 2.16
- Remove ACET from dryleaf and ACET from
grass. These were GEIA diagnostics,
which are now obsoleted.
mps, 02 Apr 2013: Renamed NOx-xxxx emissions diagnostics to
NO-xxxx. NO emissions have now replaced
NOx emissions in GEOS-Chem (v9-02h).
mps, 15 Jul 2013: Fixed bug in MaxLev: Now plot column NO for
anthro, aircraft, and lightning emissions.
mps, 25 Nov 2014: Now plot anthro + biofuel emissions because HEMCO
does not separate them
ewl, 18 Mar 2015: Bug fixes: change NO, SO2, and SO4 anthro level
from 2 to 1; change 'Tracer_bf ge 1' to 'Tracer_bf
ge 0' to add biofuels to anthro in Create_Plots;
change Files index from 0 to 1 for Data2 err msg.
(See /n/home09/ryantosca/IDL/gamap2/benchmark/emission_ratios.pro)
NAME:
FREQ_DIST
PURPOSE:
Creates frequency distribution and percentile plots
for GEOS-CHEM tracers from benchmark simulations.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
FREQ_DIST, FILES, TAUS, TRACERS, VERSIONS [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH and aerosol optical depths in addition
to the advected tracers.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
OUTPUTS:
None
SUBROUTINES:
External Subroutines Required:
==========================================
OPEN_DEVICE CLOSE_DEVICE
MULTIPANEL EXTRACT_FILENAME (function)
CTM_GET_DATA
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(2) Assumes the version # is located at the end of FILENEW.
(3) Assumes the following diagnostics are archived in FILENEW:
(a) ND43 ("CHEM-L=$"): Fullchem benchmark
(b) ND45 ("IJ-AVG-$"): Radon and Fullchem benchmarks
EXAMPLE:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
FREQ_DIST, FILES, LEVELS, TAUS, VERSIONS, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
; Creates a frequency-ratio plot from the data
; files for GEOS-Chem versions v7-04-10 and v7-04-11
MODIFICATION HISTORY:
bmy, 12 Aug 2002: VERSION 1.01
- adapted from Isabelle Bey's "comparison.pro"
bmy, 21 Jan 2003: VERSION 1.02
- increased from 24 to 31 tracers
bmy, 28 Apr 2004: VERSION 1.03
- increased from 31 to 35 tracers
bmy, 03 May 2004: VERSION 1.04
- increased from 35 to 39 tracers
bmy, 21 May 2004: VERSION 1.05
- increased from 39 to 41 tracers
bmy, 02 Nov 2004: VERISION 1.06
- bug fix: now print out top title on each
page (when it is the first panel)
bmy, 06 May 2005: VERSION 1.07
- Now use -9.99e30 to flag strat boxes
bmy, 08 Jul 2005: VERSION 1.08
- Increased from 41 to 43 tracers
bmy, 09 Nov 2007: VERSION 1.09
- Modified argument list and some
internal variable names.
- Removed Radon keyword
bmy, 25 May 2011: VERSION 1.10
- Added /DO_FULLCHEM keyword
bmy, 17 Apr 2012: GAMAP VERSION 2.16
- Omit modelname error check
(See /n/home09/ryantosca/IDL/gamap2/benchmark/freq_dist.pro)
NAME:
FULLCHEM_BUDGET
PURPOSE:
Computes the budgets of Ox and CO from the GEOS-CHEM model.
for full chemistry benchmark simulations.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
FULLCHEM_BUDGET [, Keywords ]
INPUTS:
None
KEYWORD PARAMETERS:
TAU0 -> Time index of the data to plot. Units are hours
since 0 GMT on 1/1/1985. Default is 144600D (July 1, 2001).
FILENEW -> Name of a binary punch file containing model
output from a "New" version of the GEOS-CHEM.
If omitted, a dialog box will prompt the user to
supply a file name.
OUTFILENAME -> Name of the file where budget information
will be written to. Default is "(VERSION).budget.fullchem",
where VERSION is the version number contained w/in
FILENEW.
INITIALFILE -> Name of a binary file containing the mass of
Ox [in kg] at the start of a GEOS-CHEM model run.
FINALFILE -> Name of a binary file containing the mass of
Ox [in kg] at the end of a GEOS-CHEM model run.
OUTPUTS:
None
SUBROUTINES:
External Subroutines Required:
====================================
OPEN_FILE CTM_BOXSIZE (function)
CTM_GET_DATA TAU2YYMMDD (function)
UNDEFINE GETMODELANDGRIDINFO
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Assumes the version # is located at the end of FILENEW.
(2) Assumes the following GEOS-CHEM diagnostics
have been archived in the input files:
(a) ND24 ("EW-FLX-$") (f) ND65 ("PORL-L=$")
(b) ND25 ("NS-FLX-$") (g) ND66 ("DAO-3D-$")
(c) ND26 ("UP-FLX-$") (h) ND68 ("BXHGHT-$")
(d) ND44 ("DRYD-FLX") (i) ("TCMASS-$")
(e) ND45 ("CHEM-L=$") (j) ("TR-PAUSE")
EXAMPLE:
FULLCHEM_BUDGET, TAU0=144600D,
FILENEW='ctm.bpch.v5-01'
INITIALFILE='fullchem.mass.initial.v5-01', $
FINALFILE='fullchem.mass.final.v5-01', $
OUTFILENAME='v5-01.budget.fullchem'
MODIFICATION HISTORY:
bmy, 15 Aug 2002: VERSION 1.01
- adapted from Isabelle Bey's "budget.pro"
bmy, 14 Jan 2003: VERSION 1.02
- In GEOS-CHEM v5-03+, ND44 saves out tracers
using the CTM tracer number
bmy, 30 Oct 2003: VERSION 1.03
- now call PTR_FREE to free the heap memory
so that we don't run out of memory
- now compute mean mass-weighted OH instead
of methyl chloroform lifetime
ccc & bmy, 11 Aug 2010: VERSION 1.04
- Updated computation of Ox budget
bmy, 10 Jan 2011: VERSION 1.05
- Updated 200hPa level for MERRA
bmy, 08 Jun 2011: - Also print out MCF lifetime
bmy, 11 May 2012: GAMAP VERSION 2.16
- Modified for GEOS-5.7.2 met
mps, 06 Jan 2014: - Fix bug in calculation of WetYear so that wetdep
from convective updrafts is not double counted
(P. Kasibhatla)
mps, 04 Mar 2016: - Modified for MERRA2 met
(See /n/home09/ryantosca/IDL/gamap2/benchmark/fullchem_budget.pro)
NAME:
FULLCHEM_EMISSIONS
PURPOSE:
Prints totals of GEOS-CHEM emission species for two different
model versions. Also prints the difference in emission
totals between the two model versions.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
FULLCHEM_EMISSIONS [ , Keywords ]
INPUTS:
None
KEYWORD PARAMETERS:
FILENEW -> Name of a binary punch file containing model
output from a "New" version of the GEOS-Chem
FILEOLD -> Name of a binary punch file containing model
output from a "Old" version of the GEOS-Chem.
VERSION_NEW -> String that specifies the GEOS-Chem version
number pertaining to FILENEW. If not specified, then
FULLCHEM_EMISSIONS will look for this at the end of
the filename FILENEW.
VERSION_OLD -> String that specifies the GEOS-Chem version
number pertaining to FILEOLD If not specified, then
FULLCHEM_EMISSIONS will look for this at the end of
the filename FILEOLD.
OUTFILENAME -> Name of the text file where emission totals
and differences will be sent. Default is "emissions.txt".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines:
==================================
GetVersionInfo (function)
WriteHeader
WriteTracers
External Subroutines Required:
==================================
CTM_SUM_EMISSIONS
UNDEFINE
STRPAD (function)
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Assumes the version number is located at the end of
both FILENEW and FILEOLD
(2) Assumes that both FILENEW and FILEOLD contain the
following GEOS-CHEM diagnostic categories:
(a) ND06: DUSTSRCE
(b) ND07: BC-ANTH, BC-BIOB, BC-BIOF, PL-BC=$,
OC-ANTH, OC-BIOB, OC-BIOF, PL-OC=$
(c) ND08: SALTSRCE
(d) ND11: ACETSRCE
(e) ND13: DMS-BIOG, SO2-AC-$, SO2-AN-$, SO2-EV-$,
SO2-NV-$, SO4-AN-$, NH3-ANTH, NH3-BIOB,
NH3-BIOG, NH3-NATU, SO2-SHIP
(f) ND28: BIOBSRCE
(g) ND29: CO--SRCE
(h) ND32: NO-AC-$, NO-AN-$, NO-BIOB, NO-FERT,
NO-LI-$, NO-SOIL
(i) ND34: BIOFSRCE
(j) ND36: ANTHSRCE
(k) ND46 BIOGSRCE
EXAMPLE:
FULLCHEM_EMISSIONS, FILENEW='ctm.bpch.v10-01e', $
FILEOLD='ctm.bpch.v10-01d', $
OUTFILENAME='emissions.txt'
; Prints emissions & differences between
; versions v10-01d and v10-01e
MODIFICATION HISTORY:
bmy, 18 Jun 2001: VERSION 1.00
bmy, 20 Jun 2001: VERSION 1.01
- now omit ALD2 (#11) from ANTHROPOGENIC
bmy, 20 Sep 2001: VERSION 1.02
- now print ND11 acetone sources, sinks
bmy, 15 Aug 2002: VERSION 1.03
- renamed to FULLCHEM_EMISSIONS
- renamed FILE_NEW to FILENEW and
FILE_OLD to FILEOLD
bmy, 17 Jan 2003: VERSION 1.04
- also sum up sulfate emission categories
bmy, 27 Mar 2003: VERSION 1.05
- adjust FORMAT string for branch versions
- now also print out NH3-NATU source
bmy, 09 Apr 2004: VERSION 1.06
- Now print out emissions of BC/OC tracers
- Now print out hydrophilic BC/OC which
came from hydrophobic BC/OC
bmy, 28 Apr 2004: VERSION 1.07
- Now print out dust emissions
bmy, 03 May 2004: VERSION 1.08
- Now print out seasalt emissions
bmy, 21 May 2004: VERSION 1.09
- Now print out ship exhaust SO2 emissions
bmy, 08 Jul 2005: VERSION 1.10
- Updated for 43 tracers
bmy, 10 Jan 2011: VERSION 1.11
- Now make numeric fields 13 chars wide to
allow for wider title headers
bmy, 16 Dec 2011: GAMAP VERSION 2.16
- Remove ACET from dryleaf and ACET from
grass; these are obsolete GEIA quantities
mps, 23 Jan 2014: - Now report NH3 emissions in Tg N
bmy, 18 Aug 2014: GAMAP VERSION 2.18
- Now display Anthro + Biofuels together
which facilitates use w/ HEMCO emissions
bmy, 18 Aug 2014: - Now pass VERSION_NEW and VERSION_OLD as
keywords. If these are not specified,
then FULLCHEM_EMISSIONS will obtain these
from the filenames FILENEW and FILEOLD.
ewl, 18 Mar 2015: - Replace SO2-BF-$ and SO4-BF-$ with SO2-BIOF
and SO4-BIOF in anthro+biofuel section.
(See /n/home09/ryantosca/IDL/gamap2/benchmark/fullchem_emissions.pro)
NAME:
GET_CONC_RANGE
PURPOSE:
Returns a default plotting range for given GEOS-Chem tracers
This will be used to create concentration plots for GEOS-Chem
benchmarking.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
GET_CONC_RANGE, TRACERNAME, THIS_RANGE, THIS_UNIT
INPUTS:
TRACERNAME -> Name of the tracer for which a default
plotting range will be returned.
KEYWORD PARAMETERS:
None
OUTPUTS:
THIS_RANGE -> A 2 element vector with the [min,max] values
to be used in creating a tracer difference plot.
THIS_UNIT -> String with the units of the data.
SUBROUTINES:
None
REQUIREMENTS:
Routine READ_CONC_RANGE must be called before this routine
may be used. This will normally be done at the top of
driver routine BENCHMARK_1YR.
NOTES:
(1) Meant to be used in conjunction with the GEOS-Chem
benchmark plotting codes.
(2) Default ranges for each tracer are read from a file by the
complementary routine READ_DIFF_RANGE and stored in the
GDR common block.
EXAMPLE:
READ_CONC_RANGE, 'conc_range.1mon'
GET_CONC_RANGE, 'NOx', THIS_LOBOUND, THIS_HIBOUND, THIS_UNIT
PRINT, THIS_LOBOUND, THIS_HIBOUND
0.50000 2.00000
PRINT, THIS_UNIT
ppbv
; Prints the default plotting range and unit for NOx
MODIFICATION HISTORY:
bmy, 05 Sep 2012: VERSION 1.00
bmy, 24 Jan 2014: GAMAP VERSION 2.17
- Updated comments
(See /n/home09/ryantosca/IDL/gamap2/benchmark/get_conc_range.pro)
NAME:
GET_DIFF_RANGE
PURPOSE:
Returns a default plotting range for given GEOS-Chem tracers
This will be used to create absolute difference plots for
GEOS-Chem benchmarking.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
RANGE = GET_DIFF_RANGE( TRACERNAME )
INPUTS:
TRACERNAME -> Name of the tracer for which a default
plotting range will be returned.
KEYWORD PARAMETERS:
None
OUTPUTS:
RANGE -> A 2 element vector with the [min,max] values
to be used in creating a tracer difference plot.
SUBROUTINES:
None
REQUIREMENTS:
Routine READ_DIFF_RANGE must be called before this routine
may be used. This will normally be done at the top of
driver routine BENCHMARK_1MON.
NOTES:
(1) Meant to be used in conjunction with the GEOS-Chem
benchmark plotting codes.
(2) Default ranges for each tracer are read from a file by the
complementary routine READ_DIFF_RANGE and stored in the
GDR common block.
EXAMPLE:
READ_DIFF_RANGE, 'diff_range.1mon'
PRINT, GET_DIFF_RANGE( 'NOx' )
-0.100000 0.100000
; Prints the default plotting range for NOx
MODIFICATION HISTORY:
bmy, 14 Nov 2007: VERSION 1.00
(See /n/home09/ryantosca/IDL/gamap2/benchmark/get_diff_range.pro)
NAME:
JV_DIFF
PURPOSE:
Creates difference (new - old) plots of J-values at both the
surface and 500 hPa.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
JV_DIFF, FILES, LEVELS, TAUS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
LEVELS -> A 4-element vector containing the level indices
for the GEOS-Chem surface layer and 500 hPa layer.
for both models (e.g. SFC_1, SFC_2, 500_1, 500_2).
NOTE: This is in Fortran notation (starting from 1!)
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to +/- 5%.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
OUTPUTS:
None
SUBROUTINES:
External Subroutines Required:
==================================================
PlotJVDiff
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA EXTRACT_FILENAME (function)
GETMODELANDGRIDINFO MULTIPANEL
MYCT OPEN_DEVICE
TVMAP
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON
EXAMPLE:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
LEVELS = [ 1, 1, 13, 13 ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
JV_DIFF, FILES, LEVELS, TAUS, VERSIONS, $
/PS, OUTFILENAME='myplot.ps'
; Creates J-value difference plots [ v7-04-11 - v7-04-10 ]
; for July 2001 at the surface and 500 hPa.
; The max & min of the data will be fixed at +/- 5%.
JV_DIFF, FILES, LEVELS, TAUS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as above, but this time the full dynamic
; range of the data will be displayed.
MODIFICATION HISTORY:
mps, 02 Dec 2013: - Initial version, based on jv_ratios.pro
mps & bmy, 29 May 2014: GAMAP VERSION 2.18
- Compatible with extra J-Value tracers
in v10-01c and higher versions
(See /n/home09/ryantosca/IDL/gamap2/benchmark/jv_diff.pro)
NAME:
JV_MAP
PURPOSE:
Creates plots of J-values at both the surface and 500 hPa.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
JV_MAP, FILE, LEVELS, TAU, VERSION, [, Keywords ]
INPUTS:
FILE -> The name of the file containing data to be plotted.
LEVELS -> A 4-element vector containing the level indices
for the GEOS-Chem surface layer and 500 hPa layer.
for both models (e.g. SFC_1, SFC_2, 500_1, 500_2).
NOTE: This is in Fortran notation (starting from 1!)
TAU -> The TAU value (hours GMT from /1/1985) corresponding
to the data to be plotted.
VERSION -> The model version number corresponding to the
data to be plotted.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to +/- 5%.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Required:
==================================================
PlotJVMap
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA EXTRACT_FILENAME (function)
GETMODELANDGRIDINFO MULTIPANEL
MYCT OPEN_DEVICE
TVMAP
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON
EXAMPLE:
FILE = 'ctm.bpch.v10-01i'
LEVELS = [ 1, 1, 13, 13 ]
TAUS = NYMD2TAU( 20130701 )
VERSIONS = 'v10-01i'
JV_MAP, FILES, LEVELS, TAUS, VERSIONS, $
/PS, OUTFILENAME='myplot.ps'
; Creates J-value plots for v10-01i for July 2013
; at the surface and 500 hPa.
; The max & min of the data will be fixed at +/- 5%.
JV_MAP, FILE, LEVELS, TAU, VERSION, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as above, but this time the full dynamic
; range of the data will be displayed.
MODIFICATION HISTORY:
mps, 19 Apr 2014: VERSION 1.01
- Adapted from jv_ratio.pro
mps & bmy, 29 May 2014: GAMAP VERSION 2.18
- Compatible with extra J-Value tracers
in v10-01c and higher versions
(See /n/home09/ryantosca/IDL/gamap2/benchmark/jv_map.pro)
NAME:
JV_RATIO
PURPOSE:
Creates ratio (new/old) plots of J-values at both the surface
and 500 hPa.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
JV_RATIO, FILES, LEVELS, TAUS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
LEVELS -> A 4-element vector containing the level indices
for the GEOS-Chem surface layer and 500 hPa layer.
for both models (e.g. SFC_1, SFC_2, 500_1, 500_2).
NOTE: This is in Fortran notation (starting from 1!)
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to +/- 5%.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
OUTPUTS:
None
SUBROUTINES:
External Subroutines Required:
==================================================
ComputeJVRatios PlotJVRatios
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA EXTRACT_FILENAME (function)
GETMODELANDGRIDINFO MULTIPANEL
MYCT OPEN_DEVICE
TVMAP
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON
EXAMPLE:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
LEVELS = [ 1, 1, 13, 13 ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
JV_RATIO, FILES, LEVELS, TAUS, VERSIONS, $
/PS, OUTFILENAME='myplot.ps'
; Creates J-value ratio plots [ v7-04-11 / v7-04-10 ]
; for July 2001 at the surface and 500 hPa.
; The max & min of the data will be fixed at +/- 5%.
JV_RATIO, FILES, LEVELS, TAUS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as above, but this time the full dynamic
; range of the data will be displayed.
MODIFICATION HISTORY:
bmy, 14 Aug 2002: VERSION 1.01
- Adapted from Isabelle Bey's "cat_plot.pro"
- you may now specify different TAU values
bmy, 13 Sep 2002: VERSION 1.02
for FILENEW and FILEOLD via the TAU0 keyword
bmy, 04 Oct 2004: VERSION 1.03
- Remove MIN_VALID from call to TVMAP
bmy, 09 Nov 2007: VERSION 1.04
- Modified argument list and some
internal variable names.
bmy, 20 Nov 2007: VERSION 1.05
- Now draw out-of-bounds triangles for
the colorbar when using the "small"
data ranges. New feature of TVMAP.
bmy, 07 May 2008: VERSION 1.06
- Now allow for comparing models on 2
different vertical grids.
bmy, 08 Feb 2011: VERSION 1.07
- Now display in the top-of-plot title
if the dynamic range option is used.
bmy, 08 Jun 2011: VERSION 1.08
- Now create log plots in range 0.5 - 2.0
- Added /DO_FULLCHEM keyword
- Adjust colorbar so that the 0.9 - 1.1
range shows up in white.
- Now restore !MYCT sysvar to previous
settings upon exiting the program
mps & bmy, 29 May 2014: GAMAP VERSION 2.18
- Compatible with extra J-Value tracers
in v10-01c and higher versions;
(See /n/home09/ryantosca/IDL/gamap2/benchmark/jv_ratio.pro)
NAME:
MAPS
PURPOSE:
Creates lon-lat maps of GEOS-Chem tracers at the
surface and 500 hPa levels.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
MAPS, FILE, LEVELS, TAUS, TRACERS, VERSION, [, Keywords ]
INPUTS:
FILE -> The name of the file containing data to be plotted.
LEVELS -> A 4-element vector containing the level indices
for the GEOS-Chem surface layer and 500 hPa layer.
for both models (e.g. SFC_1, SFC_2, 500_1, 500_2).
NOTE: This is in Fortran notation (starting from 1!)
TAU -> The TAU value (hours GMT from /1/1985) corresponding
to the data to be plotted.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSION -> The model version number corresponding to the
data to be plotted.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Provided:
==================================================
PlotMap
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA EXTRACT_FILENAME (function)
GETMODELANDGRIDINFO MULTIPANEL
MYCT OPEN_DEVICE
TVMAP CHKSTRU (function)
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILE = 'ctm.bpch.v7-04-11'
LEVELS = [ 1, 1, 13, 13 ]
TAUS = NYMD2TAU( 20010701 )
TRACERS = INDGEN( 43 ) + 1
VERSIONS = 'v7-04-11'
MAPS, FILE, LEVELS, TAU, TRACERS, VERSION, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
; Creates tracer maps of GEOS-CHEM v7-04-11 for July 2001.
; Output is sent to PostScript file "myplot.ps".
MODIFICATION HISTORY:
bmy, 14 Nov 2007: VERSION 1.01
- Based on "tracer_map.pro"
bmy, 07 May 2008: VERSION 1.06
- Now allow for comparing models on 2
bmy, 08 Jun 2011: VERSION 1.07
- Added /DO_FULLCHEM keyword
- Now restore !MYCT sysvar to previous
settings upon exiting the program
mps, 29 Mar 2013: - Now plot chemically produced HO2
(See /n/home09/ryantosca/IDL/gamap2/benchmark/maps.pro)
NAME:
MAPS_AOD
PURPOSE:
Creates column maps of aerosol optical depths from 1-month
GEOS-Chem benchmark simulation output.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
MAPS_AOD_1YR, FILES, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "red", 'green", and "blue" GEOS-Chem model
versions that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$") to be plotted.
VERSIONS -> A 2-element vector containing the model version
names from the "red", 'green", and "blue" simulations.
KEYWORD PARAMETERS:
/DYNRANGE -> Set this switch to create plots using the entire
dynamic range of the data (centered around zero). The
default is to use pre-defined data ranges.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Provided:
=========================================
PLOTDIFF
External Subroutines Required:
=========================================
OPEN_DEVICE CLOSE_DEVICE
MULTIPANEL COLORBAR_NDIV (function)
CTM_PLOT CHKSTRU (function)
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLE:
FILES = [ 'ctm.bpch.v9-02p', 'ctm.bpch.v9-02q' ]
TAUS = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
TRACERS = [ 1, 2, 4 ]
VERSIONS = [ 'v9-02p', 'v9-02q' ]
DIFFERENCES_1YR, FILES, TAUS, TRACERS, VERSIONS, $
/PS, OUTFILENAME=myplot.ps'
; Creates maps from 2 different model versions
; using output from GEOS-Chem 1-month benchmark simulations.
DIFFERENCES_1YR, FILES, TAUS, TRACERS, VERSIONS, /DYNRANGE, $
/PS, OUTFILENAME=PSNAME
; Same as above, but will create difference maps using
; the full dynamic range of the data (centered around zero)
; instead of using pre-defined min & max values.
MODIFICATION HISTORY:
bmy, 05 Sep 2012: VERSION 1.01
- Initial version
mps, 16 Sep 2013: - Modified for 1-month benchmark output
bmy, 24 Jan 2014: GAMAP VERSION 2.17
- Updated comments
(See /n/home09/ryantosca/IDL/gamap2/benchmark/maps_aod.pro)
NAME:
MCF_LIFETIME
PURPOSE:
Computes the methylchloroform (CH3CCl3, aka "MCF") lifetime
w/r/t tropospheric OH from monthly-mean GEOS-Chem archived
fields.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
MCF_LIFETIME, FILE, [ Keywords ]
INPUTS:
FILE -> Specifies the name of the file with GEOS-Chem
diagnostic output (bpch format or otherwise).
KEYWORD PARAMETERS:
LON -> A 2-element vector containing the minimum and maximum
longitude values to include in the computation of the MCF
lifetime. Default is [ -180, 180 ].
LAT -> A 2-element vector containing the minimum and maximum
latitude values to include in the computation of the MCF
lifetime. Default is [ -90, 90 ].
LEV_a -> A 2-element vector containing the minimum and maximum
levels (i.e. all vertical levels) to include in the
computation of the MCF lifetime. Default is [ 1, 47 ]
(corresponding to the GEOS-5 47-level simulation).
LEV_t -> a 2-element vector containing the minimum and
maximum tropospheric levels to include in the
computation of the MCF lifetime. Default is [ 1, 38 ]
(corresponding to the value of the max tropospheric
level LLTROP for a GEOS-5 47-level simulation.)
TAU0 -> TAU value (hours from 0 GMT on 1985/01/01) with which
the GEOS-Chem diagnostic data blocks are timestamped.
Default is 179664.00 (corresponding to 0 GMT on
2005/07/01).
/VERBOSE -> Will cause MCF_LIFETIME to print the methyl
chlofororm lifetime to the screen. The default is to
suppress printing.
OUTPUTS:
LIFE_YEARS -> Returns the MCF lifetime w/r/t tropopsheric
OH in years.
SUBROUTINES:
External subroutines required:
==============================
CTM_BoxSize (function)
CTM_Get_DataBlock (function)
Nymd2Tau (function)
REQUIREMENTS:
MCF_LIFETIME requires that the following GEOS-Chem
diagnostics be present in the input file:
(a) Grid box surface area [m2 ] (DXYP, tracer #1)
(b) Grid box heights [m ] (BXHGHT-$, tracer #1)
(c) Air number density [molec/m3 ] (BXHGHT-$, tracer #4)
(d) Chemically produced OH [molec/cm3] (CHEM-L=$, tracer #1)
(e) Time spent in tropopause [fraction ] (TIME-TPS, tracer #1)
(f) Temperature [K ] (DAO-3D-$, tracer #5)
Requires routines from the GAMAP package.
NOTES:
Derivation of MCF lifetime w/r/t tropospheric OH
----------------------------------------------------------
We assume that MCF has a uniform mixing ratio in air (=1).
Thus the density of air can be substituted for the density
of MCF in the equations below.
The lifetime of MCF w/ respect to tropospheric OH is:
T_OH = Atmospheric Burden / Tropospheric loss rate
The atmospheric burden of MCF is:
SUM{ AIRDEN(I,J,L) * VOLUME(I,J,L) }
where:
I = longitudes
J = latitudes
L = levels from the surface to top of atmosphere
AIRDEN = Air density at ([I,J,L) in molec/cm3
VOLUME = Grid box volume at (I,J,L) in cm3
The tropospheric loss rate of MCF is:
SUM{ K(I,J,X) * OH(I,J,X) * AIRDEN(I,J,X) * VOLUME(I,J,X) }
where
I = longitudes
J = latitudes
X = levels from the surface to the
location of the tropopause at (I,J)
(we only count boxes fully in the tropopause)
K(I,J,X) = 1.64e-12 * EXP( -1520 / T(I,J,X) )
T(I,J,X) = Temperature at grid box (I,J,X)
T_OH has several reported values in the literature:
(a) Spivakovsky et al (2000) : 5.7 years
(b) Prinn et al (2001) : 6.0 years
Derivation of total MCF lifetime:
----------------------------------------------------------
Once you have obtained the MCF lifetime w/r/t tropospheric
OH, you can compute the total lifetime of MCF as:
1/T_total = 1/T_OH + 1/T_strat + 1/T_ocean
where
T_total = total lifetime of MCF in atmosphere
T_OH = the output of this function
T_strat = 43 years (cf. Spivakovsky et al)
T_ocean = 94 years (range 81-145 years, cf WMO/UNEP)
References:
----------------------------------------------------------
(1) Prather, M. and C. Spivakovsky, "Tropospheric OH and
the lifetimes of hydrochlorofluorocarbons", JGR,
Vol 95, No. D11, 18723-18729, 1990.
(2) Lawrence, M.G, Joeckel, P, and von Kuhlmann, R., "What
does the global mean OH concentraton tell us?",
Atm. Chem. Phys, 1, 37-49, 2001.
(3) WMO/UNEP Scientific Assessment of Ozone Depletion: 2010
EXAMPLE:
LIFE = MCF_LIFETIME( 'ctm.bpch', $
LON=[-180,-180], $
LAT=[ -90, 90], $
LEV_A=[ 1, 47 ], $
LEV_T=[ 1, 38 ], $
TAU0=NYMD2TAU( 20050101 ) )
; Will return the MCF lifetime w/r/t tropospheric OH
; (in years) based on GEOS-Chem diagnostic output at
; model date 2005/01/01.
MODIFICATION HISTORY:
bmy, 08 Jun 2011: VERSION 1.00
(See /n/home09/ryantosca/IDL/gamap2/benchmark/mcf_lifetime.pro)
NAME:
PLOT_MASSCONS
PURPOSE:
Plots the evolution of total mass vs. time from the
geosfp_2x25_masscons simulation.
CATEGORY
Benchmarking
CALLING SEQUENCE:
PLOT_MASSCONS, FILENAME, _EXTRA=e
INPUTS:
FILENAME -> Name of the file containing the total mass
printed every 6 hours from the geosfp_2x25_masscons
simulation. Default is "tracer_mass_kg.dat".
OUTPUT:
None (creates a plot)
KEYWORD PARAMETERS:
/VERBOSE -> Print extra information (min and max of time
and total mass) to the screen.
_EXTRA =e -> Passes extra keywords to PLOT and OPLOT routins.
SUBROUTINES:
External Subroutines Required:
===============================
NYMD2TAU (function)
STRBREAK (function)
STRSCI (function)
REQUIREMENTS:
None
NOTES:
This could probably be written a little more efficiently.
Also, plotting output has been kept very basic, as we are
mostly using this for quick validation plots, which do not
need to be fancy.
EXAMPLE:
PLOT_MASSCONS, 'tracer_mass_kg_2017.dat'
; Creates a plot from the data in the given file name.
MODIFICATION HISTORY:
bmy, 22 Feb 2017: GAMAP VERSION 2.19
- Initial version
(See /n/home09/ryantosca/IDL/gamap2/benchmark/plot_masscons.pro)
NAME:
PROFILES
PURPOSE:
Creates longitudinal difference profiles of tracers along
15S latitude and 42N latitude.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
PROFILES, FILES, ALTRANGE, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
ALTRANGE -> A 2-element vector containing the altitude range
(in km) of the data to be plotted. ALTRANGE will be
passed to CTM_EXTRACT.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to predetermined values as returned
by routine GET_DIFF_RANGE.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
=======================================================
PlotProfile
External Subroutines Required:
=======================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_EXTRACT (function) CTM_GET_DATA
GET_DIFF_RANGE (function) GETMODELANDGRIDINFO
EXTRACT_FILENAME (function) MULTIPANEL
CHKSTRU (function) MYCT
OPEN_DEVICE TVMAP
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLE:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
ALTRANGE = [ 0, 20 ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
TRACERS = INDGEN( 43 ) + 1
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
PROFILES, FILES, ALTRANGE, TAUS, TRACERS, VERSIONS, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
; Creates ratio plots of two GEOS-CHEM versions
; (in this case v7-04-11 / v7-04-10) for July 2001.
; Output is sent to PostScript file "myplot.ps".
; The min and max of the data on each plot panel is
; restricted to pre-defined values returned by
; function GET_DIFF_RANGE.
PROFILES, FILES, ALTRANGE, TAUS, TRACERS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as the above example, but the min & max of
; each plot panel corresponds to the dynamic range
; of the data (centered around zero)
MODIFICATION HISTORY:
bmy, 14 Nov 2007: VERSION 1.01
- Initial version
bmy, 20 Nov 2007: VERSION 1.02
- Now draw out-of-bounds triangles for
the colorbar when using the "small"
data ranges. New feature of TVMAP.
bmy, 08 Feb 2011: VERSION 1.03
- Now display in the top-of-plot title
if the dynamic range option is used.
bmy, 08 Jun 2011: VERSION 1.04
- Added /DO_FULLCHEM keyword
- Now call COLORBAR with the UPOS keyword
to place the colorbar unit string properly
- Now use appropriate settings for creating
plots w/ the full dynamic range (/DYNRANGE)
- Now restore !MYCT sysvar to previous
settings upon exiting the program
- Better adjust colorbar position for /PS
bmy, 11 May 2012: GAMAP VERSION 2.16
- Modify the error check to allow
comparison of equivalent vertical grids
(e.g. GEOS-5, MERRA, GEOS-5.7) even if
the model names differ
mps, 04 Mar 2016: - Include MERRA2 in the check for equivalent
vertical grids
(See /n/home09/ryantosca/IDL/gamap2/benchmark/profiles.pro)
NAME:
RATIOS
PURPOSE:
Creates ratio plots ( New/Old ) for GEOS-Chem tracers and OH.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
RATIOS, FILES, LEVELS, TAUS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
LEVELS -> A 4-element vector containing the level indices
for the GEOS-Chem surface layer and 500 hPa layer.
for both models (e.g. SFC_1, SFC_2, 500_1, 500_2).
NOTE: This is in Fortran notation (starting from 1!)
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range from 0.5 to 2.0.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
===========================================
ComputeRatios PlotRatio
External Subroutines Required:
============================================
OPEN_DEVICE CLOSE_DEVICE
MULTIPANEL COLORBAR_NDIV (function)
TVMAP UNDEFINE
CTM_GET_DATA, EXTRACT_FILENAME (function)
REQUIREMENTS:
References routines from both GAMAP and TOOLS packages.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILES = [ 'ctm.bpch.v7-04-10', 'ctm.bpch.v7-04-11' ]
LEVELS = [ 1, 1, 13, 13 ]
TAUS = [ NYMD2TAU( 20010701 ), NYMD2TAU( 20010701 ) ]
TRACERS = INDGEN( 43 ) + 1
VERSIONS = [ 'v7-04-10', 'v7-04-11' ]
RATIOS, FILES, LEVELS, TAUS, TRACERS, VERSIONS, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
; Creates ratio plots of two GEOS-CHEM versions
; (in this case v7-04-11 / v7-04-11) for July 2001.
; Output is sent to PostScript file "myplot.ps".
; The min & max of the data will be fixed at -/+ 5%.
RATIOS, FILES, LEVELS, TAUS, TRACERS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as above, but this time the full dynamic range
; of the data will be displayed.
MODIFICATION HISTORY:
bmy, 14 Nov 2007: VERSION 1.01
- based on older routine "tracer_ratio.pro"
bmy, 20 Nov 2007: VERSION 1.02
- Now draw out-of-bounds triangles for
the colorbar when using the "small"
data ranges. New feature of TVMAP.;
bmy, 07 May 2008: VERSION 1.03
- Now allow for comparing models on 2
different vertical grids.
bmy, 08 Feb 2011: VERSION 1.04
- Now display in the top-of-plot title
if the dynamic range option is used.
bmy, 08 Jun 2011: VERSION 1.05
- Now create log plots in range 0.5 - 2.0
- Added /DO_FULLCHEM keyword
- Adjust colorbar so that the 0.9 - 1.1
range shows up in white.
- Now restore !MYCT sysvar to previous
settings upon exiting the program
- Better adjust colorbar position for /PS
mps, 29 Mar 2013: - Now plot HO2 ratios
(See /n/home09/ryantosca/IDL/gamap2/benchmark/ratios.pro)
NAME:
READ_CONC_RANGE
PURPOSE:
Reads a file containing default plotting range for given
GEOS-Chem tracers. This will be used to create absolute
difference plots for GEOS-Chem benchmarking.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
READ_CONC_RANGE, INPUTFILE
INPUTS:
INPUTFILE -> Name of the file that contains the default
plotting ranges for each GEOS-Chem tracer. Default
is "diff_range.1mon".
KEYWORD PARAMETERS:
None
OUTPUTS:
None
SUBROUTINES:
External Subroutines Required:
================================
OPEN_FILE STRBREAK (function)
REQUIREMENTS:
READ_CONC_RANGE must be called first to read the file with
default plotting ranges. This is normally done at the top
of driver routine BENCHMARK_1MON. After this has been done,
function GET_CONC_RANGE may be used to return the default
plotting range from within another program.
NOTES:
(1) Meant to be used in conjunction with the GEOS-Chem
benchmark plotting codes.
(2) Default ranges for each tracer are read from a file by
this routine and stored in the GDR common block.
EXAMPLE:
READ_CONC_RANGE, 'conc_range.1mon'
GET_CONC_RANGE, 'NOx', THIS_LOBOUND, THIS_HIBOUND, UNIT
PRINT*, THIS_LOBOUND, THIS_HIBOUND, UNIT
-0.100000 0.100000, ppbv
; Prints the default plotting range for NOx
MODIFICATION HISTORY:
bmy, 05 Sep 2012: VERSION 1.00
bmy, 24 Jan 2014: GAMAP VERSION 2.17
- Updated comments
(See /n/home09/ryantosca/IDL/gamap2/benchmark/read_conc_range.pro)
NAME:
READ_DIFF_RANGE
PURPOSE:
Reads a file containing default plotting range for given
GEOS-Chem tracers. This will be used to create absolute
difference plots for GEOS-Chem benchmarking.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
READ_DIFF_RANGE, INPUTFILE
INPUTS:
INPUTFILE -> Name of the file that contains the default
plotting ranges for each GEOS-Chem tracer. Default
is "diff_range.1mon".
KEYWORD PARAMETERS:
None
OUTPUTS:
None
SUBROUTINES:
External Subroutines Required:
================================
OPEN_FILE STRBREAK (function)
REQUIREMENTS:
READ_DIFF_RANGE must be called first to read the file with
default plotting ranges. This is normally done at the top
of driver routine BENCHMARK_1MON. After this has been done,
function GET_DIFF_RANGE may be used to return the default
plotting range from within another program.
NOTES:
(1) Meant to be used in conjunction with the GEOS-Chem
benchmark plotting codes.
(2) Default ranges for each tracer are read from a file by
this routine and stored in the GDR common block.
EXAMPLE:
READ_DIFF_RANGE, 'diff_range.1mon'
PRINT, GET_DIFF_RANGE( 'NOx' )
-0.100000 0.100000
; Prints the default plotting range for NOx
MODIFICATION HISTORY:
bmy, 14 Nov 2007: VERSION 1.00
(See /n/home09/ryantosca/IDL/gamap2/benchmark/read_diff_range.pro)
NAME:
STRAT
PURPOSE:
Creates zonal-mean curtain plots of GEOS-Chem tracers between
100hPa and 0.01 hPa from the GEOS-Chem 1-month benchmark simulations.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
STRAT, FILE, LONS, TAUS, TRACERS, VERSION, [, Keywords ]
INPUTS:
FILE -> The name of the file containing data to be plotted.
LONS -> Longitudes to plot
TAU -> The TAU value (hours GMT from /1/1985) corresponding
to the data to be plotted.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSION -> The model version number corresponding to the
data to be plotted.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Provided:
==================================================
PlotStrat
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA EXTRACT_FILENAME (function)
GETMODELANDGRIDINFO MULTIPANEL
MYCT OPEN_DEVICE
TVMAP CHKSTRU (function)
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILE = 'ctm.bpch.v7-04-11'
LEVELS = [ 1, 1, 13, 13 ]
TAUS = NYMD2TAU( 20010701 )
TRACERS = INDGEN( 43 ) + 1
VERSIONS = 'v7-04-11'
STRAT, FILE, LONS, TAU, TRACERS, VERSION, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
MODIFICATION HISTORY:
mps, 11 Sep 2015: - Initial version, based on zonal.pro
(See /n/home09/ryantosca/IDL/gamap2/benchmark/strat.pro)
NAME:
STRAT_DIFF
PURPOSE:
Creates zonal mean absolute and percent difference plots
of tracers between 100hPa and 0.01 hPa from the GEOS-Chem
1-month benchmark simulations.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
STRAT_DIFF, FILES, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to predetermined values as returned
by routine GET_DIFF_RANGE.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
ZDFORMAT -> This keyword passes a colorbar format string
(Fortran-style) to the COLORBAR routine (via TVPLOT).
This keyword is purposely not named CBFORMAT, in order
to avoid passing this quantity to other routines.
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
==================================================
PlotStratAbsDiff PlotStratPctDiff
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA GET_DIFF_RANGE (function)
GETMODELANDGRIDINFO EXTRACT_FILENAME (function)
MULTIPANEL CHKSTRU (function)
MYCT OPEN_DEVICE
TVPLOT UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLE:
FILES = [ 'ctm.bpch.v9-01-01', 'ctm.bpch.v9-01-02a' ]
TAUS = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
TRACERS = INDGEN( 43 ) + 1
VERSIONS = [ 'v9-01-01', 'v9-01-02a' ]
STRAT_DIFF, FILES, ALTRANGE, TAUS, TRACERS, VERSIONS, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
; Creates zonal mean difference plots of two GEOS-Chem
; versions; (in this case v9-01-01 / v9-01-01a) for
; July 2001. Output is sent to the PostScript file
; "myplot.ps". The min and max of the data on each plot
; panel is restricted to pre-defined values returned by
; function GET_DIFF_RANGE.
STRAT_DIFF, FILES, ALTRANGE, TAUS, TRACERS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as the above example, but the min & max of
; each plot panel corresponds to the dynamic range
; of the data (centered around zero).
MODIFICATION HISTORY:
mps, 11 Sep 2015: - Initial version, based on zonal_diff.pro
mps, 04 Jan 2016: - Include MERRA2 in the check for equivalent
vertical grids
(See /n/home09/ryantosca/IDL/gamap2/benchmark/strat_diff.pro)
NAME:
ZONAL
PURPOSE:
Creates zonal-mean curtain plots of GEOS-Chem tracers
CATEGORY:
Benchmarking
CALLING SEQUENCE:
ZONAL, FILE, LONS, TAUS, TRACERS, VERSION, [, Keywords ]
INPUTS:
FILE -> The name of the file containing data to be plotted.
LONS -> Longitudes to plot
TAU -> The TAU value (hours GMT from /1/1985) corresponding
to the data to be plotted.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSION -> The model version number corresponding to the
data to be plotted.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/PRESSURE -> Set this switch to plot pressure on the Y-axis.
The default is to plot altitude on the Y-axis.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Provided:
==================================================
PlotZonal
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA EXTRACT_FILENAME (function)
GETMODELANDGRIDINFO MULTIPANEL
MYCT OPEN_DEVICE
TVMAP CHKSTRU (function)
UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLES:
FILE = 'ctm.bpch.v7-04-11'
LEVELS = [ 1, 1, 13, 13 ]
TAUS = NYMD2TAU( 20010701 )
TRACERS = INDGEN( 43 ) + 1
VERSIONS = 'v7-04-11'
ZONAL, FILE, LONS, TAU, TRACERS, VERSION, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
MODIFICATION HISTORY:
cdh, 01 May 2012: Created zonal.pro based on maps.pro
bmy, 29 May 2013: GAMAP VERSION 2.17
- Remove reference to MEAN2 function
mps, 07 Aug 2013: - Now plot chemically produced HO2
mps, 10 Sep 2015: - Added /PRESSURE keyword to plot pressure
on the Y-axis (instead of altitude)
(See /n/home09/ryantosca/IDL/gamap2/benchmark/zonal.pro)
NAME:
ZONAL_DIFF
PURPOSE:
Creates zonal mean absolute and percent difference plots
of tracers from the GEOS-Chem 1-month benchmark simulations.
CATEGORY:
Benchmarking
CALLING SEQUENCE:
ZONAL_DIFF, FILES, TAUS, TRACERS, VERSIONS, [, Keywords ]
INPUTS:
FILES -> A 2-element vector containing the names of files
from the "old" and "new" GEOS-Chem model versions
that are to be compared.
TAUS -> A 2-element vector contaning TAU values (hours GMT
from /1/1985) corresponding to the "old" and "new"
GEOS-Chem model versions.
TRACERS -> The list of transported tracers (i.e. diagnostic
category "IJ-AVG-$").
VERSIONS -> A 2-element vector containing the version
numbers for the "old" and "new" GEOS-Chem model
versions.
KEYWORD PARAMETERS:
/DO_FULLCHEM -> Set this switch to plot the chemically
produced OH in addition to the advected tracers.
/DYNRANGE -> Set this switch to create plots using the whole
dynamic range of the data. Default is to restrict
the plot range to predetermined values as returned
by routine GET_DIFF_RANGE.
/PRESSURE -> Set this switch to plot pressure on the Y-axis.
The default is to plot altitude on the Y-axis.
/PS -> Set this switch to generate PostScript output.
OUTFILENAME -> If /PS is set, will write PostScript output
to a file whose name is specified by this keyword.
Default is "tracer_ratio.pro".
ZDFORMAT -> This keyword passes a colorbar format string
(Fortran-style) to the COLORBAR routine (via TVPLOT).
This keyword is purposely not named CBFORMAT, in order
to avoid passing this quantity to other routines.
OUTPUTS:
None
SUBROUTINES:
Internal Subroutines Included:
==================================================
PlotZonalAbsDiff PlotZonalPctDiff
External Subroutines Required:
==================================================
CLOSE_DEVICE COLORBAR_NDIV (function)
CTM_GET_DATA GET_DIFF_RANGE (function)
GETMODELANDGRIDINFO EXTRACT_FILENAME (function)
MULTIPANEL CHKSTRU (function)
MYCT OPEN_DEVICE
TVPLOT UNDEFINE
REQUIREMENTS:
References routines from the GAMAP package.
NOTES:
(1) Meant to be called from BENCHMARK_1MON.
EXAMPLE:
FILES = [ 'ctm.bpch.v9-01-01', 'ctm.bpch.v9-01-02a' ]
TAUS = [ NYMD2TAU( 20050701 ), NYMD2TAU( 20050701 ) ]
TRACERS = INDGEN( 43 ) + 1
VERSIONS = [ 'v9-01-01', 'v9-01-02a' ]
ZONAL_DIFFS, FILES, ALTRANGE, TAUS, TRACERS, VERSIONS, $
/DO_FULLCHEM, /PS, OUTFILENAME='myplot.ps'
; Creates zonal mean difference plots of two GEOS-Chem
; versions; (in this case v9-01-01 / v9-01-01a) for
; July 2001. Output is sent to the PostScript file
; "myplot.ps". The min and max of the data on each plot
; panel is restricted to pre-defined values returned by
; function GET_DIFF_RANGE.
ZONAL_DIFFS, FILES, ALTRANGE, TAUS, TRACERS, VERSIONS, $
/DYNRANGE, /PS, OUTFILENAME='myplot.ps'
; Same as the above example, but the min & max of
; each plot panel corresponds to the dynamic range
; of the data (centered around zero).
MODIFICATION HISTORY:
bmy, 21 Jun 2011: VERSION 1.01
- Initial version, based on profiles.pro
bmy, 18 Jul 2011: - Added /PRESSURE keyword to plot pressure
on the Y-axis (instead of altitude)
bmy, 11 May 2012: GAMAP VERSION 2.16
- Now allow comparision of equivalent model
grids, even if the model names differ
(e.g. GEOS5_47L, MERRA_47L, GEOSFP_47L)
mps, 29 Mar 2013: - Now plot HO2 difference profiles
mps, 07 Aug 2013: - Now plot OH differences everywhere to fix bug
- Pre-defined range for ratio plots is now set to
+/- 30, so that we only plot ratios > 10%
- Cap dynamic range ratio plots at 1000% to avoid
going beyong max number of digits for colorbar
mps, 01 Oct 2015: - Include MERRA2 in the check for equivalent
vertical grids
(See /n/home09/ryantosca/IDL/gamap2/benchmark/zonal_diff.pro)