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)