Repository navigation
Data and Provenance
The global example is reconstructable from public provider data. The published machine-readable manifest records logical paths, byte sizes, SHA-256 digests, and selections for most of the inputs and prepared artifacts listed below.
| Input | Selection | Bytes | SHA-256 |
|---|---|---|---|
| MPAS x1.40962 static archive |
x1.40962.static.nc, graph |
23,101,360 | bbe83893c0cb347f3b6fae497c11cde7bef42e1cd0a6fc7db3a961ca3e4f9266 |
| NOAA GFS 0.25-degree analysis | 2024-07-01 00Z, f000 | 513,310,010 | 69d71c821486c6575591e8fb63471fd01af73e3a3f9480dd6bd2a892a3554676 |
| GFS index | matching object index | 31,817 | 47894c8851b22073808ec257c62450811fe0e9b7c5fe5a75f9fca774535d8cd5 |
| CAMS-GLOB-ANT v6.2 NOx | July/August 2024, 13 sectors plus sum | 95,931,202 | 2687ea4f95161119f3e7962f65a1026898a6c3730d509001ef30190fdd83b032 |
| CAMS-GLOB-ANT v6.2 CO | July/August 2024, retained sectors plus awb and sum |
73,668,265 | de5f26c721916bc2e35889fc487335d5b0800499ed50db1d38d5aea3664e15c6 |
| FINNv2.5.1 NRT, 2024-07-01 | direct CO, NO, NO2 | 4,651,521 | 43499864e7510f8b8bf8efdfda693c76372e7de3876043c005abb0fc68a66fbd |
| FINNv2.5.1 NRT, 2024-07-02 | direct CO, NO, NO2 | 4,473,170 | 5a58945eed3afaf04023bb223561b984d47a3a4f44452b92fa844c8795b0da89 |
| MERRA-2 M2IMNPASM 5.12.4 | 2024 monthly O3 and H at 3, 2, 1, 0.7, 0.5, 0.4, 0.3, 0.1 hPa | 67,892,140 | 88c0786141712b3264fdd85687dbeecd69a5cea073adba4db851b81f8f187520 |
MERRA-2 downloads require NASA Earthdata authentication. CAMS-GLOB-ANT is
described by DOI
10.24380/eets-qd81, MERRA-2 by
10.5067/2E096JV59PK7, and FINN
availability by the official FINN page.
The NOAA Open Data entry
describes the GFS archive.
The CAMS subsets use time indices 294 and 295 on the complete global
0.1-degree grid. The MERRA subset concatenates the twelve 2024 monthly means
in January-to-December order and retains only O3 and H at the eight
declared pressure levels.
These are the exact products used to prepare and run the example:
| Artifact | Bytes | SHA-256 |
|---|---|---|
x1.40962.static.nc |
94,766,584 | cf1a47d4168327f06a8403555d6ed8b2fe1aff7f8b916bb7f6a754c34a10ac82 |
x1.40962.graph.info.part.8 |
81,924 | f56e75e1f408b632fd5cd22ad05cc59fdbb54daf1e2f8f3d6298147a1e7f577b |
| WPS GFS intermediate | 959,387,352 | dde20db8efa58be94f791280aa54034aec3462292ddc36fd29b9c98e8cc71505 |
| base GFS initial state | 444,532,092 | 4178605ca4a813ceeb0ddbc5a6814c4d78ddd6c3be8ccc06a88fab58dd69728d |
| expanded GFS/chemistry initial state | 572,335,744 | 7ccb0670cb49374de78187761cf410690a4b8fc4d4a27533a5ba97deed907e78 |
| CAMS explicit-NOx inventory (not staged by these scenarios) | 20,758,020 | d213866000e8a633954d0c730ba5524f729f26a97d02cc5a13d8b405aa6c8e9c |
| harmonized CAMS NO/NO2/CO inventory | 26,686,361 | 39ab42133bdc255a74c5082e8a20dd3111ad5bde6f67d270828123712c1670bf |
| FINN NO/NO2/CO inventory | 5,271,798 | dfb3eef24f5a76ec4b41a9cb1837454a52239f69d12514547992e5821364a8f1 |
| MERRA-2 monthly prescribed O3 package | 39,423,729 | a6ecbb5b57fc72485d76ed8cb652666f58c26535bc1f3dbf443b9bc615938301 |
The x1.40962 mesh fingerprint is:
cdd75b787f487302df17b31c2dd7aaf7082a7cb265a711792ef0e5f3ceebda12
The exact eight-rank partition is also present in the official JW idealized archive.
Use WPS 4.6.0 at revision
335c76a111f84503e8b963abaf273ea8053645bb.
The example directory provides namelist.wps and
Vtable.GFS.CheMPAS.
- Stage the GFS GRIB2 file as
GRIBFILE.AAA, the supplied WPS namelist asnamelist.wps, and the supplied Vtable asVtable. - Run WPS
ungrib.exe. The required intermediate filename isGFS:2024-07-01_00. - Stage
x1.40962.static.nc, the exact part.8 file,namelist.init_atmosphere, andstreams.init_atmospherefrom the example directory. - Run
init_atmosphere_modelon eight ranks. It writesx1.40962.gfs-20240701T00Z.init.ncwith 26 model levels, four soil levels, a 45 km top, specific humidity, and date-matched surface fields.
The supplied initialization files define every option used in this conversion.
Copy the base GFS state and add only the fifteen
f8(Time,nCells,nVertLevels) chemistry fields. Preserve all source arrays
and metadata bit-for-bit. Let z be layer-center altitude in km,
zagl layer-center height above the local surface in km, and
Mair = 0.02897 kg mol-1. Convert each declared VMR with
MMR = VMR * Mspecies / Mair.
| Species | VMR profile |
|---|---|
| O2 | 0.2095 |
| O3 | 30e-9 * exp(min(z,12)/12) + 6e-6 * exp(-0.5*((z-27)/5)^2) |
| total NOx | 1e-9 * exp(-zagl/3) + 0.05e-9 |
| NO / NO2 | 30% / 70% of total NOx |
| CO | 50e-9 + 70e-9 * exp(-zagl/5) |
| CH4 | 1.9e-6 |
| H2O2 | 1e-9 * exp(-zagl/5) |
| CH2O | 0.3e-9 * exp(-zagl/4) |
| CH3OOH | 0.1e-9 * exp(-zagl/4) |
| HNO3 | 0.1e-9 * exp(-zagl/6) |
| O, O1D, OH, HO2, CH3O2 | zero |
Use mechanism molar masses from global_cams_tropo_ch4nox.yaml. Do not add
qH2O or qM: H2O binds to host qv, and M is computed from air
density. Set the global description to identify the fields as an idealized,
not assimilated or spun-up, chemistry background.
Use ESMF 8.9.1 first-order conservative remapping with dstarea
normalization and user-supplied physical areas.
- The CAMS source SCRIP grid has 1800 x 3600 cells in latitude-major/longitude-fastest order. Latitude cell edges are midpoint bounds clipped at the poles; longitude is cyclic. Cell areas use exact small-circle latitude bands.
- The destination SCRIP grid uses the MPAS cell centers, vertices, and
authoritative
areaCellvalues. - Require no unmapped destination cells or unrepresented source cells and verify global flux before and after remapping.
The CAMS weight file used by the example is 780,426,736 bytes with SHA-256
5fdf1f7e5f786449169a8f024edcfa7dd67dbb82af5a534e730b2aada1505712.
MERRA-2 uses a separate conservative weight file from its 0.625 x 0.5-degree
grid. That file is 36,353,854 bytes with SHA-256
d9a862a11fb1c17c99baca5545400df7723c2b829255e08f7de2247e2a58e727.
CAMS NOx is expressed as NO-equivalent mass. For each time and sector:
- conservatively remap the native nonnegative flux;
- request nominal 90% NO and 10% NO2 mass fractions;
- normalize those fractions for molecular mass so elemental nitrogen is unchanged:
d = 0.9 / M_NO + 0.1 / M_NO2
f_NO = 0.9 * (1 / M_NO) / d
f_NO2 = 0.1 * (1 / M_NO) / d
with M_NO = 0.030 and M_NO2 = 0.046 kg mol-1. Store explicit
no_anth_<sector> and no2_anth_<sector> fields in
kg m-2 s-1.
Remap CO directly by sector. For the final harmonized package, sum all retained
NO, NO2, and CO sectors but omit awb. Retained NOx sectors are
agl, ags, com, ene, fef, ind, ref, res, shp, swd, tnr, tro; retained CO
sectors are com, ene, fef, ind, ref, res, shp, swd, tnr, tro. Store July
and August anchors and use linear runtime interpolation.
Package the result with Time, nCells, StrLen, Gregorian
xtime, ascending indexToCellID, exact MPAS geometry, mesh fingerprint,
and no_anth_sum, no2_anth_sum, and co_anth_sum.
For each provider record on 1 and 2 July:
- read latitude, longitude, and direct CO, NO, and NO2 totals in mol species day-1;
- assign the point to the nearest x1.40962 cell center on the unit sphere;
- sum point totals in each cell; and
- convert each cell to
kg m-2 s-1asmol_day * Mspecies / (86400 * areaCell).
Use timestamps 2024-07-01_12:00:00 and
2024-07-02_12:00:00. Duplicate the first field at
2024-07-01_00:00:00 so MIEM never extrapolates before the first noon
anchor. Configure nearest interpolation; an exact midpoint tie selects the
earlier record. This explicit timing approximation can displace fire-local
daily totals by up to 12 hours with longitude.
Store fields no_fire, no2_fire, and co_fire; ignore
NOXasNO. Verify that reconstructed daily moles and global mass match the
provider totals.
Convert each MERRA-2 O3 mixing-ratio layer to molecular column using
log-midpoint pressure bounds, gravity 9.80665 m s-2, O3 molar mass
0.048 kg mol-1, and Avogadro's number. Conservatively remap those columns
to x1.40962; remap MERRA height with the same area weights normalized by
destination row sum.
Redistribute the remapped columns by height overlap onto eleven 5 km layers from 45 to 100 km. Fill only portions outside MERRA-2's vertical support using the log-linear AFGL mid-latitude-summer O3 values and USSA76 structural fields in the published upper-atmosphere CSV.
The NetCDF package contract is:
- dimensions
Time=12,nCells=40962,nUpperLevels=11,nUpperEdges=12, andnBounds=2; - Gregorian climatological month midpoints and bounds;
- exact
indexToCellID,areaCell,latCell, andlonCell; -
upper_edge_height, layer heights/bounds, edge temperature, and edge air number density; -
O3_layer_columninmolecule cm-2andO3_number_densityinmolecule cm-3; -
chempas_schema_version = chempas-prescribed-field-package-v1, the mesh algorithm/fingerprint, source hashes, and remapping provenance; - global attributes
Conventions = CF-1.10,missing_value_policy = fail; no fill, andnegative_value_policy = fail; no clipping, plus non-emptysource_product,source_version,horizontal_remapping,vertical_remapping,reference_atmosphere_completion, andtemporal_semantics; - a
Timecoordinate indays since 2000-01-01 00:00:00withclimatology = climatology_bounds, plusclimatology_boundsandclimatology_monthvariables; and -
latCellandlonCellin radians.
Interpret the twelve 2024 means as a cyclic climatology with linear interpolation at Gregorian month-bound midpoints. Missing, nonfinite, or negative values are fatal rather than filled or clipped.
MIEM inventories carry chempas_mesh_fingerprint_algorithm = chempas-mesh-sha256-v1 and chempas_mesh_sha256; prescribed-field packages
use the same algorithm with chempas_mesh_fingerprint. The fingerprint
normalizes cells into ascending indexToCellID order and hashes the geometry
class, cell count, sphere/periodic flags, sphere radius, units, areaCell, and
available cell coordinates in canonical big-endian encodings. Retain the
field-manifest metadata with any generated inventory.