This page contains links to CAMx pre- and post-processors and other tools. These Fortran source codes are distributed by Ramboll as free software, and they contain notices like this:
Copyright (C) 2016-2022 Ramboll
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Ramboll periodically posts updates for certain key programs when necessary, but does not actively support or maintain every one. Users can e-mail questions, comments, suggestions or improvements to CAMx.
All of the archive files listed below were created using the Linux/Unix tar command. In all cases the tar file is compressed to save space. To unpack the contents use the command:
tar xzvf file.tgz
avgdif.15may13.tgz
AVGDIF compares two CAMx Fortran binary format files and prints a table of differences. Useful for checking differences between CAMx runs on different machines or different compilers. See the sample job script in the archive for usage. Updated 15 May 2013 to fix a minor bug reading v6+ file headers.
bndextr.20sep16.tgz
BNDEXTR generates pre-v7 CAMx boundary condition input files for a 1-way nested grid from a parent grid 3-D output file. Operates on Fortran binary format files. See the example job script for usage. This version does not support 1-way source apportionment nesting. Updated 20 September 2016 to support CAMx Polar and Mercator projections.
bndextr_v4.2.29mar24.tgz
BNDEXTR v4.2 generates CAMx v7.0+ initial and boundary condition (IC/BC) input files for a 1-way nested grid from parent grid 3-D output files. Operates on netCDF met and output concentration files, and generates IC/BC files in either netCDF or Fortran binary format files. See the example job script for usage. You will need netCDF library to compile and run this program. V4.2 updated 26 March 2024 to add file compression/chunking.
bin2asc.07may10.tgz
BIN2ASC and ASC2BIN programs convert UAM/CAMx Fortran binary files to/from ASCII text files. See the README file for usage. Updated 7 May 2010 to fix a minor bug in processing point source files.
camx2ioapi.8apr16.tgz
CAMx2IOAPI converts CAMx input emission files and output average concentration and deposition files in Fortran binary format to netCDF formats following the Models3/IO-API convention. See sample job script for more information. You will need IO-API and netCDF libraries to compile and run this program. Updated 8 April 2016 to include VBS SOA species names and to recognize CAMx Polar and Mercator projections.
camx2ncf_ems.30apr22.tgz
CAMx2NCF_ems converts CAMx input 2-D gridded emission files in Fortran binary format to 2-D netCDF format. You will need netCDF library to compile and run this program. Updated 30 April 2022 to fix some NCF variables and metadata. See sample job script for more information.
camx2ncf_pts.30apr22.tgz
CAMx2NCF_pts converts CAMx input point source emission files in Fortran binary format to 1-D netCDF format. The 1-D format can be used for all types of CAMx point sources, but it is particularly needed for point sources where plume rise will be determined in-line as CAMx runs from input source parameters, and also to define PiG sources. Because CAMx point source netCDF files contain 1-D lists of point source parameters and emission rates, these files cannot be used or plotted as gridded emissions without further manipulation to place the point sources onto a grid. You will need netCDF library to compile and run this program. Updated 30 April 2022 to fix some NCF variables and metadata. See sample job script for more information.
camx2ncf3d_pts.30apr22.tgz
CAMx2NCF3D_pts converts certain types of CAMx input point source emissions in Fortran binary format to 3D gridded netCDF format. 3-D netCDF files are useful for sources traditionally generated as point sources with defined plume rise or vertical plume distribution (e.g., fires, lightning NOx), thereby reducing the number of sources carried in the 1-D point source files. Use netCDF compression to significantly reduce the sparse 3-D file volumes. Any point sources that have no defined plume rise or vertical distribution (i.e., those set for in-line plume rise calculations) will not be written to 3-D netCDF point source files. You will need netCDF library to compile and run this program. Updated 30 April 2022 to fix some NCF variables and metadata. See sample job script for more information.
camxpost.02oct09.tgz
CAMxPOST is a set of post-processing utilities that operate on Fortran binary format files to pair observations and predictions, calculate statistics, and plot time series. See the README file in the archive for usage. Updated 2 October 2009 to correct a minor bug in CAMxSTAT and to add additional output from EXTSTAT (with associated updates for the template spreadsheets).
camxtrct.8apr16.tgz
CAMxtrct extracts gridded data for a single chemical species or a composite compound (NOx, VOC) from a CAMx Fortran binary file to separate CAMx Fortran binary or text file formats. See the sample job script in the archive for usage. Updated 8 April 2016 for general code cleanup, add CB6 VOC, minor bug fixes.
cmaq2camx.22sep16.tgz
CMAQ2CAMx converts CMAQ-formatted emissions and IC/BC files to CAMx Fortran binary formats. See README and job scripts for more information. You will need IO-API and netCDF libraries to compile and run this program. Updated 8 April 2016 to process CAMx Polar and Mercator projections. Updated 22 September 2016 to fix a minor bug checking map projection type for in-line point source files.
cmaq2camx_v2.0.10mar23.tgz
CMAQ2CAMx converts CMAQ-formatted emissions and IC/BC files to CAMx netCDF input formats with species mapping to accommodate different species definitions between the 2 models. This version has been completely rewritten, removes the compile-time requirement for IOAPI libraries, and is split into a suite of 4 separate programs for gridded emissions, point source emissions, initial conditions, and boundary conditions. See job scripts for more information. You will need netCDF libraries to compile and run this program.
geos2camx.30apr22.tgz
GEOS2CAMx generates CAMx initial and boundary condition input files in netCDF or Fortran binary formats from GEOS-Chem global chemistry model netCDF output. See the sample job script in the archive for a description of the program and how it is applied. You will need netCDF library to compile and run this program. Updated 30 April 2022 as a major revision to read GEOS-Chem netCDF files and to read/write CAMx I/O files in either netCDF or Fortran binary formats, and to simplify the processing stream.
icbcprep.15feb06.tgz
ICBCPREP prepares simple, spatially and temporally static CAMx initial condition (IC) and boundary condition (BC) files in Fortran binary format. See the sample job script in the archive for usage.
kvpatch.8may14.tgz (for CAMx Fortran binary Kv files)
KVPATCH applies minimum Kv values to vertical layers below a user-defined height above ground based on input landuse fields and surface layer stability within that depth. Operates on Fortran binary CAMx Kv files for v6+ (including v7+). See the README file included with the source code for details. Updated 8 May 2014 to apply the cloud patch only over land.
kvpatch.6jan22.tgz (for CAMx netCDF Kv files)
KVPATCH applies minimum Kv values to vertical layers below a user-defined height above ground based on input landuse fields and surface layer stability within that depth. Operates on netCDF CAMx Kv files. See the README file included with the source code for details. You will need netCDF library to compile and run this program. Updated 20 May 2021 to fix a bug reading grid dimensions that include nested grid buffers. Updated 6 January 2022 to fix a bug reading and echoing date/time from the input Kv file — no effects to resulting gridded data.
lnox.31Oct22.tgz
LNOx estimates lightning NOx emissions and generates a CAMx input file in either NCF 3-D or Fortran binary point source formats using CAMx input NCF meteorological files. See the README file and sample job script included with the source code for description and usage. You will need netCDF library to compile and run this program. Updated 31 October 2022 to add NCF I/O.
metstat.9dec13.tgz
METSTAT reads WRF output files and generates time series and model performance statistics for winds, temperature, and humidity. See the README file for usage. You will need netCDF library to compile and run this program. Updated 9 December 2013 to fix a minor bug defining the input file unit.
merge-lulai.16sep16.tgz
MERGE-LULAI merges GIS-derived landuse and LAI fields with a pre-existing CAMx v6+ (and v7+) 2D surface file. Operates on Fortran binary files. See sample job script and source code for usage. Updated 16 September 2016 to fix a bug in processing GIS-derived water LU.
mozart2camx.6apr22.tgz (for CAMx or CMAQ)
MOZART2CAMx generates CAMx and CMAQ initial and boundary condition input files from WACCM or CAM-Chem global chemistry model output. For CAMx, this program only works with Fortran binary format I/O. See the README in the archive for a description of the program and how it is applied. You will need IO-API and netCDF libraries to compile and run this program. Updated 6 April 2022 to fix an aerosol unit conversion bug when processing WACCM and CAM-Chem datasets. The capability to process MOZART data has been removed from this program as it is obsolete and no longer supported by NCAR. Species mapping files for CB05 and SAPRC99 have been removed as they are no longer supported by CAMx.
mozart2camx.26mar24.tgz (for CAMx v7+)
MOZART2CAMx generates CAMx initial and boundary condition input files in netCDF or Fortran binary formats from WACCM or CAM-Chem global chemisry model output. See the README and sample job scripts in the archive for a description of the program and how it is applied. You will need netCDF library to compile and run this program. Includes all updates in the 6 April 2022 version posted above, but is a major revision to read/write CAMx I/O files in either netCDF or Fortran binary formats, to automate time zone shifting, to remove support for CMAQ, to remove dependency on IO-API libraries, and to simplify the processing stream. Updated 26 March 2024 to stop with an error message if the grid configuration indicates a 2-way interactive nest (external BCs do not apply to 2-way nests).
o3map.20sep16.tgz (for CAMx v6.0-v6.5)
O3MAP prepares ozone column input files for TUV4.8 and CAMx v6.0-6.5. See the README file and sample job script in the archive for usage. Updated 20 September 2016 to handle CAMx domains crossing the International Date Line (+/- 180 degrees), and to improve efficiency in filling missing TOMS data by interpolation. Download ozone column data (lat/lon grid) in TXT format at https://acd-ext.gsfc.nasa.gov/anonftp/toms/omi/data/Level3e/ozone/ or https://acd-ext.gsfc.nasa.gov/anonftp/toms/omps_tc/data/ozone/.
o3map.31may20.tgz (for CAMx v7+)
O3MAP prepares ozone column input files for TUV4.8 and CAMx v7+. See the README file and sample job script in the archive for usage. Updated 31 May 2020 for CAMx v7: output ozone column in full Dobson Units, allow more flexibility in input ozone column resolution, and fix a bug related to CAMx domains crossing the International Date Line (+/- 180 degrees). Download ozone column data (lat/lon grid) in TXT format at https://acd-ext.gsfc.nasa.gov/anonftp/toms/omi/data/Level3e/ozone/ or https://acd-ext.gsfc.nasa.gov/anonftp/toms/omps_tc/data/ozone/.
oceanic.26mar24.tgz (formerly SEASALT)
OCEANIC generates aerosol emissions of sodium, chloride and sulfate, gas emissions of halomethane compounds, and gas emissions of dimethyl sulfide (DMS) using CAMx-ready netCDF meteorological and landuse files. See the PDF document and sample job for description and usage. You will need netCDF library to compile and run this program. Updated 26 March 2024 to ensure proper use of nested grid dimensions.
PA_tools.04apr12.tgz
PA Tools are a set of Process Analysis postprocessing programs that extract IPR, IRR and CPA data from one or more CAMx Fortran binary files, and reformat the data for subsequent analyses (e.g., using spreadsheets). Updated 4 April 2012 to update the Excel macro to accommodate Office/Excel 2007 and to allow more than 99 reactions in processing IRR output.
prepvbs.22dec16.tgz
PREPVBS runs the XSPCMAP program to prepare VBS POA and IVOC emissions in Fortran binary format for each basis set (anthropogenic, meat cooking, fires, biogenic) as this automated process has been removed from CAMx. You must separately download the XSPCMAP program (see below). See the sample job script and species mapping tables for more information. Updated 22 December 2016 to add CB6r4 and to revise anthropogenic and biogenic classification of VBS SOA precursors.
regnmap.8apr16.tgz
REGNMAP generates partial or fractional cell region maps for the CAMx source apportionment Probing Tool. This program uses output from SMOKE spatial allocation reports. See the sample scripts and CAMx User’s Guide for more information.
saicbc.28oct22.tgz
SAICBC generates Source Apportionment tracer initial/boundary condition input files to support 1-way nesting (or downscaling) from a set of third-party global or regional photochemical model zero-out scenarios. SAICBC operates on a set of separate core-model initial/boundary conditions that were generated from the larger-scale model output scenarios. I/O can be NCF or Fortran binary format. See the sample job script for more information and usage. You will need netCDF library to compile and run this program. Updated 28 October 2022 to extend I/O support for NCF.
tuv4.8.camx7.10.15dec20.tgz (for CAMx v7.10)
TUV v4.8 is a radiative transfer model that develops clear-sky photolysis rate inputs for CAMx v7.10. See sample jobs in the archive for usage. Updated 15 Dec 2020 to support the CB6r5 photochemical mechanism in CAMx v7.10. TUV originates from UCAR (https://www2.acom.ucar.edu/modeling/tropospheric-ultraviolet-and-visible-tuv-radiation-model).
tuv4.8.camx7.20.30apr22.tgz (for CAMx v7.20)
TUV v4.8 is a radiative transfer model that develops clear-sky photolysis rate inputs for CAMx v7.20. See sample jobs in the archive for usage. Updated 30 Apr 2022 to support CAMx v7.20 and the future implementation of the CB7 photochemical mechanism. TUV originates from UCAR (https://www2.acom.ucar.edu/modeling/tropospheric-ultraviolet-and-visible-tuv-radiation-model).
tuv4.8.camx7.30.24jun24.tgz (for CAMx v7.30)
TUV v4.8 is a radiative transfer model that develops clear-sky photolysis rate inputs for CAMx v7.30. See sample jobs in the archive for usage. Updated 24 June 2024 to support CB7r1 and RACM2 photochemical mechanisms. TUV originates from UCAR (https://www2.acom.ucar.edu/modeling/tropospheric-ultraviolet-and-visible-tuv-radiation-model).
watermask.27jan17.tgz
WATERMASK converts a CAMx landuse file containing all water coverage in index=1 (ocean) to a new landuse file that differentiates between salt/ocean water coverage and fresh water coverage (index=3). Operates on Fortran binary files. See the included PDF document and sample job for usage. Updated 27 January 2017 to address an inconsistent definition of fortran type in the makefile, and to help avoid accidentally clobbering an edited watermask file if the Run ID is not set properly.
watermask.27nov23.tgz
WATERMASK converts a CAMx netCDF landuse file containing all water coverage in index=1 (ocean) to a new landuse file that differentiates between salt/ocean water coverage and fresh water coverage (index=3). See the included PDF document and sample job for usage. You will need netCDF library to compile and run this program.
wbdust.24mar24.tgz
WBDUST estimates wind blown dust emissions using CAMx input netCDF meteorological files and global data fields for soil composition. See the README file, the WBDUST guide (PDF), and sample job script included in the archive for description and usage. You will need netCDF library to compile and run this program. Updated 26 March 2024 to ensure proper use of nested grid dimensions and to fill grid/map variables in the output file (lat/lon).
window.6may13.tgz
WINDOW can be used to window/aggregate/interpolate Fortran binary format gridded surface emissions files. See the sample job for usage. Updated 6 May 2013 to fix a minor bug when using buffer cells with the same input and output resolution.
wrfcamx_v4.8.1.14Dec20.tgz (makes CAMx Fortran binary input files)
WRFCAMx generates CAMx v6.3+ (and v7+) meteorological input files in Fortran binary format from WRF/ARW v3/4 output files. See the README in the archive for a description of the program and how it is applied. You will need netCDF library to compile and run this program. Updated 14 December 2020 to include multiple updates and a bug fix in reading/storing the WRF hybrid vertical coordinate flag.
wrfcamx_v5.2.10Jan22.tgz (makes CAMx netCDF input files)
WRFCAMx generates CAMx v7+ meteorological input files in netCDF format from WRF/ARW v3/4 output files. See the README in the archive for a description of the program and how it is applied. You will need netCDF library to compile and run this program. Updated 10 January 2022 to include variables that support MEGAN v3.2 and to fix a few minor NCF bug fixes.
xspcmap.8apr16.tgz
XSPCMAP creates new output variables from a linear combination of input variables as defined by a species mapping table. All I/O must be CAMx Fortran binary gridded files. See the sample script, mapping table, and fortran source code for more information.