[cmor-tables] 08/09: Add obs4MIPs

Alastair McKinstry mckinstry at moszumanska.debian.org
Sat Jul 29 12:48:22 UTC 2017


This is an automated email from the git hooks/post-receive script.

mckinstry pushed a commit to branch debian/master
in repository cmor-tables.

commit ebbaee4a060f654e6f62ca44e015f5e21e75c309
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Sun Dec 18 07:52:13 2016 +0000

    Add obs4MIPs
---
 debian/cmor-tables.install                         |    2 +
 obs4MIPs-cmor-tables/.github/ISSUE_TEMPLATE.md     |   21 +
 .../.github/PULL_REQUEST_TEMPLATE.md               |   10 +
 obs4MIPs-cmor-tables/.gitignore                    |    7 +
 obs4MIPs-cmor-tables/README.md                     |    4 +
 obs4MIPs-cmor-tables/Tables/obs4MIPs_Amon.json     | 1264 +++++
 obs4MIPs-cmor-tables/Tables/obs4MIPs_Lmon.json     | 1100 ++++
 obs4MIPs-cmor-tables/Tables/obs4MIPs_Omon.json     | 3772 ++++++++++++
 obs4MIPs-cmor-tables/Tables/obs4MIPs_SImon.json    | 1548 +++++
 obs4MIPs-cmor-tables/Tables/obs4MIPs_fx.json       |  373 ++
 .../demo/amipbc_areacello_360x180_v1.1.0.nc        |  Bin 0 -> 33635 bytes
 .../amipobs_tos_360x180_v1.1.0_187001-187112.nc    |  Bin 0 -> 3250704 bytes
 obs4MIPs-cmor-tables/demo/drive_obs4MIPs.json      |   30 +
 obs4MIPs-cmor-tables/demo/obs4MIPs_CV.json         |  110 +
 .../demo/obs4MIPs_Omon_composite.json              | 6004 ++++++++++++++++++++
 .../demo/obs4MIPs_fx_composite.json                | 2605 +++++++++
 obs4MIPs-cmor-tables/demo/runCMOR3.py              |  289 +
 obs4MIPs-cmor-tables/demo/src/extractNcSubset.py   |   25 +
 .../demo1/generate_cmor3_tables.py                 |   88 +
 .../demo1/obs4MIPs_CMOR_tables/obs4MIPs_Amon.json  | 3481 ++++++++++++
 .../demo1/obs4MIPs_CMOR_tables/obs4MIPs_CV.json    |  117 +
 obs4MIPs-cmor-tables/demo1/prw_rss_mo_input.json   |   30 +
 obs4MIPs-cmor-tables/demo1/read_json_fcns.py       |   49 +
 .../demo1/rss_prw_run_cmor_demo.py                 |   67 +
 .../demo1/rss_ssmi_pw_v06.6-demo.nc                |  Bin 0 -> 327764 bytes
 .../demo1/update_obs4mips_CMOR3_CV.py              |  152 +
 obs4MIPs-cmor-tables/obs4MIPs_coordinate.json      | 2235 ++++++++
 obs4MIPs-cmor-tables/obs4MIPs_frequency.json       |   14 +
 obs4MIPs-cmor-tables/obs4MIPs_grid.json            |  100 +
 obs4MIPs-cmor-tables/obs4MIPs_grid_label.json      |   15 +
 obs4MIPs-cmor-tables/obs4MIPs_grid_resolution.json |   16 +
 obs4MIPs-cmor-tables/obs4MIPs_institution_id.json  |    8 +
 obs4MIPs-cmor-tables/obs4MIPs_mip_era.json         |    5 +
 obs4MIPs-cmor-tables/obs4MIPs_product.json         |    9 +
 obs4MIPs-cmor-tables/obs4MIPs_realm.json           |   12 +
 .../obs4MIPs_required_global_attributes.json       |   22 +
 obs4MIPs-cmor-tables/obs4MIPs_table_id.json        |    9 +
 obs4MIPs-cmor-tables/src/writeJson.py              |  259 +
 38 files changed, 23852 insertions(+)

diff --git a/debian/cmor-tables.install b/debian/cmor-tables.install
index 424594f..884ff3a 100644
--- a/debian/cmor-tables.install
+++ b/debian/cmor-tables.install
@@ -7,3 +7,5 @@ geomip-cmor-tables/Tables/*		/usr/share/cmor/GeoMIP
 cmip5-cmor-tables/Tables/*		/usr/share/cmor/CMIP5
 cmip5-cmor-tables/Tables_csv/*		/usr/share/cmor/CMIP5
 input4MIPs-cmor-tables/*		/usr/share/cmor/input4MIPs
+obs4MIPs-cmor-tables/*.json		/usr/share/cmor/obs4MIPs
+obs4MIPs-cmor-tables/Tables/*		/usr/share/cmor/obs4MIPs
diff --git a/obs4MIPs-cmor-tables/.github/ISSUE_TEMPLATE.md b/obs4MIPs-cmor-tables/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..6d9cd4f
--- /dev/null
+++ b/obs4MIPs-cmor-tables/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,21 @@
+<Please fill out the requested information and delete irrelevant information from the template below before submitting your issue.>  
+
+To register (or edit) information about your institution, please title your issue "institution_id registration of [acronym for your institution]"
+
+'institution_id' -- a short acronym suitable for search interfaces and sub-directory names (should limit the characters used to the following set: a-z, A-Z, 0-9, and "-") 'institution' -- full name and address of institution, likely to include: laboratory/group name, hosting institution name, city, state/province and postal-code, country (no restriction on character set).
+
+Example 1: [title your issue "institution_id registration of PCMDI"]
+
+institution_id = PCMDI
+institution = Program for Climate Model Diagnosis and Intercomparison, Lawrence Livermore National Laboratory, Livermore, CA 94550, USA
+
+Example 2: [title your issue "institution_id registration of NASA-GISS"]
+
+institution_id = NASA-GISS
+institution = NASA Goddard Institute for Space Studies, New York, NY 10025, USA 
+
+
+You can now delete the two examples and submit your issue! 
+
+
+**Please provide any additional information below**
diff --git a/obs4MIPs-cmor-tables/.github/PULL_REQUEST_TEMPLATE.md b/obs4MIPs-cmor-tables/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..0e9bc3b
--- /dev/null
+++ b/obs4MIPs-cmor-tables/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,10 @@
+Before submitting your pull request be sure that:
+
+1. You haven't deleted any existing information
+2. You haven't eliminated unnecessary blank lines or spaces during your work.
+   That makes our reviewing work harder and it could introduce unnecessary
+   conflicts with other pull requests.
+
+----
+
+*Note*: You can safely remove this text before submitting your work.
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/.gitignore b/obs4MIPs-cmor-tables/.gitignore
new file mode 100644
index 0000000..2df2495
--- /dev/null
+++ b/obs4MIPs-cmor-tables/.gitignore
@@ -0,0 +1,7 @@
+CMIP6_Amon.json
+~$.xlsx
+*.json~
+*.sh~
+*.py~
+*.swp
+demo/obs4MIPs
diff --git a/obs4MIPs-cmor-tables/README.md b/obs4MIPs-cmor-tables/README.md
new file mode 100644
index 0000000..c04986c
--- /dev/null
+++ b/obs4MIPs-cmor-tables/README.md
@@ -0,0 +1,4 @@
+# obs4MIPs-cmor-tables
+- JSON Tables for CMOR3 to create obs4MIPs datasets
+
+- Examples for preparing obs4MIPs data with CMOR
diff --git a/obs4MIPs-cmor-tables/Tables/obs4MIPs_Amon.json b/obs4MIPs-cmor-tables/Tables/obs4MIPs_Amon.json
new file mode 100644
index 0000000..ba3b11e
--- /dev/null
+++ b/obs4MIPs-cmor-tables/Tables/obs4MIPs_Amon.json
@@ -0,0 +1,1264 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"30.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"mon",
+        "generic_levels":"alevel alevhalf",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"atmos",
+        "table_date":"29 September 2016",
+        "table_id":"Table Amon"
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ccb":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Where convective cloud is present in the grid cell, the instantaneous cloud base altitude should be that of the bottom of the lowest level containing convective cloud. Missing data should be reported in the absence of convective cloud. The time mean should be calculated from these quantities averaging over occasions when convective cloud is present only, and should contain missing data for occasions when no convective cloud is present during the meaning period. ",
+            "dimensions":"longitude latitude time",
+            "long_name":"Air Pressure at Convective Cloud Base",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ccb",
+            "positive":"",
+            "standard_name":"air_pressure_at_convective_cloud_base",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cct":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Where convective cloud is present in the grid cell, the instantaneous cloud top altitude should be that of the top of the highest level containing convective cloud. Missing data should be reported in the absence of convective cloud. The time mean should be calculated from these quantities averaging over occasions when convective cloud is present only, and should contain missing data for occasions when no convective cloud is present during the meaning period.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Air Pressure at Convective Cloud Top",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cct",
+            "positive":"",
+            "standard_name":"air_pressure_at_convective_cloud_top",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc113global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of CFC113",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc113global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_cfc113_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc11global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of CFC11",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc11global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_cfc11_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc12global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of CFC12",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc12global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_cfc12_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ch4":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of CH4",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ch4",
+            "positive":"",
+            "standard_name":"mole_fraction_of_methane_in_air",
+            "type":"real",
+            "units":"mol mol-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ch4global":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"",
+            "comment":"Global Mean Mole Fraction of CH4",
+            "dimensions":"time2",
+            "long_name":"Global Mean Mole Fraction of CH4",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ch4global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_methane_in_air",
+            "type":"real",
+            "units":"1e-09",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ci":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of time that convection occurs in the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Fraction of Time Convection Occurs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ci",
+            "positive":"",
+            "standard_name":"convection_time_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage cloud cover, including both large-scale and convective cloud.",
+            "dimensions":"longitude latitude alevel time",
+            "long_name":"Cloud Area Fraction",
+            "ok_max_mean_abs":"26.07",
+            "ok_min_mean_abs":"-0.04479",
+            "out_name":"cl",
+            "positive":"",
+            "standard_name":"cloud_area_fraction_in_atmosphere_layer",
+            "type":"real",
+            "units":"%",
+            "valid_max":"105",
+            "valid_min":"0"
+        },
+        "cli":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Includes both large-scale and convective cloud. This is calculated as the mass of cloud ice in the grid cell divided by the mass of air (including the water in all phases) in the grid cell. It includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude alevel time",
+            "long_name":"Mass Fraction of Cloud Ice",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cli",
+            "positive":"",
+            "standard_name":"mass_fraction_of_cloud_ice_in_air",
+            "type":"real",
+            "units":"kg kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "clivi":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Mass of ice water in the column divided by the area of the column (not just the area of the cloudy portion of the column). Includes precipitating frozen hydrometeors ONLY if the precipitating hydrometeor affects the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ice Water Path",
+            "ok_max_mean_abs":"0.1187",
+            "ok_min_mean_abs":"-0.0348",
+            "out_name":"clivi",
+            "positive":"",
+            "standard_name":"atmosphere_mass_content_of_cloud_ice",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"1.535",
+            "valid_min":"-1.872e-06"
+        },
+        "clt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total cloud area fraction for the whole atmospheric column, as seen from the surface or the top of the atmosphere. Includes both large-scale and convective cloud.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Total Cloud Fraction",
+            "ok_max_mean_abs":"84.98",
+            "ok_min_mean_abs":"39.37",
+            "out_name":"clt",
+            "positive":"",
+            "standard_name":"cloud_area_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"105",
+            "valid_min":"-0.0001822"
+        },
+        "clw":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Includes both large-scale and convective cloud. Calculate as the mass of cloud liquid water in the grid cell divided by the mass of air (including the water in all phases) in the grid cells. Precipitating hydrometeors are included ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude alevel time",
+            "long_name":"Mass Fraction of Cloud Liquid Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"clw",
+            "positive":"",
+            "standard_name":"mass_fraction_of_cloud_liquid_water_in_air",
+            "type":"real",
+            "units":"kg kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "clwvi":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Mass of condensed (liquid + ice) water in the column divided by the area of the column (not just the area of the cloudy portion of the column). Includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Condensed Water Path",
+            "ok_max_mean_abs":"0.2846",
+            "ok_min_mean_abs":"-0.03549",
+            "out_name":"clwvi",
+            "positive":"",
+            "standard_name":"atmosphere_cloud_condensed_water_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"3.364",
+            "valid_min":"-3.827e-06"
+        },
+        "co2":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co2",
+            "positive":"",
+            "standard_name":"mole_fraction_of_carbon_dioxide_in_air",
+            "type":"real",
+            "units":"mol mol-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co2mass":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"",
+            "comment":"Total atmospheric mass of Carbon Dioxide",
+            "dimensions":"time2",
+            "long_name":"Total Atmospheric Mass of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co2mass",
+            "positive":"",
+            "standard_name":"atmosphere_mass_of_carbon_dioxide",
+            "type":"real",
+            "units":"kg",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "evspsbl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Evaporation at surface: flux of water into the atmosphere due to conversion of both liquid and solid phases to vapor (from underlying surface and vegetation)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Evaporation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"evspsbl",
+            "positive":"",
+            "standard_name":"water_evaporation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fco2antt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"This is requested only for the emission-driven coupled carbon climate model runs.  Does not include natural fire sources but, includes all anthropogenic sources, including fossil fuel use, cement production, agricultural burning, and sources associated with anthropogenic land use change excluding forest regrowth.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere Due to All Anthropogenic Emissions of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fco2antt",
+            "positive":"up",
+            "standard_name":"tendency_of_atmosphere_mass_content_of_carbon_dioxide_expressed_as_carbon_due_to_anthropogenic_emission",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fco2fos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"This is the prescribed anthropogenic CO2 flux from fossil fuel use, including cement production, and flaring (but not from land-use changes, agricultural burning, forest regrowth, etc.)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere Due to Fossil Fuel Emissions of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fco2fos",
+            "positive":"up",
+            "standard_name":"tendency_of_atmosphere_mass_content_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_fossil_fuel_combustion",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fco2nat":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"This is what the atmosphere sees (on its own grid).  This field should be equivalent to the combined natural fluxes of carbon  that account for natural exchanges between the atmosphere and land (nep) or ocean (fgco2) reservoirs.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Carbon Mass Flux into the Atmosphere Due to Natural Sources",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fco2nat",
+            "positive":"up",
+            "standard_name":"surface_upward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_natural_sources",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hcfc22global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of HCFC22",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hcfc22global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_hcfc22_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfls":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upward Latent Heat Flux",
+            "ok_max_mean_abs":"73.2",
+            "ok_min_mean_abs":"50.39",
+            "out_name":"hfls",
+            "positive":"up",
+            "standard_name":"surface_upward_latent_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"790.7",
+            "valid_min":"-76.77"
+        },
+        "hfss":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upward Sensible Heat Flux",
+            "ok_max_mean_abs":"34.84",
+            "ok_min_mean_abs":"10.7",
+            "out_name":"hfss",
+            "positive":"up",
+            "standard_name":"surface_upward_sensible_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"844.8",
+            "valid_min":"-264.5"
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "hur":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The relative humidity with respect to liquid water for T> 0 C, and with respect to ice for T<0 C.",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Relative Humidity",
+            "ok_max_mean_abs":"97",
+            "ok_min_mean_abs":"-10.31",
+            "out_name":"hur",
+            "positive":"",
+            "standard_name":"relative_humidity",
+            "type":"real",
+            "units":"%",
+            "valid_max":"135.7",
+            "valid_min":"-2.642"
+        },
+        "hurs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The relative humidity with respect to liquid water for T> 0 C, and with respect to ice for T<0 C.",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Near-Surface Relative Humidity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hurs",
+            "positive":"",
+            "standard_name":"relative_humidity",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hus":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Specific Humidity",
+            "ok_max_mean_abs":"0.01041",
+            "ok_min_mean_abs":"-0.0003539",
+            "out_name":"hus",
+            "positive":"",
+            "standard_name":"specific_humidity",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"0.02841",
+            "valid_min":"-0.000299"
+        },
+        "huss":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Near-surface (usually, 2 meter) specific humidity.",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Near-Surface Specific Humidity",
+            "ok_max_mean_abs":"0.008749",
+            "ok_min_mean_abs":"0.006391",
+            "out_name":"huss",
+            "positive":"",
+            "standard_name":"specific_humidity",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"0.02992",
+            "valid_min":"-7.21e-06"
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "mc":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The net mass flux should represent the difference between the updraft and downdraft components.  The flux is computed as the mass divided by the area of the grid cell.",
+            "dimensions":"longitude latitude alevhalf time",
+            "long_name":"Convective Mass Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mc",
+            "positive":"up",
+            "standard_name":"atmosphere_net_upward_convective_mass_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "n2o":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of N2O",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"n2o",
+            "positive":"",
+            "standard_name":"mole_fraction_of_nitrous_oxide_in_air",
+            "type":"real",
+            "units":"mol mol-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "n2oglobal":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"",
+            "comment":"Global mean Nitrous Oxide (N2O)",
+            "dimensions":"time2",
+            "long_name":"Global Mean Mole Fraction of N2O",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"n2oglobal",
+            "positive":"",
+            "standard_name":"mole_fraction_of_nitrous_oxide_in_air",
+            "type":"real",
+            "units":"1e-09",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "orog":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.",
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"orog",
+            "positive":"",
+            "standard_name":"surface_altitude",
+            "type":"real",
+            "units":"m",
+            "valid_max":"1.00E+04",
+            "valid_min":"-700"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "pfull":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"Air pressure on model levels",
+            "dimensions":"longitude latitude alevel time2",
+            "long_name":"Pressure on Model Levels",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pfull",
+            "positive":"",
+            "standard_name":"air_pressure",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phalf":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"Air pressure on model half-levels",
+            "dimensions":"longitude latitude alevhalf time2",
+            "long_name":"Pressure on Model Half-Levels",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phalf",
+            "positive":"",
+            "standard_name":"air_pressure",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pr":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"includes both liquid and solid phases",
+            "dimensions":"longitude latitude time",
+            "long_name":"Precipitation",
+            "ok_max_mean_abs":"3.215e-05",
+            "ok_min_mean_abs":"2.156e-05",
+            "out_name":"pr",
+            "positive":"",
+            "standard_name":"precipitation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.001254",
+            "valid_min":"0"
+        },
+        "prc":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Convective precipitation at surface; includes both liquid and solid phases.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Convective Precipitation",
+            "ok_max_mean_abs":"3.209e-05",
+            "ok_min_mean_abs":"-2.528e-06",
+            "out_name":"prc",
+            "positive":"",
+            "standard_name":"convective_precipitation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.0006323",
+            "valid_min":"0"
+        },
+        "prsn":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"at surface; includes precipitation of all forms of water in the solid phase",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snowfall Flux",
+            "ok_max_mean_abs":"6.11e-06",
+            "ok_min_mean_abs":"1.449e-06",
+            "out_name":"prsn",
+            "positive":"",
+            "standard_name":"snowfall_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.0002987",
+            "valid_min":"0"
+        },
+        "prw":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"vertically integrated through the atmospheric column",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Vapor Path",
+            "ok_max_mean_abs":"23.09",
+            "ok_min_mean_abs":"12.75",
+            "out_name":"prw",
+            "positive":"",
+            "standard_name":"atmosphere_water_vapor_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"78.04",
+            "valid_min":"-0.0006775"
+        },
+        "ps":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"surface pressure (not mean sea-level pressure), 2-D field to calculate the 3-D pressure field from hybrid coordinates",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "ok_max_mean_abs":"1.019e+05",
+            "ok_min_mean_abs":"9.165e+04",
+            "out_name":"ps",
+            "positive":"",
+            "standard_name":"surface_air_pressure",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"1.119e+05",
+            "valid_min":"4.791e+04"
+        },
+        "psl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Sea Level Pressure",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Level Pressure",
+            "ok_max_mean_abs":"1.063e+05",
+            "ok_min_mean_abs":"9.57e+04",
+            "out_name":"psl",
+            "positive":"",
+            "standard_name":"air_pressure_at_sea_level",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"1.137e+05",
+            "valid_min":"9.122e+04"
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "rlds":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Longwave Radiation",
+            "ok_max_mean_abs":"323.6",
+            "ok_min_mean_abs":"271.2",
+            "out_name":"rlds",
+            "positive":"down",
+            "standard_name":"surface_downwelling_longwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"520.5",
+            "valid_min":"30.71"
+        },
+        "rldscs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Surface downwelling clear-sky longwave radiation",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Clear-Sky Longwave Radiation",
+            "ok_max_mean_abs":"293.8",
+            "ok_min_mean_abs":"238.6",
+            "out_name":"rldscs",
+            "positive":"down",
+            "standard_name":"surface_downwelling_longwave_flux_in_air_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"543.6",
+            "valid_min":"33.55"
+        },
+        "rlus":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upwelling Longwave Radiation",
+            "ok_max_mean_abs":"376.3",
+            "ok_min_mean_abs":"325.6",
+            "out_name":"rlus",
+            "positive":"up",
+            "standard_name":"surface_upwelling_longwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"658",
+            "valid_min":"43.75"
+        },
+        "rlut":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"at the top of the atmosphere (to be compared with satellite measurements)",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Longwave Radiation",
+            "ok_max_mean_abs":"234.4",
+            "ok_min_mean_abs":"207.4",
+            "out_name":"rlut",
+            "positive":"up",
+            "standard_name":"toa_outgoing_longwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"383.2",
+            "valid_min":"67.48"
+        },
+        "rlutcs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Clear-Sky Longwave Radiation",
+            "ok_max_mean_abs":"260.4",
+            "ok_min_mean_abs":"228.9",
+            "out_name":"rlutcs",
+            "positive":"up",
+            "standard_name":"toa_outgoing_longwave_flux_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"377.5",
+            "valid_min":"70.59"
+        },
+        "rsds":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"surface solar irradiance for UV calculations",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Shortwave Radiation",
+            "ok_max_mean_abs":"181.6",
+            "ok_min_mean_abs":"143.9",
+            "out_name":"rsds",
+            "positive":"down",
+            "standard_name":"surface_downwelling_shortwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"524.4",
+            "valid_min":"-0.002946"
+        },
+        "rsdscs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"surface solar irradiance clear sky for UV calculations",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Clear-Sky Shortwave Radiation",
+            "ok_max_mean_abs":"239",
+            "ok_min_mean_abs":"206.9",
+            "out_name":"rsdscs",
+            "positive":"down",
+            "standard_name":"surface_downwelling_shortwave_flux_in_air_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"522.4",
+            "valid_min":"-1.748e+30"
+        },
+        "rsdt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Shortwave radiation incident at the top of the atmosphere",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Incident Shortwave Radiation",
+            "ok_max_mean_abs":"315.8",
+            "ok_min_mean_abs":"282.6",
+            "out_name":"rsdt",
+            "positive":"down",
+            "standard_name":"toa_incoming_shortwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"580.4",
+            "valid_min":"0"
+        },
+        "rsus":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upwelling Shortwave Radiation",
+            "ok_max_mean_abs":"43.77",
+            "ok_min_mean_abs":"26.22",
+            "out_name":"rsus",
+            "positive":"up",
+            "standard_name":"surface_upwelling_shortwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"422.2",
+            "valid_min":"-0.006589"
+        },
+        "rsuscs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Surface upwelling clear-sky shortwave radiation",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upwelling Clear-Sky Shortwave Radiation",
+            "ok_max_mean_abs":"61.59",
+            "ok_min_mean_abs":"31.65",
+            "out_name":"rsuscs",
+            "positive":"up",
+            "standard_name":"surface_upwelling_shortwave_flux_in_air_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"462.2",
+            "valid_min":"-0.01446"
+        },
+        "rsut":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"at the top of the atmosphere",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Shortwave Radiation",
+            "ok_max_mean_abs":"114.1",
+            "ok_min_mean_abs":"96.72",
+            "out_name":"rsut",
+            "positive":"up",
+            "standard_name":"toa_outgoing_shortwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"421.9",
+            "valid_min":"-0.02689"
+        },
+        "rsutcs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Clear-Sky Shortwave Radiation",
+            "ok_max_mean_abs":"73.36",
+            "ok_min_mean_abs":"54.7",
+            "out_name":"rsutcs",
+            "positive":"up",
+            "standard_name":"toa_outgoing_shortwave_flux_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"444",
+            "valid_min":"0"
+        },
+        "rtmt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Net Downward Radiative Flux at Top of Model : I.e., at the top of that portion of the atmosphere where dynamics are explicitly treated by the model. This is reported only if it differs from the net downward radiative flux at the top of the atmosphere.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Downward Flux at Top of Model",
+            "ok_max_mean_abs":"89.25",
+            "ok_min_mean_abs":"76.91",
+            "out_name":"rtmt",
+            "positive":"down",
+            "standard_name":"net_downward_radiative_flux_at_top_of_atmosphere_model",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"218.7",
+            "valid_min":"-232.8"
+        },
+        "sbl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The snow and ice sublimation flux is the loss of snow and ice mass per unit area from the surface resulting from their direct conversion to water vapor that enters the atmosphere.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Snow and Ice Sublimation Flux",
+            "ok_max_mean_abs":"9.61e-05",
+            "ok_min_mean_abs":"-5.521e-05",
+            "out_name":"sbl",
+            "positive":"",
+            "standard_name":"surface_snow_and_ice_sublimation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.0009936",
+            "valid_min":"-0.004959"
+        },
+        "sci":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of time that shallow convection occurs in the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Fraction of Time Shallow Convection Occurs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sci",
+            "positive":"",
+            "standard_name":"shallow_convection_time_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sfcWind":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"near-surface (usually, 10 meters) wind speed.",
+            "dimensions":"longitude latitude time height10m",
+            "long_name":"Near-Surface Wind Speed",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sfcWind",
+            "positive":"",
+            "standard_name":"wind_speed",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ta":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Air Temperature",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Air Temperature",
+            "ok_max_mean_abs":"299.8",
+            "ok_min_mean_abs":"194.3",
+            "out_name":"ta",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"336.3",
+            "valid_min":"157.1"
+        },
+        "tas":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"near-surface (usually, 2 meter) air temperature",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Near-Surface Air Temperature",
+            "ok_max_mean_abs":"293",
+            "ok_min_mean_abs":"262.4",
+            "out_name":"tas",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"335.1",
+            "valid_min":"180.6"
+        },
+        "tasmax":{
+            "cell_measures":"time: maximum within days time: mean over days",
+            "cell_methods":"area: areacella",
+            "comment":"maximum near-surface (usually, 2 meter) air temperature (add cell_method attribute 'time: max')",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Daily Maximum Near-Surface Air Temperature",
+            "ok_max_mean_abs":"294",
+            "ok_min_mean_abs":"264.9",
+            "out_name":"tasmax",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"341.9",
+            "valid_min":"181.9"
+        },
+        "tasmin":{
+            "cell_measures":"time: minimum within days time: mean over days",
+            "cell_methods":"area: areacella",
+            "comment":"minimum near-surface (usually, 2 meter) air temperature (add cell_method attribute 'time: min')",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Daily Minimum Near-Surface Air Temperature",
+            "ok_max_mean_abs":"290.6",
+            "ok_min_mean_abs":"260.9",
+            "out_name":"tasmin",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"323",
+            "valid_min":"182.8"
+        },
+        "tauu":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Downward eastward wind stress at the surface",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Eastward Wind Stress",
+            "ok_max_mean_abs":"0.1065",
+            "ok_min_mean_abs":"0.03979",
+            "out_name":"tauu",
+            "positive":"down",
+            "standard_name":"surface_downward_eastward_stress",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"2.934",
+            "valid_min":"-2.729"
+        },
+        "tauv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Downward northward wind stress at the surface",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Northward Wind Stress",
+            "ok_max_mean_abs":"0.08134",
+            "ok_min_mean_abs":"0.01447",
+            "out_name":"tauv",
+            "positive":"down",
+            "standard_name":"surface_downward_northward_stress",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"2.527",
+            "valid_min":"-2.472"
+        },
+        "tro3":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"Mole fraction of ozone (O3)",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of O3",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tro3",
+            "positive":"",
+            "standard_name":"mole_fraction_of_ozone_in_air",
+            "type":"real",
+            "units":"1e-09",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ts":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Temperature of the lower boundary of the atmosphere",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Temperature",
+            "ok_max_mean_abs":"293.3",
+            "ok_min_mean_abs":"262.8",
+            "out_name":"ts",
+            "positive":"",
+            "standard_name":"surface_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"339.6",
+            "valid_min":"176.8"
+        },
+        "ttbr":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Top of Atmosphere Brightness Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ttbr",
+            "positive":"time: mean",
+            "standard_name":"toa_brightness_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"375.0",
+            "valid_min":"140.0"
+        },
+        "ua":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Eastward Wind",
+            "ok_max_mean_abs":"22.42",
+            "ok_min_mean_abs":"1.101",
+            "out_name":"ua",
+            "positive":"",
+            "standard_name":"eastward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"136.6",
+            "valid_min":"-68.65"
+        },
+        "uas":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Eastward component of the near-surface (usually, 10 meters)  wind",
+            "dimensions":"longitude latitude time height10m",
+            "long_name":"Eastward Near-Surface Wind",
+            "ok_max_mean_abs":"4.106",
+            "ok_min_mean_abs":"1.668",
+            "out_name":"uas",
+            "positive":"",
+            "standard_name":"eastward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"18.68",
+            "valid_min":"-19.01"
+        },
+        "va":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Northward Wind",
+            "ok_max_mean_abs":"4.679",
+            "ok_min_mean_abs":"0.9886",
+            "out_name":"va",
+            "positive":"",
+            "standard_name":"northward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"69.93",
+            "valid_min":"-71.1"
+        },
+        "vas":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Northward component of the near surface wind",
+            "dimensions":"longitude latitude time height10m",
+            "long_name":"Northward Near-Surface Wind",
+            "ok_max_mean_abs":"2.678",
+            "ok_min_mean_abs":"1.065",
+            "out_name":"vas",
+            "positive":"",
+            "standard_name":"northward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"22.84",
+            "valid_min":"-18.04"
+        },
+        "wap":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Omega (vertical velocity in pressure coordinates, positive downwards)",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"omega (=dp/dt)",
+            "ok_max_mean_abs":"0.04256",
+            "ok_min_mean_abs":"-0.005083",
+            "out_name":"wap",
+            "positive":"",
+            "standard_name":"lagrangian_tendency_of_air_pressure",
+            "type":"real",
+            "units":"Pa s-1",
+            "valid_max":"2.319",
+            "valid_min":"-1.126"
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zg":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Geopotential Height",
+            "ok_max_mean_abs":"3.299e+04",
+            "ok_min_mean_abs":"-113.4",
+            "out_name":"zg",
+            "positive":"",
+            "standard_name":"geopotential_height",
+            "type":"real",
+            "units":"m",
+            "valid_max":"3.437e+04",
+            "valid_min":"-719.7"
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/Tables/obs4MIPs_Lmon.json b/obs4MIPs-cmor-tables/Tables/obs4MIPs_Lmon.json
new file mode 100644
index 0000000..cbf3aea
--- /dev/null
+++ b/obs4MIPs-cmor-tables/Tables/obs4MIPs_Lmon.json
@@ -0,0 +1,1100 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"30.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"mon",
+        "generic_levels":"",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"land",
+        "table_date":"29 September 2016",
+        "table_id":"Table Lmon"
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "baresoilFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by bare soil.",
+            "dimensions":"longitude latitude time typebare",
+            "long_name":"Bare Soil Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"baresoilFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "burntArea":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of entire grid cell  that is covered by burnt vegetation.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Burnt Area Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"burntArea",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "c3PftFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by C3 PFTs (including grass, crops, and trees).",
+            "dimensions":"longitude latitude time typec3pft",
+            "long_name":"Total C3 PFT Cover Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"c3PftFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "c4PftFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of entire grid cell  that is covered by C4 PFTs (including grass and crops).",
+            "dimensions":"longitude latitude time typec4pft",
+            "long_name":"Total C4 PFT Cover Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"c4PftFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cCwd":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in woody debris (dead organic matter composed of coarse wood.  It is distinct from litter)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Coarse Woody Debris",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cCwd",
+            "positive":"",
+            "standard_name":"wood_debris_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cLeaf":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in leaves.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Leaves",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cLeaf",
+            "positive":"",
+            "standard_name":"leaf_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cLitter":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Litter Pool",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cLitter",
+            "positive":"",
+            "standard_name":"litter_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cLitterAbove":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Above-Ground Litter",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cLitterAbove",
+            "positive":"",
+            "standard_name":"surface_litter_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cLitterBelow":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Below-Ground Litter",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cLitterBelow",
+            "positive":"",
+            "standard_name":"subsurface_litter_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cMisc":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"e.g., labile, fruits, reserves, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Other Living Compartments on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cMisc",
+            "positive":"",
+            "standard_name":"miscellaneous_living_matter_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cProduct":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in that has been removed from the environment through  landuse change.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Products of Land Use Change",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cProduct",
+            "positive":"",
+            "standard_name":"carbon_content_of_products_of_anthropogenic_land_use_change",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cRoot":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in roots, including fine and coarse roots.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Roots",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cRoot",
+            "positive":"",
+            "standard_name":"root_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cSoil":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass in the full depth of the soil model.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Soil Pool",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cSoil",
+            "positive":"",
+            "standard_name":"soil_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cSoilFast":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in fast soil pool. Fast means a lifetime of less than 10 years for reference climate conditions (20th century) in the absence of water limitations.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Fast Soil Pool",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cSoilFast",
+            "positive":"",
+            "standard_name":"fast_soil_pool_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cSoilMedium":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in medium (rate) soil pool. Medium means a lifetime of more than than 10 years and less than 100 years for reference climate conditions (20th century) in the absence of water limitations.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Medium Soil Pool",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cSoilMedium",
+            "positive":"",
+            "standard_name":"medium_soil_pool_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cSoilSlow":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in slow soil pool. Slow means a lifetime of more than 100 years for reference climate (20th century) in the absence of water limitations.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Slow Soil Pool",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cSoilSlow",
+            "positive":"",
+            "standard_name":"slow_soil_pool_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cVeg":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in vegetation.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Vegetation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cVeg",
+            "positive":"",
+            "standard_name":"vegetation_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cWood":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass per unit area in wood, including sapwood and hardwood.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass in Wood",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cWood",
+            "positive":"",
+            "standard_name":"wood_carbon_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cropFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by crop.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Crop Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cropFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "evspsblsoi":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Water evaporation from soil (including sublimation).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Evaporation from Soil",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"evspsblsoi",
+            "positive":"up",
+            "standard_name":"water_evaporation_flux_from_soil",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "evspsblveg":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"The canopy evaporation and sublimation (if present in model); may include dew formation as a negative flux.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Evaporation from Canopy",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"evspsblveg",
+            "positive":"up",
+            "standard_name":"water_evaporation_flux_from_canopy",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fFire":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"CO2 emissions (expressed as a carbon mass flux per unit area) from natural fires and human ignition fires as calculated by the fire module of the dynamic vegetation model, but excluding any CO2 flux from fire included in fLuc (CO2 Flux to Atmosphere from Land Use Change).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere due to CO2 Emission from Fire",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fFire",
+            "positive":"up",
+            "standard_name":"surface_upward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_fires_excluding_anthropogenic_land_use_change",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fGrazing":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass flux per unit area due to grazing on land",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere due to Grazing on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fGrazing",
+            "positive":"up",
+            "standard_name":"surface_upward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_grazing",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fHarvest":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass flux per unit area due to crop harvesting",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere due to Crop Harvesting",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fHarvest",
+            "positive":"up",
+            "standard_name":"surface_upward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_crop_harvesting",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fLitterSoil":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass flux per unit area into soil from litter (dead plant material in or above the soil).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Total Carbon Mass Flux from Litter to Soil",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fLitterSoil",
+            "positive":"",
+            "standard_name":"carbon_mass_flux_into_soil_from_litter",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fLuc":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass flux per unit area into atmosphere due to human changes to land (excluding forest regrowth) accounting possibly for different time-scales related to fate of the wood, for example.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Carbon Mass Flux into Atmosphere due to Land Use Change",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fLuc",
+            "positive":"up",
+            "standard_name":"surface_net_upward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_anthropogenic_land_use_change",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fVegLitter":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Total Carbon Mass Flux from Vegetation to Litter",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fVegLitter",
+            "positive":"",
+            "standard_name":"litter_carbon_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fVegSoil":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass flux per unit area from vegetation directly into soil, without intermediate conversion to litter.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Total Carbon Mass Flux from Vegetation Directly to Soil",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fVegSoil",
+            "positive":"",
+            "standard_name":"carbon_mass_flux_into_soil_from_vegetation_excluding_litter",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "gpp":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux out of Atmosphere due to Gross Primary Production on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"gpp",
+            "positive":"down",
+            "standard_name":"gross_primary_productivity_of_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "grassFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell that is covered by natural grass.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Natural Grass Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"grassFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "lai":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Leaf Area Index",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"lai",
+            "positive":"",
+            "standard_name":"leaf_area_index",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "landCoverFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of grid cell area occupied by different model vegetation/land cover categories. The categories may differ from model to model, depending on each model's subgrid land cover category definitions. Categories may include natural vegetation, anthropogenic vegetation, bare soil, lakes, urban areas, glaciers, etc. Sum of all should equal the fraction of the grid-cell that is land.",
+            "dimensions":"longitude latitude vegtype time",
+            "long_name":"Plant Functional Type Grid Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"landCoverFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mrfso":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"The mass per unit area (summed over all model layers) of frozen water.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Soil Frozen Water Content",
+            "ok_max_mean_abs":"940.3",
+            "ok_min_mean_abs":"-419",
+            "out_name":"mrfso",
+            "positive":"",
+            "standard_name":"soil_frozen_water_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"5763",
+            "valid_min":"0"
+        },
+        "mrlsl":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"The mass of water in all phases, including ice, in soil layers.  Report as missing for grid cells with no land.",
+            "dimensions":"longitude latitude sdepth time",
+            "long_name":"Water Content of Soil Layer",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mrlsl",
+            "positive":"",
+            "standard_name":"moisture_content_of_soil_layer",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mrro":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"The total run-off (including drainage through the base of the soil model) per unit area leaving the land portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Total Runoff",
+            "ok_max_mean_abs":"1.874e-05",
+            "ok_min_mean_abs":"-6.668e-06",
+            "out_name":"mrro",
+            "positive":"",
+            "standard_name":"runoff_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.001065",
+            "valid_min":"-0.0002019"
+        },
+        "mrros":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"The total surface run off leaving the land portion of the grid cell (excluding drainage through the base of the soil model).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Runoff",
+            "ok_max_mean_abs":"1.302e-05",
+            "ok_min_mean_abs":"-5.867e-06",
+            "out_name":"mrros",
+            "positive":"",
+            "standard_name":"surface_runoff_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.0009825",
+            "valid_min":"-6.802e-06"
+        },
+        "mrso":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"the mass per unit area  (summed over all soil layers) of water in all phases.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Total Soil Moisture Content",
+            "ok_max_mean_abs":"3038",
+            "ok_min_mean_abs":"-1424",
+            "out_name":"mrso",
+            "positive":"",
+            "standard_name":"soil_moisture_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"5717",
+            "valid_min":"-64.17"
+        },
+        "mrsos":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"The mass of water in all phases in the upper 10cm of the  soil layer.",
+            "dimensions":"longitude latitude time sdepth1",
+            "long_name":"Moisture in Upper Portion of Soil Column",
+            "ok_max_mean_abs":"123.3",
+            "ok_min_mean_abs":"-35.89",
+            "out_name":"mrsos",
+            "positive":"",
+            "standard_name":"moisture_content_of_soil_layer",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"146.5",
+            "valid_min":"-2.008"
+        },
+        "nbp":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"This is the net mass flux of carbon from atmosphere into land, calculated as photosynthesis MINUS the sum of  plant and soil respiration, carbon fluxes from fire, harvest, grazing  and land use change. Positive flux is into the land.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux out of Atmosphere due to Net Biospheric Production on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"nbp",
+            "positive":"down",
+            "standard_name":"surface_net_downward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_all_land_processes",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nep":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Natural flux of CO2 (expressed as a mass flux of carbon) from the atmosphere to the land calculated as the difference between uptake associated will photosynthesis and the release of CO2 from the sum of plant and soil respiration and fire.  Positive flux is into the land.  emissions from natural fires and human ignition fires as calculated by the fire module of the dynamic vegetation model, but excluding any CO2 flux from fire included in fLuc (CO2 Flux to Atmosphe [...]
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Carbon Mass Flux out of Atmophere due to Net Ecosystem Productivity on Land.",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"nep",
+            "positive":"down",
+            "standard_name":"surface_net_downward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_all_land_processes_excluding_anthropogenic_land_use_change",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "npp":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux out of Atmosphere due to Net Primary Production on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"npp",
+            "positive":"down",
+            "standard_name":"net_primary_productivity_of_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nppLeaf":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"This is the rate of carbon uptake by leaves due to NPP",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux due to NPP Allocation to Leaf",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"nppLeaf",
+            "positive":"down",
+            "standard_name":"net_primary_productivity_of_carbon_accumulated_in_leaves",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nppRoot":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"This is the rate of carbon uptake by roots due to NPP",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux due to NPP Allocation to Roots",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"nppRoot",
+            "positive":"down",
+            "standard_name":"net_primary_productivity_of_carbon_accumulated_in_roots",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nppWood":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"This is the rate of carbon uptake by wood due to NPP",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux due to NPP Allocation to Wood",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"nppWood",
+            "positive":"down",
+            "standard_name":"net_primary_productivity_of_carbon_accumulated_in_wood",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "orog":{
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "type":"real",
+            "units":"m"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "pastureFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by anthropogenic pasture.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Anthropogenic Pasture Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pastureFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "prveg":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"The precipitation flux that is intercepted by the vegetation canopy (if present in model) before reaching the ground.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Precipitation onto Canopy",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"prveg",
+            "positive":"",
+            "standard_name":"precipitation_flux_onto_canopy",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ps":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "type":"real",
+            "units":"Pa"
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "rGrowth":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere due to Growth Autotrophic Respiration on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rGrowth",
+            "positive":"up",
+            "standard_name":"surface_upward_carbon_mass_flux_due_to_plant_respiration_for_biomass_growth",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "rMaint":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere due to Maintenance Autotrophic Respiration on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rMaint",
+            "positive":"up",
+            "standard_name":"surface_upward_carbon_mass_flux_due_to_plant_respiration_for_biomass_maintenance",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ra":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass flux per unit area into atmosphere due to autotrophic respiration on land (respiration by producers) [see rh for heterotrophic production] ",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere due to Autotrophic (Plant) Respiration on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ra",
+            "positive":"up",
+            "standard_name":"plant_respiration_carbon_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "residualFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is land and is covered by  neither vegetation nor bare-soil (e.g., urban, ice, lakes, etc.)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Fraction of Grid Cell that is Land but Neither Vegetation-Covered nor Bare Soil",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"residualFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "rh":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Carbon mass flux per unit area into atmosphere due to heterotrophic respiration on land (respiration by consumers)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere due to Heterotrophic Respiration on Land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rh",
+            "positive":"up",
+            "standard_name":"heterotrophic_respiration_carbon_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "shrubFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by shrub.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Shrub Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"shrubFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "tran":{
+            "cell_measures":"time: mean area: mean where land",
+            "cell_methods":"area: areacella",
+            "comment":"Transpiration (may include dew formation as a negative flux).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Transpiration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tran",
+            "positive":"up",
+            "standard_name":"transpiration_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "treeFrac":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by trees.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Tree Cover Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"treeFrac",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "treeFracPrimDec":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of the entire grid cell  that is covered by total primary deciduous trees.",
+            "dimensions":"longitude latitude time typepdec",
+            "long_name":"Total Primary Deciduous Tree Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"treeFracPrimDec",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "treeFracPrimEver":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by primary evergreen trees.",
+            "dimensions":"longitude latitude time typepever",
+            "long_name":"Total Primary Evergreen Tree Cover Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"treeFracPrimEver",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "treeFracSecDec":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by secondary deciduous trees.",
+            "dimensions":"longitude latitude time typesdec",
+            "long_name":"Total Secondary Deciduous Tree Cover Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"treeFracSecDec",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "treeFracSecEver":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage of entire grid cell  that is covered by secondary evergreen trees.",
+            "dimensions":"longitude latitude time typesever",
+            "long_name":"Total Secondary Evergreen Tree Cover Fraction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"treeFracSecEver",
+            "positive":"",
+            "standard_name":"area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tsl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Temperature of each soil layer. Reported as missing for grid cells with no land.",
+            "dimensions":"longitude latitude sdepth time",
+            "long_name":"Temperature of Soil",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tsl",
+            "positive":"",
+            "standard_name":"soil_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/Tables/obs4MIPs_Omon.json b/obs4MIPs-cmor-tables/Tables/obs4MIPs_Omon.json
new file mode 100644
index 0000000..7121261
--- /dev/null
+++ b/obs4MIPs-cmor-tables/Tables/obs4MIPs_Omon.json
@@ -0,0 +1,3772 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"30.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"mon",
+        "generic_levels":"olevel",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"ocean",
+        "table_date":"29 September 2016",
+        "table_id":"Table Omon"
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "agessc":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Time elapsed since water was last in surface layer of the ocean.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Age Since Surface Contact",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"agessc",
+            "positive":"",
+            "standard_name":"sea_water_age_since_surface_contact",
+            "type":"real",
+            "units":"yr",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "arag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate aragonite components (e.g. Phytoplankton, Detrital, etc.)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Aragonite Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"arag",
+            "positive":"",
+            "standard_name":"mole_concentration_of_aragonite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "bacc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of bacterial carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Bacterial Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bacc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_bacteria_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate organic iron component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Biogenic Iron Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bfe",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bigthetao":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sea water conservative temperature (this should be contributed only for models using conservative temperature as prognostic field)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Convervative Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bigthetao",
+            "positive":"",
+            "standard_name":"sea_water_conservative_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bigthetaoga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"Diagnostic should be contributed only for models using conservative temperature as prognostic field.",
+            "dimensions":"time",
+            "long_name":"Global Average Sea Water Conservative Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bigthetaoga",
+            "positive":"",
+            "standard_name":"sea_water_conservative_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bsi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate silica component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Biogenic Silica Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bsi",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_matter_expressed_as_silicon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "calc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate calcite component concentrations (e.g. Phytoplankton, Detrital, etc.)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Calcite Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"calc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_calcite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc11":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Moles Per Unit Mass of CFC-11 in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc11",
+            "positive":"",
+            "standard_name":"moles_of_cfc11_per_unit_mass_in_sea_water",
+            "type":"real",
+            "units":"mol kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc12":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Moles Per Unit Mass of CFC-12 in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc12",
+            "positive":"",
+            "standard_name":"moles_of_cfc12_per_unit_mass_in_sea_water",
+            "type":"real",
+            "units":"mol kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chl":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of chlorophyll from all phytoplankton group concentrations.  In most models this is equal to chldiat+chlmisc, that is the sum of Diatom Chlorophyll Mass Concentration and Other Phytoplankton Chlorophyll Mass Concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Total Chlorophyll Mass Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chl",
+            "positive":"",
+            "standard_name":"mass_concentration_of_phytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chlcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"chlorophyll concentration from the calcite-producing phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mass Concentration of Calcareous Phytoplankton expressed as Chlorophyll in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chlcalc",
+            "positive":"",
+            "standard_name":"mass_concentration_of_calcareous_phytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chldiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Chlorophyll from diatom phytoplankton component concentration alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Diatom Chlorophyll Mass Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chldiat",
+            "positive":"",
+            "standard_name":"mass_concentration_of_diatoms_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chldiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Chlorophyll concentration from the diazotrophic phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mass Concentration of Diazotrophs expressed as Chlorophyll in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chldiaz",
+            "positive":"",
+            "standard_name":"mass_concentration_of_diazotrophs_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chlmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Chlorophyll from additional phytoplankton component concentrations alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Other Phytoplankton Chlorophyll Mass Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chlmisc",
+            "positive":"",
+            "standard_name":"mass_concentration_of_miscellaneous_phytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chlpico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"chlorophyll concentration from the picophytoplankton (<2 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mass Concentration of Picophytoplankton expressed as Chlorophyll in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chlpico",
+            "positive":"",
+            "standard_name":"mass_concentration_of_picophytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co3":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Carbonate ion in Seawater",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co3",
+            "positive":"",
+            "standard_name":"mole_concentration_of_carbonate_ion_in_seawater",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co3satarag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Carbonate ion for Seawater in equilibrium with pure Aragonite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co3satarag",
+            "positive":"",
+            "standard_name":"mole_concentration_of_carbonate_ion_for_seawater_in equilibrium_with_pure_aragonite",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co3satcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Carbonate ion for Seawater in equilibrium with pure Calcite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co3satcalc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_carbonate_ion_for_seawater_in equilibrium_with_pure_calcite",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "detoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of detrital organic carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Detrital Organic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"detoc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_organic_detritus_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Dissolved iron in sea water,  including both Fe2+ and Fe3+ ions (but not particulate detrital iron)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Iron Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dfe",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissi14cabio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Abiotic Dissolved inorganic 14carbon (CO3+HCO3+H2CO3) concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Abiotic Dissolved Inorganic 14Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissi14cabio",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_14carbon_in_sea_water_abiotic_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Dissolved inorganic carbon (CO3+HCO3+H2CO3) concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Inorganic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissic",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissicabio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Abiotic Dissolved inorganic carbon (CO3+HCO3+H2CO3) concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Abiotic Dissolved Inorganic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissicabio",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_carbon_in_sea_water_abiotic_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissicnat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Dissolved inorganic carbon (CO3+HCO3+H2CO3) concentration at preindustrial atmospheric xCO2",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Natural Dissolved Inorganic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissicnat",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_carbon_in_sea_water_natural_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of dissolved carbon component concentrations explicitly represented (i.e. not ~40 uM refractory unless explicit)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Organic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissoc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_organic_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dmso":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Mole concentration of dimethyl sulphide in water",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dimethyl Sulphide Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dmso",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dimethyl_sulfide_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dpco2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Delta PCO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dpco2",
+            "positive":"",
+            "standard_name":"surface_carbon_dioxide_partial_pressure_difference_between_sea_water_and_air",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dpo2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Delta PO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dpo2",
+            "positive":"",
+            "standard_name":"surface_molecular_oxygen_partial_pressure_difference_between_sea_water_and_air",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "evs":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the total mass of water vapor evaporating from the ice-free portion of the ocean  divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Evaporation Flux Where Ice Free Ocean over Sea",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"evs",
+            "positive":"",
+            "standard_name":"water_evaporation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "exparag100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of Aragonite at 100m",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Aragonite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"exparag100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_aragonite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of particulate organic carbon",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sinking Particulate Organic Carbon Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expc",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_organic_matter_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expc100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of particulate organic carbon at 100m",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particle Organic Carbon",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expc100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_organic_matter_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expcalc100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of Calcite at 100m",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Calcite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expcalc100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_calcite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expfe100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Iron",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expfe100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expn100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Nitrogen",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expn100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_nitrogen_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expp100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Phosphorus",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expp100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_phosphorus_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expsi100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Silica",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expsi100",
+            "positive":"down",
+            "standard_name":"3cbe53c2-12cc-11e6-b2bc-ac72891c3257",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtalk":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of alkalinity",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Biological Alkalinity due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtalk",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_tendency_of_sea_water_alkalinity_expressed_as_mole_equivalent_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of dissolved inorganic carbon",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Carbon due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdic",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_carbon_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdife":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of dissolved inorganic iron",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Iron due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdife",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_iron_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdin":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of nitrogen nutrients (e.g. NO3+NH4)",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Nitrogen due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdin",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_nitrogen_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdip":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of phosphate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Phosphate due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdip",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_phosphorus_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdisi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of dissolved inorganic silicate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Silicate due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdisi",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_silicon_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtalk":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net time rate of change of alkalinity",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Alkalinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtalk",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_tendency_of_sea_water_alkalinity_expressed_as_mole_equivalent",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Carbon",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdic",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_carbon",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdife":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net time rate of change of dissolved inorganic iron",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Iron",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdife",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_iron",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdin":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Net time rate of change of nitrogen nutrients (e.g. NO3+NH4)",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Nitrogen",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdin",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_nitrogen",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdip":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net  time rate of change of phosphate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Phosphate",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdip",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_phosphorus",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdisi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net time rate of change of dissolved inorganic silicate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Silicate",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdisi",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_silicon",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fg14co2abio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of abiotic 14CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward abiotic 14CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fg14co2abio",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_abiotic_14_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgcfc11":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"gas exchange flux of CFC11",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward CFC11 flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgcfc11",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_cfc11",
+            "type":"real",
+            "units":"mol sec-1 m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgcfc12":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"gas exchange flux of CFC12",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward CFC12 flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgcfc12",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_cfc12",
+            "type":"real",
+            "units":"mol sec-1 m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgco2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgco2",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgco2abio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of abiotic CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward abiotic CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgco2abio",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_abiotic_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgco2nat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of natural CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward natural CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgco2nat",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_natural_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgdms":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of DMS (positive into atmosphere)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upward DMS Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgdms",
+            "positive":"up",
+            "standard_name":"surface_upward_mole_flux_of_dimethyl_sulfide",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgo2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of O2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward O2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgo2",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_molecular_oxygen",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgsf6":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"gas exchange flux of SF6",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward SF6 flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgsf6",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_sf6",
+            "type":"real",
+            "units":"mol sec-1 m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ficeberg":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the iceberg melt water  flux into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Water Flux into Sea Water From Icebergs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ficeberg",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_from_icebergs",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ficeberg2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the iceberg melt water  flux into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water From Icebergs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ficeberg2d",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_from_icebergs",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "frfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron Loss to Sediments",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"frfe",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_iron_due_to_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fric":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Inorganic Carbon loss to sediments",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Inorganic Carbon Flux at Ocean Bottom",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fric",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_inorganic_carbon_due_to_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "friver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the river flux of water into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water From Rivers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"friver",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_from_rivers",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "frn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Loss to Sediments and through Denitrification",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"frn",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_elemental_nitrogen_due_to_denitrification_and_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "froc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Organic Carbon loss to sediments",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Organic Carbon Flux at Ocean Bottom",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"froc",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_organic_carbon_due_to_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fsfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Iron supply through deposition flux onto sea surface, runoff, coasts, sediments, etc",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Net Flux of Iron",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fsfe",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_iron_due_to_deposition_and_runoff_and_sediment_dissolution",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fsitherm":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the sea ice thermodynamic water flux into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fsitherm",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fsn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Net Flux of Nitrogen",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fsn",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_elemental_nitrogen_due_to_deposition_and_fixation_and_runoff",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "graz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Total Grazing of Phytoplankton by Zooplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"graz",
+            "positive":"",
+            "standard_name":"tendency_of_mole_concentration_of_organic_matter_expressed_as_carbon_in_sea_water_due_to_grazing_of_phytoplankton",
+            "type":"real",
+            "units":"mol m-3 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasin":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contains contributions from all physical processes affecting the northward heat transport, including resolved advection, parameterized advection, lateral diffusion, etc. Diagnosed here as a function of latitude and basin.   Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Heat Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasin",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpadv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized eddy-induced advective transport due to any subgrid advective process. Diagnosed here as a function of latitude and basin.  Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized eddy advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpadv",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_eddy_advection",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpmadv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized mesoscale eddy-induced advective transport. Diagnosed here as a function of latitude and basin.  Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpmadv",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpmdiff":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized mesoscale eddy-induced diffusive transport (i.e., neutral diffusion). Diagnosed here as a function of latitude and basin.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized mesoscale diffusion",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpmdiff",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_mesoscale_diffusion",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpsmadv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized mesoscale eddy-induced advective transport. Diagnosed here as a function of latitude and basin.  Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized submesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpsmadv",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_submesoscale_advection",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfcorr",
+            "positive":"down",
+            "standard_name":"heat_flux_correction",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is the net flux of heat entering the liquid water column through its upper surface (excluding any 'flux adjustment') .",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Heat Flux at Sea Water Surface",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfds",
+            "positive":"down",
+            "standard_name":"surface_downward_heat_flux_in_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfevapds":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature Flux due to Evaporation Expressed as Heat Flux Out of Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfevapds",
+            "positive":"up",
+            "standard_name":"temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfgeou":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Upward Geothermal Heat Flux at Sea Floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfgeou",
+            "positive":"up",
+            "standard_name":"upward_geothermal_heat_flux_at_sea_floor",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfibthermds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Iceberg Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfibthermds",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_iceberg_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfibthermds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Iceberg Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfibthermds2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_iceberg_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfls":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Latent Heat Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfls",
+            "positive":"down",
+            "standard_name":"surface_upward_latent_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfrainds":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'; i.e., the total flux (considered here) entering the ice-free portion of the grid cell divided by the area of the ocean portion of the grid cell.  All such heat fluxes are computed based on Celsius scale.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature Flux due to Rainfall Expressed as Heat Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfrainds",
+            "positive":"down",
+            "standard_name":"temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfrunoffds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Temperature Flux due to Runoff Expressed as Heat Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfrunoffds",
+            "positive":"",
+            "standard_name":"temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfrunoffds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature Flux due to Runoff Expressed as Heat Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfrunoffds2d",
+            "positive":"",
+            "standard_name":"temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsifrazil":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Frazil Ice Formation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsifrazil",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_freezing_of_frazil_ice",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsifrazil2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Frazil Ice Formation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsifrazil2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_freezing_of_frazil_ice",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsithermds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsithermds",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsithermds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsithermds2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsnthermds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Snow Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsnthermds",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_snow_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsnthermds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Snow Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsnthermds2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_snow_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfss":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Sensible Heat Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfss",
+            "positive":"down",
+            "standard_name":"surface_downward_sensible_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfx":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contains all contributions to 'x-ward' heat transport from resolved and parameterized processes.  Use Celsius for temperature scale.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Heat X Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfx",
+            "positive":"",
+            "standard_name":"ocean_heat_x_transport",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfy":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contains all contributions to 'y-ward' heat transport from resolved and parameterized processes. Use Celsius for temperature scale.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Heat Y Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfy",
+            "positive":"",
+            "standard_name":"ocean_heat_y_transport",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "htovgyre":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Heat Transport due to Gyre",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"htovgyre",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_gyre",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "htovovrt":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Heat Transport due to Overturning",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"htovovrt",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_overturning",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "icfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Inorganic Carbon supply to ocean through runoff (separate from gas exchange)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Flux of Inorganic Carbon Into Ocean Surface by Runoff",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"icfriver",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_inorganic_carbon_due_to_runoff_and_sediment_dissolution",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intdissic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated DIC",
+            "dimensions":"longitude latitude time",
+            "long_name":"Dissolved Inorganic Carbon Content",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intdissic",
+            "positive":"",
+            "standard_name":"ocean_mass_content_of_dissolved_inorganic_carbon",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intdissoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated DOC (explicit pools only)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Dissolved Organic Carbon Content",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intdissoc",
+            "positive":"",
+            "standard_name":"ocean_mass_content_of_dissolved_organic_carbon",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intparag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated aragonite production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Aragonite Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intparag",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_aragonite_expressed_as_carbon_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic iron production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbfe",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_iron_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic nitrogen production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbn",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_nitrogen_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic phosphorus production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Phosphorus Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbp",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_phosphorus_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbsi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic silica production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Silica Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbsi",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_silicon_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpcalcite":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated calcite production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Calcite Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpcalcite",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_calcite_expressed_as_carbon_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpn2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated nitrogen fixation",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Fixation Rate in Ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpn2",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_elemental_nitrogen_due_to_fixation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpnitrate":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated primary (organic carbon) production by phytoplankton based on nitrate uptake alone",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by Phytoplankton Based on Nitrate Uptake Alone",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpnitrate",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_due_to_nitrate_utilization",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated POC",
+            "dimensions":"longitude latitude time",
+            "long_name":"Particulate Organic Carbon Content",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpoc",
+            "positive":"",
+            "standard_name":"ocean_mass_content_of_particulate_organic_carbon",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated total primary (organic carbon) production by phytoplankton.  This should equal the sum of intpdiat+intpphymisc, but those individual components may be unavailable in some models.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by All Types of Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpp",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_phytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Primary Mole Productivity of Carbon by Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppcalc",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_calcareous_phytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppdiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated primary (organic carbon) production by the diatom phytoplankton component alone",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppdiat",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_diatoms",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppdiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Primary Mole Productivity of Carbon by Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppdiaz",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_diazotrophs",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated total primary (organic carbon) production by other phytoplankton components alone",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppmisc",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpppico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Primary Mole Productivity of Carbon by Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpppico",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_picophytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "limfecalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfecalc",
+            "positive":"",
+            "standard_name":"iron_limitation_of_calcareous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfediat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfediat",
+            "positive":"",
+            "standard_name":"iron_limitation_of_diatoms",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfediaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfediaz",
+            "positive":"",
+            "standard_name":"iron_limitation_of_diazotrophs",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfemisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron Limitation of Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfemisc",
+            "positive":"",
+            "standard_name":"iron_limitation_of_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfepico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfepico",
+            "positive":"",
+            "standard_name":"iron_limitation_of_picophytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrcalc",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_calcareous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrdiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrdiat",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_diatoms",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrdiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrdiaz",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_diazotrophs",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance Limitation of Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrmisc",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrpico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrpico",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_picophytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limncalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limncalc",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_calcareous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limndiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limndiat",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_diatoms",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limndiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limndiaz",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_diazotrophs",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limnmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Limitation of Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limnmisc",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limnpico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limnpico",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_picophytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "masscello":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Tracer grid-cell mass per unit area used for computing tracer budgets. For Boussinesq models with static ocean grid cell thickness, masscello = rhozero*thickcello, where thickcello is static cell thickness and rhozero is constant Boussinesq reference density. More generally, masscello is time dependent and reported as part of Omon.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Mass Per Unit Area",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"masscello",
+            "positive":"",
+            "standard_name":"sea_water_mass_per_unit_area",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "masso":{
+            "cell_measures":"time: mean area: sum where sea",
+            "cell_methods":"",
+            "comment":"Total mass of liquid seawater. For Boussinesq models, report this diagnostic as Boussinesq reference density times total volume.",
+            "dimensions":"time",
+            "long_name":"Sea Water Mass",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"masso",
+            "positive":"",
+            "standard_name":"sea_water_mass",
+            "type":"real",
+            "units":"kg",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mfo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"oline time",
+            "long_name":"Sea Water Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mfo",
+            "positive":"",
+            "standard_name":"sea_water_transport_across_line",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mlotst":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Sigma T is potential density referenced to ocean surface.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ocean Mixed Layer Thickness Defined by Sigma T",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mlotst",
+            "positive":"",
+            "standard_name":"ocean_mixed_layer_thickness_defined_by_sigma_t",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mlotstsq":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Square of Ocean Mixed Layer Thickness Defined by Sigma T",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mlotstsq",
+            "positive":"",
+            "standard_name":"square_of_ocean_mixed_layer_thickness_defined_by_sigma_t",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftbarot":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Streamfunction or its approximation for free surface models. See OMDP document for details.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ocean Barotropic Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftbarot",
+            "positive":"",
+            "standard_name":"ocean_barotropic_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmrho":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"Ocean Meridional Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmrho",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmrhompa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"ocean meridional overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmrhompa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmyz":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"Ocean Meridional Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmyz",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmzmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean meridional overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmzmpa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmzsmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Report only if there is a submesoscale eddy parameterization.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean meridional overturning mass streamfunction due to parameterized submesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmzsmpa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_submesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyrho":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"Ocean Y Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyrho",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyrhompa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"ocean Y overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyrhompa",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyyz":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"Ocean Y Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyyz",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyzmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean Y overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyzmpa",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyzsmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Report only if there is a submesoscale eddy parameterization.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean Y overturning mass streamfunction due to parameterized submesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyzsmpa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_submesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nh4":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Ammonium Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"nh4",
+            "positive":"",
+            "standard_name":"mole_concentration_of_ammonium_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "no3":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Nitrate Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"no3",
+            "positive":"",
+            "standard_name":"mole_concentration_of_nitrate_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "o2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Oxygen Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"o2",
+            "positive":"",
+            "standard_name":"mole_concentration_of_molecular_oxygen_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "o2min":{
+            "cell_measures":"time: mean area: mean where sea depth: minimum",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Oxygen Minimum Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"o2min",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_molecular_oxygen_in_sea_water_at_shallowest_local_minimum_in_vertical_profile",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ocfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Organic Carbon supply to ocean through runoff (separate from gas exchange)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Flux of Organic Carbon Into Ocean Surface by Runoff",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ocfriver",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_organic_carbon_due_to_runoff_and_sediment_dissolution",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "orog":{
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "type":"real",
+            "units":"m"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "pbo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Water Pressure at Sea floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pbo",
+            "positive":"",
+            "standard_name":"sea_water_pressure_at_sea_floor",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ph":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"negative log of hydrogen ion concentration with the concentration expressed as mol H kg-1.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"pH",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ph",
+            "positive":"",
+            "standard_name":"sea_water_ph_reported_on_total_scale",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton carbon component concentrations.  In most (all?) cases this is the sum of phycdiat and phycmisc (i.e., 'Diatom Carbon Concentration' and 'Non-Diatom Phytoplankton Carbon Concentration'",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phycalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from calcareous (calcite-producing) phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Calcareous Phytoplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phycalc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_calcareous_phytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phydiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon from the diatom phytoplankton component concentration alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Diatoms expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phydiat",
+            "positive":"",
+            "standard_name":"mole_concentration_of_diatoms_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phydiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from the diazotrophic phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Diazotrophs Expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phydiaz",
+            "positive":"",
+            "standard_name":"mole_concentration_of_diazotrophs_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton iron component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Iron Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyfe",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phymisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from additional phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Miscellaneous Phytoplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phymisc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_miscellaneous_phytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton nitrogen component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Nitrogen Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyn",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton phosphorus components",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Phosphorus Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyp",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_phosphorus_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phypico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from the picophytoplankton (<2 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Picophytoplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phypico",
+            "positive":"",
+            "standard_name":"mole_concentration_of_picophytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "physi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton silica component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Silica Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"physi",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_silicon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "po4":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Phosphate Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"po4",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phosphate_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "poc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of particulate organic carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Organic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"poc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pon":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of particulate organic nitrogen component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Organic Nitrogen Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pon",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_nitrogen_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pop":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of particulate organic phosphorus component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Organic Phosphorus Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pop",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_phosphorus_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"total primary (organic carbon) production by phytoplankton",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Primary Carbon Production by Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pp",
+            "positive":"",
+            "standard_name":"tendency_of_mole_concentration_of_particulate_organic_matter_expressed_as_carbon_in_sea_water_due_to_net_primary_production",
+            "type":"real",
+            "units":"mol m-3 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pr":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"includes both liquid and solid phases",
+            "dimensions":"longitude latitude time",
+            "long_name":"Rainfall Flux where Ice Free Ocean over Sea",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pr",
+            "positive":"",
+            "standard_name":"precipitation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "prsn":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"at surface; includes precipitation of all forms of water in the solid phase",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snowfall Flux where Ice Free Ocean over Sea",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"prsn",
+            "positive":"",
+            "standard_name":"snowfall_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ps":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "type":"real",
+            "units":"Pa"
+        },
+        "pso":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Water Pressure at Sea Water Surface",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pso",
+            "positive":"",
+            "standard_name":"sea_water_pressure_at_sea_water_surface",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "rlds":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Net Downward Longwave Radiation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rlds",
+            "positive":"down",
+            "standard_name":"surface_net_downward_longwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "rsdo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Downwelling Shortwave Radiation in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rsdo",
+            "positive":"down",
+            "standard_name":"downwelling_shortwave_flux_in_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "rsntds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is the flux into the surface of liquid sea water only. This excludes shortwave flux absorbed by sea ice, but includes any light that passes through the ice and is absorbed by the ocean.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Downward Shortwave Radiation at Sea Water Surface",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rsntds",
+            "positive":"down",
+            "standard_name":"net_downward_shortwave_flux_at_sea_water_surface",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sf6":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Moles Per Unit Mass of SF6 in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sf6",
+            "positive":"",
+            "standard_name":"moles_of_sf6_per_unit_mass_in_sea_water",
+            "type":"real",
+            "units":"mol kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sfdsi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This field is physical, and it arises since sea ice has a nonzero salt content, so it exchanges salt with the liquid ocean upon melting and freezing.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Sea Ice Basal Salt Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sfdsi",
+            "positive":"",
+            "standard_name":"downward_sea_ice_basal_salt_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This field is physical, and it arises when rivers carry a nonzero salt content.  Often this is zero, with rivers assumed to be fresh.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Salt Flux into Sea Water from Rivers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sfriver",
+            "positive":"",
+            "standard_name":"salt_flux_into_sea_water_from_rivers",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "si":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Silicate Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"si",
+            "positive":"",
+            "standard_name":"mole_concentration_of_silicate_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "sltovgyre":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Salt Transport due to Gyre",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sltovgyre",
+            "positive":"",
+            "standard_name":"northward_ocean_salt_transport_due_to_gyre",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sltovovrt":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Salt Transport due to Overturning",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sltovovrt",
+            "positive":"",
+            "standard_name":"northward_ocean_salt_transport_due_to_overturning",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "so":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"so",
+            "positive":"",
+            "standard_name":"sea_water_salinity",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sob":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Model prognostic salinity at bottom-most model grid cell",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea water salinity at sea floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sob",
+            "positive":"",
+            "standard_name":"sea_water_salinity_at_sea_floor",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "soga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Sea Water Salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"soga",
+            "positive":"",
+            "standard_name":"sea_water_salinity",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "somint":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Full column sum of density*cell thickness*prognostic salinity. If the model is Boussinesq, then use Boussinesq reference density for the density factor.",
+            "dimensions":"longitude latitude time",
+            "long_name":"integral wrt depth of product of sea water density and prognostic salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"somint",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_product_of_sea_water_density_and_prognostic_salinity",
+            "type":"real",
+            "units":"1e-3 kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sos",
+            "positive":"",
+            "standard_name":"sea_surface_salinity",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "spco2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Aqueous Partial Pressure of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"spco2",
+            "positive":"",
+            "standard_name":"surface_partial_pressure_of_carbon_dioxide_in_sea_water",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "talk":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"total alkalinity equivalent concentration (including carbonate, nitrogen, silicate, and borate components)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Total Alkalinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"talk",
+            "positive":"",
+            "standard_name":"sea_water_alkalinity_expressed_as_mole_equivalent",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "talknat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"total alkalinity equivalent concentration (including carbonate, borate, phosphorus, silicon, and nitrogen components) at preindustrial atmospheric xCO2",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Natural Total Alkalinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"talknat",
+            "positive":"",
+            "standard_name":"seawater_alkalinity_expressed_as_mole_equivalent_natural_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauucorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward X Stress Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauucorr",
+            "positive":"down",
+            "standard_name":"surface_downward_x_stress_correction",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauuo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward X Stress",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauuo",
+            "positive":"down",
+            "standard_name":"surface_downward_x_stress",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauvcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Y Stress Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauvcorr",
+            "positive":"down",
+            "standard_name":"surface_downward_y_stress_correction",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauvo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Y Stress",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauvo",
+            "positive":"down",
+            "standard_name":"surface_downward_y_stress",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "thetao":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Diagnostic should be contributed even for models using conservative temperature as prognostic field.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Potential Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thetao",
+            "positive":"",
+            "standard_name":"sea_water_potential_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "thetaoga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"Diagnostic should be contributed even for models using conservative temperature as prognostic field",
+            "dimensions":"time",
+            "long_name":"Global Average Sea Water Potential Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thetaoga",
+            "positive":"",
+            "standard_name":"sea_water_potential_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "thkcello":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Model Cell Thickness",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thkcello",
+            "positive":"",
+            "standard_name":"cell_thickness",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tob":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Potential temperature at the ocean bottom-most grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Water Potential Temperature at Sea Floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tob",
+            "positive":"",
+            "standard_name":"sea_water_potential_temperature_at_sea_floor",
+            "type":"real",
+            "units":"C",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tomint":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Full column sum of density*cell thickness*prognostic temperature. If the model is Boussinesq, then use Boussinesq reference density for the density factor.",
+            "dimensions":"longitude latitude time",
+            "long_name":"integral wrt depth of product of sea water density and prognostic temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tomint",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_product_of_sea_water_density_and_prognostic_temperature",
+            "type":"real",
+            "units":"1e-3 kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"this may differ from 'surface temperature' in regions of sea ice.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tos",
+            "positive":"",
+            "standard_name":"sea_surface_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tosga":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"This may differ from 'surface temperature' in regions of sea ice.This may differ from 'surface temperature' in regions of sea ice.For models using conservative temperature as prognostic field, they should report the SST as surface potent",
+            "dimensions":"time",
+            "long_name":"Global Average Sea Surface Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tosga",
+            "positive":"",
+            "standard_name":"sea_surface_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tossq":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"square of temperature of liquid ocean, averaged over the day.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Square of Sea Surface Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tossq",
+            "positive":"",
+            "standard_name":"square_of_sea_surface_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "umo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"X-ward mass transport from resolved and parameterized advective transport.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Mass X Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"umo",
+            "positive":"",
+            "standard_name":"ocean_mass_x_transport",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "uo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Prognostic x-ward velocity component resolved by the model.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water X Velocity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"uo",
+            "positive":"",
+            "standard_name":"sea_water_x_velocity",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vmo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Y-ward mass transport from resolved and parameterized advective transport.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Mass Y Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vmo",
+            "positive":"",
+            "standard_name":"ocean_mass_y_transport",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Prognostic x-ward velocity component resolved by the model.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Y Velocity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vo",
+            "positive":"",
+            "standard_name":"sea_water_y_velocity",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "volo":{
+            "cell_measures":"time: mean area: sum where sea",
+            "cell_methods":"",
+            "comment":"Total volume of liquid seawater.",
+            "dimensions":"time",
+            "long_name":"Sea Water Volume",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"volo",
+            "positive":"",
+            "standard_name":"sea_water_volume",
+            "type":"real",
+            "units":"m3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsf":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"It is set to zero in models which receive a real water flux.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsf",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"It is set to zero in models which receive a real water flux.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfcorr",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_correction",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfevap":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"zero for models using real water fluxes.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water due to Evaporation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfevap",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_due_to_evaporation",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfpr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"zero for models using real water fluxes.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water due to Rainfall",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfpr",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_due_to_rainfall",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"zero for models using real water fluxes.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water From Rivers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfriver",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_from_rivers",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfsit":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This variable measures the virtual salt flux into sea water due to the melting of sea ice. It is set to zero in models which receive a real water flux.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfsit",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wfcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Positive flux implies correction adds water to ocean.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wfcorr",
+            "positive":"down",
+            "standard_name":"water_flux_correction",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wfo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the water  flux into the ocean divided by the area of the ocean portion of the grid cell.  This is the sum of the next two variables in this table.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wfo",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wfonocorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the water  flux (without flux correction) into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water Without Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wfonocorr",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_without_flux_correction",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wmo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Upward mass transport from resolved and parameterized advective transport.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Upward Ocean Mass Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wmo",
+            "positive":"",
+            "standard_name":"upward_ocean_mass_transport",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zfull":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth below geoid",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Depth Below Geoid of Ocean Layer",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zfull",
+            "positive":"",
+            "standard_name":"depth_below_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zhalf":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth below geoid",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Depth Below Geoid of Interfaces Between Ocean Layers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zhalf",
+            "positive":"",
+            "standard_name":"depth_below_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "zo2min":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth of vertical minimum concentration of dissolved oxygen gas (if two, then the shallower)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Depth of Oxygen Minimum Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zo2min",
+            "positive":"",
+            "standard_name":"depth_at_shallowest_local_minimum_in_vertical_profile_of_mole_concentration_of_dissolved_molecular_oxygen_in_sea_water",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zooc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of zooplankton carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Zooplankton Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zooc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_zooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zoocmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon from additional zooplankton component concentrations alone (e.g. Micro, meso).  Since the models all have different numbers of components, this variable has been included to provide a check for intercomparison between models since some phytoplankton groups are supersets.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Other Zooplankton Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zoocmisc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_miscellaneous_zooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zoomeso":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon  concentration from mesozooplankton (20-200 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Mesozooplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zoomeso",
+            "positive":"",
+            "standard_name":"mole_concentration_of_mesozooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zoomicro":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon  concentration from the microzooplankton (<20 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Microzooplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zoomicro",
+            "positive":"",
+            "standard_name":"mole_concentration_of_microzooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"This is the dynamic sea level, so should have zero global area mean. It should not include inverse barometer depressions from sea ice.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height Above Geoid",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zos",
+            "positive":"",
+            "standard_name":"sea_surface_height_above_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zossq":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Surface ocean geoid defines z=0.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Square of Sea Surface Height Above Geoid",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zossq",
+            "positive":"",
+            "standard_name":"square_of_sea_surface_height_above_geoid",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zostoga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"There is no CMIP6 request for zosga nor zossga.",
+            "dimensions":"time",
+            "long_name":"Global Average Thermosteric Sea Level Change",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zostoga",
+            "positive":"",
+            "standard_name":"global_average_thermosteric_sea_level_change",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zsatarag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth of aragonite saturation horizon (0 if undersaturated at all depths, 'missing' if supersaturated at all depths; if multiple horizons exist, the shallowest should be taken).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Aragonite Saturation Depth",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zsatarag",
+            "positive":"",
+            "standard_name":"minimum_depth_of_aragonite_undersaturation_in_sea_water",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zsatcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth of calcite saturation horizon (0 if undersaturated at all depths, and missing saturated through whole depth; if two or more horizons exist, then the shallowest is reported)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Calcite Saturation Depth",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zsatcalc",
+            "positive":"",
+            "standard_name":"minimum_depth_of_calcite_undersaturation_in_sea_water",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/Tables/obs4MIPs_SImon.json b/obs4MIPs-cmor-tables/Tables/obs4MIPs_SImon.json
new file mode 100644
index 0000000..5d21dd1
--- /dev/null
+++ b/obs4MIPs-cmor-tables/Tables/obs4MIPs_SImon.json
@@ -0,0 +1,1548 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"30.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"mon",
+        "generic_levels":"",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"seaIce",
+        "table_date":"29 September 2016",
+        "table_id":"Table SImon"
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "orog":{
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "type":"real",
+            "units":"m"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "ps":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "type":"real",
+            "units":"Pa"
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "siacrossline":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"net (sum of transport in all directions) sea ice mass transport through the following four passages, positive into the Arctic Ocean 1. Fram Strait = (11.5oW,81.3oN to (10.5oE,79.6oN) 2. Canadian Archipelego = (128.2oW,70.6oN) to (59.3oW,82.1oN) 3. Barents opening = (16.8oE,76.5oN) to (19.2oE,70.2oN) 4. Bering Strait = (171oW,66.2oN) to (166oW,65oN)",
+            "dimensions":"latitude basin time",
+            "long_name":"Sea ice mass flux through straits",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siacrossline",
+            "positive":"",
+            "standard_name":"sea_ice_transport_across_line",
+            "type":"",
+            "units":"kg s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siage":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"Age of sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Age of sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siage",
+            "positive":"",
+            "standard_name":"age_of_sea_ice",
+            "type":"",
+            "units":"s",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sialb":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"Mean surface albedo of entire ice-covered part of grid cell",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice or snow albedo",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sialb",
+            "positive":"",
+            "standard_name":"sea_ice_albedo",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siarean":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"total area of sea ice in the Northern hemisphere",
+            "dimensions":"time",
+            "long_name":"Sea ice area North",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siarean",
+            "positive":"",
+            "standard_name":"sea_ice_area",
+            "type":"",
+            "units":"1e6 km2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siareas":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"total area of sea ice in the Southern hemisphere",
+            "dimensions":"time",
+            "long_name":"Sea ice area South",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siareas",
+            "positive":"",
+            "standard_name":"sea_ice_area",
+            "type":"",
+            "units":"1e6 km2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sicompstren":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"Computed strength of the ice pack, defined as the energy (J m-2) dissipated per unit area removed from the ice pack under compression, and assumed proportional to the change in potential energy caused by ridging. For Hibler-type models, this is P (= P*hexp(-C(1-A)))",
+            "dimensions":"longitude latitude time",
+            "long_name":"Compressive sea ice strength",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sicompstren",
+            "positive":"",
+            "standard_name":"compressive_strength_of_sea_ice",
+            "type":"",
+            "units":"N m-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siconc":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Area fraction of grid cell covered by sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice area fraction",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siconc",
+            "positive":"",
+            "standard_name":"sea_ice_area_fraction",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidconcdyn":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total change in sea-ice area fraction through dynamics-related processes (advection, divergence...)",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice area fraction change from dynamics",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidconcdyn",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_area_fraction_due_to_dynamics",
+            "type":"",
+            "units":"s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidconcth":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total change in sea-ice area fraction through thermodynamic processes",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice area fraction change from thermodynamics",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidconcth",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_area_fraction_due_to_thermodynamics",
+            "type":"",
+            "units":"s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidivvel":{
+            "cell_measures":"area: mean where sea_ice time: point",
+            "cell_methods":"area: areacello",
+            "comment":"Divergence of sea-ice velocity field (first shear strain invariant)",
+            "dimensions":"longitude latitude time1",
+            "long_name":"Divergence of the sea-ice velocity field",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidivvel",
+            "positive":"",
+            "standard_name":"divergence_of_sea_ice_velocity",
+            "type":"",
+            "units":"s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmassdyn":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total change in sea-ice mass through dynamics-related processes (advection,...) divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change from dynamics",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmassdyn",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_dynamics",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmassevapsubl":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"The rate of change of sea-ice mass change through evaporation and sublimation divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change through evaporation and sublimation",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmassevapsubl",
+            "positive":"",
+            "standard_name":"water_evaporation_flux",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmassgrowthbot":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"The rate of change of sea ice mass due to vertical growth of existing sea ice at its base divided by grid-cell area. ",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change through basal growth",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmassgrowthbot",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_congelation_ice_accumulation",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmassgrowthwat":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"The rate of change of sea ice mass due to sea ice formation in supercooled water (often through frazil formation) divided by grid-cell area. Together, sidmassgrowthwat and sidmassgrowthbot should give total ice growth ",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change through growth in supercooled open water (aka frazil)",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmassgrowthwat",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_freezing_in_open_water",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmasslat":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The rate of change of sea ice mass through lateral melting divided by grid-cell area (report 0 if not explicitly calculated thermodynamically)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Lateral sea ice melt rate",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmasslat",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_lateral_melting",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmassmeltbot":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"The rate of change of sea ice mass through melting at the ice bottom divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change through bottom melting",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmassmeltbot",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_basal_melting",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmassmelttop":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"The rate of change of sea ice mass through melting at the ice surface divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change through surface melting",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmassmelttop",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_surface_melting",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmasssi":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"The rate of change of sea ice mass due to transformation of snow to sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change through snow-to-ice conversion",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmasssi",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_snow_conversion",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmassth":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total change in sea-ice mass from thermodynamic processes divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea-ice mass change from thermodynamics",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmassth",
+            "positive":"",
+            "standard_name":"tendency_of_sea_ice_amount_due_to_thermodynamics",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmasstranx":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Includes transport of both sea ice and snow by advection",
+            "dimensions":"longitude latitude time",
+            "long_name":"X-component of sea-ice mass transport",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmasstranx",
+            "positive":"",
+            "standard_name":"sea_ice_x_transport",
+            "type":"",
+            "units":"kg s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidmasstrany":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Includes transport of both sea ice and snow by advection",
+            "dimensions":"longitude latitude time",
+            "long_name":"Y-component of sea-ice mass transport",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidmasstrany",
+            "positive":"",
+            "standard_name":"sea_ice_y_transport",
+            "type":"",
+            "units":"kg s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidragbot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Oceanic drag coefficient that is used to calculate the oceanic momentum drag on sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ocean drag coefficient",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidragbot",
+            "positive":"",
+            "standard_name":"surface_drag_coefficient_for_momentum_in_water",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sidragtop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Atmospheric drag coefficient that is used to calculate the atmospheric momentum drag on sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Atmospheric drag coefficient",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sidragtop",
+            "positive":"",
+            "standard_name":"surface_drag_coefficient_for_momentum_in_air",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siextentn":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total area of all Northern-Hemisphere grid cells that are covered by at least 15 % areal fraction of sea ice",
+            "dimensions":"time",
+            "long_name":"Sea ice extent North",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siextentn",
+            "positive":"",
+            "standard_name":"sea_ice_extent",
+            "type":"",
+            "units":"1e6 km2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siextents":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total area of all Southern-Hemisphere grid cells that are covered by at least 15 % areal fraction of sea ice",
+            "dimensions":"time",
+            "long_name":"Sea ice extent South",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siextents",
+            "positive":"",
+            "standard_name":"sea_ice_extent",
+            "type":"",
+            "units":"1e6 km2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sifb":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Mean height of sea-ice surface (=snow-ice interface when snow covered) above sea level",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice freeboard",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sifb",
+            "positive":"",
+            "standard_name":"sea_ice_freeboard",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflcondbot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"the net heat conduction flux at the ice base ",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net conductive heat fluxes in ice at the bottom",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflcondbot",
+            "positive":"",
+            "standard_name":"conductive_heat_flux_at_sea_ice_bottom",
+            "type":"",
+            "units":"W m-2 ",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflcondtop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"the net heat conduction flux at the ice surface",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net conductive heat flux in ice at the surface",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflcondtop",
+            "positive":"",
+            "standard_name":"conductive_heat_flux_at_sea_ice_surface",
+            "type":"",
+            "units":"W m-2 ",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflfwbot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Total flux of fresh water from water into sea ice divided by grid-cell area; This flux is negative during ice growth (liquid water mass decreases, hence upward flux of freshwater), positive during ice melt (liquid water mass increases, hence downward flux of freshwater)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Freshwater flux from sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflfwbot",
+            "positive":"",
+            "standard_name":"freshwater_flux_from_ice",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflfwdrain":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total flux of fresh water from sea-ice surface into underlying ocean. This combines both surface melt water that drains directly into the ocean and the drainage of surface melt pond. By definition, this flux is always positive.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Freshwater flux from sea-ice surface",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflfwdrain",
+            "positive":"",
+            "standard_name":"freshwater_flux_from_ice_surface",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sifllatstop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"the net latent heat flux over sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net latent heat flux over sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sifllatstop",
+            "positive":"",
+            "standard_name":"surface_upward_latent_heat_flux",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sifllwdtop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"the downwelling longwave flux over sea ice (always positive)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downwelling longwave flux over sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sifllwdtop",
+            "positive":"",
+            "standard_name":"surface_downwelling_longwave_flux_in_air",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sifllwutop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"the upward longwave flux over sea ice (always negative)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Upward longwave flux over sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sifllwutop",
+            "positive":"",
+            "standard_name":"surface_upwelling_longwave_flux_in_air",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflsaltbot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Total flux of salt from water into sea ice divided by grid-cell area; salt flux is upward (negative) during ice growth when salt is embedded into the ice and downward (positive) during melt when salt from sea ice is again released to the ocean",
+            "dimensions":"longitude latitude time",
+            "long_name":"Salt flux from sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflsaltbot",
+            "positive":"",
+            "standard_name":"salt_flux_from_ice",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflsenstop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"the net sensible heat flux over sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net sensible heat flux over sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflsenstop",
+            "positive":"",
+            "standard_name":"surface_upward_sensible_heat_flux",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflsensupbot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"the net sensible heat flux under sea ice from the ocean",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net sensible heat flux under sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflsensupbot",
+            "positive":"",
+            "standard_name":"ice_ocean_heat_flux",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflswdbot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"the downwelling shortwave flux underneath sea ice (always positive)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downwelling shortwave flux under sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflswdbot",
+            "positive":"",
+            "standard_name":"bottom_downwelling_shortwave_flux_into_ocean",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflswdtop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"the downwelling shortwave flux over sea ice (always positive by sign convention)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downwelling shortwave flux over sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflswdtop",
+            "positive":"",
+            "standard_name":"surface_downwelling_shortwave_flux_in_air",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siflswutop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"the upward shortwave flux over sea ice (always negative)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Upward shortwave flux over sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siflswutop",
+            "positive":"",
+            "standard_name":"surface_upwelling_shortwave_flux_in_air",
+            "type":"",
+            "units":"W m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siforcecoriolx":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"X-component of force on sea ice caused by coriolis force",
+            "dimensions":"longitude latitude time",
+            "long_name":"Coriolis force term in force balance (x-component)",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siforcecoriolx",
+            "positive":"",
+            "standard_name":"coriolis_force_on_sea_ice_x",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siforcecorioly":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Y-component of force on sea ice caused by coriolis force",
+            "dimensions":"longitude latitude time",
+            "long_name":"Coriolis force term in force balance (y-component)",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siforcecorioly",
+            "positive":"",
+            "standard_name":"coriolis_force_on_sea_ice_y",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siforceintstrx":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"X-component of force on sea ice caused by internal stress (divergence of sigma)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Internal stress term in force balance (x-component)",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siforceintstrx",
+            "positive":"",
+            "standard_name":"internal_stress_in_sea_ice_x",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siforceintstry":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Y-component of force on sea ice caused by internal stress (divergence of sigma)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Internal stress term in force balance (y-component)",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siforceintstry",
+            "positive":"",
+            "standard_name":"internal_stress_in_sea_ice_y",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siforcetiltx":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"X-component of force on sea ice caused by sea-surface tilt",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-surface tilt term in force balance (x-component)",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siforcetiltx",
+            "positive":"",
+            "standard_name":"sea_surface_tilt_force_on_sea_ice_x",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siforcetilty":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Y-component of force on sea ice caused by sea-surface tilt",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-surface tilt term in force balance (y-component)",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siforcetilty",
+            "positive":"",
+            "standard_name":"sea_surface_tilt_force_on_sea_ice_y",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "sihc":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"Heat content of all ice in grid cell divided by total grid-cell area. Water at 0 Celsius is assumed to have a heat content of 0 J.  Does not include heat content of snow, but does include heat content of brine. Heat content is always negative, since both the sensible and the latent heat content of ice are less than that of water",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice heat content per unit area",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sihc",
+            "positive":"",
+            "standard_name":"integral_of_sea_ice_temperature_wrt_depth_expressed_as_heat_content",
+            "type":"",
+            "units":"J m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siitdconc":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Area fraction of grid cell covered by each ice-thickness category (vector with one entry for each thickness category starting from the thinnest category, netcdf file should use thickness bounds of the categories as third coordinate axis)",
+            "dimensions":"longitude latitude iceband time",
+            "long_name":"Sea-ice area fractions in thickness categories",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siitdconc",
+            "positive":"",
+            "standard_name":"sea_ice_area_fraction_over_categories",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siitdsnconc":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Area fraction of grid cell covered by snow in each ice-thickness category (vector with one entry for each thickness category starting from the thinnest category, netcdf file should use thickness bounds of the categories as third coordinate axis)",
+            "dimensions":"longitude latitude iceband time",
+            "long_name":"Snow area fractions in thickness categories",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siitdsnconc",
+            "positive":"",
+            "standard_name":"snow_area_fraction_over_categories",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siitdsnthick":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Actual thickness of snow in each  category (NOT volume divided by grid area),  (vector with one entry for each thickness category starting from the thinnest category, netcdf file should use thickness bounds of categories as third coordinate axis)",
+            "dimensions":"longitude latitude iceband time",
+            "long_name":"Snow thickness in thickness categories",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siitdsnthick",
+            "positive":"",
+            "standard_name":"snow_thickness_over_categories",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siitdthick":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Actual (floe) thickness of sea ice in each  category (NOT volume divided by grid area),  (vector with one entry for each thickness category starting from the thinnest category, netcdf file should use thickness bounds of categories as third coordinate axis)",
+            "dimensions":"longitude latitude iceband time",
+            "long_name":"Sea-ice thickness in thickness categories",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siitdthick",
+            "positive":"",
+            "standard_name":"sea_ice_thickness_over_categories",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "simass":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total mass of sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice mass per area",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"simass",
+            "positive":"",
+            "standard_name":"sea_ice_amount",
+            "type":"",
+            "units":"kg m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "simpconc":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Area fraction of grid cell that is covered by melt ponds",
+            "dimensions":"longitude latitude time",
+            "long_name":"Meltpond area fraction",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"simpconc",
+            "positive":"",
+            "standard_name":"melt_pond_fraction",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "simpmass":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Meltpond mass per area of sea ice.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Meltpond mass per area",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"simpmass",
+            "positive":"",
+            "standard_name":"surface_liquid_water_amount",
+            "type":"",
+            "units":"kg m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "simprefrozen":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Volume of refrozen ice on melt ponds divided by meltpond covered area",
+            "dimensions":"longitude latitude time",
+            "long_name":"Thickness of refozen ice on melt pond",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"simprefrozen",
+            "positive":"",
+            "standard_name":"melt_pond_refrozen_ice",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sipr":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"mass of liquid precipitation falling onto sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"Rainfall rate over sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sipr",
+            "positive":"",
+            "standard_name":"rainfall_flux",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sirdgconc":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Area fraction of grid cell covered by ridged sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ridged ice area fraction",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sirdgconc",
+            "positive":"",
+            "standard_name":"fraction_of_ridged_sea_ice",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sirdgthick":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Sea Ice Ridge Height (representing mean height over the ridged area)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ridged ice thickness",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sirdgthick",
+            "positive":"",
+            "standard_name":"thickness_of_ridged_sea_ice",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sisali":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Mean sea-ice salinity of all sea ice in grid cell",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea ice salinity",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sisali",
+            "positive":"",
+            "standard_name":"sea_ice_salinity",
+            "type":"",
+            "units":"0.001",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sisaltmass":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total mass of all salt in sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"Mass of salt in sea ice per area",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sisaltmass",
+            "positive":"",
+            "standard_name":"sea_ice_salt_mass",
+            "type":"",
+            "units":"kg m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sishevel":{
+            "cell_measures":"area: mean where sea_ice time: point",
+            "cell_methods":"area: areacella",
+            "comment":"Maximum shear of sea-ice velocity field (second shear strain invariant)",
+            "dimensions":"longitude latitude time1",
+            "long_name":"Maximum shear of sea-ice velocity field",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sishevel",
+            "positive":"",
+            "standard_name":"maximum_shear_of_sea_ice_velocity",
+            "type":"",
+            "units":"s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sisnconc":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Area fraction of grid cell covered by snow that lies on sea ice; exclude snow that lies on land or land ice.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snow area fraction",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sisnconc",
+            "positive":"",
+            "standard_name":"surface_snow_area_fraction",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sisnhc":{
+            "cell_measures":"area: mean where snow over sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Heat-content of all snow in grid cell divided by total grid-cell area. Snow-water equivalent at 0 Celsius is assumed to have a heat content of 0 J.  Does not include heat content of sea ice.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snow-heat content per unit area",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sisnhc",
+            "positive":"",
+            "standard_name":"thermal_energy_content_of_surface_snow",
+            "type":"",
+            "units":"J m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sisnmass":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Total mass of snow on sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snow mass per area",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sisnmass",
+            "positive":"",
+            "standard_name":"surface_snow_amount",
+            "type":"",
+            "units":"kg m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sisnthick":{
+            "cell_measures":"area: mean where snow over sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Actual thickness of snow (snow volume divided by snow-covered area)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snow thickness",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sisnthick",
+            "positive":"",
+            "standard_name":"surface_snow_thickness",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sispeed":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Speed of ice (i.e. mean absolute velocity) to account for back-and-forth movement of the ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice speed",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sispeed",
+            "positive":"",
+            "standard_name":"sea_ice_speed",
+            "type":"",
+            "units":"m s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sistremax":{
+            "cell_measures":"area: mean where sea_ice time: point",
+            "cell_methods":"area: areacella",
+            "comment":"Maximum shear stress in sea ice (second stress invariant)",
+            "dimensions":"longitude latitude time1",
+            "long_name":"Maximum shear stress in sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sistremax",
+            "positive":"",
+            "standard_name":"maximum_shear_stress",
+            "type":"",
+            "units":"N m-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sistresave":{
+            "cell_measures":"area: mean where sea_ice time: point",
+            "cell_methods":"area: areacella",
+            "comment":"Average normal stress in sea ice (first stress invariant)",
+            "dimensions":"longitude latitude time1",
+            "long_name":"Average normal stress in sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sistresave",
+            "positive":"",
+            "standard_name":"average_normal_stress",
+            "type":"",
+            "units":"N m-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sistrxdtop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"X-component of atmospheric stress on sea ice",
+            "dimensions":"longitude latitude time",
+            "long_name":"X-component of atmospheric stress on sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sistrxdtop",
+            "positive":"",
+            "standard_name":"surface_downward_x_stress",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sistrxubot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"X-component of ocean stress on sea ice ",
+            "dimensions":"longitude latitude time",
+            "long_name":"X-component of ocean stress on sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sistrxubot",
+            "positive":"",
+            "standard_name":"sea_ice_base_upward_x_stress",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sistrydtop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Y-component of atmospheric stress on sea ice ",
+            "dimensions":"longitude latitude time",
+            "long_name":"Y-component of atmospheric stress on sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sistrydtop",
+            "positive":"",
+            "standard_name":"surface_downward_y_stress",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sistryubot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"Y-component of ocean stress on sea ice ",
+            "dimensions":"longitude latitude time",
+            "long_name":"Y-component of ocean stress on sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sistryubot",
+            "positive":"",
+            "standard_name":"sea_ice_base_upward_y_stress",
+            "type":"",
+            "units":"N m-2",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sitempbot":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Report temperature at interface, NOT temperature within lowermost model layer",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature at ice-ocean interface",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sitempbot",
+            "positive":"",
+            "standard_name":"sea_ice_bottom_temperature",
+            "type":"",
+            "units":"K",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sitempsnic":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"Report surface temperature of ice where snow thickness is zero",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature at snow-ice interface",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sitempsnic",
+            "positive":"",
+            "standard_name":"snow_sea_ice_interface_temperature",
+            "type":"",
+            "units":"K",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sitemptop":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacello",
+            "comment":"Surface temperature of sea-ice (surface temperature of snow cover on the sea ice if applicable).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface temperature of sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sitemptop",
+            "positive":"",
+            "standard_name":"sea_ice_surface_temperature",
+            "type":"",
+            "units":"K",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sithick":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Actual (floe) thickness of sea ice (NOT volume divided by grid area as was done in CMIP5)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice thickness",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sithick",
+            "positive":"",
+            "standard_name":"sea_ice_thickness",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sitimefrac":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of time steps of the averaging period during which sea ice is present (siconc >0 ) in a grid cell ",
+            "dimensions":"longitude latitude time",
+            "long_name":"Fraction of time steps with sea ice",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sitimefrac",
+            "positive":"",
+            "standard_name":"sea_ice_time_fraction",
+            "type":"",
+            "units":"1.0",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siu":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"The x-velocity of ice on native model grid",
+            "dimensions":"longitude latitude time",
+            "long_name":"X-component of sea ice velocity",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siu",
+            "positive":"",
+            "standard_name":"sea_ice_x_velocity",
+            "type":"",
+            "units":"m s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "siv":{
+            "cell_measures":"area: mean where sea_ice area: time: mean where sea_ice",
+            "cell_methods":"area: areacella",
+            "comment":"The y-velocity of ice on native model grid",
+            "dimensions":"longitude latitude time",
+            "long_name":"Y-component of sea ice velocity",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"siv",
+            "positive":"",
+            "standard_name":"sea_ice_y_velocity",
+            "type":"",
+            "units":"m s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sivol":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Total volume of sea ice divided by grid-cell area (this used to be called ice thickness in CMIP5)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea-ice volume per area",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sivol",
+            "positive":"",
+            "standard_name":"sea_ice_thickness",
+            "type":"",
+            "units":"m",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sivoln":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"total volume of sea ice in the Northern hemisphere",
+            "dimensions":"time",
+            "long_name":"Sea ice volume North",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sivoln",
+            "positive":"",
+            "standard_name":"sea_ice_volume",
+            "type":"",
+            "units":"1e3 km3",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sivols":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"total volume of sea ice in the Southern hemisphere",
+            "dimensions":"time",
+            "long_name":"Sea ice volume South",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sivols",
+            "positive":"",
+            "standard_name":"sea_ice_volume",
+            "type":"",
+            "units":"1e3 km3",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sndmassdyn":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"the rate of change of snow mass through advection with sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"snow mass change through advection by sea-ice dynamics",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sndmassdyn",
+            "positive":"",
+            "standard_name":"tendency_of_snow_mass_due_to_sea_ice_dynamics",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sndmassmelt":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"the rate of change of snow mass through melt divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"snow mass change through melt",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sndmassmelt",
+            "positive":"",
+            "standard_name":"surface_snow_melt_flux",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sndmasssi":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"the rate of change of snow mass due to transformation of snow to sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"snow mass change through snow-to-ice conversion",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sndmasssi",
+            "positive":"",
+            "standard_name":"tendency_of_snow_mass_due_to_snow_to_ice_conversion",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sndmasssnf":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"mass of solid precipitation falling onto sea ice divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"snow mass change through snow fall",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sndmasssnf",
+            "positive":"",
+            "standard_name":"snowfall_flux",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sndmasssubl":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"the rate of change of snow mass through sublimation and evaporation divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"snow mass change through evaporation or sublimation",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sndmasssubl",
+            "positive":"",
+            "standard_name":"surface_snow_sublimation_flux",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "sndmasswindrif":{
+            "cell_measures":"area: mean where sea_ice time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"the rate of change of snow mass through wind drift of snow divided by grid-cell area",
+            "dimensions":"longitude latitude time",
+            "long_name":"snow mass change through wind drift of snow",
+            "ok_max_mean_abs":"0",
+            "ok_min_mean_abs":"0",
+            "out_name":"sndmasswindrif",
+            "positive":"",
+            "standard_name":"tendency_of_snow_mass_due_to_drifting_snow",
+            "type":"",
+            "units":"kg m-2 s-1",
+            "valid_max":"0",
+            "valid_min":"0"
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/Tables/obs4MIPs_fx.json b/obs4MIPs-cmor-tables/Tables/obs4MIPs_fx.json
new file mode 100644
index 0000000..d089ef8
--- /dev/null
+++ b/obs4MIPs-cmor-tables/Tables/obs4MIPs_fx.json
@@ -0,0 +1,373 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"0.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"fx",
+        "generic_levels":"olevel",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"fx",
+        "table_date":"29 September 2016",
+        "table_id":"Table fx"
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "areacella":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"For atmospheres with more than 1 mesh (e.g., staggered grids), report areas that apply to surface vertical fluxes of energy.",
+            "dimensions":"longitude latitude",
+            "long_name":"Atmosphere Grid-Cell Area",
+            "modeling_realm":"atmos land",
+            "ok_max_mean_abs":"1e+12",
+            "ok_min_mean_abs":"100000.0",
+            "out_name":"areacella",
+            "positive":"",
+            "standard_name":"cell_area",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"1e+12",
+            "valid_min":"100000.0"
+        },
+        "areacello":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"Horizontal area of ocean grid cells",
+            "dimensions":"longitude latitude",
+            "long_name":"Ocean Grid-Cell Area",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"1e+12",
+            "ok_min_mean_abs":"0.0",
+            "out_name":"areacello",
+            "positive":"",
+            "standard_name":"cell_area",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"1e+12",
+            "valid_min":"0.0"
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "basin":{
+            "cell_measures":"",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude",
+            "flag_meanings":"global_land southern_ocean atlantic_ocean pacific_ocean arctic_ocean indian_ocean mediterranean_sea black_sea hudson_bay baltic_sea red_sea",
+            "flag_values":"0 1 2 3 4 5 6 7 8 9 10",
+            "long_name":"Region Selection Index",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"basin",
+            "positive":"",
+            "standard_name":"region",
+            "type":"integer",
+            "units":"1.0",
+            "valid_max":"10.0",
+            "valid_min":"0.0"
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "deptho":{
+            "cell_measures":"",
+            "cell_methods":"area: areacello",
+            "comment":"Ocean bathymetry.   Reported here is the sea floor depth for present day relative to z=0 geoid. Reported as missing for land grid cells.",
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"5000.0",
+            "ok_min_mean_abs":"2000.0",
+            "out_name":"deptho",
+            "positive":"",
+            "standard_name":"sea_floor_depth_below_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"10000.0",
+            "valid_min":"0.0"
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "hfgeou":{
+            "cell_measures":"area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude",
+            "long_name":"Upward Geothermal Heat Flux at Sea Floor",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfgeou",
+            "positive":"up",
+            "standard_name":"upward_geothermal_heat_flux_at_sea_floor",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "mrsofc":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"'reported ''where land'': divide the total water holding capacity of all the soil in the grid cell by the land area in the grid cell;  reported as ''missing'' where the land fraction is 0.'",
+            "dimensions":"longitude latitude",
+            "long_name":"Capacity of Soil to Store Water",
+            "modeling_realm":"land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mrsofc",
+            "positive":"",
+            "standard_name":"soil_moisture_content_at_field_capacity",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "orog":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.",
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "modeling_realm":"atmos",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"orog",
+            "positive":"",
+            "standard_name":"surface_altitude",
+            "type":"real",
+            "units":"m",
+            "valid_max":"10000.0",
+            "valid_min":"-700.0"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "ps":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "type":"real",
+            "units":"Pa"
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "rootd":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"report the maximum soil depth reachable by plant roots (if defined in model), i.e., the maximum soil depth from which they can extract moisture; report as ''missing'' where the land fraction is 0.",
+            "dimensions":"longitude latitude",
+            "long_name":"Maximum Root Depth",
+            "modeling_realm":"land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rootd",
+            "positive":"",
+            "standard_name":"root_depth",
+            "type":"real",
+            "units":"m",
+            "valid_max":"30.0",
+            "valid_min":"0.0"
+        },
+        "sftgif":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of grid cell covered by land ice (ice sheet, ice shelf, ice cap, glacier)",
+            "dimensions":"longitude latitude",
+            "long_name":"Fraction of Grid Cell Covered with Glacier",
+            "modeling_realm":"land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sftgif",
+            "positive":"",
+            "standard_name":"land_ice_area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"100.0",
+            "valid_min":"0.0"
+        },
+        "sftlf":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"Please express 'X_area_fraction' as the fraction of horizontal area occupied by X.",
+            "dimensions":"longitude latitude",
+            "long_name":"Land Area Fraction",
+            "modeling_realm":"atmos",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sftlf",
+            "positive":"",
+            "standard_name":"land_area_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"100.0",
+            "valid_min":"0.0"
+        },
+        "sftof":{
+            "cell_measures":"",
+            "cell_methods":"area: areacello",
+            "comment":"This is the area fraction at the ocean surface.",
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Area Fraction",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sftof",
+            "positive":"",
+            "standard_name":"sea_area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"100.0",
+            "valid_min":"0.0"
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "thkcello":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel",
+            "long_name":"Ocean Model Cell Thickness",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thkcello",
+            "positive":"",
+            "standard_name":"cell_thickness",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "volcello":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"grid-cell volume ca. 2000.",
+            "dimensions":"longitude latitude olevel",
+            "long_name":"Ocean Grid-Cell Volume",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"1e+15",
+            "ok_min_mean_abs":"0.0",
+            "out_name":"volcello",
+            "positive":"",
+            "standard_name":"ocean_volume",
+            "type":"real",
+            "units":"m3",
+            "valid_max":"1e+15",
+            "valid_min":"0.0"
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/demo/amipbc_areacello_360x180_v1.1.0.nc b/obs4MIPs-cmor-tables/demo/amipbc_areacello_360x180_v1.1.0.nc
new file mode 100644
index 0000000..99f04e2
Binary files /dev/null and b/obs4MIPs-cmor-tables/demo/amipbc_areacello_360x180_v1.1.0.nc differ
diff --git a/obs4MIPs-cmor-tables/demo/amipobs_tos_360x180_v1.1.0_187001-187112.nc b/obs4MIPs-cmor-tables/demo/amipobs_tos_360x180_v1.1.0_187001-187112.nc
new file mode 100644
index 0000000..0cc107c
Binary files /dev/null and b/obs4MIPs-cmor-tables/demo/amipobs_tos_360x180_v1.1.0_187001-187112.nc differ
diff --git a/obs4MIPs-cmor-tables/demo/drive_obs4MIPs.json b/obs4MIPs-cmor-tables/demo/drive_obs4MIPs.json
new file mode 100644
index 0000000..2f77d15
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo/drive_obs4MIPs.json
@@ -0,0 +1,30 @@
+{
+    "_control_vocabulary_file":     "obs4MIPs_CV.json",
+    "activity_id":                  "obs4MIPs",
+    "calendar":                     "gregorian",
+
+    "data_structure":               "grid",
+    "dataset_version_number":       "1.1.0",
+    "frequency":                    "mon",
+    "grid":                         "1x1 degree latitude x longitude",
+    "grid_label":                   "gs1x1 gr",
+    "grid_resolution":              "1x1 degree",
+    "product":                      "composite",
+    "realm":                        "ocean",
+
+    "comment":                      "Based on Hurrell SST/sea ice consistency criteria applied to merged HadISST (1870-01 1981-10) & NCEP-0I2 (1981-11 to 2015-12)",
+    "contact ":                     "PCMDI (pcmdi-cmip at llnl.gov) ",
+    "further_info_url":             "http://www-pcmdi.llnl.gov/projects/amip/AMIP2EXPDSN/BCS/amip2bcs.php",
+    "institution_id":               "PCMDI",
+    "institution":                  "Program for Climate Model Diagnosis and Intercomparison (LLNL), Livermore, CA 94550, USA",
+    "references":                   "Taylor, K.E., D. Williamson and F. Zwiers, 2000: The sea surface temperature and sea ice concentration boundary conditions for AMIP II simulations. PCMDI Report 60, Program for Climate Model Diagnosis and Intercomparison, Lawrence Livermore National Laboratory, 25 pp. Available online: http://www-pcmdi.llnl.gov/publications/pdf/60.pdf",
+    "source":                       "PCMDI-AMIP 1.1.0: Merged SST based on UK MetOffice HadISST and NCEP OI2",
+    "source_id":                    "PCMDI-AMIP-1-1-0",
+    "title":                        "PCMDI-AMIP 1.1.0 dataset prepared for input4MIPs",
+
+    "outpath":                      ".",
+    "output_path_template":         "<activity_id><realm><frequency><variable_id><product><source_id><grid_label><version>",
+    "output_file_template":         "<variable_id><table><product><source_id><grid_label>",
+
+    "license":                      "AMIP boundary condition data produced by PCMDI is licensed under a Creative Commons Attribution \"Share Alike\" 4.0 International License (http://creativecommons.org/licenses/by/4.0/). The data producers and data providers make no warranty, either express or implied, including but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arisi [...]
+}
diff --git a/obs4MIPs-cmor-tables/demo/obs4MIPs_CV.json b/obs4MIPs-cmor-tables/demo/obs4MIPs_CV.json
new file mode 100644
index 0000000..13e5598
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo/obs4MIPs_CV.json
@@ -0,0 +1,110 @@
+{
+    "CV":{
+        "frequency":{
+            "frequency":[
+                "3hr",
+                "3hrClim",
+                "6hr",
+                "day",
+                "decadal",
+                "fx",
+                "mon",
+                "monClim",
+                "subhr",
+                "yr"
+            ]
+        },
+        "grid_labels":{
+            "grid_label":{
+                "grid_resolution":[
+                    "10 km",
+                    "100 km",
+                    "1000 km",
+                    "10000 km",
+                    "1x1 degree",
+                    "25 km",
+                    "250 km",
+                    "2500 km",
+                    "5 km",
+                    "50 km",
+                    "500 km",
+                    "5000 km"
+                ]
+            },
+            "gs1x1":{
+                "grid_resolution":"1x1 degree"
+            },
+            "gs1x1 gn":{
+                "grid_resolution":"1x1 degree"
+            },
+            "gs1x1 gr":{
+                "grid_resolution":"1x1 degree"
+            }
+        },
+        "institution_ids":{
+            "institution_id":{
+                "JPL":"Jet Propulsion Laboratory, Pasadena, CA 91109, USA",
+                "NOAA-NCEI":"NOAA's National Centers for Environmental Information, Asheville, NC 28801, USA",
+                "PCMDI":"Program for Climate Model Diagnosis and Intercomparison, Lawrence Livermore National Laboratory, Livermore, CA 94550, USA",
+                "RSS":"Remote Sensing Systems, Santa Rosa, CA 95401, USA"
+            }
+        },
+        "mip_era":{
+            "mip_era":[
+                "CMIP6"
+            ]
+        },
+        "product":{
+            "product":[
+                "composite",
+                "remote-sensed",
+                "satellite",
+                "surface-gridded-insitu",
+                "surface-radar"
+            ]
+        },
+        "realm":{
+            "realm":[
+                "aerosol",
+                "atmos",
+                "atmosChem",
+                "land",
+                "landIce",
+                "ocean",
+                "ocnBgchem",
+                "seaIce"
+            ]
+        },
+        "required_global_attributes":{
+            "required_global_attributes":[
+                "activity_id",
+                "Conventions",
+                "creation_date",
+                "dataset_version_number",
+                "further_info_url",
+                "frequency",
+                "grid",
+                "grid_label",
+                "grid_resolution",
+                "institution_id",
+                "license",
+                "mip_era",
+                "product",
+                "realm",
+                "source_id",
+                "table_id",
+                "tracking_id",
+                "variable_id"
+            ]
+        },
+        "table_id":{
+            "table_id":[
+                "Amon",
+                "Lmon",
+                "Omon",
+                "SImon",
+                "fx"
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/demo/obs4MIPs_Omon_composite.json b/obs4MIPs-cmor-tables/demo/obs4MIPs_Omon_composite.json
new file mode 100644
index 0000000..8da233e
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo/obs4MIPs_Omon_composite.json
@@ -0,0 +1,6004 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"30.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"mon",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"ocean",
+        "table_date":"27 September 2016",
+        "table_id":"Table Omon"
+    },
+    "axis_entry":{
+        "alt16":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"MISR vertical coordinate heights",
+            "must_have_bounds":"yes",
+            "out_name":"alt16",
+            "positive":"up",
+            "requested":[
+                0.0,
+                250.0,
+                750.0,
+                1250.0,
+                1750.0,
+                2250.0,
+                2750.0,
+                3500.0,
+                4500.0,
+                6000.0,
+                8000.0,
+                10000.0,
+                12000.0,
+                14500.0,
+                16000.0,
+                18000.0
+            ],
+            "requested_bounds":[
+                -99000.0,
+                0.0,
+                0.0,
+                500.0,
+                500.0,
+                1000.0,
+                1000.0,
+                1500.0,
+                1500.0,
+                2000.0,
+                2000.0,
+                2500.0,
+                2500.0,
+                3000.0,
+                3000.0,
+                4000.0,
+                4000.0,
+                5000.0,
+                5000.0,
+                7000.0,
+                7000.0,
+                9000.0,
+                9000.0,
+                11000.0,
+                11000.0,
+                13000.0,
+                13000.0,
+                15000.0,
+                15000.0,
+                17000.0,
+                17000.0,
+                99000.0
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alt40":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"altitude",
+            "must_have_bounds":"yes",
+            "out_name":"alt40",
+            "positive":"up",
+            "requested":[
+                "240.",
+                "720.",
+                "1200.",
+                "1680.",
+                "2160.",
+                "2640.",
+                "3120.",
+                "3600.",
+                "4080.",
+                "4560.",
+                "5040.",
+                "5520.",
+                "6000.",
+                "6480.",
+                "6960.",
+                "7440.",
+                "7920.",
+                "8400.",
+                "8880.",
+                "9360.",
+                "9840.",
+                "10320.",
+                "10800.",
+                "11280.",
+                "11760.",
+                "12240.",
+                "12720.",
+                "13200.",
+                "13680.",
+                "14160.",
+                "14640.",
+                "15120.",
+                "15600.",
+                "16080.",
+                "16560.",
+                "17040.",
+                "17520.",
+                "18000.",
+                "18480.",
+                "18960."
+            ],
+            "requested_bounds":[
+                "0.",
+                "480.",
+                "480.",
+                "960.",
+                "960.",
+                "1440.",
+                "1440.",
+                "1920.",
+                "1920.",
+                "2400.",
+                "2400.",
+                "2880.",
+                "2880.",
+                "3360.",
+                "3360.",
+                "3840.",
+                "3840.",
+                "4320.",
+                "4320.",
+                "4800.",
+                "4800.",
+                "5280.",
+                "5280.",
+                "5760.",
+                "5760.",
+                "6240.",
+                "6240.",
+                "6720.",
+                "6720.",
+                "7200.",
+                "7200.",
+                "7680.",
+                "7680.",
+                "8160.",
+                "8160.",
+                "8640.",
+                "8640.",
+                "9120.",
+                "9120.",
+                "9600.",
+                "9600.",
+                "10080.",
+                "10080.",
+                "10560.",
+                "10560.",
+                "11040.",
+                "11040.",
+                "11520.",
+                "11520.",
+                "12000.",
+                "12000.",
+                "12480.",
+                "12480.",
+                "12960.",
+                "12960.",
+                "13440.",
+                "13440.",
+                "13920.",
+                "13920.",
+                "14400.",
+                "14400.",
+                "14880.",
+                "14880.",
+                "15360.",
+                "15360.",
+                "15840.",
+                "15840.",
+                "16320.",
+                "16320.",
+                "16800.",
+                "16800.",
+                "17280.",
+                "17280.",
+                "17760.",
+                "17760.",
+                "18240.",
+                "18240.",
+                "18720.",
+                "18720.",
+                "19200."
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alternate_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ap and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ap: ap_bnds b: b_bnds ps: ps",
+            "z_factors":"ap: ap b: b ps: ps"
+        },
+        "basin":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean basin",
+            "must_have_bounds":"no",
+            "out_name":"basin",
+            "positive":"",
+            "requested":[
+                "atlantic_arctic_ocean",
+                "indian_pacific_ocean",
+                "global_ocean"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "dbze":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"CloudSat simulator equivalent radar reflectivity factor",
+            "must_have_bounds":"yes",
+            "out_name":"dbze",
+            "positive":"",
+            "requested":[
+                "-47.5",
+                "-42.5",
+                "-37.5",
+                "-32.5",
+                "-27.5",
+                "-22.5",
+                "-17.5",
+                "-12.5",
+                "-7.5",
+                "-2.5",
+                "2.5",
+                "7.5",
+                "12.5",
+                "17.5",
+                "22.5"
+            ],
+            "requested_bounds":[
+                "-50",
+                "-45",
+                "-45",
+                "-40",
+                "-40",
+                "-35",
+                "-35",
+                "-30",
+                "-30",
+                "-25",
+                "-25",
+                "-20",
+                "-20",
+                "-15",
+                "-15",
+                "-10",
+                "-10",
+                "-5",
+                "-5",
+                "0",
+                "0",
+                "5",
+                "5",
+                "10",
+                "10",
+                "15",
+                "15",
+                "20",
+                "20",
+                "25."
+            ],
+            "standard_name":"equivalent_reflectivity_factor",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"dBZ",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth0m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"0.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth100m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"120.0",
+            "valid_min":"80.0",
+            "value":"100.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth2000m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 2000 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"2000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth300m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 300 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"300",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth700m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 700 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"700",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth_coord":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean depth coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"12000.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadIc":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Ice Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadIc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadLi":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Liquid Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadLi",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height10m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"30.0",
+            "valid_min":"1.0",
+            "value":"10.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height2m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"10.0",
+            "valid_min":"1.0",
+            "value":"2.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "hybrid_height":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a and b*orog",
+            "long_name":"hybrid height coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_height_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"a: lev_bnds b: b_bnds orog: orog",
+            "z_factors":"a: lev b: b orog: orog"
+        },
+        "iceband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Ice depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"iceband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"sea_ice_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "latitude":{
+            "axis":"Y",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"latitude",
+            "must_have_bounds":"yes",
+            "out_name":"lat",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"latitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_north",
+            "valid_max":"90.0",
+            "valid_min":"-90.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "location":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"location index",
+            "must_have_bounds":"no",
+            "out_name":"loc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "longitude":{
+            "axis":"X",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"longitude",
+            "must_have_bounds":"yes",
+            "out_name":"lon",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"longitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_east",
+            "valid_max":"360.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "misrBands":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band of MISR",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "natural_log_pressure":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = p0 * exp(-lev)",
+            "long_name":"atmosphere natural log pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_ln_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"20.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 lev: lev_bnds",
+            "z_factors":"p0: p0 lev: lev"
+        },
+        "ocean_double_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= k_c:\n z(k,j,i)= sigma(k)*f(j,i) \n for k > k_c:\n z(k,j,i)= f(j,i) and (sigma(k)-1)*(depth(j,i)-f(j,i)) \n f(j,i)= 0.5*(z1+ z2) and 0.5*(z1-z2)* tanh(2*a/(z1-z2)*(depth(j,i)-href))",
+            "long_name":"ocean double sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_double_sigma",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds depth: depth z1: z1 z2: z2 a: a href: href k_c: k_c",
+            "z_factors":"sigma: sigma depth: depth z1: z1 z2: z2 a: a_coeff href: href k_c: k_c"
+        },
+        "ocean_s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i)*(1+s(k)) and depth_c*s(k) and (depth(j,i)-depth_c)*C(k) \n where \n C(k)=(1-b)*sinh(a*s(k))/sinh(a) +\n   b*(tanh(a*(s(k)+0.5))/(2*tanh(0.5*a)) - 0.5)",
+            "long_name":"ocean s-coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_s_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"s: lev_bnds eta: eta depth: depth a: a b: b depth_c: depth_c",
+            "z_factors":"s: lev eta: eta depth: depth a: a_coeff b: b_coeff depth_c: depth_c"
+        },
+        "ocean_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i) and sigma(k)*(depth(j,i)+eta(n,j,i))",
+            "long_name":"ocean sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"sigma: lev_bnds eta: eta depth: depth",
+            "z_factors":"sigma: lev eta: eta depth: depth"
+        },
+        "ocean_sigma_z":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= nsigma: z(n,k,j,i) = eta(n,j,i) and sigma(k)*(min(depth_c,depth(j,i))+eta(n,j,i)) ; for k > nsigma: z(n,k,j,i) = zlev(k)",
+            "long_name":"ocean sigma over z coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_z",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev_bnds",
+            "z_factors":"sigma: sigma eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev"
+        },
+        "olayer100m":{
+            "axis":"Z",
+            "bounds_values":"0. 100",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"50.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "oline":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean passage",
+            "must_have_bounds":"no",
+            "out_name":"line",
+            "positive":"",
+            "requested":[
+                "barents_opening",
+                "bering_strait",
+                "canadian_archipelago",
+                "denmark_strait",
+                "drake_passage",
+                "english_channel",
+                "pacific_equatorial_undercurrent",
+                "faroe_scotland_channel",
+                "florida_bahamas_strait",
+                "fram_strait",
+                "iceland_faroe_channel",
+                "indonesian_thoughflow",
+                "mozambique_channel",
+                "taiwan_luzon_straits",
+                "windward_passage"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p1000":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"1000 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"100000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p220":{
+            "axis":"Z",
+            "bounds_values":"44000. 0.0",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"22000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p500":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"500 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"50000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p560":{
+            "axis":"Z",
+            "bounds_values":"68000. 44000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"56000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p700":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"700 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"70000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p840":{
+            "axis":"Z",
+            "bounds_values":"100000. 68000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"84000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev10":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev14":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "5000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev17":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev19":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev23":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "100.",
+                "40."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev27":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "97500.",
+                "95000.",
+                "92500.",
+                "90000.",
+                "87500.",
+                "85000.",
+                "82500.",
+                "80000.",
+                "77500.",
+                "75000.",
+                "70000.",
+                "65000.",
+                "60000.",
+                "55000.",
+                "50000.",
+                "45000.",
+                "40000.",
+                "35000.",
+                "30000.",
+                "25000.",
+                "22500.",
+                "20000.",
+                "17500.",
+                "15000.",
+                "12500.",
+                "10000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev39":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "17000.",
+                "15000.",
+                "13000.",
+                "11500.",
+                "10000.",
+                "9000.",
+                "8000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1500.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "150.",
+                "100.",
+                "70.",
+                "50.",
+                "40.",
+                "30.",
+                "20.",
+                "15.",
+                "10.",
+                "7.",
+                "5.",
+                "3."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "10000.",
+                "1000.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "20000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"yes",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":[
+                "100000.",
+                "80000.",
+                "80000.",
+                "68000.",
+                "68000.",
+                "56000.",
+                "56000.",
+                "44000.",
+                "44000.",
+                "31000.",
+                "31000.",
+                "18000.",
+                "18000.",
+                " 0."
+            ],
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7c":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev8":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "10000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "rho":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"density++++?",
+            "must_have_bounds":"yes",
+            "out_name":"rho",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "scatratio":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"lidar backscattering ratio",
+            "must_have_bounds":"yes",
+            "out_name":"scatratio",
+            "positive":"",
+            "requested":[
+                "0.005",
+                "0.605",
+                "2.1",
+                "4.",
+                "6.",
+                "8.5",
+                "12.5",
+                "17.5",
+                "22.5",
+                "27.5",
+                "35.",
+                "45.",
+                "55.",
+                "70.",
+                "50040."
+            ],
+            "requested_bounds":[
+                "0.",
+                "0.01",
+                "0.01",
+                "1.2",
+                "1.2",
+                "3.",
+                "3.",
+                "5.",
+                "5.",
+                "7.",
+                "7.",
+                "10.",
+                "10.",
+                "15.",
+                "15.",
+                "20.",
+                "20.",
+                "25.",
+                "25.",
+                "30.",
+                "30.",
+                "40.",
+                "40.",
+                "50.",
+                "50.",
+                "60.",
+                "60.",
+                "80.",
+                "80.",
+                "100000."
+            ],
+            "standard_name":"backscattering_ratio",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"200.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth1":{
+            "axis":"Z",
+            "bounds_values":"0.0 0.1",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"0.2",
+            "valid_min":"0.0",
+            "value":"0.05",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "site":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"site index",
+            "must_have_bounds":"no",
+            "out_name":"site",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "smooth_level":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a*ztop and b1*zsurf1 and b2*zsurf2",
+            "long_name":"atmosphere smooth level vertical (SLEVE) coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sleve_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"800000.0",
+            "valid_min":"-200.0",
+            "value":"",
+            "z_bounds_factors":"a: a_bnds b1: b1_bnds b2: b2_bnds ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2",
+            "z_factors":"a: a b1: b1 b2: b2 ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2"
+        },
+        "snowband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Snow depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"snowband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"surface_snow_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "spectband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "standard_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = a*p0 and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 a: a_bnds b: b_bnds ps: ps",
+            "z_factors":"p0: p0 a: a b: b ps: ps"
+        },
+        "standard_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ptop and sigma*(ps - ptop)",
+            "long_name":"sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ptop: ptop sigma: lev_bnds ps: ps",
+            "z_factors":"ptop: ptop sigma: lev ps: ps"
+        },
+        "sza5":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"solar zenith angle",
+            "must_have_bounds":"no",
+            "out_name":"sza",
+            "positive":"",
+            "requested":[
+                "0.",
+                "20.",
+                "40.",
+                "60.",
+                "80."
+            ],
+            "requested_bounds":"",
+            "standard_name":"solar_zenith_angle",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"degree",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "tau":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"cloud optical thickness",
+            "must_have_bounds":"yes",
+            "out_name":"tau",
+            "positive":"",
+            "requested":[
+                "0.15",
+                "0.8",
+                "2.45",
+                "6.5",
+                "16.2",
+                "41.5",
+                "100."
+            ],
+            "requested_bounds":[
+                "0.0",
+                "0.3",
+                "0.3",
+                "1.3",
+                "1.3",
+                "3.6",
+                "3.6",
+                "9.4",
+                "9.4",
+                "23.0",
+                "23.0",
+                "60.0",
+                "60.0",
+                "100000."
+            ],
+            "standard_name":"atmosphere_optical_thickness_due_to_cloud",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time1":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"no",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time2":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"climatological times",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time3":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Diurnal cycle: monthly mean of the diurnal cycle (1 hour steps)",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typebare":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"bare_ground",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec3pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c3_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec4pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c4_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_deciduous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_decidous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "vegtype":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"plant functional type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xgre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xgre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "yant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"yant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "ygre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"ygre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        }
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "agessc":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Time elapsed since water was last in surface layer of the ocean.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Age Since Surface Contact",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"agessc",
+            "positive":"",
+            "standard_name":"sea_water_age_since_surface_contact",
+            "type":"real",
+            "units":"yr",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "arag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate aragonite components (e.g. Phytoplankton, Detrital, etc.)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Aragonite Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"arag",
+            "positive":"",
+            "standard_name":"mole_concentration_of_aragonite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "bacc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of bacterial carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Bacterial Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bacc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_bacteria_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate organic iron component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Biogenic Iron Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bfe",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bigthetao":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sea water conservative temperature (this should be contributed only for models using conservative temperature as prognostic field)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Convervative Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bigthetao",
+            "positive":"",
+            "standard_name":"sea_water_conservative_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bigthetaoga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"Diagnostic should be contributed only for models using conservative temperature as prognostic field.",
+            "dimensions":"time",
+            "long_name":"Global Average Sea Water Conservative Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bigthetaoga",
+            "positive":"",
+            "standard_name":"sea_water_conservative_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "bsi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate silica component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Biogenic Silica Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"bsi",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_matter_expressed_as_silicon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "calc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of particulate calcite component concentrations (e.g. Phytoplankton, Detrital, etc.)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Calcite Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"calc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_calcite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc11":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Moles Per Unit Mass of CFC-11 in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc11",
+            "positive":"",
+            "standard_name":"moles_of_cfc11_per_unit_mass_in_sea_water",
+            "type":"real",
+            "units":"mol kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc12":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Moles Per Unit Mass of CFC-12 in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc12",
+            "positive":"",
+            "standard_name":"moles_of_cfc12_per_unit_mass_in_sea_water",
+            "type":"real",
+            "units":"mol kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chl":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of chlorophyll from all phytoplankton group concentrations.  In most models this is equal to chldiat+chlmisc, that is the sum of Diatom Chlorophyll Mass Concentration and Other Phytoplankton Chlorophyll Mass Concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Total Chlorophyll Mass Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chl",
+            "positive":"",
+            "standard_name":"mass_concentration_of_phytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chlcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"chlorophyll concentration from the calcite-producing phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mass Concentration of Calcareous Phytoplankton expressed as Chlorophyll in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chlcalc",
+            "positive":"",
+            "standard_name":"mass_concentration_of_calcareous_phytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chldiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Chlorophyll from diatom phytoplankton component concentration alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Diatom Chlorophyll Mass Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chldiat",
+            "positive":"",
+            "standard_name":"mass_concentration_of_diatoms_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chldiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Chlorophyll concentration from the diazotrophic phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mass Concentration of Diazotrophs expressed as Chlorophyll in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chldiaz",
+            "positive":"",
+            "standard_name":"mass_concentration_of_diazotrophs_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chlmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Chlorophyll from additional phytoplankton component concentrations alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Other Phytoplankton Chlorophyll Mass Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chlmisc",
+            "positive":"",
+            "standard_name":"mass_concentration_of_miscellaneous_phytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "chlpico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"chlorophyll concentration from the picophytoplankton (<2 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mass Concentration of Picophytoplankton expressed as Chlorophyll in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"chlpico",
+            "positive":"",
+            "standard_name":"mass_concentration_of_picophytoplankton_expressed_as_chlorophyll_in_sea_water",
+            "type":"real",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co3":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Carbonate ion in Seawater",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co3",
+            "positive":"",
+            "standard_name":"mole_concentration_of_carbonate_ion_in_seawater",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co3satarag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Carbonate ion for Seawater in equilibrium with pure Aragonite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co3satarag",
+            "positive":"",
+            "standard_name":"mole_concentration_of_carbonate_ion_for_seawater_in equilibrium_with_pure_aragonite",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co3satcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Carbonate ion for Seawater in equilibrium with pure Calcite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co3satcalc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_carbonate_ion_for_seawater_in equilibrium_with_pure_calcite",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "detoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of detrital organic carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Detrital Organic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"detoc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_organic_detritus_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Dissolved iron in sea water,  including both Fe2+ and Fe3+ ions (but not particulate detrital iron)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Iron Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dfe",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissi14cabio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Abiotic Dissolved inorganic 14carbon (CO3+HCO3+H2CO3) concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Abiotic Dissolved Inorganic 14Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissi14cabio",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_14carbon_in_sea_water_abiotic_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Dissolved inorganic carbon (CO3+HCO3+H2CO3) concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Inorganic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissic",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissicabio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Abiotic Dissolved inorganic carbon (CO3+HCO3+H2CO3) concentration",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Abiotic Dissolved Inorganic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissicabio",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_carbon_in_sea_water_abiotic_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissicnat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Dissolved inorganic carbon (CO3+HCO3+H2CO3) concentration at preindustrial atmospheric xCO2",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Natural Dissolved Inorganic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissicnat",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_inorganic_carbon_in_sea_water_natural_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dissoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Sum of dissolved carbon component concentrations explicitly represented (i.e. not ~40 uM refractory unless explicit)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Organic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dissoc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_organic_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dmso":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Mole concentration of dimethyl sulphide in water",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dimethyl Sulphide Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dmso",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dimethyl_sulfide_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dpco2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Delta PCO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dpco2",
+            "positive":"",
+            "standard_name":"surface_carbon_dioxide_partial_pressure_difference_between_sea_water_and_air",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "dpo2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Delta PO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"dpo2",
+            "positive":"",
+            "standard_name":"surface_molecular_oxygen_partial_pressure_difference_between_sea_water_and_air",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "evs":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the total mass of water vapor evaporating from the ice-free portion of the ocean  divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Evaporation Flux Where Ice Free Ocean over Sea",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"evs",
+            "positive":"",
+            "standard_name":"water_evaporation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "exparag100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of Aragonite at 100m",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Aragonite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"exparag100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_aragonite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of particulate organic carbon",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sinking Particulate Organic Carbon Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expc",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_organic_matter_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expc100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of particulate organic carbon at 100m",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particle Organic Carbon",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expc100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_organic_matter_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expcalc100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Downward flux of Calcite at 100m",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Calcite",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expcalc100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_calcite_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expfe100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Iron",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expfe100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expn100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Nitrogen",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expn100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_nitrogen_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expp100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Phosphorus",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expp100",
+            "positive":"down",
+            "standard_name":"sinking_mole_flux_of_particulate_phosphorus_in_sea_water",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "expsi100":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time depth100m",
+            "long_name":"Downward Flux of Particulate Silica",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"expsi100",
+            "positive":"down",
+            "standard_name":"3cbe53c2-12cc-11e6-b2bc-ac72891c3257",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtalk":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of alkalinity",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Biological Alkalinity due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtalk",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_tendency_of_sea_water_alkalinity_expressed_as_mole_equivalent_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of dissolved inorganic carbon",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Carbon due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdic",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_carbon_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdife":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of dissolved inorganic iron",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Iron due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdife",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_iron_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdin":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of nitrogen nutrients (e.g. NO3+NH4)",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Nitrogen due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdin",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_nitrogen_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdip":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of phosphate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Phosphate due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdip",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_phosphorus_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fbddtdisi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net biological terms in time rate of change of dissolved inorganic silicate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Dissolved Inorganic Silicate due to Biological Activity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fbddtdisi",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_silicon_due_to_biological_processes",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtalk":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net time rate of change of alkalinity",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Alkalinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtalk",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_tendency_of_sea_water_alkalinity_expressed_as_mole_equivalent",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Carbon",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdic",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_carbon",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdife":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net time rate of change of dissolved inorganic iron",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Iron",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdife",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_iron",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdin":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Net time rate of change of nitrogen nutrients (e.g. NO3+NH4)",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Nitrogen",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdin",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_nitrogen",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdip":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net  time rate of change of phosphate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Phosphate",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdip",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_phosphorus",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fddtdisi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"vertical integral of net time rate of change of dissolved inorganic silicate",
+            "dimensions":"longitude latitude time olayer100m",
+            "long_name":"Rate of Change of Net Dissolved Inorganic Silicate",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fddtdisi",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_dissolved_inorganic_silicon",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fg14co2abio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of abiotic 14CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward abiotic 14CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fg14co2abio",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_abiotic_14_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgcfc11":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"gas exchange flux of CFC11",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward CFC11 flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgcfc11",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_cfc11",
+            "type":"real",
+            "units":"mol sec-1 m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgcfc12":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"gas exchange flux of CFC12",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward CFC12 flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgcfc12",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_cfc12",
+            "type":"real",
+            "units":"mol sec-1 m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgco2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgco2",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgco2abio":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of abiotic CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward abiotic CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgco2abio",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_abiotic_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgco2nat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of natural CO2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward natural CO2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgco2nat",
+            "positive":"down",
+            "standard_name":"surface_downward_mass_flux_of_natural_carbon_dioxide_expressed_as_carbon",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgdms":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of DMS (positive into atmosphere)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upward DMS Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgdms",
+            "positive":"up",
+            "standard_name":"surface_upward_mole_flux_of_dimethyl_sulfide",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgo2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Gas exchange flux of O2 (positive into ocean)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward O2 Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgo2",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_molecular_oxygen",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fgsf6":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"gas exchange flux of SF6",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward SF6 flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fgsf6",
+            "positive":"down",
+            "standard_name":"surface_downward_mole_flux_of_sf6",
+            "type":"real",
+            "units":"mol sec-1 m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ficeberg":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the iceberg melt water  flux into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Water Flux into Sea Water From Icebergs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ficeberg",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_from_icebergs",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ficeberg2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the iceberg melt water  flux into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water From Icebergs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ficeberg2d",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_from_icebergs",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "frfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron Loss to Sediments",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"frfe",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_iron_due_to_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fric":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Inorganic Carbon loss to sediments",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Inorganic Carbon Flux at Ocean Bottom",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fric",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_inorganic_carbon_due_to_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "friver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the river flux of water into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water From Rivers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"friver",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_from_rivers",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "frn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Loss to Sediments and through Denitrification",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"frn",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_elemental_nitrogen_due_to_denitrification_and_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "froc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Organic Carbon loss to sediments",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Organic Carbon Flux at Ocean Bottom",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"froc",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_organic_carbon_due_to_sedimentation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fsfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Iron supply through deposition flux onto sea surface, runoff, coasts, sediments, etc",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Net Flux of Iron",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fsfe",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_iron_due_to_deposition_and_runoff_and_sediment_dissolution",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fsitherm":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the sea ice thermodynamic water flux into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fsitherm",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fsn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Net Flux of Nitrogen",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fsn",
+            "positive":"down",
+            "standard_name":"tendency_of_ocean_mole_content_of_elemental_nitrogen_due_to_deposition_and_fixation_and_runoff",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "graz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Total Grazing of Phytoplankton by Zooplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"graz",
+            "positive":"",
+            "standard_name":"tendency_of_mole_concentration_of_organic_matter_expressed_as_carbon_in_sea_water_due_to_grazing_of_phytoplankton",
+            "type":"real",
+            "units":"mol m-3 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasin":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contains contributions from all physical processes affecting the northward heat transport, including resolved advection, parameterized advection, lateral diffusion, etc. Diagnosed here as a function of latitude and basin.   Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Heat Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasin",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpadv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized eddy-induced advective transport due to any subgrid advective process. Diagnosed here as a function of latitude and basin.  Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized eddy advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpadv",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_eddy_advection",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpmadv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized mesoscale eddy-induced advective transport. Diagnosed here as a function of latitude and basin.  Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpmadv",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpmdiff":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized mesoscale eddy-induced diffusive transport (i.e., neutral diffusion). Diagnosed here as a function of latitude and basin.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized mesoscale diffusion",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpmdiff",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_mesoscale_diffusion",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfbasinpsmadv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contributions to heat transport from parameterized mesoscale eddy-induced advective transport. Diagnosed here as a function of latitude and basin.  Use Celsius for temperature scale.",
+            "dimensions":"latitude basin time",
+            "long_name":"northward ocean heat transport due to parameterized submesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfbasinpsmadv",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_parameterized_submesoscale_advection",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfcorr",
+            "positive":"down",
+            "standard_name":"heat_flux_correction",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is the net flux of heat entering the liquid water column through its upper surface (excluding any 'flux adjustment') .",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Heat Flux at Sea Water Surface",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfds",
+            "positive":"down",
+            "standard_name":"surface_downward_heat_flux_in_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfevapds":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature Flux due to Evaporation Expressed as Heat Flux Out of Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfevapds",
+            "positive":"up",
+            "standard_name":"temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfgeou":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Upward Geothermal Heat Flux at Sea Floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfgeou",
+            "positive":"up",
+            "standard_name":"upward_geothermal_heat_flux_at_sea_floor",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfibthermds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Iceberg Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfibthermds",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_iceberg_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfibthermds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Iceberg Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfibthermds2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_iceberg_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfls":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Latent Heat Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfls",
+            "positive":"down",
+            "standard_name":"surface_upward_latent_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfrainds":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'; i.e., the total flux (considered here) entering the ice-free portion of the grid cell divided by the area of the ocean portion of the grid cell.  All such heat fluxes are computed based on Celsius scale.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature Flux due to Rainfall Expressed as Heat Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfrainds",
+            "positive":"down",
+            "standard_name":"temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfrunoffds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Temperature Flux due to Runoff Expressed as Heat Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfrunoffds",
+            "positive":"",
+            "standard_name":"temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfrunoffds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Temperature Flux due to Runoff Expressed as Heat Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfrunoffds2d",
+            "positive":"",
+            "standard_name":"temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsifrazil":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Frazil Ice Formation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsifrazil",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_freezing_of_frazil_ice",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsifrazil2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Frazil Ice Formation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsifrazil2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_freezing_of_frazil_ice",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsithermds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsithermds",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsithermds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsithermds2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsnthermds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Heat Flux into Sea Water due to Snow Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsnthermds",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_snow_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfsnthermds2d":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Heat Flux into Sea Water due to Snow Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfsnthermds2d",
+            "positive":"",
+            "standard_name":"heat_flux_into_sea_water_due_to_snow_thermodynamics",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfss":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Sensible Heat Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfss",
+            "positive":"down",
+            "standard_name":"surface_downward_sensible_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfx":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contains all contributions to 'x-ward' heat transport from resolved and parameterized processes.  Use Celsius for temperature scale.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Heat X Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfx",
+            "positive":"",
+            "standard_name":"ocean_heat_x_transport",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfy":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Contains all contributions to 'y-ward' heat transport from resolved and parameterized processes. Use Celsius for temperature scale.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Heat Y Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfy",
+            "positive":"",
+            "standard_name":"ocean_heat_y_transport",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "htovgyre":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Heat Transport due to Gyre",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"htovgyre",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_gyre",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "htovovrt":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Heat Transport due to Overturning",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"htovovrt",
+            "positive":"",
+            "standard_name":"northward_ocean_heat_transport_due_to_overturning",
+            "type":"real",
+            "units":"W",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "icfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Inorganic Carbon supply to ocean through runoff (separate from gas exchange)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Flux of Inorganic Carbon Into Ocean Surface by Runoff",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"icfriver",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_inorganic_carbon_due_to_runoff_and_sediment_dissolution",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intdissic":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated DIC",
+            "dimensions":"longitude latitude time",
+            "long_name":"Dissolved Inorganic Carbon Content",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intdissic",
+            "positive":"",
+            "standard_name":"ocean_mass_content_of_dissolved_inorganic_carbon",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intdissoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated DOC (explicit pools only)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Dissolved Organic Carbon Content",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intdissoc",
+            "positive":"",
+            "standard_name":"ocean_mass_content_of_dissolved_organic_carbon",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intparag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated aragonite production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Aragonite Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intparag",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_aragonite_expressed_as_carbon_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic iron production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbfe",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_iron_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic nitrogen production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbn",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_nitrogen_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic phosphorus production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Phosphorus Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbp",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_phosphorus_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpbsi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated biogenic silica production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Silica Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpbsi",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_silicon_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpcalcite":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated calcite production",
+            "dimensions":"longitude latitude time",
+            "long_name":"Calcite Production",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpcalcite",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_calcite_expressed_as_carbon_due_to_biological_production",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpn2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated nitrogen fixation",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Fixation Rate in Ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpn2",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_elemental_nitrogen_due_to_fixation",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpnitrate":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated primary (organic carbon) production by phytoplankton based on nitrate uptake alone",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by Phytoplankton Based on Nitrate Uptake Alone",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpnitrate",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_due_to_nitrate_utilization",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpoc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated POC",
+            "dimensions":"longitude latitude time",
+            "long_name":"Particulate Organic Carbon Content",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpoc",
+            "positive":"",
+            "standard_name":"ocean_mass_content_of_particulate_organic_carbon",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated total primary (organic carbon) production by phytoplankton.  This should equal the sum of intpdiat+intpphymisc, but those individual components may be unavailable in some models.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by All Types of Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpp",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_phytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Primary Mole Productivity of Carbon by Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppcalc",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_calcareous_phytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppdiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated primary (organic carbon) production by the diatom phytoplankton component alone",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppdiat",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_diatoms",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppdiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Primary Mole Productivity of Carbon by Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppdiaz",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_diazotrophs",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intppmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Vertically integrated total primary (organic carbon) production by other phytoplankton components alone",
+            "dimensions":"longitude latitude time",
+            "long_name":"Primary Organic Carbon Production by Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intppmisc",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "intpppico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Primary Mole Productivity of Carbon by Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"intpppico",
+            "positive":"",
+            "standard_name":"net_primary_mole_productivity_of_carbon_by_picophytoplankton",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "limfecalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfecalc",
+            "positive":"",
+            "standard_name":"iron_limitation_of_calcareous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfediat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfediat",
+            "positive":"",
+            "standard_name":"iron_limitation_of_diatoms",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfediaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfediaz",
+            "positive":"",
+            "standard_name":"iron_limitation_of_diazotrophs",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfemisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron Limitation of Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfemisc",
+            "positive":"",
+            "standard_name":"iron_limitation_of_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limfepico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Iron limitation of Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limfepico",
+            "positive":"",
+            "standard_name":"iron_limitation_of_picophytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrcalc",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_calcareous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrdiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrdiat",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_diatoms",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrdiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrdiaz",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_diazotrophs",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance Limitation of Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrmisc",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limirrpico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Irradiance limitation of Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limirrpico",
+            "positive":"",
+            "standard_name":"irradiance_limitation_of_picophytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limncalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Calcareous Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limncalc",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_calcareous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limndiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Diatoms",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limndiat",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_diatoms",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limndiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Diazotrophs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limndiaz",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_diazotrophs",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limnmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen Limitation of Other Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limnmisc",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_miscellaneous_phytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "limnpico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Nitrogen limitation of Picophytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"limnpico",
+            "positive":"",
+            "standard_name":"nitrogen_limitation_of_picophytoplankton",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "masscello":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Tracer grid-cell mass per unit area used for computing tracer budgets. For Boussinesq models with static ocean grid cell thickness, masscello = rhozero*thickcello, where thickcello is static cell thickness and rhozero is constant Boussinesq reference density. More generally, masscello is time dependent and reported as part of Omon.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Mass Per Unit Area",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"masscello",
+            "positive":"",
+            "standard_name":"sea_water_mass_per_unit_area",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "masso":{
+            "cell_measures":"time: mean area: sum where sea",
+            "cell_methods":"",
+            "comment":"Total mass of liquid seawater. For Boussinesq models, report this diagnostic as Boussinesq reference density times total volume.",
+            "dimensions":"time",
+            "long_name":"Sea Water Mass",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"masso",
+            "positive":"",
+            "standard_name":"sea_water_mass",
+            "type":"real",
+            "units":"kg",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mfo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"oline time",
+            "long_name":"Sea Water Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mfo",
+            "positive":"",
+            "standard_name":"sea_water_transport_across_line",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mlotst":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Sigma T is potential density referenced to ocean surface.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ocean Mixed Layer Thickness Defined by Sigma T",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mlotst",
+            "positive":"",
+            "standard_name":"ocean_mixed_layer_thickness_defined_by_sigma_t",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "mlotstsq":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Square of Ocean Mixed Layer Thickness Defined by Sigma T",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mlotstsq",
+            "positive":"",
+            "standard_name":"square_of_ocean_mixed_layer_thickness_defined_by_sigma_t",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftbarot":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Streamfunction or its approximation for free surface models. See OMDP document for details.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ocean Barotropic Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftbarot",
+            "positive":"",
+            "standard_name":"ocean_barotropic_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmrho":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"Ocean Meridional Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmrho",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmrhompa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"ocean meridional overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmrhompa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmyz":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"Ocean Meridional Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmyz",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmzmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean meridional overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmzmpa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftmzsmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Report only if there is a submesoscale eddy parameterization.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean meridional overturning mass streamfunction due to parameterized submesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftmzsmpa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_submesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyrho":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"Ocean Y Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyrho",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyrhompa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude rho basin time",
+            "long_name":"ocean Y overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyrhompa",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyyz":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Overturning mass streamfunction arising from all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"Ocean Y Overturning Mass Streamfunction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyyz",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyzmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"CMIP5 called this 'due to Bolus Advection'.  Name change respects the more general physics of the mesoscale parameterizations.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean Y overturning mass streamfunction due to parameterized mesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyzmpa",
+            "positive":"",
+            "standard_name":"ocean_y_overturning_mass_streamfunction_due_to_parameterized_mesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "msftyzsmpa":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"Report only if there is a submesoscale eddy parameterization.",
+            "dimensions":"latitude olevel basin time",
+            "long_name":"ocean Y overturning mass streamfunction due to parameterized submesoscale advection",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"msftyzsmpa",
+            "positive":"",
+            "standard_name":"ocean_meridional_overturning_mass_streamfunction_due_to_parameterized_submesoscale_advection",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nh4":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Ammonium Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"nh4",
+            "positive":"",
+            "standard_name":"mole_concentration_of_ammonium_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "no3":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Nitrate Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"no3",
+            "positive":"",
+            "standard_name":"mole_concentration_of_nitrate_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "o2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Oxygen Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"o2",
+            "positive":"",
+            "standard_name":"mole_concentration_of_molecular_oxygen_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "o2min":{
+            "cell_measures":"time: mean area: mean where sea depth: minimum",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Oxygen Minimum Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"o2min",
+            "positive":"",
+            "standard_name":"mole_concentration_of_dissolved_molecular_oxygen_in_sea_water_at_shallowest_local_minimum_in_vertical_profile",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ocfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Organic Carbon supply to ocean through runoff (separate from gas exchange)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Flux of Organic Carbon Into Ocean Surface by Runoff",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ocfriver",
+            "positive":"",
+            "standard_name":"tendency_of_ocean_mole_content_of_organic_carbon_due_to_runoff_and_sediment_dissolution",
+            "type":"real",
+            "units":"mol m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "orog":{
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "type":"real",
+            "units":"m"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "pbo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Water Pressure at Sea floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pbo",
+            "positive":"",
+            "standard_name":"sea_water_pressure_at_sea_floor",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ph":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"negative log of hydrogen ion concentration with the concentration expressed as mol H kg-1.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"pH",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ph",
+            "positive":"",
+            "standard_name":"sea_water_ph_reported_on_total_scale",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton carbon component concentrations.  In most (all?) cases this is the sum of phycdiat and phycmisc (i.e., 'Diatom Carbon Concentration' and 'Non-Diatom Phytoplankton Carbon Concentration'",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phycalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from calcareous (calcite-producing) phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Calcareous Phytoplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phycalc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_calcareous_phytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phydiat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon from the diatom phytoplankton component concentration alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Diatoms expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phydiat",
+            "positive":"",
+            "standard_name":"mole_concentration_of_diatoms_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phydiaz":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from the diazotrophic phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Diazotrophs Expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phydiaz",
+            "positive":"",
+            "standard_name":"mole_concentration_of_diazotrophs_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyfe":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton iron component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Iron Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyfe",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_iron_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phymisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from additional phytoplankton component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Miscellaneous Phytoplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phymisc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_miscellaneous_phytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyn":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton nitrogen component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Nitrogen Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyn",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_nitrogen_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phyp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton phosphorus components",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Phosphorus Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phyp",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_phosphorus_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phypico":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon concentration from the picophytoplankton (<2 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Picophytoplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phypico",
+            "positive":"",
+            "standard_name":"mole_concentration_of_picophytoplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "physi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of phytoplankton silica component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Phytoplankton Silica Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"physi",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phytoplankton_expressed_as_silicon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "po4":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Phosphate Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"po4",
+            "positive":"",
+            "standard_name":"mole_concentration_of_phosphate_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "poc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of particulate organic carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Organic Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"poc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pon":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of particulate organic nitrogen component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Organic Nitrogen Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pon",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_nitrogen_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pop":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of particulate organic phosphorus component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Particulate Organic Phosphorus Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pop",
+            "positive":"",
+            "standard_name":"mole_concentration_of_particulate_organic_matter_expressed_as_phosphorus_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pp":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"total primary (organic carbon) production by phytoplankton",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Primary Carbon Production by Phytoplankton",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pp",
+            "positive":"",
+            "standard_name":"tendency_of_mole_concentration_of_particulate_organic_matter_expressed_as_carbon_in_sea_water_due_to_net_primary_production",
+            "type":"real",
+            "units":"mol m-3 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pr":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"includes both liquid and solid phases",
+            "dimensions":"longitude latitude time",
+            "long_name":"Rainfall Flux where Ice Free Ocean over Sea",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pr",
+            "positive":"",
+            "standard_name":"precipitation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "prsn":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"at surface; includes precipitation of all forms of water in the solid phase",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snowfall Flux where Ice Free Ocean over Sea",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"prsn",
+            "positive":"",
+            "standard_name":"snowfall_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ps":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "type":"real",
+            "units":"Pa"
+        },
+        "pso":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Water Pressure at Sea Water Surface",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pso",
+            "positive":"",
+            "standard_name":"sea_water_pressure_at_sea_water_surface",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "rlds":{
+            "cell_measures":"time: mean area: mean where ice_free_sea over sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is defined as 'where ice_free_sea over sea'",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Net Downward Longwave Radiation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rlds",
+            "positive":"down",
+            "standard_name":"surface_net_downward_longwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "rsdo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Downwelling Shortwave Radiation in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rsdo",
+            "positive":"down",
+            "standard_name":"downwelling_shortwave_flux_in_sea_water",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "rsntds":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This is the flux into the surface of liquid sea water only. This excludes shortwave flux absorbed by sea ice, but includes any light that passes through the ice and is absorbed by the ocean.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Downward Shortwave Radiation at Sea Water Surface",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rsntds",
+            "positive":"down",
+            "standard_name":"net_downward_shortwave_flux_at_sea_water_surface",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sf6":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Moles Per Unit Mass of SF6 in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sf6",
+            "positive":"",
+            "standard_name":"moles_of_sf6_per_unit_mass_in_sea_water",
+            "type":"real",
+            "units":"mol kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sfdsi":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This field is physical, and it arises since sea ice has a nonzero salt content, so it exchanges salt with the liquid ocean upon melting and freezing.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Downward Sea Ice Basal Salt Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sfdsi",
+            "positive":"",
+            "standard_name":"downward_sea_ice_basal_salt_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This field is physical, and it arises when rivers carry a nonzero salt content.  Often this is zero, with rivers assumed to be fresh.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Salt Flux into Sea Water from Rivers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sfriver",
+            "positive":"",
+            "standard_name":"salt_flux_into_sea_water_from_rivers",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "si":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Dissolved Silicate Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"si",
+            "positive":"",
+            "standard_name":"mole_concentration_of_silicate_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "sltovgyre":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Salt Transport due to Gyre",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sltovgyre",
+            "positive":"",
+            "standard_name":"northward_ocean_salt_transport_due_to_gyre",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sltovovrt":{
+            "cell_measures":"time: mean longitude: mean",
+            "cell_methods":"",
+            "comment":"From all advective mass transport processes, resolved and parameterized.",
+            "dimensions":"latitude basin time",
+            "long_name":"Northward Ocean Salt Transport due to Overturning",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sltovovrt",
+            "positive":"",
+            "standard_name":"northward_ocean_salt_transport_due_to_overturning",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "so":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"so",
+            "positive":"",
+            "standard_name":"sea_water_salinity",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sob":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Model prognostic salinity at bottom-most model grid cell",
+            "dimensions":"longitude latitude time",
+            "long_name":"sea water salinity at sea floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sob",
+            "positive":"",
+            "standard_name":"sea_water_salinity_at_sea_floor",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "soga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Sea Water Salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"soga",
+            "positive":"",
+            "standard_name":"sea_water_salinity",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "somint":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Full column sum of density*cell thickness*prognostic salinity. If the model is Boussinesq, then use Boussinesq reference density for the density factor.",
+            "dimensions":"longitude latitude time",
+            "long_name":"integral wrt depth of product of sea water density and prognostic salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"somint",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_product_of_sea_water_density_and_prognostic_salinity",
+            "type":"real",
+            "units":"1e-3 kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Salinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sos",
+            "positive":"",
+            "standard_name":"sea_surface_salinity",
+            "type":"real",
+            "units":"0.001",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "spco2":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Aqueous Partial Pressure of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"spco2",
+            "positive":"",
+            "standard_name":"surface_partial_pressure_of_carbon_dioxide_in_sea_water",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "talk":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"total alkalinity equivalent concentration (including carbonate, nitrogen, silicate, and borate components)",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Total Alkalinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"talk",
+            "positive":"",
+            "standard_name":"sea_water_alkalinity_expressed_as_mole_equivalent",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "talknat":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"total alkalinity equivalent concentration (including carbonate, borate, phosphorus, silicon, and nitrogen components) at preindustrial atmospheric xCO2",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Natural Total Alkalinity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"talknat",
+            "positive":"",
+            "standard_name":"seawater_alkalinity_expressed_as_mole_equivalent_natural_component",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauucorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward X Stress Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauucorr",
+            "positive":"down",
+            "standard_name":"surface_downward_x_stress_correction",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauuo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward X Stress",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauuo",
+            "positive":"down",
+            "standard_name":"surface_downward_x_stress",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauvcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Y Stress Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauvcorr",
+            "positive":"down",
+            "standard_name":"surface_downward_y_stress_correction",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tauvo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"This is the stress on the liquid ocean from overlying atmosphere, sea ice, ice shelf, etc.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Y Stress",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tauvo",
+            "positive":"down",
+            "standard_name":"surface_downward_y_stress",
+            "type":"real",
+            "units":"N m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "thetao":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Diagnostic should be contributed even for models using conservative temperature as prognostic field.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Potential Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thetao",
+            "positive":"",
+            "standard_name":"sea_water_potential_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "thetaoga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"Diagnostic should be contributed even for models using conservative temperature as prognostic field",
+            "dimensions":"time",
+            "long_name":"Global Average Sea Water Potential Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thetaoga",
+            "positive":"",
+            "standard_name":"sea_water_potential_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "thkcello":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Model Cell Thickness",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thkcello",
+            "positive":"",
+            "standard_name":"cell_thickness",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tob":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Potential temperature at the ocean bottom-most grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Water Potential Temperature at Sea Floor",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tob",
+            "positive":"",
+            "standard_name":"sea_water_potential_temperature_at_sea_floor",
+            "type":"real",
+            "units":"C",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tomint":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Full column sum of density*cell thickness*prognostic temperature. If the model is Boussinesq, then use Boussinesq reference density for the density factor.",
+            "dimensions":"longitude latitude time",
+            "long_name":"integral wrt depth of product of sea water density and prognostic temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tomint",
+            "positive":"",
+            "standard_name":"integral_wrt_depth_of_product_of_sea_water_density_and_prognostic_temperature",
+            "type":"real",
+            "units":"1e-3 kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"this may differ from 'surface temperature' in regions of sea ice.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tos",
+            "positive":"",
+            "standard_name":"sea_surface_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tosga":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"This may differ from 'surface temperature' in regions of sea ice.This may differ from 'surface temperature' in regions of sea ice.For models using conservative temperature as prognostic field, they should report the SST as surface potent",
+            "dimensions":"time",
+            "long_name":"Global Average Sea Surface Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tosga",
+            "positive":"",
+            "standard_name":"sea_surface_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "tossq":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"square of temperature of liquid ocean, averaged over the day.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Square of Sea Surface Temperature",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tossq",
+            "positive":"",
+            "standard_name":"square_of_sea_surface_temperature",
+            "type":"real",
+            "units":"degC",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "umo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"X-ward mass transport from resolved and parameterized advective transport.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Mass X Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"umo",
+            "positive":"",
+            "standard_name":"ocean_mass_x_transport",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "uo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Prognostic x-ward velocity component resolved by the model.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water X Velocity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"uo",
+            "positive":"",
+            "standard_name":"sea_water_x_velocity",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vmo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Y-ward mass transport from resolved and parameterized advective transport.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Ocean Mass Y Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vmo",
+            "positive":"",
+            "standard_name":"ocean_mass_y_transport",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Prognostic x-ward velocity component resolved by the model.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Sea Water Y Velocity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vo",
+            "positive":"",
+            "standard_name":"sea_water_y_velocity",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "volo":{
+            "cell_measures":"time: mean area: sum where sea",
+            "cell_methods":"",
+            "comment":"Total volume of liquid seawater.",
+            "dimensions":"time",
+            "long_name":"Sea Water Volume",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"volo",
+            "positive":"",
+            "standard_name":"sea_water_volume",
+            "type":"real",
+            "units":"m3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsf":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"It is set to zero in models which receive a real water flux.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsf",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"It is set to zero in models which receive a real water flux.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfcorr",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_correction",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfevap":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"zero for models using real water fluxes.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water due to Evaporation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfevap",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_due_to_evaporation",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfpr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"zero for models using real water fluxes.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water due to Rainfall",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfpr",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_due_to_rainfall",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfriver":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"zero for models using real water fluxes.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water From Rivers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfriver",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_from_rivers",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "vsfsit":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"This variable measures the virtual salt flux into sea water due to the melting of sea ice. It is set to zero in models which receive a real water flux.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Virtual Salt Flux into Sea Water due to Sea Ice Thermodynamics",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"vsfsit",
+            "positive":"",
+            "standard_name":"virtual_salt_flux_into_sea_water_due_to_sea_ice_thermodynamics",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wfcorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Positive flux implies correction adds water to ocean.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wfcorr",
+            "positive":"down",
+            "standard_name":"water_flux_correction",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wfo":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the water  flux into the ocean divided by the area of the ocean portion of the grid cell.  This is the sum of the next two variables in this table.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wfo",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wfonocorr":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"computed as the water  flux (without flux correction) into the ocean divided by the area of the ocean portion of the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Flux into Sea Water Without Flux Correction",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wfonocorr",
+            "positive":"",
+            "standard_name":"water_flux_into_sea_water_without_flux_correction",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "wmo":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"Upward mass transport from resolved and parameterized advective transport.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Upward Ocean Mass Transport",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"wmo",
+            "positive":"",
+            "standard_name":"upward_ocean_mass_transport",
+            "type":"real",
+            "units":"kg s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zfull":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth below geoid",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Depth Below Geoid of Ocean Layer",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zfull",
+            "positive":"",
+            "standard_name":"depth_below_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zhalf":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth below geoid",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Depth Below Geoid of Interfaces Between Ocean Layers",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zhalf",
+            "positive":"",
+            "standard_name":"depth_below_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "zo2min":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth of vertical minimum concentration of dissolved oxygen gas (if two, then the shallower)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Depth of Oxygen Minimum Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zo2min",
+            "positive":"",
+            "standard_name":"depth_at_shallowest_local_minimum_in_vertical_profile_of_mole_concentration_of_dissolved_molecular_oxygen_in_sea_water",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zooc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"sum of zooplankton carbon component concentrations",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Zooplankton Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zooc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_zooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zoocmisc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon from additional zooplankton component concentrations alone (e.g. Micro, meso).  Since the models all have different numbers of components, this variable has been included to provide a check for intercomparison between models since some phytoplankton groups are supersets.",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Other Zooplankton Carbon Concentration",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zoocmisc",
+            "positive":"",
+            "standard_name":"mole_concentration_of_miscellaneous_zooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zoomeso":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon  concentration from mesozooplankton (20-200 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Mesozooplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zoomeso",
+            "positive":"",
+            "standard_name":"mole_concentration_of_mesozooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zoomicro":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"carbon  concentration from the microzooplankton (<20 um) component alone",
+            "dimensions":"longitude latitude olevel time",
+            "long_name":"Mole Concentration of Microzooplankton expressed as Carbon in Sea Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zoomicro",
+            "positive":"",
+            "standard_name":"mole_concentration_of_microzooplankton_expressed_as_carbon_in_sea_water",
+            "type":"real",
+            "units":"mol m-3",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"This is the dynamic sea level, so should have zero global area mean. It should not include inverse barometer depressions from sea ice.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height Above Geoid",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zos",
+            "positive":"",
+            "standard_name":"sea_surface_height_above_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zossq":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello",
+            "comment":"Surface ocean geoid defines z=0.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Square of Sea Surface Height Above Geoid",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zossq",
+            "positive":"",
+            "standard_name":"square_of_sea_surface_height_above_geoid",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zostoga":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"",
+            "comment":"There is no CMIP6 request for zosga nor zossga.",
+            "dimensions":"time",
+            "long_name":"Global Average Thermosteric Sea Level Change",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zostoga",
+            "positive":"",
+            "standard_name":"global_average_thermosteric_sea_level_change",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zsatarag":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth of aragonite saturation horizon (0 if undersaturated at all depths, 'missing' if supersaturated at all depths; if multiple horizons exist, the shallowest should be taken).",
+            "dimensions":"longitude latitude time",
+            "long_name":"Aragonite Saturation Depth",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zsatarag",
+            "positive":"",
+            "standard_name":"minimum_depth_of_aragonite_undersaturation_in_sea_water",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "zsatcalc":{
+            "cell_measures":"time: mean area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"Depth of calcite saturation horizon (0 if undersaturated at all depths, and missing saturated through whole depth; if two or more horizons exist, then the shallowest is reported)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Calcite Saturation Depth",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"zsatcalc",
+            "positive":"",
+            "standard_name":"minimum_depth_of_calcite_undersaturation_in_sea_water",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/demo/obs4MIPs_fx_composite.json b/obs4MIPs-cmor-tables/demo/obs4MIPs_fx_composite.json
new file mode 100644
index 0000000..0a57441
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo/obs4MIPs_fx_composite.json
@@ -0,0 +1,2605 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"0.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"fx",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"ocean",
+        "table_date":"27 September 2016",
+        "table_id":"Table fx"
+    },
+    "axis_entry":{
+        "alt16":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"MISR vertical coordinate heights",
+            "must_have_bounds":"yes",
+            "out_name":"alt16",
+            "positive":"up",
+            "requested":[
+                0.0,
+                250.0,
+                750.0,
+                1250.0,
+                1750.0,
+                2250.0,
+                2750.0,
+                3500.0,
+                4500.0,
+                6000.0,
+                8000.0,
+                10000.0,
+                12000.0,
+                14500.0,
+                16000.0,
+                18000.0
+            ],
+            "requested_bounds":[
+                -99000.0,
+                0.0,
+                0.0,
+                500.0,
+                500.0,
+                1000.0,
+                1000.0,
+                1500.0,
+                1500.0,
+                2000.0,
+                2000.0,
+                2500.0,
+                2500.0,
+                3000.0,
+                3000.0,
+                4000.0,
+                4000.0,
+                5000.0,
+                5000.0,
+                7000.0,
+                7000.0,
+                9000.0,
+                9000.0,
+                11000.0,
+                11000.0,
+                13000.0,
+                13000.0,
+                15000.0,
+                15000.0,
+                17000.0,
+                17000.0,
+                99000.0
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alt40":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"altitude",
+            "must_have_bounds":"yes",
+            "out_name":"alt40",
+            "positive":"up",
+            "requested":[
+                "240.",
+                "720.",
+                "1200.",
+                "1680.",
+                "2160.",
+                "2640.",
+                "3120.",
+                "3600.",
+                "4080.",
+                "4560.",
+                "5040.",
+                "5520.",
+                "6000.",
+                "6480.",
+                "6960.",
+                "7440.",
+                "7920.",
+                "8400.",
+                "8880.",
+                "9360.",
+                "9840.",
+                "10320.",
+                "10800.",
+                "11280.",
+                "11760.",
+                "12240.",
+                "12720.",
+                "13200.",
+                "13680.",
+                "14160.",
+                "14640.",
+                "15120.",
+                "15600.",
+                "16080.",
+                "16560.",
+                "17040.",
+                "17520.",
+                "18000.",
+                "18480.",
+                "18960."
+            ],
+            "requested_bounds":[
+                "0.",
+                "480.",
+                "480.",
+                "960.",
+                "960.",
+                "1440.",
+                "1440.",
+                "1920.",
+                "1920.",
+                "2400.",
+                "2400.",
+                "2880.",
+                "2880.",
+                "3360.",
+                "3360.",
+                "3840.",
+                "3840.",
+                "4320.",
+                "4320.",
+                "4800.",
+                "4800.",
+                "5280.",
+                "5280.",
+                "5760.",
+                "5760.",
+                "6240.",
+                "6240.",
+                "6720.",
+                "6720.",
+                "7200.",
+                "7200.",
+                "7680.",
+                "7680.",
+                "8160.",
+                "8160.",
+                "8640.",
+                "8640.",
+                "9120.",
+                "9120.",
+                "9600.",
+                "9600.",
+                "10080.",
+                "10080.",
+                "10560.",
+                "10560.",
+                "11040.",
+                "11040.",
+                "11520.",
+                "11520.",
+                "12000.",
+                "12000.",
+                "12480.",
+                "12480.",
+                "12960.",
+                "12960.",
+                "13440.",
+                "13440.",
+                "13920.",
+                "13920.",
+                "14400.",
+                "14400.",
+                "14880.",
+                "14880.",
+                "15360.",
+                "15360.",
+                "15840.",
+                "15840.",
+                "16320.",
+                "16320.",
+                "16800.",
+                "16800.",
+                "17280.",
+                "17280.",
+                "17760.",
+                "17760.",
+                "18240.",
+                "18240.",
+                "18720.",
+                "18720.",
+                "19200."
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alternate_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ap and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ap: ap_bnds b: b_bnds ps: ps",
+            "z_factors":"ap: ap b: b ps: ps"
+        },
+        "basin":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean basin",
+            "must_have_bounds":"no",
+            "out_name":"basin",
+            "positive":"",
+            "requested":[
+                "atlantic_arctic_ocean",
+                "indian_pacific_ocean",
+                "global_ocean"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "dbze":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"CloudSat simulator equivalent radar reflectivity factor",
+            "must_have_bounds":"yes",
+            "out_name":"dbze",
+            "positive":"",
+            "requested":[
+                "-47.5",
+                "-42.5",
+                "-37.5",
+                "-32.5",
+                "-27.5",
+                "-22.5",
+                "-17.5",
+                "-12.5",
+                "-7.5",
+                "-2.5",
+                "2.5",
+                "7.5",
+                "12.5",
+                "17.5",
+                "22.5"
+            ],
+            "requested_bounds":[
+                "-50",
+                "-45",
+                "-45",
+                "-40",
+                "-40",
+                "-35",
+                "-35",
+                "-30",
+                "-30",
+                "-25",
+                "-25",
+                "-20",
+                "-20",
+                "-15",
+                "-15",
+                "-10",
+                "-10",
+                "-5",
+                "-5",
+                "0",
+                "0",
+                "5",
+                "5",
+                "10",
+                "10",
+                "15",
+                "15",
+                "20",
+                "20",
+                "25."
+            ],
+            "standard_name":"equivalent_reflectivity_factor",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"dBZ",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth0m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"0.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth100m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"120.0",
+            "valid_min":"80.0",
+            "value":"100.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth2000m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 2000 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"2000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth300m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 300 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"300",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth700m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 700 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"700",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth_coord":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean depth coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"12000.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadIc":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Ice Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadIc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadLi":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Liquid Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadLi",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height10m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"30.0",
+            "valid_min":"1.0",
+            "value":"10.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height2m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"10.0",
+            "valid_min":"1.0",
+            "value":"2.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "hybrid_height":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a and b*orog",
+            "long_name":"hybrid height coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_height_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"a: lev_bnds b: b_bnds orog: orog",
+            "z_factors":"a: lev b: b orog: orog"
+        },
+        "iceband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Ice depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"iceband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"sea_ice_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "latitude":{
+            "axis":"Y",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"latitude",
+            "must_have_bounds":"yes",
+            "out_name":"lat",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"latitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_north",
+            "valid_max":"90.0",
+            "valid_min":"-90.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "location":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"location index",
+            "must_have_bounds":"no",
+            "out_name":"loc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "longitude":{
+            "axis":"X",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"longitude",
+            "must_have_bounds":"yes",
+            "out_name":"lon",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"longitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_east",
+            "valid_max":"360.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "misrBands":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band of MISR",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "natural_log_pressure":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = p0 * exp(-lev)",
+            "long_name":"atmosphere natural log pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_ln_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"20.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 lev: lev_bnds",
+            "z_factors":"p0: p0 lev: lev"
+        },
+        "ocean_double_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= k_c:\n z(k,j,i)= sigma(k)*f(j,i) \n for k > k_c:\n z(k,j,i)= f(j,i) and (sigma(k)-1)*(depth(j,i)-f(j,i)) \n f(j,i)= 0.5*(z1+ z2) and 0.5*(z1-z2)* tanh(2*a/(z1-z2)*(depth(j,i)-href))",
+            "long_name":"ocean double sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_double_sigma",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds depth: depth z1: z1 z2: z2 a: a href: href k_c: k_c",
+            "z_factors":"sigma: sigma depth: depth z1: z1 z2: z2 a: a_coeff href: href k_c: k_c"
+        },
+        "ocean_s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i)*(1+s(k)) and depth_c*s(k) and (depth(j,i)-depth_c)*C(k) \n where \n C(k)=(1-b)*sinh(a*s(k))/sinh(a) +\n   b*(tanh(a*(s(k)+0.5))/(2*tanh(0.5*a)) - 0.5)",
+            "long_name":"ocean s-coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_s_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"s: lev_bnds eta: eta depth: depth a: a b: b depth_c: depth_c",
+            "z_factors":"s: lev eta: eta depth: depth a: a_coeff b: b_coeff depth_c: depth_c"
+        },
+        "ocean_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i) and sigma(k)*(depth(j,i)+eta(n,j,i))",
+            "long_name":"ocean sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"sigma: lev_bnds eta: eta depth: depth",
+            "z_factors":"sigma: lev eta: eta depth: depth"
+        },
+        "ocean_sigma_z":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= nsigma: z(n,k,j,i) = eta(n,j,i) and sigma(k)*(min(depth_c,depth(j,i))+eta(n,j,i)) ; for k > nsigma: z(n,k,j,i) = zlev(k)",
+            "long_name":"ocean sigma over z coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_z",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev_bnds",
+            "z_factors":"sigma: sigma eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev"
+        },
+        "olayer100m":{
+            "axis":"Z",
+            "bounds_values":"0. 100",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"50.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "oline":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean passage",
+            "must_have_bounds":"no",
+            "out_name":"line",
+            "positive":"",
+            "requested":[
+                "barents_opening",
+                "bering_strait",
+                "canadian_archipelago",
+                "denmark_strait",
+                "drake_passage",
+                "english_channel",
+                "pacific_equatorial_undercurrent",
+                "faroe_scotland_channel",
+                "florida_bahamas_strait",
+                "fram_strait",
+                "iceland_faroe_channel",
+                "indonesian_thoughflow",
+                "mozambique_channel",
+                "taiwan_luzon_straits",
+                "windward_passage"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p1000":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"1000 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"100000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p220":{
+            "axis":"Z",
+            "bounds_values":"44000. 0.0",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"22000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p500":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"500 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"50000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p560":{
+            "axis":"Z",
+            "bounds_values":"68000. 44000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"56000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p700":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"700 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"70000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p840":{
+            "axis":"Z",
+            "bounds_values":"100000. 68000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"84000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev10":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev14":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "5000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev17":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev19":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev23":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "100.",
+                "40."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev27":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "97500.",
+                "95000.",
+                "92500.",
+                "90000.",
+                "87500.",
+                "85000.",
+                "82500.",
+                "80000.",
+                "77500.",
+                "75000.",
+                "70000.",
+                "65000.",
+                "60000.",
+                "55000.",
+                "50000.",
+                "45000.",
+                "40000.",
+                "35000.",
+                "30000.",
+                "25000.",
+                "22500.",
+                "20000.",
+                "17500.",
+                "15000.",
+                "12500.",
+                "10000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev39":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "17000.",
+                "15000.",
+                "13000.",
+                "11500.",
+                "10000.",
+                "9000.",
+                "8000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1500.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "150.",
+                "100.",
+                "70.",
+                "50.",
+                "40.",
+                "30.",
+                "20.",
+                "15.",
+                "10.",
+                "7.",
+                "5.",
+                "3."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "10000.",
+                "1000.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "20000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"yes",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":[
+                "100000.",
+                "80000.",
+                "80000.",
+                "68000.",
+                "68000.",
+                "56000.",
+                "56000.",
+                "44000.",
+                "44000.",
+                "31000.",
+                "31000.",
+                "18000.",
+                "18000.",
+                " 0."
+            ],
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7c":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev8":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "10000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "rho":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"density++++?",
+            "must_have_bounds":"yes",
+            "out_name":"rho",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "scatratio":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"lidar backscattering ratio",
+            "must_have_bounds":"yes",
+            "out_name":"scatratio",
+            "positive":"",
+            "requested":[
+                "0.005",
+                "0.605",
+                "2.1",
+                "4.",
+                "6.",
+                "8.5",
+                "12.5",
+                "17.5",
+                "22.5",
+                "27.5",
+                "35.",
+                "45.",
+                "55.",
+                "70.",
+                "50040."
+            ],
+            "requested_bounds":[
+                "0.",
+                "0.01",
+                "0.01",
+                "1.2",
+                "1.2",
+                "3.",
+                "3.",
+                "5.",
+                "5.",
+                "7.",
+                "7.",
+                "10.",
+                "10.",
+                "15.",
+                "15.",
+                "20.",
+                "20.",
+                "25.",
+                "25.",
+                "30.",
+                "30.",
+                "40.",
+                "40.",
+                "50.",
+                "50.",
+                "60.",
+                "60.",
+                "80.",
+                "80.",
+                "100000."
+            ],
+            "standard_name":"backscattering_ratio",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"200.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth1":{
+            "axis":"Z",
+            "bounds_values":"0.0 0.1",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"0.2",
+            "valid_min":"0.0",
+            "value":"0.05",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "site":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"site index",
+            "must_have_bounds":"no",
+            "out_name":"site",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "smooth_level":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a*ztop and b1*zsurf1 and b2*zsurf2",
+            "long_name":"atmosphere smooth level vertical (SLEVE) coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sleve_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"800000.0",
+            "valid_min":"-200.0",
+            "value":"",
+            "z_bounds_factors":"a: a_bnds b1: b1_bnds b2: b2_bnds ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2",
+            "z_factors":"a: a b1: b1 b2: b2 ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2"
+        },
+        "snowband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Snow depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"snowband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"surface_snow_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "spectband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "standard_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = a*p0 and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 a: a_bnds b: b_bnds ps: ps",
+            "z_factors":"p0: p0 a: a b: b ps: ps"
+        },
+        "standard_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ptop and sigma*(ps - ptop)",
+            "long_name":"sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ptop: ptop sigma: lev_bnds ps: ps",
+            "z_factors":"ptop: ptop sigma: lev ps: ps"
+        },
+        "sza5":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"solar zenith angle",
+            "must_have_bounds":"no",
+            "out_name":"sza",
+            "positive":"",
+            "requested":[
+                "0.",
+                "20.",
+                "40.",
+                "60.",
+                "80."
+            ],
+            "requested_bounds":"",
+            "standard_name":"solar_zenith_angle",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"degree",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "tau":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"cloud optical thickness",
+            "must_have_bounds":"yes",
+            "out_name":"tau",
+            "positive":"",
+            "requested":[
+                "0.15",
+                "0.8",
+                "2.45",
+                "6.5",
+                "16.2",
+                "41.5",
+                "100."
+            ],
+            "requested_bounds":[
+                "0.0",
+                "0.3",
+                "0.3",
+                "1.3",
+                "1.3",
+                "3.6",
+                "3.6",
+                "9.4",
+                "9.4",
+                "23.0",
+                "23.0",
+                "60.0",
+                "60.0",
+                "100000."
+            ],
+            "standard_name":"atmosphere_optical_thickness_due_to_cloud",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time1":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"no",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time2":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"climatological times",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time3":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Diurnal cycle: monthly mean of the diurnal cycle (1 hour steps)",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typebare":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"bare_ground",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec3pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c3_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec4pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c4_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_deciduous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_decidous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "vegtype":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"plant functional type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xgre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xgre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "yant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"yant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "ygre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"ygre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        }
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "areacella":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"For atmospheres with more than 1 mesh (e.g., staggered grids), report areas that apply to surface vertical fluxes of energy.",
+            "dimensions":"longitude latitude",
+            "long_name":"Atmosphere Grid-Cell Area",
+            "modeling_realm":"atmos land",
+            "ok_max_mean_abs":"1e+12",
+            "ok_min_mean_abs":"100000.0",
+            "out_name":"areacella",
+            "positive":"",
+            "standard_name":"cell_area",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"1e+12",
+            "valid_min":"100000.0"
+        },
+        "areacello":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"Horizontal area of ocean grid cells",
+            "dimensions":"longitude latitude",
+            "long_name":"Ocean Grid-Cell Area",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"1e+12",
+            "ok_min_mean_abs":"0.0",
+            "out_name":"areacello",
+            "positive":"",
+            "standard_name":"cell_area",
+            "type":"real",
+            "units":"m2",
+            "valid_max":"1e+12",
+            "valid_min":"0.0"
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "basin":{
+            "cell_measures":"",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude",
+            "flag_meanings":"global_land southern_ocean atlantic_ocean pacific_ocean arctic_ocean indian_ocean mediterranean_sea black_sea hudson_bay baltic_sea red_sea",
+            "flag_values":"0 1 2 3 4 5 6 7 8 9 10",
+            "long_name":"Region Selection Index",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"basin",
+            "positive":"",
+            "standard_name":"region",
+            "type":"integer",
+            "units":"1.0",
+            "valid_max":"10.0",
+            "valid_min":"0.0"
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "deptho":{
+            "cell_measures":"",
+            "cell_methods":"area: areacello",
+            "comment":"Ocean bathymetry.   Reported here is the sea floor depth for present day relative to z=0 geoid. Reported as missing for land grid cells.",
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"5000.0",
+            "ok_min_mean_abs":"2000.0",
+            "out_name":"deptho",
+            "positive":"",
+            "standard_name":"sea_floor_depth_below_geoid",
+            "type":"real",
+            "units":"m",
+            "valid_max":"10000.0",
+            "valid_min":"0.0"
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "hfgeou":{
+            "cell_measures":"area: mean where sea",
+            "cell_methods":"area: areacello",
+            "comment":"",
+            "dimensions":"longitude latitude",
+            "long_name":"Upward Geothermal Heat Flux at Sea Floor",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hfgeou",
+            "positive":"up",
+            "standard_name":"upward_geothermal_heat_flux_at_sea_floor",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "mrsofc":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"'reported ''where land'': divide the total water holding capacity of all the soil in the grid cell by the land area in the grid cell;  reported as ''missing'' where the land fraction is 0.'",
+            "dimensions":"longitude latitude",
+            "long_name":"Capacity of Soil to Store Water",
+            "modeling_realm":"land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mrsofc",
+            "positive":"",
+            "standard_name":"soil_moisture_content_at_field_capacity",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "orog":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.",
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "modeling_realm":"atmos",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"orog",
+            "positive":"",
+            "standard_name":"surface_altitude",
+            "type":"real",
+            "units":"m",
+            "valid_max":"10000.0",
+            "valid_min":"-700.0"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "ps":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "type":"real",
+            "units":"Pa"
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "rootd":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"report the maximum soil depth reachable by plant roots (if defined in model), i.e., the maximum soil depth from which they can extract moisture; report as ''missing'' where the land fraction is 0.",
+            "dimensions":"longitude latitude",
+            "long_name":"Maximum Root Depth",
+            "modeling_realm":"land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"rootd",
+            "positive":"",
+            "standard_name":"root_depth",
+            "type":"real",
+            "units":"m",
+            "valid_max":"30.0",
+            "valid_min":"0.0"
+        },
+        "sftgif":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of grid cell covered by land ice (ice sheet, ice shelf, ice cap, glacier)",
+            "dimensions":"longitude latitude",
+            "long_name":"Fraction of Grid Cell Covered with Glacier",
+            "modeling_realm":"land",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sftgif",
+            "positive":"",
+            "standard_name":"land_ice_area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"100.0",
+            "valid_min":"0.0"
+        },
+        "sftlf":{
+            "cell_measures":"",
+            "cell_methods":"area: areacella",
+            "comment":"Please express 'X_area_fraction' as the fraction of horizontal area occupied by X.",
+            "dimensions":"longitude latitude",
+            "long_name":"Land Area Fraction",
+            "modeling_realm":"atmos",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sftlf",
+            "positive":"",
+            "standard_name":"land_area_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"100.0",
+            "valid_min":"0.0"
+        },
+        "sftof":{
+            "cell_measures":"",
+            "cell_methods":"area: areacello",
+            "comment":"This is the area fraction at the ocean surface.",
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Area Fraction",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sftof",
+            "positive":"",
+            "standard_name":"sea_area_fraction",
+            "type":"real",
+            "units":"%",
+            "valid_max":"100.0",
+            "valid_min":"0.0"
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "thkcello":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacello volume: volcello",
+            "comment":"",
+            "dimensions":"longitude latitude olevel",
+            "long_name":"Ocean Model Cell Thickness",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"thkcello",
+            "positive":"",
+            "standard_name":"cell_thickness",
+            "type":"real",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "volcello":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"grid-cell volume ca. 2000.",
+            "dimensions":"longitude latitude olevel",
+            "long_name":"Ocean Grid-Cell Volume",
+            "modeling_realm":"ocean",
+            "ok_max_mean_abs":"1e+15",
+            "ok_min_mean_abs":"0.0",
+            "out_name":"volcello",
+            "positive":"",
+            "standard_name":"ocean_volume",
+            "type":"real",
+            "units":"m3",
+            "valid_max":"1e+15",
+            "valid_min":"0.0"
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/demo/runCMOR3.py b/obs4MIPs-cmor-tables/demo/runCMOR3.py
new file mode 100755
index 0000000..13cb951
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo/runCMOR3.py
@@ -0,0 +1,289 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jul 18 13:49:08 2016
+
+This script generates all json files required to run obs4MIPs data creation and
+then calls cmor3 to generate two example files.
+
+The file is split into 3 sections:
+    1 - creates controlled vocabulary (CV) json inputs for CMOR3
+    2 - creates an Omon (ocean monthly) json input for generating a 'tos'
+        variable from a CF-compliant input
+    3 - creates an fx (fixed field) json input for generating an 'areacello'
+        variable from a CF-compliant input
+
+PJD 20 Jul 2016     - Removed source_id
+PJD 20 Jul 2016     - Further tweaks to enhance readability
+PJD 28 Sep 2016     - Update to deal with new json (embedded key) formats
+                    - TODO:
+
+ at author: durack1
+"""
+
+#%% Import statements
+import cmor,gc,json,os,ssl,sys,urllib2
+import cdms2 as cdm
+import numpy as np
+
+#%% Set local path
+homePath = os.path.join('/','/'.join(os.path.realpath(__file__).split('/')[0:-1])) ; # Extract path from executing file
+#homePath = '/export/durack1/git/obs4MIPs-cmor-tables/' ; # Hard code path
+#homePath = '/sync/git/obs4MIPs-cmor-tables/demo' ; # Hard code path
+os.chdir(homePath)
+
+#%% Function definitions
+
+# Loop through input tables
+def readJsonCreateDict(buildList):
+    '''
+    Documentation for readJsonCreateDict(buildList):
+    -------
+    The readJsonCreateDict() function reads web-based json files and writes
+    their contents to a dictionary in memory
+
+    Author: Paul J. Durack : pauldurack at llnl.gov
+
+    Usage:
+    ------
+        >>> from runCMOR3 import readJsonCreateDict
+        >>> readJsonCreateDict(['Omon','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/Tables/obs4MIPs_Omon.json'])
+
+    Notes:
+    -----
+        ...
+    '''
+    # Test for list input of length == 2
+    if len(buildList[0]) != 2:
+        print 'Invalid inputs, exiting..'
+        sys.exit()
+    # Create urllib2 context to deal with lab/LLNL web certificates
+    ctx                 = ssl.create_default_context()
+    ctx.check_hostname  = False
+    ctx.verify_mode     = ssl.CERT_NONE
+    # Iterate through buildList and write results to jsonDict
+    jsonDict = {}
+    for count,table in enumerate(buildList):
+        print 'Processing:',table[0]
+        # Read web file
+        jsonOutput = urllib2.urlopen(table[1], context=ctx)
+        tmp = jsonOutput.read()
+        vars()[table[0]] = tmp
+        jsonOutput.close()
+        # Write local json
+        tmpFile = open('tmp.json','w')
+        tmpFile.write(eval(table[0]))
+        tmpFile.close()
+        # Read local json
+        vars()[table[0]] = json.load(open('tmp.json','r'))
+        os.remove('tmp.json')
+        jsonDict[table[0]] = eval(table[0]) ; # Write to dictionary
+
+    return jsonDict
+
+#%% SECTION 1 - Integrate all controlled vocabularies (CVs) into master file - create obs4MIPs_CV.json
+jsonCVs = 'obs4MIPs_CV.json'
+buildList = [
+ ['frequency','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_frequency.json'],
+ ['grid_label','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_grid_label.json'],
+ ['grid_resolution','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_grid_resolution.json'],
+ ['grid','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_grid.json'],
+ ['institution_id','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_institution_id.json'],
+ ['mip_era','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_mip_era.json'],
+ ['product','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_product.json'],
+ ['realm','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_realm.json'],
+ ['required_global_attributes','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_required_global_attributes.json'],
+ ['table_id','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_table_id.json'],
+ ] ;
+
+# Loop through buildList and create output tables
+tmp = readJsonCreateDict(buildList)
+for count,table in enumerate(tmp.keys()):
+    vars()[table] = tmp[table]
+del(tmp,count,table) ; gc.collect()
+
+# Rebuild grid_labels
+grid_labels = {}
+grid_labels['gs1x1'] = { "grid_resolution":"1x1 degree" }
+grid_labels['gs1x1 gn'] = { "grid_resolution":"1x1 degree" }
+grid_labels['gs1x1 gr'] = { "grid_resolution":"1x1 degree" }
+for count,grid in enumerate(grid_label):
+    if count < 2:
+        grid_labels[grid] = grid_resolution
+    else:
+        grid_labels[grid] = {}
+
+# Rebuild
+obs4MIPs_CV = {}
+obs4MIPs_CV['CV'] = {}
+obs4MIPs_CV['CV']['grid_labels'] = grid_labels
+for count,CV in enumerate(buildList):
+    CVName1 = CV[0]
+    if CVName1 in ['grid','grid_label','grid_resolution']:
+        continue ; # Exclude
+    if CVName1 == 'coordinate':
+        CVName2 = CVName1
+        CVName1 = 'axis_entry'
+    elif CVName1 == 'institution_id':
+        CVName2 = CVName1
+        CVName1 = 'institution_ids'
+    elif CVName1 == 'source_id':
+        CVName2 = CVName1
+        CVName1 = 'source_ids'
+    else:
+        CVName2 = CVName1
+    obs4MIPs_CV['CV'][CVName1] = eval(CVName2)
+
+outFile = 'obs4MIPs_CV.json'
+# Check file exists
+if os.path.exists(outFile):
+    print 'File existing, purging:',outFile
+    os.remove(outFile)
+fH = open(outFile,'w')
+json.dump(obs4MIPs_CV,fH,ensure_ascii=True,sort_keys=True,indent=4,separators=(',',':'),encoding="utf-8")
+fH.close()
+
+
+#%% SECTION 2 - Integrate Omon into master file - create obs4MIPs_Omon_composite.json
+jsonOmon = 'obs4MIPs_Omon_composite.json'
+buildList = [
+ ['coordinate','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_coordinate.json'],
+ ['Omon','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/Tables/obs4MIPs_Omon.json']
+ ] ;
+
+# Loop through buildList and create output tables
+tmp = readJsonCreateDict(buildList)
+for count,table in enumerate(tmp.keys()):
+    if table == 'coordinate':
+        vars()[table] = tmp[table].get(table)
+    else:
+        vars()[table] = tmp[table]
+del(tmp,count,table) ; gc.collect()
+
+# Rebuild
+table = {}
+for count,CV in enumerate(buildList):
+    CVName1 = CV[0]
+    if CVName1 == 'coordinate':
+        table['axis_entry'] = eval(CVName1)
+    else:
+        keys = eval(CVName1).keys()
+        for count in range(len(keys)):
+            table[keys[count]] = eval(CVName1).get(keys[count])
+
+outFile = jsonOmon
+# Check file exists
+if os.path.exists(outFile):
+    print 'File existing, purging:',outFile
+    os.remove(outFile)
+fH = open(outFile,'w')
+json.dump(table,fH,ensure_ascii=True,sort_keys=True,indent=4,separators=(',',':'),encoding="utf-8")
+fH.close()
+
+# Process variable (with time axis)
+cmor.setup(inpath='../Tables',netcdf_file_action=cmor.CMOR_REPLACE_4)
+cmor.dataset_json('drive_obs4MIPs.json') ; # Update contents of this file to set your global_attributes
+f       = cdm.open('amipobs_tos_360x180_v1.1.0_187001-187112.nc')
+d       = f['tos']
+lat     = d.getLatitude()
+lon     = d.getLongitude()
+time    = d.getTime()
+#cmor.set_cur_dataset_attribute('history',f.history) ; # Force local file attribute as history
+table   = 'obs4MIPs_Omon_composite.json' ; # Amon,Lmon,Omon,SImon
+obs4MIPsOmonID = cmor.load_table(table) ; # Load target table (above), axis info (coordinates, grid*) and CVs
+axes    = [ {'table_entry': 'time',
+             'units': 'days since 1870-01-01',
+             },
+             {'table_entry': 'latitude',
+              'units': 'degrees_north',
+              'coord_vals': lat[:],
+              'cell_bounds': lat.getBounds()},
+             {'table_entry': 'longitude',
+              'units': 'degrees_east',
+              'coord_vals': lon[:],
+              'cell_bounds': lon.getBounds()},
+          ]
+axis_ids = list()
+for axis in axes:
+    axis_id = cmor.axis(**axis)
+    axis_ids.append(axis_id)
+varid   = cmor.variable('tos',d.units,axis_ids)
+values  = np.array(d[:],np.float32)
+cmor.set_deflate(varid,1,1,1) ; # shuffle=1,deflate=1,deflate_level=1 ; CMOR 3.0.6+
+cmor.write(varid,values,time_vals=time[:],time_bnds=time.getBounds()) ; # Write variable with time axis
+f.close()
+cmor.close()
+# Cleanup
+del(f,d,lat,lon,time) ; gc.collect()
+
+
+#%% SECTION 3 - Integrate fx into master file - create obs4MIPs_fx_composite.json
+jsonFx = 'obs4MIPs_fx_composite.json'
+buildList = [
+ ['coordinate','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_coordinate.json'],
+ ['fx','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/Tables/obs4MIPs_fx.json']
+ ] ;
+
+# Loop through buildList and create output tables
+tmp = readJsonCreateDict(buildList)
+for count,table in enumerate(tmp.keys()):
+    if table == 'coordinate':
+        vars()[table] = tmp[table].get(table)
+    else:
+        vars()[table] = tmp[table]
+del(tmp,count,table) ; gc.collect()
+
+# Rebuild
+table = {}
+for count,CV in enumerate(buildList):
+    CVName1 = CV[0]
+    if CVName1 == 'coordinate':
+        table['axis_entry'] = eval(CVName1)
+    else:
+        keys = eval(CVName1).keys()
+        for count in range(len(keys)):
+            table[keys[count]] = eval(CVName1).get(keys[count])
+
+table['Header']['realm'] = 'ocean' ; # Overwrite realm info
+
+outFile = jsonFx
+# Check file exists
+if os.path.exists(outFile):
+    print 'File existing, purging:',outFile
+    os.remove(outFile)
+fH = open(outFile,'w')
+json.dump(table,fH,ensure_ascii=True,sort_keys=True,indent=4,separators=(',',':'),encoding="utf-8")
+fH.close()
+
+# Process fixed field
+cmor.setup(inpath='../Tables',netcdf_file_action=cmor.CMOR_REPLACE_4)
+cmor.dataset_json('drive_obs4MIPs.json') ; # Update contents of this file to set your global_attributes
+f       = cdm.open('amipbc_areacello_360x180_v1.1.0.nc')
+d       = f['areacello']
+lat     = d.getLatitude()
+lon     = d.getLongitude()
+time    = d.getTime()
+#cmor.set_cur_dataset_attribute('history',f.history) ; # Force local file attribute as history
+table   = 'obs4MIPs_fx_composite.json' ; # Amon,Lmon,Omon,SImon
+cmor.load_table(table)
+axes    = [  {'table_entry': 'latitude',
+              'units': 'degrees_north',
+              'coord_vals': lat[:],
+              'cell_bounds': lat.getBounds()},
+             {'table_entry': 'longitude',
+              'units': 'degrees_east',
+              'coord_vals': lon[:],
+              'cell_bounds': lon.getBounds()},
+          ]
+axis_ids = list()
+for axis in axes:
+    axis_id = cmor.axis(**axis)
+    axis_ids.append(axis_id)
+varid   = cmor.variable('areacello',d.units,axis_ids)
+values  = np.array(d[:],np.float32)
+cmor.set_deflate(varid,1,1,1) ; # shuffle=1,deflate=1,deflate_level=1 ; CMOR 3.0.6+
+cmor.write(varid,values) ; # Write fixed variable
+f.close()
+cmor.close()
+# Cleanup
+del(outFile,f,d,lat,lon,time) ; gc.collect()
diff --git a/obs4MIPs-cmor-tables/demo/src/extractNcSubset.py b/obs4MIPs-cmor-tables/demo/src/extractNcSubset.py
new file mode 100644
index 0000000..92ba5a3
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo/src/extractNcSubset.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jul 18 14:32:30 2016
+
+ at author: durack1
+"""
+
+import cdms2 as cdm
+
+# Set nc classic as outputs
+cdm.setCompressionWarnings(0) ; # Suppress warnings
+cdm.setNetcdfShuffleFlag(0)
+cdm.setNetcdfDeflateFlag(1) ; # was 0 130717
+cdm.setNetcdfDeflateLevelFlag(9) ; # was 0 130717
+cdm.setAutoBounds(1) ; # Ensure bounds on time and depth axes are generated
+
+#%% Set input file and extract
+f = '/work/durack1/Shared/150219_AMIPForcingData/360x180_v1.1.0_san/amipobs_tos_360x180_v1.1.0_187001-201512.nc'
+fH = cdm.open(f)
+d = fH('tos',time=('1870','1872'))
+fo = '/export/durack1/git/obs4MIPs-cmor-tables/demo/amipobs_tos_360x180_v1.1.0_187001-187112.nc'
+foH = cdm.open(fo,'w')
+foH.write(d)
+foH.close()
+fH.close()
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/demo1/generate_cmor3_tables.py b/obs4MIPs-cmor-tables/demo1/generate_cmor3_tables.py
new file mode 100755
index 0000000..49c6706
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo1/generate_cmor3_tables.py
@@ -0,0 +1,88 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jul 18 13:49:08 2016
+
+This script generates all json files required to run obs4MIPs data creation and
+then calls cmor3 to generate two example files.
+
+The file is split into 3 sections:
+    1 - creates controlled vocabulary (CV) json inputs for CMOR3
+    2 - creates an Omon (ocean monthly) json input for generating a 'tos'
+        variable from a CF-compliant input
+    3 - creates an fx (fixed field) json input for generating an 'areacello'
+        variable from a CF-compliant input
+
+PJD 20 Jul 2016     - Removed source_id
+PJD 20 Jul 2016     - Further tweaks to enhance readability
+                    - TODO:
+
+ at author: durack1
+"""
+
+execfile('read_json_fcns.py')
+
+
+#%% Import statements
+import cmor,gc,json,os,ssl,sys,urllib2
+import cdms2 as cdm
+import numpy as np
+
+#%% Set local path
+homePath = os.path.join('/','/'.join(os.path.realpath(__file__).split('/')[0:-1])) ; # Extract path from executing file
+#homePath = '/export/durack1/git/obs4MIPs-cmor-tables/' ; # Hard code path
+#homePath = '/sync/git/obs4MIPs-cmor-tables/demo' ; # Hard code path
+os.chdir(homePath)
+
+
+#%% SECTION 2 - Integrate Omon into master file - create obs4MIPs_Omon_composite.json
+jsonOmon = 'obs4MIPs_Omon_composite.json'
+jsonAmon = 'obs4MIPs_Amon.json'
+buildList = [
+ ['coordinate','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_coordinate.json'],
+#['Omon','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/Tables/obs4MIPs_Omon.json'],
+ ['Amon','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/Tables/obs4MIPs_Amon.json']
+ ] ;
+
+# Loop through buildList and create output tables
+tmp = readJsonCreateDict(buildList)
+for count,table in enumerate(tmp.keys()):
+	if table == 'coordinate':
+		vars()[table] = tmp[table].get(table)
+	else:
+		vars()[table] = tmp[table]
+del(tmp,count,table) ; gc.collect()
+
+# Now cleanup Amon - These problems require fixes upstream
+#Amon['variable_entry'].pop('mc')
+#Amon['variable_entry'].pop('phalf')
+
+# Rebuild
+table = {}
+for count,CV in enumerate(buildList):
+    CVName1 = CV[0]
+    if CVName1 == 'coordinate':
+        table['axis_entry'] = eval(CVName1)
+    else:
+        keys = eval(CVName1).keys()
+        for count in range(len(keys)):
+            table[keys[count]] = eval(CVName1).get(keys[count])
+
+
+
+outtable = jsonAmon
+
+try:
+  os.mkdir('obs4MIPs_CMOR_tables')
+except:
+  pass
+
+outFile = 'obs4MIPs_CMOR_tables/' + outtable
+
+# Check file exists
+if os.path.exists(outFile):
+    print 'File existing, purging:',outFile
+    os.remove(outFile)
+fH = open(outFile,'w')
+json.dump(table,fH,ensure_ascii=True,sort_keys=True,indent=4,separators=(',',':'),encoding="utf-8")
+fH.close()
diff --git a/obs4MIPs-cmor-tables/demo1/obs4MIPs_CMOR_tables/obs4MIPs_Amon.json b/obs4MIPs-cmor-tables/demo1/obs4MIPs_CMOR_tables/obs4MIPs_Amon.json
new file mode 100644
index 0000000..2354f5f
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo1/obs4MIPs_CMOR_tables/obs4MIPs_Amon.json
@@ -0,0 +1,3481 @@
+{
+    "Header":{
+        "Conventions":"CF-1.6 CMIP-6.0",
+        "approx_interval":"30.00000",
+        "cmor_version":"3.1",
+        "data_specs_version":"01.beta.32",
+        "frequency":"mon",
+        "generic_levels":"alevel alevhalf",
+        "mip_era":"CMIP6",
+        "missing_value":"1e20",
+        "product":"output",
+        "realm":"atmos",
+        "table_date":"28 September 2016",
+        "table_id":"Table Amon"
+    },
+    "axis_entry":{
+        "alt16":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"MISR vertical coordinate heights",
+            "must_have_bounds":"yes",
+            "out_name":"alt16",
+            "positive":"up",
+            "requested":[
+                0.0,
+                250.0,
+                750.0,
+                1250.0,
+                1750.0,
+                2250.0,
+                2750.0,
+                3500.0,
+                4500.0,
+                6000.0,
+                8000.0,
+                10000.0,
+                12000.0,
+                14500.0,
+                16000.0,
+                18000.0
+            ],
+            "requested_bounds":[
+                -99000.0,
+                0.0,
+                0.0,
+                500.0,
+                500.0,
+                1000.0,
+                1000.0,
+                1500.0,
+                1500.0,
+                2000.0,
+                2000.0,
+                2500.0,
+                2500.0,
+                3000.0,
+                3000.0,
+                4000.0,
+                4000.0,
+                5000.0,
+                5000.0,
+                7000.0,
+                7000.0,
+                9000.0,
+                9000.0,
+                11000.0,
+                11000.0,
+                13000.0,
+                13000.0,
+                15000.0,
+                15000.0,
+                17000.0,
+                17000.0,
+                99000.0
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alt40":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"altitude",
+            "must_have_bounds":"yes",
+            "out_name":"alt40",
+            "positive":"up",
+            "requested":[
+                "240.",
+                "720.",
+                "1200.",
+                "1680.",
+                "2160.",
+                "2640.",
+                "3120.",
+                "3600.",
+                "4080.",
+                "4560.",
+                "5040.",
+                "5520.",
+                "6000.",
+                "6480.",
+                "6960.",
+                "7440.",
+                "7920.",
+                "8400.",
+                "8880.",
+                "9360.",
+                "9840.",
+                "10320.",
+                "10800.",
+                "11280.",
+                "11760.",
+                "12240.",
+                "12720.",
+                "13200.",
+                "13680.",
+                "14160.",
+                "14640.",
+                "15120.",
+                "15600.",
+                "16080.",
+                "16560.",
+                "17040.",
+                "17520.",
+                "18000.",
+                "18480.",
+                "18960."
+            ],
+            "requested_bounds":[
+                "0.",
+                "480.",
+                "480.",
+                "960.",
+                "960.",
+                "1440.",
+                "1440.",
+                "1920.",
+                "1920.",
+                "2400.",
+                "2400.",
+                "2880.",
+                "2880.",
+                "3360.",
+                "3360.",
+                "3840.",
+                "3840.",
+                "4320.",
+                "4320.",
+                "4800.",
+                "4800.",
+                "5280.",
+                "5280.",
+                "5760.",
+                "5760.",
+                "6240.",
+                "6240.",
+                "6720.",
+                "6720.",
+                "7200.",
+                "7200.",
+                "7680.",
+                "7680.",
+                "8160.",
+                "8160.",
+                "8640.",
+                "8640.",
+                "9120.",
+                "9120.",
+                "9600.",
+                "9600.",
+                "10080.",
+                "10080.",
+                "10560.",
+                "10560.",
+                "11040.",
+                "11040.",
+                "11520.",
+                "11520.",
+                "12000.",
+                "12000.",
+                "12480.",
+                "12480.",
+                "12960.",
+                "12960.",
+                "13440.",
+                "13440.",
+                "13920.",
+                "13920.",
+                "14400.",
+                "14400.",
+                "14880.",
+                "14880.",
+                "15360.",
+                "15360.",
+                "15840.",
+                "15840.",
+                "16320.",
+                "16320.",
+                "16800.",
+                "16800.",
+                "17280.",
+                "17280.",
+                "17760.",
+                "17760.",
+                "18240.",
+                "18240.",
+                "18720.",
+                "18720.",
+                "19200."
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alternate_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ap and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ap: ap_bnds b: b_bnds ps: ps",
+            "z_factors":"ap: ap b: b ps: ps"
+        },
+        "basin":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean basin",
+            "must_have_bounds":"no",
+            "out_name":"basin",
+            "positive":"",
+            "requested":[
+                "atlantic_arctic_ocean",
+                "indian_pacific_ocean",
+                "global_ocean"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "dbze":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"CloudSat simulator equivalent radar reflectivity factor",
+            "must_have_bounds":"yes",
+            "out_name":"dbze",
+            "positive":"",
+            "requested":[
+                "-47.5",
+                "-42.5",
+                "-37.5",
+                "-32.5",
+                "-27.5",
+                "-22.5",
+                "-17.5",
+                "-12.5",
+                "-7.5",
+                "-2.5",
+                "2.5",
+                "7.5",
+                "12.5",
+                "17.5",
+                "22.5"
+            ],
+            "requested_bounds":[
+                "-50",
+                "-45",
+                "-45",
+                "-40",
+                "-40",
+                "-35",
+                "-35",
+                "-30",
+                "-30",
+                "-25",
+                "-25",
+                "-20",
+                "-20",
+                "-15",
+                "-15",
+                "-10",
+                "-10",
+                "-5",
+                "-5",
+                "0",
+                "0",
+                "5",
+                "5",
+                "10",
+                "10",
+                "15",
+                "15",
+                "20",
+                "20",
+                "25."
+            ],
+            "standard_name":"equivalent_reflectivity_factor",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"dBZ",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth0m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"0.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth100m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"120.0",
+            "valid_min":"80.0",
+            "value":"100.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth2000m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 2000 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"2000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth300m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 300 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"300",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth700m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 700 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"700",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth_coord":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean depth coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"12000.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadIc":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Ice Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadIc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadLi":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Liquid Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadLi",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height10m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"30.0",
+            "valid_min":"1.0",
+            "value":"10.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height2m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"10.0",
+            "valid_min":"1.0",
+            "value":"2.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "hybrid_height":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a and b*orog",
+            "long_name":"hybrid height coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_height_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"a: lev_bnds b: b_bnds orog: orog",
+            "z_factors":"a: lev b: b orog: orog"
+        },
+        "iceband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Ice depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"iceband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"sea_ice_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "latitude":{
+            "axis":"Y",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"latitude",
+            "must_have_bounds":"yes",
+            "out_name":"lat",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"latitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_north",
+            "valid_max":"90.0",
+            "valid_min":"-90.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "location":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"location index",
+            "must_have_bounds":"no",
+            "out_name":"loc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "longitude":{
+            "axis":"X",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"longitude",
+            "must_have_bounds":"yes",
+            "out_name":"lon",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"longitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_east",
+            "valid_max":"360.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "misrBands":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band of MISR",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "natural_log_pressure":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = p0 * exp(-lev)",
+            "long_name":"atmosphere natural log pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_ln_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"20.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 lev: lev_bnds",
+            "z_factors":"p0: p0 lev: lev"
+        },
+        "ocean_double_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= k_c:\n z(k,j,i)= sigma(k)*f(j,i) \n for k > k_c:\n z(k,j,i)= f(j,i) and (sigma(k)-1)*(depth(j,i)-f(j,i)) \n f(j,i)= 0.5*(z1+ z2) and 0.5*(z1-z2)* tanh(2*a/(z1-z2)*(depth(j,i)-href))",
+            "long_name":"ocean double sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_double_sigma",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds depth: depth z1: z1 z2: z2 a: a href: href k_c: k_c",
+            "z_factors":"sigma: sigma depth: depth z1: z1 z2: z2 a: a_coeff href: href k_c: k_c"
+        },
+        "ocean_s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i)*(1+s(k)) and depth_c*s(k) and (depth(j,i)-depth_c)*C(k) \n where \n C(k)=(1-b)*sinh(a*s(k))/sinh(a) +\n   b*(tanh(a*(s(k)+0.5))/(2*tanh(0.5*a)) - 0.5)",
+            "long_name":"ocean s-coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_s_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"s: lev_bnds eta: eta depth: depth a: a b: b depth_c: depth_c",
+            "z_factors":"s: lev eta: eta depth: depth a: a_coeff b: b_coeff depth_c: depth_c"
+        },
+        "ocean_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i) and sigma(k)*(depth(j,i)+eta(n,j,i))",
+            "long_name":"ocean sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"sigma: lev_bnds eta: eta depth: depth",
+            "z_factors":"sigma: lev eta: eta depth: depth"
+        },
+        "ocean_sigma_z":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= nsigma: z(n,k,j,i) = eta(n,j,i) and sigma(k)*(min(depth_c,depth(j,i))+eta(n,j,i)) ; for k > nsigma: z(n,k,j,i) = zlev(k)",
+            "long_name":"ocean sigma over z coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_z",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev_bnds",
+            "z_factors":"sigma: sigma eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev"
+        },
+        "olayer100m":{
+            "axis":"Z",
+            "bounds_values":"0. 100",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"50.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "oline":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean passage",
+            "must_have_bounds":"no",
+            "out_name":"line",
+            "positive":"",
+            "requested":[
+                "barents_opening",
+                "bering_strait",
+                "canadian_archipelago",
+                "denmark_strait",
+                "drake_passage",
+                "english_channel",
+                "pacific_equatorial_undercurrent",
+                "faroe_scotland_channel",
+                "florida_bahamas_strait",
+                "fram_strait",
+                "iceland_faroe_channel",
+                "indonesian_thoughflow",
+                "mozambique_channel",
+                "taiwan_luzon_straits",
+                "windward_passage"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p1000":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"1000 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"100000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p220":{
+            "axis":"Z",
+            "bounds_values":"44000. 0.0",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"22000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p500":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"500 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"50000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p560":{
+            "axis":"Z",
+            "bounds_values":"68000. 44000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"56000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p700":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"700 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"70000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p840":{
+            "axis":"Z",
+            "bounds_values":"100000. 68000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"84000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev10":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev14":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "5000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev17":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev19":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev23":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "100.",
+                "40."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev27":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "97500.",
+                "95000.",
+                "92500.",
+                "90000.",
+                "87500.",
+                "85000.",
+                "82500.",
+                "80000.",
+                "77500.",
+                "75000.",
+                "70000.",
+                "65000.",
+                "60000.",
+                "55000.",
+                "50000.",
+                "45000.",
+                "40000.",
+                "35000.",
+                "30000.",
+                "25000.",
+                "22500.",
+                "20000.",
+                "17500.",
+                "15000.",
+                "12500.",
+                "10000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev39":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "17000.",
+                "15000.",
+                "13000.",
+                "11500.",
+                "10000.",
+                "9000.",
+                "8000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1500.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "150.",
+                "100.",
+                "70.",
+                "50.",
+                "40.",
+                "30.",
+                "20.",
+                "15.",
+                "10.",
+                "7.",
+                "5.",
+                "3."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "10000.",
+                "1000.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "20000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"yes",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":[
+                "100000.",
+                "80000.",
+                "80000.",
+                "68000.",
+                "68000.",
+                "56000.",
+                "56000.",
+                "44000.",
+                "44000.",
+                "31000.",
+                "31000.",
+                "18000.",
+                "18000.",
+                " 0."
+            ],
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7c":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev8":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "10000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "rho":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"density++++?",
+            "must_have_bounds":"yes",
+            "out_name":"rho",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "scatratio":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"lidar backscattering ratio",
+            "must_have_bounds":"yes",
+            "out_name":"scatratio",
+            "positive":"",
+            "requested":[
+                "0.005",
+                "0.605",
+                "2.1",
+                "4.",
+                "6.",
+                "8.5",
+                "12.5",
+                "17.5",
+                "22.5",
+                "27.5",
+                "35.",
+                "45.",
+                "55.",
+                "70.",
+                "50040."
+            ],
+            "requested_bounds":[
+                "0.",
+                "0.01",
+                "0.01",
+                "1.2",
+                "1.2",
+                "3.",
+                "3.",
+                "5.",
+                "5.",
+                "7.",
+                "7.",
+                "10.",
+                "10.",
+                "15.",
+                "15.",
+                "20.",
+                "20.",
+                "25.",
+                "25.",
+                "30.",
+                "30.",
+                "40.",
+                "40.",
+                "50.",
+                "50.",
+                "60.",
+                "60.",
+                "80.",
+                "80.",
+                "100000."
+            ],
+            "standard_name":"backscattering_ratio",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"200.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth1":{
+            "axis":"Z",
+            "bounds_values":"0.0 0.1",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"0.2",
+            "valid_min":"0.0",
+            "value":"0.05",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "site":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"site index",
+            "must_have_bounds":"no",
+            "out_name":"site",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "smooth_level":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a*ztop and b1*zsurf1 and b2*zsurf2",
+            "long_name":"atmosphere smooth level vertical (SLEVE) coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sleve_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"800000.0",
+            "valid_min":"-200.0",
+            "value":"",
+            "z_bounds_factors":"a: a_bnds b1: b1_bnds b2: b2_bnds ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2",
+            "z_factors":"a: a b1: b1 b2: b2 ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2"
+        },
+        "snowband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Snow depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"snowband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"surface_snow_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "spectband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "standard_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = a*p0 and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 a: a_bnds b: b_bnds ps: ps",
+            "z_factors":"p0: p0 a: a b: b ps: ps"
+        },
+        "standard_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ptop and sigma*(ps - ptop)",
+            "long_name":"sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ptop: ptop sigma: lev_bnds ps: ps",
+            "z_factors":"ptop: ptop sigma: lev ps: ps"
+        },
+        "sza5":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"solar zenith angle",
+            "must_have_bounds":"no",
+            "out_name":"sza",
+            "positive":"",
+            "requested":[
+                "0.",
+                "20.",
+                "40.",
+                "60.",
+                "80."
+            ],
+            "requested_bounds":"",
+            "standard_name":"solar_zenith_angle",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"degree",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "tau":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"cloud optical thickness",
+            "must_have_bounds":"yes",
+            "out_name":"tau",
+            "positive":"",
+            "requested":[
+                "0.15",
+                "0.8",
+                "2.45",
+                "6.5",
+                "16.2",
+                "41.5",
+                "100."
+            ],
+            "requested_bounds":[
+                "0.0",
+                "0.3",
+                "0.3",
+                "1.3",
+                "1.3",
+                "3.6",
+                "3.6",
+                "9.4",
+                "9.4",
+                "23.0",
+                "23.0",
+                "60.0",
+                "60.0",
+                "100000."
+            ],
+            "standard_name":"atmosphere_optical_thickness_due_to_cloud",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time1":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"no",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time2":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"climatological times",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time3":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Diurnal cycle: monthly mean of the diurnal cycle (1 hour steps)",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typebare":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"bare_ground",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec3pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c3_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec4pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c4_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_deciduous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_decidous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "vegtype":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"plant functional type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xgre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xgre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "yant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"yant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "ygre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"ygre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        }
+    },
+    "variable_entry":{
+        "a":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k)",
+            "type":"double",
+            "units":""
+        },
+        "a_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: a(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ap":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "ap_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: ap(k+1/2)",
+            "type":"double",
+            "units":"Pa"
+        },
+        "b":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k)",
+            "type":"double",
+            "units":""
+        },
+        "b_bnds":{
+            "dimensions":"alevel",
+            "long_name":"vertical coordinate formula term: b(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ccb":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Where convective cloud is present in the grid cell, the instantaneous cloud base altitude should be that of the bottom of the lowest level containing convective cloud. Missing data should be reported in the absence of convective cloud. The time mean should be calculated from these quantities averaging over occasions when convective cloud is present only, and should contain missing data for occasions when no convective cloud is present during the meaning period. ",
+            "dimensions":"longitude latitude time",
+            "long_name":"Air Pressure at Convective Cloud Base",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ccb",
+            "positive":"",
+            "standard_name":"air_pressure_at_convective_cloud_base",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cct":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Where convective cloud is present in the grid cell, the instantaneous cloud top altitude should be that of the top of the highest level containing convective cloud. Missing data should be reported in the absence of convective cloud. The time mean should be calculated from these quantities averaging over occasions when convective cloud is present only, and should contain missing data for occasions when no convective cloud is present during the meaning period.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Air Pressure at Convective Cloud Top",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cct",
+            "positive":"",
+            "standard_name":"air_pressure_at_convective_cloud_top",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc113global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of CFC113",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc113global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_cfc113_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc11global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of CFC11",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc11global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_cfc11_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cfc12global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of CFC12",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cfc12global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_cfc12_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ch4":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of CH4",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ch4",
+            "positive":"",
+            "standard_name":"mole_fraction_of_methane_in_air",
+            "type":"real",
+            "units":"mol mol-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ch4global":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"",
+            "comment":"Global Mean Mole Fraction of CH4",
+            "dimensions":"time2",
+            "long_name":"Global Mean Mole Fraction of CH4",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ch4global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_methane_in_air",
+            "type":"real",
+            "units":"1e-09",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ci":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of time that convection occurs in the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Fraction of Time Convection Occurs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"ci",
+            "positive":"",
+            "standard_name":"convection_time_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "cl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Percentage cloud cover, including both large-scale and convective cloud.",
+            "dimensions":"longitude latitude alevel time",
+            "long_name":"Cloud Area Fraction",
+            "ok_max_mean_abs":"26.07",
+            "ok_min_mean_abs":"-0.04479",
+            "out_name":"cl",
+            "positive":"",
+            "standard_name":"cloud_area_fraction_in_atmosphere_layer",
+            "type":"real",
+            "units":"%",
+            "valid_max":"105",
+            "valid_min":"0"
+        },
+        "cli":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Includes both large-scale and convective cloud. This is calculated as the mass of cloud ice in the grid cell divided by the mass of air (including the water in all phases) in the grid cell. It includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude alevel time",
+            "long_name":"Mass Fraction of Cloud Ice",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"cli",
+            "positive":"",
+            "standard_name":"mass_fraction_of_cloud_ice_in_air",
+            "type":"real",
+            "units":"kg kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "clivi":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Mass of ice water in the column divided by the area of the column (not just the area of the cloudy portion of the column). Includes precipitating frozen hydrometeors ONLY if the precipitating hydrometeor affects the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Ice Water Path",
+            "ok_max_mean_abs":"0.1187",
+            "ok_min_mean_abs":"-0.0348",
+            "out_name":"clivi",
+            "positive":"",
+            "standard_name":"atmosphere_mass_content_of_cloud_ice",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"1.535",
+            "valid_min":"-1.872e-06"
+        },
+        "clt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Total cloud area fraction for the whole atmospheric column, as seen from the surface or the top of the atmosphere. Includes both large-scale and convective cloud.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Total Cloud Fraction",
+            "ok_max_mean_abs":"84.98",
+            "ok_min_mean_abs":"39.37",
+            "out_name":"clt",
+            "positive":"",
+            "standard_name":"cloud_area_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"105",
+            "valid_min":"-0.0001822"
+        },
+        "clw":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Includes both large-scale and convective cloud. Calculate as the mass of cloud liquid water in the grid cell divided by the mass of air (including the water in all phases) in the grid cells. Precipitating hydrometeors are included ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude alevel time",
+            "long_name":"Mass Fraction of Cloud Liquid Water",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"clw",
+            "positive":"",
+            "standard_name":"mass_fraction_of_cloud_liquid_water_in_air",
+            "type":"real",
+            "units":"kg kg-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "clwvi":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Mass of condensed (liquid + ice) water in the column divided by the area of the column (not just the area of the cloudy portion of the column). Includes precipitating hydrometeors ONLY if the precipitating hydrometeors affect the calculation of radiative transfer in model.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Condensed Water Path",
+            "ok_max_mean_abs":"0.2846",
+            "ok_min_mean_abs":"-0.03549",
+            "out_name":"clwvi",
+            "positive":"",
+            "standard_name":"atmosphere_cloud_condensed_water_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"3.364",
+            "valid_min":"-3.827e-06"
+        },
+        "co2":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co2",
+            "positive":"",
+            "standard_name":"mole_fraction_of_carbon_dioxide_in_air",
+            "type":"real",
+            "units":"mol mol-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "co2mass":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"",
+            "comment":"Total atmospheric mass of Carbon Dioxide",
+            "dimensions":"time2",
+            "long_name":"Total Atmospheric Mass of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"co2mass",
+            "positive":"",
+            "standard_name":"atmosphere_mass_of_carbon_dioxide",
+            "type":"real",
+            "units":"kg",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "depth":{
+            "dimensions":"longitude latitude",
+            "long_name":"Sea Floor Depth: formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "depth_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: depth_c",
+            "type":"double",
+            "units":""
+        },
+        "eta":{
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Surface Height formula term: thetao",
+            "type":"real",
+            "units":"m"
+        },
+        "evspsbl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Evaporation at surface: flux of water into the atmosphere due to conversion of both liquid and solid phases to vapor (from underlying surface and vegetation)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Evaporation",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"evspsbl",
+            "positive":"",
+            "standard_name":"water_evaporation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fco2antt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"This is requested only for the emission-driven coupled carbon climate model runs.  Does not include natural fire sources but, includes all anthropogenic sources, including fossil fuel use, cement production, agricultural burning, and sources associated with anthropogenic land use change excluding forest regrowth.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere Due to All Anthropogenic Emissions of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fco2antt",
+            "positive":"up",
+            "standard_name":"tendency_of_atmosphere_mass_content_of_carbon_dioxide_expressed_as_carbon_due_to_anthropogenic_emission",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fco2fos":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"This is the prescribed anthropogenic CO2 flux from fossil fuel use, including cement production, and flaring (but not from land-use changes, agricultural burning, forest regrowth, etc.)",
+            "dimensions":"longitude latitude time",
+            "long_name":"Carbon Mass Flux into Atmosphere Due to Fossil Fuel Emissions of CO2",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fco2fos",
+            "positive":"up",
+            "standard_name":"tendency_of_atmosphere_mass_content_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_fossil_fuel_combustion",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "fco2nat":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"This is what the atmosphere sees (on its own grid).  This field should be equivalent to the combined natural fluxes of carbon  that account for natural exchanges between the atmosphere and land (nep) or ocean (fgco2) reservoirs.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Carbon Mass Flux into the Atmosphere Due to Natural Sources",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"fco2nat",
+            "positive":"up",
+            "standard_name":"surface_upward_mass_flux_of_carbon_dioxide_expressed_as_carbon_due_to_emission_from_natural_sources",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hcfc22global":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"time",
+            "long_name":"Global Mean Mole Fraction of HCFC22",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hcfc22global",
+            "positive":"",
+            "standard_name":"mole_fraction_of_hcfc22_in_air",
+            "type":"real",
+            "units":"1e-12",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hfls":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upward Latent Heat Flux",
+            "ok_max_mean_abs":"73.2",
+            "ok_min_mean_abs":"50.39",
+            "out_name":"hfls",
+            "positive":"up",
+            "standard_name":"surface_upward_latent_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"790.7",
+            "valid_min":"-76.77"
+        },
+        "hfss":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upward Sensible Heat Flux",
+            "ok_max_mean_abs":"34.84",
+            "ok_min_mean_abs":"10.7",
+            "out_name":"hfss",
+            "positive":"up",
+            "standard_name":"surface_upward_sensible_heat_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"844.8",
+            "valid_min":"-264.5"
+        },
+        "href":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: href",
+            "type":"double",
+            "units":""
+        },
+        "hur":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The relative humidity with respect to liquid water for T> 0 C, and with respect to ice for T<0 C.",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Relative Humidity",
+            "ok_max_mean_abs":"97",
+            "ok_min_mean_abs":"-10.31",
+            "out_name":"hur",
+            "positive":"",
+            "standard_name":"relative_humidity",
+            "type":"real",
+            "units":"%",
+            "valid_max":"135.7",
+            "valid_min":"-2.642"
+        },
+        "hurs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The relative humidity with respect to liquid water for T> 0 C, and with respect to ice for T<0 C.",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Near-Surface Relative Humidity",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"hurs",
+            "positive":"",
+            "standard_name":"relative_humidity",
+            "type":"real",
+            "units":"%",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "hus":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Specific Humidity",
+            "ok_max_mean_abs":"0.01041",
+            "ok_min_mean_abs":"-0.0003539",
+            "out_name":"hus",
+            "positive":"",
+            "standard_name":"specific_humidity",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"0.02841",
+            "valid_min":"-0.000299"
+        },
+        "huss":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Near-surface (usually, 2 meter) specific humidity.",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Near-Surface Specific Humidity",
+            "ok_max_mean_abs":"0.008749",
+            "ok_min_mean_abs":"0.006391",
+            "out_name":"huss",
+            "positive":"",
+            "standard_name":"specific_humidity",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"0.02992",
+            "valid_min":"-7.21e-06"
+        },
+        "k_c":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: k_c",
+            "type":"integer",
+            "units":""
+        },
+        "mc":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The net mass flux should represent the difference between the updraft and downdraft components.  The flux is computed as the mass divided by the area of the grid cell.",
+            "dimensions":"longitude latitude alevhalf time",
+            "long_name":"Convective Mass Flux",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"mc",
+            "positive":"up",
+            "standard_name":"atmosphere_net_upward_convective_mass_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "n2o":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of N2O",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"n2o",
+            "positive":"",
+            "standard_name":"mole_fraction_of_nitrous_oxide_in_air",
+            "type":"real",
+            "units":"mol mol-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "n2oglobal":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"",
+            "comment":"Global mean Nitrous Oxide (N2O)",
+            "dimensions":"time2",
+            "long_name":"Global Mean Mole Fraction of N2O",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"n2oglobal",
+            "positive":"",
+            "standard_name":"mole_fraction_of_nitrous_oxide_in_air",
+            "type":"real",
+            "units":"1e-09",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "nsigma":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: nsigma",
+            "type":"integer",
+            "units":""
+        },
+        "orog":{
+            "cell_measures":"",
+            "cell_methods":"",
+            "comment":"The surface called 'surface' means the lower boundary of the atmosphere. Altitude is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.",
+            "dimensions":"longitude latitude",
+            "long_name":"Surface Altitude",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"orog",
+            "positive":"",
+            "standard_name":"surface_altitude",
+            "type":"real",
+            "units":"m",
+            "valid_max":"1.00E+04",
+            "valid_min":"-700"
+        },
+        "p0":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: reference pressure",
+            "type":"",
+            "units":"Pa"
+        },
+        "pfull":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"Air pressure on model levels",
+            "dimensions":"longitude latitude alevel time2",
+            "long_name":"Pressure on Model Levels",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"pfull",
+            "positive":"",
+            "standard_name":"air_pressure",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "phalf":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"Air pressure on model half-levels",
+            "dimensions":"longitude latitude alevhalf time2",
+            "long_name":"Pressure on Model Half-Levels",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"phalf",
+            "positive":"",
+            "standard_name":"air_pressure",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "pr":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"includes both liquid and solid phases",
+            "dimensions":"longitude latitude time",
+            "long_name":"Precipitation",
+            "ok_max_mean_abs":"3.215e-05",
+            "ok_min_mean_abs":"2.156e-05",
+            "out_name":"pr",
+            "positive":"",
+            "standard_name":"precipitation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.001254",
+            "valid_min":"0"
+        },
+        "prc":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Convective precipitation at surface; includes both liquid and solid phases.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Convective Precipitation",
+            "ok_max_mean_abs":"3.209e-05",
+            "ok_min_mean_abs":"-2.528e-06",
+            "out_name":"prc",
+            "positive":"",
+            "standard_name":"convective_precipitation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.0006323",
+            "valid_min":"0"
+        },
+        "prsn":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"at surface; includes precipitation of all forms of water in the solid phase",
+            "dimensions":"longitude latitude time",
+            "long_name":"Snowfall Flux",
+            "ok_max_mean_abs":"6.11e-06",
+            "ok_min_mean_abs":"1.449e-06",
+            "out_name":"prsn",
+            "positive":"",
+            "standard_name":"snowfall_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.0002987",
+            "valid_min":"0"
+        },
+        "prw":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"vertically integrated through the atmospheric column",
+            "dimensions":"longitude latitude time",
+            "long_name":"Water Vapor Path",
+            "ok_max_mean_abs":"23.09",
+            "ok_min_mean_abs":"12.75",
+            "out_name":"prw",
+            "positive":"",
+            "standard_name":"atmosphere_water_vapor_content",
+            "type":"real",
+            "units":"kg m-2",
+            "valid_max":"78.04",
+            "valid_min":"-0.0006775"
+        },
+        "ps":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"surface pressure (not mean sea-level pressure), 2-D field to calculate the 3-D pressure field from hybrid coordinates",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Air Pressure",
+            "ok_max_mean_abs":"1.019e+05",
+            "ok_min_mean_abs":"9.165e+04",
+            "out_name":"ps",
+            "positive":"",
+            "standard_name":"surface_air_pressure",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"1.119e+05",
+            "valid_min":"4.791e+04"
+        },
+        "psl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Sea Level Pressure",
+            "dimensions":"longitude latitude time",
+            "long_name":"Sea Level Pressure",
+            "ok_max_mean_abs":"1.063e+05",
+            "ok_min_mean_abs":"9.57e+04",
+            "out_name":"psl",
+            "positive":"",
+            "standard_name":"air_pressure_at_sea_level",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"1.137e+05",
+            "valid_min":"9.122e+04"
+        },
+        "ptop":{
+            "dimensions":"",
+            "long_name":"pressure at top of model",
+            "type":"",
+            "units":"Pa"
+        },
+        "rlds":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Longwave Radiation",
+            "ok_max_mean_abs":"323.6",
+            "ok_min_mean_abs":"271.2",
+            "out_name":"rlds",
+            "positive":"down",
+            "standard_name":"surface_downwelling_longwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"520.5",
+            "valid_min":"30.71"
+        },
+        "rldscs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Surface downwelling clear-sky longwave radiation",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Clear-Sky Longwave Radiation",
+            "ok_max_mean_abs":"293.8",
+            "ok_min_mean_abs":"238.6",
+            "out_name":"rldscs",
+            "positive":"down",
+            "standard_name":"surface_downwelling_longwave_flux_in_air_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"543.6",
+            "valid_min":"33.55"
+        },
+        "rlus":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upwelling Longwave Radiation",
+            "ok_max_mean_abs":"376.3",
+            "ok_min_mean_abs":"325.6",
+            "out_name":"rlus",
+            "positive":"up",
+            "standard_name":"surface_upwelling_longwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"658",
+            "valid_min":"43.75"
+        },
+        "rlut":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"at the top of the atmosphere (to be compared with satellite measurements)",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Longwave Radiation",
+            "ok_max_mean_abs":"234.4",
+            "ok_min_mean_abs":"207.4",
+            "out_name":"rlut",
+            "positive":"up",
+            "standard_name":"toa_outgoing_longwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"383.2",
+            "valid_min":"67.48"
+        },
+        "rlutcs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Clear-Sky Longwave Radiation",
+            "ok_max_mean_abs":"260.4",
+            "ok_min_mean_abs":"228.9",
+            "out_name":"rlutcs",
+            "positive":"up",
+            "standard_name":"toa_outgoing_longwave_flux_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"377.5",
+            "valid_min":"70.59"
+        },
+        "rsds":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"surface solar irradiance for UV calculations",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Shortwave Radiation",
+            "ok_max_mean_abs":"181.6",
+            "ok_min_mean_abs":"143.9",
+            "out_name":"rsds",
+            "positive":"down",
+            "standard_name":"surface_downwelling_shortwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"524.4",
+            "valid_min":"-0.002946"
+        },
+        "rsdscs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"surface solar irradiance clear sky for UV calculations",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downwelling Clear-Sky Shortwave Radiation",
+            "ok_max_mean_abs":"239",
+            "ok_min_mean_abs":"206.9",
+            "out_name":"rsdscs",
+            "positive":"down",
+            "standard_name":"surface_downwelling_shortwave_flux_in_air_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"522.4",
+            "valid_min":"-1.748e+30"
+        },
+        "rsdt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Shortwave radiation incident at the top of the atmosphere",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Incident Shortwave Radiation",
+            "ok_max_mean_abs":"315.8",
+            "ok_min_mean_abs":"282.6",
+            "out_name":"rsdt",
+            "positive":"down",
+            "standard_name":"toa_incoming_shortwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"580.4",
+            "valid_min":"0"
+        },
+        "rsus":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upwelling Shortwave Radiation",
+            "ok_max_mean_abs":"43.77",
+            "ok_min_mean_abs":"26.22",
+            "out_name":"rsus",
+            "positive":"up",
+            "standard_name":"surface_upwelling_shortwave_flux_in_air",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"422.2",
+            "valid_min":"-0.006589"
+        },
+        "rsuscs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Surface upwelling clear-sky shortwave radiation",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Upwelling Clear-Sky Shortwave Radiation",
+            "ok_max_mean_abs":"61.59",
+            "ok_min_mean_abs":"31.65",
+            "out_name":"rsuscs",
+            "positive":"up",
+            "standard_name":"surface_upwelling_shortwave_flux_in_air_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"462.2",
+            "valid_min":"-0.01446"
+        },
+        "rsut":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"at the top of the atmosphere",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Shortwave Radiation",
+            "ok_max_mean_abs":"114.1",
+            "ok_min_mean_abs":"96.72",
+            "out_name":"rsut",
+            "positive":"up",
+            "standard_name":"toa_outgoing_shortwave_flux",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"421.9",
+            "valid_min":"-0.02689"
+        },
+        "rsutcs":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude time",
+            "long_name":"TOA Outgoing Clear-Sky Shortwave Radiation",
+            "ok_max_mean_abs":"73.36",
+            "ok_min_mean_abs":"54.7",
+            "out_name":"rsutcs",
+            "positive":"up",
+            "standard_name":"toa_outgoing_shortwave_flux_assuming_clear_sky",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"444",
+            "valid_min":"0"
+        },
+        "rtmt":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Net Downward Radiative Flux at Top of Model : I.e., at the top of that portion of the atmosphere where dynamics are explicitly treated by the model. This is reported only if it differs from the net downward radiative flux at the top of the atmosphere.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Net Downward Flux at Top of Model",
+            "ok_max_mean_abs":"89.25",
+            "ok_min_mean_abs":"76.91",
+            "out_name":"rtmt",
+            "positive":"down",
+            "standard_name":"net_downward_radiative_flux_at_top_of_atmosphere_model",
+            "type":"real",
+            "units":"W m-2",
+            "valid_max":"218.7",
+            "valid_min":"-232.8"
+        },
+        "sbl":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"The snow and ice sublimation flux is the loss of snow and ice mass per unit area from the surface resulting from their direct conversion to water vapor that enters the atmosphere.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Snow and Ice Sublimation Flux",
+            "ok_max_mean_abs":"9.61e-05",
+            "ok_min_mean_abs":"-5.521e-05",
+            "out_name":"sbl",
+            "positive":"",
+            "standard_name":"surface_snow_and_ice_sublimation_flux",
+            "type":"real",
+            "units":"kg m-2 s-1",
+            "valid_max":"0.0009936",
+            "valid_min":"-0.004959"
+        },
+        "sci":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Fraction of time that shallow convection occurs in the grid cell.",
+            "dimensions":"longitude latitude time",
+            "long_name":"Fraction of Time Shallow Convection Occurs",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sci",
+            "positive":"",
+            "standard_name":"shallow_convection_time_fraction",
+            "type":"real",
+            "units":"1.0",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sfcWind":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"near-surface (usually, 10 meters) wind speed.",
+            "dimensions":"longitude latitude time height10m",
+            "long_name":"Near-Surface Wind Speed",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"sfcWind",
+            "positive":"",
+            "standard_name":"wind_speed",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "sigma":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k)",
+            "type":"double",
+            "units":""
+        },
+        "sigma_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: sigma(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ta":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Air Temperature",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Air Temperature",
+            "ok_max_mean_abs":"299.8",
+            "ok_min_mean_abs":"194.3",
+            "out_name":"ta",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"336.3",
+            "valid_min":"157.1"
+        },
+        "tas":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"near-surface (usually, 2 meter) air temperature",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Near-Surface Air Temperature",
+            "ok_max_mean_abs":"293",
+            "ok_min_mean_abs":"262.4",
+            "out_name":"tas",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"335.1",
+            "valid_min":"180.6"
+        },
+        "tasmax":{
+            "cell_measures":"time: maximum within days time: mean over days",
+            "cell_methods":"area: areacella",
+            "comment":"maximum near-surface (usually, 2 meter) air temperature (add cell_method attribute 'time: max')",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Daily Maximum Near-Surface Air Temperature",
+            "ok_max_mean_abs":"294",
+            "ok_min_mean_abs":"264.9",
+            "out_name":"tasmax",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"341.9",
+            "valid_min":"181.9"
+        },
+        "tasmin":{
+            "cell_measures":"time: minimum within days time: mean over days",
+            "cell_methods":"area: areacella",
+            "comment":"minimum near-surface (usually, 2 meter) air temperature (add cell_method attribute 'time: min')",
+            "dimensions":"longitude latitude time height2m",
+            "long_name":"Daily Minimum Near-Surface Air Temperature",
+            "ok_max_mean_abs":"290.6",
+            "ok_min_mean_abs":"260.9",
+            "out_name":"tasmin",
+            "positive":"",
+            "standard_name":"air_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"323",
+            "valid_min":"182.8"
+        },
+        "tauu":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Downward eastward wind stress at the surface",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Eastward Wind Stress",
+            "ok_max_mean_abs":"0.1065",
+            "ok_min_mean_abs":"0.03979",
+            "out_name":"tauu",
+            "positive":"down",
+            "standard_name":"surface_downward_eastward_stress",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"2.934",
+            "valid_min":"-2.729"
+        },
+        "tauv":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Downward northward wind stress at the surface",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Downward Northward Wind Stress",
+            "ok_max_mean_abs":"0.08134",
+            "ok_min_mean_abs":"0.01447",
+            "out_name":"tauv",
+            "positive":"down",
+            "standard_name":"surface_downward_northward_stress",
+            "type":"real",
+            "units":"Pa",
+            "valid_max":"2.527",
+            "valid_min":"-2.472"
+        },
+        "tro3":{
+            "cell_measures":"time: mean within years time: mean over years",
+            "cell_methods":"area: areacella",
+            "comment":"Mole fraction of ozone (O3)",
+            "dimensions":"longitude latitude plev19 time2",
+            "long_name":"Mole Fraction of O3",
+            "ok_max_mean_abs":"",
+            "ok_min_mean_abs":"",
+            "out_name":"tro3",
+            "positive":"",
+            "standard_name":"mole_fraction_of_ozone_in_air",
+            "type":"real",
+            "units":"1e-09",
+            "valid_max":"",
+            "valid_min":""
+        },
+        "ts":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Temperature of the lower boundary of the atmosphere",
+            "dimensions":"longitude latitude time",
+            "long_name":"Surface Temperature",
+            "ok_max_mean_abs":"293.3",
+            "ok_min_mean_abs":"262.8",
+            "out_name":"ts",
+            "positive":"",
+            "standard_name":"surface_temperature",
+            "type":"real",
+            "units":"K",
+            "valid_max":"339.6",
+            "valid_min":"176.8"
+        },
+        "ua":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Eastward Wind",
+            "ok_max_mean_abs":"22.42",
+            "ok_min_mean_abs":"1.101",
+            "out_name":"ua",
+            "positive":"",
+            "standard_name":"eastward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"136.6",
+            "valid_min":"-68.65"
+        },
+        "uas":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Eastward component of the near-surface (usually, 10 meters)  wind",
+            "dimensions":"longitude latitude time height10m",
+            "long_name":"Eastward Near-Surface Wind",
+            "ok_max_mean_abs":"4.106",
+            "ok_min_mean_abs":"1.668",
+            "out_name":"uas",
+            "positive":"",
+            "standard_name":"eastward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"18.68",
+            "valid_min":"-19.01"
+        },
+        "va":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Northward Wind",
+            "ok_max_mean_abs":"4.679",
+            "ok_min_mean_abs":"0.9886",
+            "out_name":"va",
+            "positive":"",
+            "standard_name":"northward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"69.93",
+            "valid_min":"-71.1"
+        },
+        "vas":{
+            "cell_measures":"time: mean",
+            "cell_methods":"",
+            "comment":"Northward component of the near surface wind",
+            "dimensions":"longitude latitude time height10m",
+            "long_name":"Northward Near-Surface Wind",
+            "ok_max_mean_abs":"2.678",
+            "ok_min_mean_abs":"1.065",
+            "out_name":"vas",
+            "positive":"",
+            "standard_name":"northward_wind",
+            "type":"real",
+            "units":"m s-1",
+            "valid_max":"22.84",
+            "valid_min":"-18.04"
+        },
+        "wap":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"Omega (vertical velocity in pressure coordinates, positive downwards)",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"omega (=dp/dt)",
+            "ok_max_mean_abs":"0.04256",
+            "ok_min_mean_abs":"-0.005083",
+            "out_name":"wap",
+            "positive":"",
+            "standard_name":"lagrangian_tendency_of_air_pressure",
+            "type":"real",
+            "units":"Pa s-1",
+            "valid_max":"2.319",
+            "valid_min":"-1.126"
+        },
+        "z1":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z1",
+            "type":"double",
+            "units":""
+        },
+        "z2":{
+            "dimensions":"",
+            "long_name":"vertical coordinate formula term: z2",
+            "type":"double",
+            "units":""
+        },
+        "zg":{
+            "cell_measures":"time: mean",
+            "cell_methods":"area: areacella",
+            "comment":"",
+            "dimensions":"longitude latitude plev19 time",
+            "long_name":"Geopotential Height",
+            "ok_max_mean_abs":"3.299e+04",
+            "ok_min_mean_abs":"-113.4",
+            "out_name":"zg",
+            "positive":"",
+            "standard_name":"geopotential_height",
+            "type":"real",
+            "units":"m",
+            "valid_max":"3.437e+04",
+            "valid_min":"-719.7"
+        },
+        "zlev":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k)",
+            "type":"double",
+            "units":""
+        },
+        "zlev_bnds":{
+            "dimensions":"olevel",
+            "long_name":"vertical coordinate formula term: zlev(k+1/2)",
+            "type":"double",
+            "units":""
+        },
+        "ztop":{
+            "dimensions":"",
+            "long_name":"height of top of model",
+            "type":"",
+            "units":"m"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/demo1/obs4MIPs_CMOR_tables/obs4MIPs_CV.json b/obs4MIPs-cmor-tables/demo1/obs4MIPs_CMOR_tables/obs4MIPs_CV.json
new file mode 100644
index 0000000..60e5150
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo1/obs4MIPs_CMOR_tables/obs4MIPs_CV.json
@@ -0,0 +1,117 @@
+{
+    "CV":{
+        "frequency":[
+            "3hr",
+            "3hrClim",
+            "6hr",
+            "day",
+            "decadal",
+            "fx",
+            "mon",
+            "monClim",
+            "subhr",
+            "yr"
+        ],
+        "grid_labels":{
+            "gn":[
+                "10 km",
+                "100 km",
+                "1000 km",
+                "10000 km",
+                "1x1 degree",
+                "25 km",
+                "250 km",
+                "2500 km",
+                "5 km",
+                "50 km",
+                "500 km",
+                "5000 km"
+            ],
+            "gr":[
+                "10 km",
+                "100 km",
+                "1000 km",
+                "10000 km",
+                "1x1 degree",
+                "25 km",
+                "250 km",
+                "2500 km",
+                "5 km",
+                "50 km",
+                "500 km",
+                "5000 km"
+            ],
+            "gr1":{},
+            "gr2":{},
+            "gr3":{},
+            "gr4":{},
+            "gr5":{},
+            "gr6":{},
+            "gr7":{},
+            "gr8":{},
+            "gr9":{},
+            "gs1x1":{
+                "grid_resolution":"1x1 degree"
+            },
+            "gs1x1 gn":{
+                "grid_resolution":"1x1 degree"
+            },
+            "gs1x1 gr":{
+                "grid_resolution":"1x1 degree"
+            }
+        },
+        "institution_ids":{
+            "JPL":"Jet Propulsion Laboratory, Pasadena, CA 91109, USA",
+            "NOAA-NCEI":"NOAA's National Centers for Environmental Information, Asheville, NC 28801, USA",
+            "PCMDI":"Program for Climate Model Diagnosis and Intercomparison, Lawrence Livermore National Laboratory, Livermore, CA 94550, USA",
+            "RSS":"Remote Sensing Systems, Santa Rosa, CA 95401, USA"
+        },
+        "mip_era":[
+            "CMIP6"
+        ],
+        "product":[
+            "composite",
+            "remote-sensed",
+            "satellite",
+            "surface-gridded-insitu",
+            "surface-radar"
+        ],
+        "realm":[
+            "aerosol",
+            "atmos",
+            "atmosChem",
+            "land",
+            "landIce",
+            "ocean",
+            "ocnBgchem",
+            "seaIce"
+        ],
+        "required_global_attributes":[
+            "activity_id",
+            "Conventions",
+            "creation_date",
+            "dataset_version_number",
+            "further_info_url",
+            "frequency",
+            "grid",
+            "grid_label",
+            "grid_resolution",
+            "institution_id",
+            "license",
+            "mip_era",
+            "product",
+            "realm",
+            "source_id",
+            "table_id",
+            "tracking_id",
+            "variable_id"
+        ],
+        "table_id":[
+            "Amon",
+            "Lmon",
+            "Omon",
+            "SImon",
+            "fx"
+        ]
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/demo1/prw_rss_mo_input.json b/obs4MIPs-cmor-tables/demo1/prw_rss_mo_input.json
new file mode 100644
index 0000000..5c64563
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo1/prw_rss_mo_input.json
@@ -0,0 +1,30 @@
+{
+    "_control_vocabulary_file":     "obs4MIPs_CV.json",
+    "activity_id":                  "obs4MIPs",
+    "calendar":                     "gregorian",
+
+    "data_structure":               "grid",
+    "dataset_version_number":       "1.1.0",
+    "frequency":                    "mon",
+    "grid":                         "2.5x2.5 degree latitude x longitude",
+    "grid_label":                   "gs1x1 gr",   
+    "grid_resolution":              "1x1 degree",
+    "product":                      "satellite",
+    "realm":                        "atm",
+
+    "comment":                      "",
+    "contact":                     "PCMDI (pcmdi-cmip at llnl.gov) ",
+    "further_info_url":             "http://www-pcmdi.llnl.gov/projects/amip/AMIP2EXPDSN/BCS/amip2bcs.php",
+    "institution_id":               "RSS",
+    "institution":                  "Remote Sensing Systems",
+    "references":                   "",
+    "source":                       "Program for Climate Model Diagnosis and Intercomparison (PCMDI)",
+    "source_id":                    "PCMDI",
+    "title":                        "Dataset prepared for PCMDI Metrics Package (PMP) observational database PMPobsv1.1",
+
+    "outpath":                      "./testout-demo1/",
+    "output_path_template":         "<activity_id><realm><frequency><variable_id><product><source_id><grid_label><version>",
+    "output_file_template":         "<variable_id><table><product><source_id><grid_label>",
+
+    "license":                      "Testing 123"
+}
diff --git a/obs4MIPs-cmor-tables/demo1/read_json_fcns.py b/obs4MIPs-cmor-tables/demo1/read_json_fcns.py
new file mode 100755
index 0000000..07ab6b2
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo1/read_json_fcns.py
@@ -0,0 +1,49 @@
+# Loop through input tables
+def readJsonCreateDict(buildList):
+    '''
+    Documentation for readJsonCreateDict(buildList):
+    -------
+    The readJsonCreateDict() function reads web-based json files and writes
+    their contents to a dictionary in memory
+
+    Author: Paul J. Durack : pauldurack at llnl.gov
+
+    Usage:
+    ------
+        >>> from runCMOR3 import readJsonCreateDict
+        >>> readJsonCreateDict(['Omon','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/Tables/obs4MIPs_Omon.json'])
+
+    Notes:
+    -----
+        ...
+    '''
+    # Test for list input of length == 2
+    if len(buildList[0]) != 2:
+        print 'Invalid inputs, exiting..'
+        sys.exit()
+    # Create urllib2 context to deal with lab/LLNL web certificates
+    ctx                 = ssl.create_default_context()
+    ctx.check_hostname  = False
+    ctx.verify_mode     = ssl.CERT_NONE
+    # Iterate through buildList and write results to jsonDict
+    jsonDict = {}       
+    for count,table in enumerate(buildList):
+        print 'Processing:',table[0]
+        # Read web file
+        jsonOutput = urllib2.urlopen(table[1], context=ctx)
+        tmp = jsonOutput.read()
+        vars()[table[0]] = tmp
+        jsonOutput.close()
+        # Write local json
+        tmpFile = open('tmp.json','w')
+        tmpFile.write(eval(table[0]))
+        tmpFile.close()
+        # Read local json
+        vars()[table[0]] = json.load(open('tmp.json','r'))
+        os.remove('tmp.json')
+        jsonDict[table[0]] = eval(table[0]) ; # Write to dictionary
+    
+    return jsonDict
+
+
+
diff --git a/obs4MIPs-cmor-tables/demo1/rss_prw_run_cmor_demo.py b/obs4MIPs-cmor-tables/demo1/rss_prw_run_cmor_demo.py
new file mode 100644
index 0000000..a30804a
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo1/rss_prw_run_cmor_demo.py
@@ -0,0 +1,67 @@
+import cmor
+import cdms2 as cdm
+import numpy as np
+import pdb
+import sys
+import argparse
+import MV2
+
+inp = '../Tables'
+#inp = '.'
+input_json = './prw_rss_mo_input.json' 
+input_data_path = '/clim_obs/orig/data/RSS/rss_ssmi_pw_v06.6-demo.nc' 
+input_var_name = 'prw'
+cmor_table = './obs4MIPs_CMOR_tables/obs4MIPs_Amon.json' 
+#cmor_table = 'obs4MIPs_Amon.json'
+output_units = 'kg m-2'
+output_var_name = 'prw'
+
+### BETTER IF THE USER DOES NOT HAVE TO CHANGE ANYTHING BELOW THIS LINE... 
+ 
+#%% Process variable (with time axis)
+cmor.setup(inpath=inp,netcdf_file_action=cmor.CMOR_REPLACE_4)
+#cmor.dataset_json('./drive_obs4MIPs.json') ; # Update contents of this file to set your global_attributes
+cmor.dataset_json(input_json) ; # Update contents of this file to set your global_attributes
+
+f       = cdm.open(input_data_path)
+d       = f(input_var_name)
+lat     = d.getLatitude()
+lon     = d.getLongitude()
+time    = d.getTime()
+time   = d.getAxis(0)
+time.axis = 'T'
+
+#cmor.set_cur_dataset_attribute('history',f.history) ; # Force local file attribute as history
+#table   = '../obs4MIPs_Omon_composite.json' ; # Amon,Lmon,Omon,SImon
+table   = cmor_table ; # Amon,Lmon,Omon,SImon
+
+obs4MIPsAmonID = cmor.load_table(table) ; # Load target table (above), axis info (coordinates, grid*) and CVs
+axes    = [ {'table_entry': 'time',
+             'units': time.units,   #'days since 1870-01-01',
+             },
+             {'table_entry': 'latitude',
+              'units': 'degrees_north',
+              'coord_vals': lat[:],
+              'cell_bounds': lat.getBounds()},
+             {'table_entry': 'longitude',
+              'units': 'degrees_east',
+              'coord_vals': lon[:],
+              'cell_bounds': lon.getBounds()},
+          ]
+axis_ids = list()
+for axis in axes:
+    axis_id = cmor.axis(**axis)
+    axis_ids.append(axis_id)
+
+#pdb.set_trace()
+
+d.units = output_units 
+varid   = cmor.variable(output_var_name,d.units,axis_ids,missing_value=d.missing)
+values  = np.array(d[:],np.float32)
+cdm.setAutoBounds('on')   # PJG  CAUTION WITH THIS ONE! 
+
+cmor.set_deflate(varid,1,1,1) ; # shuffle=1,deflate=1,deflate_level=1 ; CMOR 3.0.6+
+cmor.write(varid,values,time_vals=time[:],time_bnds=time.getBounds()) ; # Write variable with time axis
+f.close()
+cmor.close()
+
diff --git a/obs4MIPs-cmor-tables/demo1/rss_ssmi_pw_v06.6-demo.nc b/obs4MIPs-cmor-tables/demo1/rss_ssmi_pw_v06.6-demo.nc
new file mode 100644
index 0000000..8d7af9c
Binary files /dev/null and b/obs4MIPs-cmor-tables/demo1/rss_ssmi_pw_v06.6-demo.nc differ
diff --git a/obs4MIPs-cmor-tables/demo1/update_obs4mips_CMOR3_CV.py b/obs4MIPs-cmor-tables/demo1/update_obs4mips_CMOR3_CV.py
new file mode 100755
index 0000000..a7d2ec0
--- /dev/null
+++ b/obs4MIPs-cmor-tables/demo1/update_obs4mips_CMOR3_CV.py
@@ -0,0 +1,152 @@
+#!/usr/bin/env python2
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jul 18 13:49:08 2016
+
+This script generates all json files required to run obs4MIPs data creation and
+then calls cmor3 to generate two example files.
+
+The file is split into 3 sections:
+    1 - creates controlled vocabulary (CV) json inputs for CMOR3
+    2 - creates an Omon (ocean monthly) json input for generating a 'tos'
+        variable from a CF-compliant input
+    3 - creates an fx (fixed field) json input for generating an 'areacello'
+        variable from a CF-compliant input
+
+PJD 20 Jul 2016     - Removed source_id
+PJD 20 Jul 2016     - Further tweaks to enhance readability
+                    - TODO:
+
+ at author: durack1
+"""
+
+#%% Import statements
+import cmor,gc,json,os,ssl,sys,urllib2
+import cdms2 as cdm
+import numpy as np
+
+#%% Set local path
+homePath = os.path.join('/','/'.join(os.path.realpath(__file__).split('/')[0:-1])) ; # Extract path from executing file
+#homePath = '/export/durack1/git/obs4MIPs-cmor-tables/' ; # Hard code path
+#homePath = '/sync/git/obs4MIPs-cmor-tables/demo' ; # Hard code path
+os.chdir(homePath)
+
+#%% Function definitions
+
+# Loop through input tables
+def readJsonCreateDict(buildList):
+    '''
+    Documentation for readJsonCreateDict(buildList):
+    -------
+    The readJsonCreateDict() function reads web-based json files and writes
+    their contents to a dictionary in memory
+
+    Author: Paul J. Durack : pauldurack at llnl.gov
+
+    Usage:
+    ------
+        >>> from runCMOR3 import readJsonCreateDict
+        >>> readJsonCreateDict(['Omon','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/Tables/obs4MIPs_Omon.json'])
+
+    Notes:
+    -----
+        ...
+    '''
+    # Test for list input of length == 2
+    if len(buildList[0]) != 2:
+        print 'Invalid inputs, exiting..'
+        sys.exit()
+    # Create urllib2 context to deal with lab/LLNL web certificates
+    ctx                 = ssl.create_default_context()
+    ctx.check_hostname  = False
+    ctx.verify_mode     = ssl.CERT_NONE
+    # Iterate through buildList and write results to jsonDict
+    jsonDict = {}       
+    for count,table in enumerate(buildList):
+        print 'Processing:',table[0]
+        # Read web file
+        jsonOutput = urllib2.urlopen(table[1], context=ctx)
+        tmp = jsonOutput.read()
+        vars()[table[0]] = tmp
+        jsonOutput.close()
+        # Write local json
+        tmpFile = open('tmp.json','w')
+        tmpFile.write(eval(table[0]))
+        tmpFile.close()
+        # Read local json
+        vars()[table[0]] = json.load(open('tmp.json','r'))
+        os.remove('tmp.json')
+        jsonDict[table[0]] = eval(table[0]) ; # Write to dictionary
+    
+    return jsonDict
+
+#%% SECTION 1 - Integrate all controlled vocabularies (CVs) into master file - create obs4MIPs_CV.json
+jsonCVs = 'obs4MIPs_CV.json'
+buildList = [
+ ['frequency','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_frequency.json'],
+ ['grid_label','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_grid_label.json'],
+ ['grid_resolution','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_grid_resolution.json'],
+ ['grid','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_grid.json'],
+ ['institution_id','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_institution_id.json'],
+ ['mip_era','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_mip_era.json'],
+ ['product','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_product.json'],
+ ['realm','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_realm.json'],
+ ['required_global_attributes','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_required_global_attributes.json'],
+ ['table_id','https://raw.githubusercontent.com/PCMDI/obs4MIPs-cmor-tables/master/obs4MIPs_table_id.json'],
+ ] ;
+
+# Loop through buildList and create output tables
+tmp = readJsonCreateDict(buildList)
+for count,table in enumerate(tmp.keys()):
+	vars()[table] = tmp[table].get(table)
+#	if table == 'coordinate':
+#		vars()[table] = tmp[table].get(table)
+#	else:
+#		vars()[table] = tmp[table]
+del(tmp,count,table) ; gc.collect()
+
+# Rebuild grid_labels
+grid_labels = {}
+grid_labels['gs1x1'] = { "grid_resolution":"1x1 degree" }
+grid_labels['gs1x1 gn'] = { "grid_resolution":"1x1 degree" }
+grid_labels['gs1x1 gr'] = { "grid_resolution":"1x1 degree" }
+for count,grid in enumerate(grid_label):
+    if count < 2:
+        grid_labels[grid] = grid_resolution
+    else:
+        grid_labels[grid] = {}
+
+# Rebuild
+obs4MIPs_CV = {}
+obs4MIPs_CV['CV'] = {}
+obs4MIPs_CV['CV']['grid_labels'] = grid_labels
+for count,CV in enumerate(buildList):
+    CVName1 = CV[0]
+    if CVName1 in ['grid','grid_label','grid_resolution']:
+        continue ; # Exclude
+    if CVName1 == 'coordinate':
+        CVName2 = CVName1
+        CVName1 = 'axis_entry'
+    elif CVName1 == 'institution_id':
+        CVName2 = CVName1
+        CVName1 = 'institution_ids'
+    elif CVName1 == 'source_id':
+        CVName2 = CVName1
+        CVName1 = 'source_ids'
+    else:
+        CVName2 = CVName1
+    obs4MIPs_CV['CV'][CVName1] = eval(CVName2)
+
+try:
+  os.mkdir('obs4MIPs_CMOR_tables')
+except:
+  pass
+
+outFile = 'obs4MIPs_CMOR_tables/obs4MIPs_CV.json'
+# Check file exists
+if os.path.exists(outFile):
+    print 'File existing, purging:',outFile
+    os.remove(outFile)
+fH = open(outFile,'w')
+json.dump(obs4MIPs_CV,fH,ensure_ascii=True,sort_keys=True,indent=4,separators=(',',':'),encoding="utf-8")
+fH.close()
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_coordinate.json b/obs4MIPs-cmor-tables/obs4MIPs_coordinate.json
new file mode 100644
index 0000000..bccf0af
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_coordinate.json
@@ -0,0 +1,2235 @@
+{
+    "coordinate":{
+        "alt16":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"MISR vertical coordinate heights",
+            "must_have_bounds":"yes",
+            "out_name":"alt16",
+            "positive":"up",
+            "requested":[
+                0.0,
+                250.0,
+                750.0,
+                1250.0,
+                1750.0,
+                2250.0,
+                2750.0,
+                3500.0,
+                4500.0,
+                6000.0,
+                8000.0,
+                10000.0,
+                12000.0,
+                14500.0,
+                16000.0,
+                18000.0
+            ],
+            "requested_bounds":[
+                -99000.0,
+                0.0,
+                0.0,
+                500.0,
+                500.0,
+                1000.0,
+                1000.0,
+                1500.0,
+                1500.0,
+                2000.0,
+                2000.0,
+                2500.0,
+                2500.0,
+                3000.0,
+                3000.0,
+                4000.0,
+                4000.0,
+                5000.0,
+                5000.0,
+                7000.0,
+                7000.0,
+                9000.0,
+                9000.0,
+                11000.0,
+                11000.0,
+                13000.0,
+                13000.0,
+                15000.0,
+                15000.0,
+                17000.0,
+                17000.0,
+                99000.0
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alt40":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"altitude",
+            "must_have_bounds":"yes",
+            "out_name":"alt40",
+            "positive":"up",
+            "requested":[
+                "240.",
+                "720.",
+                "1200.",
+                "1680.",
+                "2160.",
+                "2640.",
+                "3120.",
+                "3600.",
+                "4080.",
+                "4560.",
+                "5040.",
+                "5520.",
+                "6000.",
+                "6480.",
+                "6960.",
+                "7440.",
+                "7920.",
+                "8400.",
+                "8880.",
+                "9360.",
+                "9840.",
+                "10320.",
+                "10800.",
+                "11280.",
+                "11760.",
+                "12240.",
+                "12720.",
+                "13200.",
+                "13680.",
+                "14160.",
+                "14640.",
+                "15120.",
+                "15600.",
+                "16080.",
+                "16560.",
+                "17040.",
+                "17520.",
+                "18000.",
+                "18480.",
+                "18960."
+            ],
+            "requested_bounds":[
+                "0.",
+                "480.",
+                "480.",
+                "960.",
+                "960.",
+                "1440.",
+                "1440.",
+                "1920.",
+                "1920.",
+                "2400.",
+                "2400.",
+                "2880.",
+                "2880.",
+                "3360.",
+                "3360.",
+                "3840.",
+                "3840.",
+                "4320.",
+                "4320.",
+                "4800.",
+                "4800.",
+                "5280.",
+                "5280.",
+                "5760.",
+                "5760.",
+                "6240.",
+                "6240.",
+                "6720.",
+                "6720.",
+                "7200.",
+                "7200.",
+                "7680.",
+                "7680.",
+                "8160.",
+                "8160.",
+                "8640.",
+                "8640.",
+                "9120.",
+                "9120.",
+                "9600.",
+                "9600.",
+                "10080.",
+                "10080.",
+                "10560.",
+                "10560.",
+                "11040.",
+                "11040.",
+                "11520.",
+                "11520.",
+                "12000.",
+                "12000.",
+                "12480.",
+                "12480.",
+                "12960.",
+                "12960.",
+                "13440.",
+                "13440.",
+                "13920.",
+                "13920.",
+                "14400.",
+                "14400.",
+                "14880.",
+                "14880.",
+                "15360.",
+                "15360.",
+                "15840.",
+                "15840.",
+                "16320.",
+                "16320.",
+                "16800.",
+                "16800.",
+                "17280.",
+                "17280.",
+                "17760.",
+                "17760.",
+                "18240.",
+                "18240.",
+                "18720.",
+                "18720.",
+                "19200."
+            ],
+            "standard_name":"altitude",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "alternate_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ap and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ap: ap_bnds b: b_bnds ps: ps",
+            "z_factors":"ap: ap b: b ps: ps"
+        },
+        "basin":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean basin",
+            "must_have_bounds":"no",
+            "out_name":"basin",
+            "positive":"",
+            "requested":[
+                "atlantic_arctic_ocean",
+                "indian_pacific_ocean",
+                "global_ocean"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "dbze":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"CloudSat simulator equivalent radar reflectivity factor",
+            "must_have_bounds":"yes",
+            "out_name":"dbze",
+            "positive":"",
+            "requested":[
+                "-47.5",
+                "-42.5",
+                "-37.5",
+                "-32.5",
+                "-27.5",
+                "-22.5",
+                "-17.5",
+                "-12.5",
+                "-7.5",
+                "-2.5",
+                "2.5",
+                "7.5",
+                "12.5",
+                "17.5",
+                "22.5"
+            ],
+            "requested_bounds":[
+                "-50",
+                "-45",
+                "-45",
+                "-40",
+                "-40",
+                "-35",
+                "-35",
+                "-30",
+                "-30",
+                "-25",
+                "-25",
+                "-20",
+                "-20",
+                "-15",
+                "-15",
+                "-10",
+                "-10",
+                "-5",
+                "-5",
+                "0",
+                "0",
+                "5",
+                "5",
+                "10",
+                "10",
+                "15",
+                "15",
+                "20",
+                "20",
+                "25."
+            ],
+            "standard_name":"equivalent_reflectivity_factor",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"dBZ",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth0m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"0.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth100m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"120.0",
+            "valid_min":"80.0",
+            "value":"100.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth2000m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 2000 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"2000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth300m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 300 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"300",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth700m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"coordinate value for 700 m ocean depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"700",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "depth_coord":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean depth coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"12000.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadIc":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Ice Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadIc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "effectRadLi":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Effective Radius of Liquid Aerosols",
+            "must_have_bounds":"",
+            "out_name":"effectRadLi",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height10m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"30.0",
+            "valid_min":"1.0",
+            "value":"10.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "height2m":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"height",
+            "must_have_bounds":"no",
+            "out_name":"height",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"height",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"10.0",
+            "valid_min":"1.0",
+            "value":"2.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "hybrid_height":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a and b*orog",
+            "long_name":"hybrid height coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_height_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"a: lev_bnds b: b_bnds orog: orog",
+            "z_factors":"a: lev b: b orog: orog"
+        },
+        "iceband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Ice depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"iceband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"sea_ice_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "latitude":{
+            "axis":"Y",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"latitude",
+            "must_have_bounds":"yes",
+            "out_name":"lat",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"latitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_north",
+            "valid_max":"90.0",
+            "valid_min":"-90.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "location":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"location index",
+            "must_have_bounds":"no",
+            "out_name":"loc",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "longitude":{
+            "axis":"X",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"longitude",
+            "must_have_bounds":"yes",
+            "out_name":"lon",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"longitude",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"degrees_east",
+            "valid_max":"360.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "misrBands":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band of MISR",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "natural_log_pressure":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = p0 * exp(-lev)",
+            "long_name":"atmosphere natural log pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_ln_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"20.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 lev: lev_bnds",
+            "z_factors":"p0: p0 lev: lev"
+        },
+        "ocean_double_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= k_c:\n z(k,j,i)= sigma(k)*f(j,i) \n for k > k_c:\n z(k,j,i)= f(j,i) and (sigma(k)-1)*(depth(j,i)-f(j,i)) \n f(j,i)= 0.5*(z1+ z2) and 0.5*(z1-z2)* tanh(2*a/(z1-z2)*(depth(j,i)-href))",
+            "long_name":"ocean double sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_double_sigma",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds depth: depth z1: z1 z2: z2 a: a href: href k_c: k_c",
+            "z_factors":"sigma: sigma depth: depth z1: z1 z2: z2 a: a_coeff href: href k_c: k_c"
+        },
+        "ocean_s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i)*(1+s(k)) and depth_c*s(k) and (depth(j,i)-depth_c)*C(k) \n where \n C(k)=(1-b)*sinh(a*s(k))/sinh(a) +\n   b*(tanh(a*(s(k)+0.5))/(2*tanh(0.5*a)) - 0.5)",
+            "long_name":"ocean s-coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_s_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"s: lev_bnds eta: eta depth: depth a: a b: b depth_c: depth_c",
+            "z_factors":"s: lev eta: eta depth: depth a: a_coeff b: b_coeff depth_c: depth_c"
+        },
+        "ocean_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z(n,k,j,i) = eta(n,j,i) and sigma(k)*(depth(j,i)+eta(n,j,i))",
+            "long_name":"ocean sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"0.0",
+            "valid_min":"-1.0",
+            "value":"",
+            "z_bounds_factors":"sigma: lev_bnds eta: eta depth: depth",
+            "z_factors":"sigma: lev eta: eta depth: depth"
+        },
+        "ocean_sigma_z":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"for k <= nsigma: z(n,k,j,i) = eta(n,j,i) and sigma(k)*(min(depth_c,depth(j,i))+eta(n,j,i)) ; for k > nsigma: z(n,k,j,i) = zlev(k)",
+            "long_name":"ocean sigma over z coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"ocean_sigma_z",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"sigma: sigma_bnds eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev_bnds",
+            "z_factors":"sigma: sigma eta: eta depth: depth depth_c: depth_c nsigma: nsigma zlev: zlev"
+        },
+        "olayer100m":{
+            "axis":"Z",
+            "bounds_values":"0. 100",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"no",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"100.0",
+            "valid_min":"0.0",
+            "value":"50.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "oline":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"ocean passage",
+            "must_have_bounds":"no",
+            "out_name":"line",
+            "positive":"",
+            "requested":[
+                "barents_opening",
+                "bering_strait",
+                "canadian_archipelago",
+                "denmark_strait",
+                "drake_passage",
+                "english_channel",
+                "pacific_equatorial_undercurrent",
+                "faroe_scotland_channel",
+                "florida_bahamas_strait",
+                "fram_strait",
+                "iceland_faroe_channel",
+                "indonesian_thoughflow",
+                "mozambique_channel",
+                "taiwan_luzon_straits",
+                "windward_passage"
+            ],
+            "requested_bounds":"",
+            "standard_name":"region",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p1000":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"1000 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"100000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p220":{
+            "axis":"Z",
+            "bounds_values":"44000. 0.0",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"22000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p500":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"500 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"50000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p560":{
+            "axis":"Z",
+            "bounds_values":"68000. 44000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"56000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p700":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"700 hPa",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"70000",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "p840":{
+            "axis":"Z",
+            "bounds_values":"100000. 68000",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"84000.0",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev10":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev14":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "15000.",
+                "10000.",
+                "5000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev17":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev19":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "500.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev23":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "15000.",
+                "10000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "100.",
+                "40."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev27":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "97500.",
+                "95000.",
+                "92500.",
+                "90000.",
+                "87500.",
+                "85000.",
+                "82500.",
+                "80000.",
+                "77500.",
+                "75000.",
+                "70000.",
+                "65000.",
+                "60000.",
+                "55000.",
+                "50000.",
+                "45000.",
+                "40000.",
+                "35000.",
+                "30000.",
+                "25000.",
+                "22500.",
+                "20000.",
+                "17500.",
+                "15000.",
+                "12500.",
+                "10000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev39":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "40000.",
+                "30000.",
+                "25000.",
+                "20000.",
+                "17000.",
+                "15000.",
+                "13000.",
+                "11500.",
+                "10000.",
+                "9000.",
+                "8000.",
+                "7000.",
+                "5000.",
+                "3000.",
+                "2000.",
+                "1500.",
+                "1000.",
+                "700.",
+                "500.",
+                "300.",
+                "200.",
+                "150.",
+                "100.",
+                "70.",
+                "50.",
+                "40.",
+                "30.",
+                "20.",
+                "15.",
+                "10.",
+                "7.",
+                "5.",
+                "3."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev3h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "10000.",
+                "1000.",
+                "100."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "50000.",
+                "25000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev4s":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "85000.",
+                "50000.",
+                "20000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"yes",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":[
+                "100000.",
+                "80000.",
+                "80000.",
+                "68000.",
+                "68000.",
+                "56000.",
+                "56000.",
+                "44000.",
+                "44000.",
+                "31000.",
+                "31000.",
+                "18000.",
+                "18000.",
+                " 0."
+            ],
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7c":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "90000.",
+                "74000.",
+                "62000.",
+                "50000.",
+                "37500.",
+                "24500.",
+                "9000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev7h":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "92500.",
+                "85000.",
+                "70000.",
+                "60000.",
+                "50000.",
+                "25000.",
+                "5000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "plev8":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"pressure",
+            "must_have_bounds":"no",
+            "out_name":"plev",
+            "positive":"down",
+            "requested":[
+                "100000.",
+                "85000.",
+                "70000.",
+                "50000.",
+                "25000.",
+                "10000.",
+                "5000.",
+                "1000."
+            ],
+            "requested_bounds":"",
+            "standard_name":"air_pressure",
+            "stored_direction":"decreasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"Pa",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "rho":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"density++++?",
+            "must_have_bounds":"yes",
+            "out_name":"rho",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"kg m-3",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "scatratio":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"lidar backscattering ratio",
+            "must_have_bounds":"yes",
+            "out_name":"scatratio",
+            "positive":"",
+            "requested":[
+                "0.005",
+                "0.605",
+                "2.1",
+                "4.",
+                "6.",
+                "8.5",
+                "12.5",
+                "17.5",
+                "22.5",
+                "27.5",
+                "35.",
+                "45.",
+                "55.",
+                "70.",
+                "50040."
+            ],
+            "requested_bounds":[
+                "0.",
+                "0.01",
+                "0.01",
+                "1.2",
+                "1.2",
+                "3.",
+                "3.",
+                "5.",
+                "5.",
+                "7.",
+                "7.",
+                "10.",
+                "10.",
+                "15.",
+                "15.",
+                "20.",
+                "20.",
+                "25.",
+                "25.",
+                "30.",
+                "30.",
+                "40.",
+                "40.",
+                "50.",
+                "50.",
+                "60.",
+                "60.",
+                "80.",
+                "80.",
+                "100000."
+            ],
+            "standard_name":"backscattering_ratio",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"200.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "sdepth1":{
+            "axis":"Z",
+            "bounds_values":"0.0 0.1",
+            "climatology":"",
+            "formula":"",
+            "long_name":"depth",
+            "must_have_bounds":"yes",
+            "out_name":"depth",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"depth",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"0.2",
+            "valid_min":"0.0",
+            "value":"0.05",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "site":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"site index",
+            "must_have_bounds":"no",
+            "out_name":"site",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"integer",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "smooth_level":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"z = a*ztop and b1*zsurf1 and b2*zsurf2",
+            "long_name":"atmosphere smooth level vertical (SLEVE) coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"up",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sleve_coordinate",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"",
+            "units":"m",
+            "valid_max":"800000.0",
+            "valid_min":"-200.0",
+            "value":"",
+            "z_bounds_factors":"a: a_bnds b1: b1_bnds b2: b2_bnds ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2",
+            "z_factors":"a: a b1: b1 b2: b2 ztop: ztop zsurf1: zsurf1 zsurf2: zsurf2"
+        },
+        "snowband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Snow depth bands",
+            "must_have_bounds":"yes",
+            "out_name":"snowband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"surface_snow_thickness",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"m",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "spectband":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Spectral Band",
+            "must_have_bounds":"yes",
+            "out_name":"spectband",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"wave_frequency",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"s-1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "standard_hybrid_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = a*p0 and b*ps",
+            "long_name":"hybrid sigma pressure coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_hybrid_sigma_pressure_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"1",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"p0: p0 a: a_bnds b: b_bnds ps: ps",
+            "z_factors":"p0: p0 a: a b: b ps: ps"
+        },
+        "standard_sigma":{
+            "axis":"Z",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"p = ptop and sigma*(ps - ptop)",
+            "long_name":"sigma coordinate",
+            "must_have_bounds":"yes",
+            "out_name":"lev",
+            "positive":"down",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"atmosphere_sigma_coordinate",
+            "stored_direction":"decreasing",
+            "tolerance":"",
+            "type":"",
+            "units":"",
+            "valid_max":"1.0",
+            "valid_min":"0.0",
+            "value":"",
+            "z_bounds_factors":"ptop: ptop sigma: lev_bnds ps: ps",
+            "z_factors":"ptop: ptop sigma: lev ps: ps"
+        },
+        "sza5":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"solar zenith angle",
+            "must_have_bounds":"no",
+            "out_name":"sza",
+            "positive":"",
+            "requested":[
+                "0.",
+                "20.",
+                "40.",
+                "60.",
+                "80."
+            ],
+            "requested_bounds":"",
+            "standard_name":"solar_zenith_angle",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"degree",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "tau":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"cloud optical thickness",
+            "must_have_bounds":"yes",
+            "out_name":"tau",
+            "positive":"",
+            "requested":[
+                "0.15",
+                "0.8",
+                "2.45",
+                "6.5",
+                "16.2",
+                "41.5",
+                "100."
+            ],
+            "requested_bounds":[
+                "0.0",
+                "0.3",
+                "0.3",
+                "1.3",
+                "1.3",
+                "3.6",
+                "3.6",
+                "9.4",
+                "9.4",
+                "23.0",
+                "23.0",
+                "60.0",
+                "60.0",
+                "100000."
+            ],
+            "standard_name":"atmosphere_optical_thickness_due_to_cloud",
+            "stored_direction":"increasing",
+            "tolerance":"0.001",
+            "type":"double",
+            "units":"1",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time1":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"time",
+            "must_have_bounds":"no",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"increasing",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time2":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"climatological times",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "time3":{
+            "axis":"T",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Diurnal cycle: monthly mean of the diurnal cycle (1 hour steps)",
+            "must_have_bounds":"yes",
+            "out_name":"time",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"time",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"days since ?",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typebare":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"bare_ground",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec3pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c3_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typec4pft":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"c4_plant_functional_types",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_deciduous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typepever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"primary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesdec":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_decidous_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "typesever":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"surface type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"secondary_evergreen_trees",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "vegtype":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"plant functional type",
+            "must_have_bounds":"no",
+            "out_name":"type",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"area_type",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"character",
+            "units":"",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "xgre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"X-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"xgre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_x_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "yant":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Antarctic grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"yant",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        },
+        "ygre":{
+            "axis":"",
+            "bounds_values":"",
+            "climatology":"",
+            "formula":"",
+            "long_name":"Y-coordinate of Greenland grid (stubb)",
+            "must_have_bounds":"",
+            "out_name":"ygre",
+            "positive":"",
+            "requested":"",
+            "requested_bounds":"",
+            "standard_name":"projection_y_coordinate",
+            "stored_direction":"",
+            "tolerance":"",
+            "type":"double",
+            "units":"km",
+            "valid_max":"",
+            "valid_min":"",
+            "value":"",
+            "z_bounds_factors":"",
+            "z_factors":""
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_frequency.json b/obs4MIPs-cmor-tables/obs4MIPs_frequency.json
new file mode 100644
index 0000000..3cbca17
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_frequency.json
@@ -0,0 +1,14 @@
+{
+    "frequency":[
+        "3hr",
+        "3hrClim",
+        "6hr",
+        "day",
+        "decadal",
+        "fx",
+        "mon",
+        "monClim",
+        "subhr",
+        "yr"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_grid.json b/obs4MIPs-cmor-tables/obs4MIPs_grid.json
new file mode 100644
index 0000000..1f02d4b
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_grid.json
@@ -0,0 +1,100 @@
+{
+    "grid":{
+        "grid_latitude":{
+            "axis":"Y",
+            "long_name":"latitude in rotated pole grid",
+            "out_name":"rlat",
+            "standard_name":"grid_latitude",
+            "type":"",
+            "units":"degrees"
+        },
+        "grid_longitude":{
+            "axis":"X",
+            "long_name":"longitude in rotated pole grid",
+            "out_name":"rlon",
+            "standard_name":"grid_longitude",
+            "type":"",
+            "units":"degrees"
+        },
+        "i_index":{
+            "axis":"",
+            "long_name":"cell index along first dimension",
+            "out_name":"i",
+            "standard_name":"",
+            "type":"integer",
+            "units":"1"
+        },
+        "j_index":{
+            "axis":"",
+            "long_name":"cell index along second dimension",
+            "out_name":"j",
+            "standard_name":"",
+            "type":"integer",
+            "units":"1"
+        },
+        "k_index":{
+            "axis":"",
+            "long_name":"cell index along third dimension",
+            "out_name":"k",
+            "standard_name":"",
+            "type":"integer",
+            "units":"1"
+        },
+        "l_index":{
+            "axis":"",
+            "long_name":"cell index along fourth dimension",
+            "out_name":"l",
+            "standard_name":"",
+            "type":"integer",
+            "units":"1"
+        },
+        "m_index":{
+            "axis":"",
+            "long_name":"cell index along fifth dimension",
+            "out_name":"m",
+            "standard_name":"",
+            "type":"integer",
+            "units":"1"
+        },
+        "vertices":{
+            "axis":"",
+            "long_name":"",
+            "out_name":"",
+            "standard_name":"",
+            "type":"",
+            "units":""
+        },
+        "x":{
+            "axis":"X",
+            "long_name":"x coordinate of projection",
+            "out_name":"",
+            "standard_name":"projection_x_coordinate",
+            "type":"",
+            "units":"m"
+        },
+        "x_deg":{
+            "axis":"X",
+            "long_name":"x coordinate of projection",
+            "out_name":"x",
+            "standard_name":"projection_x_coordinate",
+            "type":"",
+            "units":"degrees"
+        },
+        "y":{
+            "axis":"Y",
+            "long_name":"y coordinate of projection",
+            "out_name":"",
+            "standard_name":"projection_y_coordinate",
+            "type":"",
+            "units":"m"
+        },
+        "y_deg":{
+            "axis":"Y",
+            "long_name":"y coordinate of projection",
+            "out_name":"y",
+            "standard_name":"projection_y_coordinate",
+            "type":"",
+            "units":"degrees"
+        }
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_grid_label.json b/obs4MIPs-cmor-tables/obs4MIPs_grid_label.json
new file mode 100644
index 0000000..b85491d
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_grid_label.json
@@ -0,0 +1,15 @@
+{
+    "grid_label":[
+        "gn",
+        "gr",
+        "gr1",
+        "gr2",
+        "gr3",
+        "gr4",
+        "gr5",
+        "gr6",
+        "gr7",
+        "gr8",
+        "gr9"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_grid_resolution.json b/obs4MIPs-cmor-tables/obs4MIPs_grid_resolution.json
new file mode 100644
index 0000000..bf1887d
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_grid_resolution.json
@@ -0,0 +1,16 @@
+{
+    "grid_resolution":[
+        "10 km",
+        "100 km",
+        "1000 km",
+        "10000 km",
+        "1x1 degree",
+        "25 km",
+        "250 km",
+        "2500 km",
+        "5 km",
+        "50 km",
+        "500 km",
+        "5000 km"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_institution_id.json b/obs4MIPs-cmor-tables/obs4MIPs_institution_id.json
new file mode 100644
index 0000000..875604b
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_institution_id.json
@@ -0,0 +1,8 @@
+{
+    "institution_id":{
+        "JPL":"Jet Propulsion Laboratory, Pasadena, CA 91109, USA",
+        "NOAA-NCEI":"NOAA's National Centers for Environmental Information, Asheville, NC 28801, USA",
+        "PCMDI":"Program for Climate Model Diagnosis and Intercomparison, Lawrence Livermore National Laboratory, Livermore, CA 94550, USA",
+        "RSS":"Remote Sensing Systems, Santa Rosa, CA 95401, USA"
+    }
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_mip_era.json b/obs4MIPs-cmor-tables/obs4MIPs_mip_era.json
new file mode 100644
index 0000000..e430bdf
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_mip_era.json
@@ -0,0 +1,5 @@
+{
+    "mip_era":[
+        "CMIP6"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_product.json b/obs4MIPs-cmor-tables/obs4MIPs_product.json
new file mode 100644
index 0000000..8bc0560
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_product.json
@@ -0,0 +1,9 @@
+{
+    "product":[
+        "composite",
+        "remote-sensed",
+        "satellite",
+        "surface-gridded-insitu",
+        "surface-radar"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_realm.json b/obs4MIPs-cmor-tables/obs4MIPs_realm.json
new file mode 100644
index 0000000..ffe16ec
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_realm.json
@@ -0,0 +1,12 @@
+{
+    "realm":[
+        "aerosol",
+        "atmos",
+        "atmosChem",
+        "land",
+        "landIce",
+        "ocean",
+        "ocnBgchem",
+        "seaIce"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_required_global_attributes.json b/obs4MIPs-cmor-tables/obs4MIPs_required_global_attributes.json
new file mode 100644
index 0000000..32812f4
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_required_global_attributes.json
@@ -0,0 +1,22 @@
+{
+    "required_global_attributes":[
+        "activity_id",
+        "Conventions",
+        "creation_date",
+        "dataset_version_number",
+        "further_info_url",
+        "frequency",
+        "grid",
+        "grid_label",
+        "grid_resolution",
+        "institution_id",
+        "license",
+        "mip_era",
+        "product",
+        "realm",
+        "source_id",
+        "table_id",
+        "tracking_id",
+        "variable_id"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/obs4MIPs_table_id.json b/obs4MIPs-cmor-tables/obs4MIPs_table_id.json
new file mode 100644
index 0000000..ebec66f
--- /dev/null
+++ b/obs4MIPs-cmor-tables/obs4MIPs_table_id.json
@@ -0,0 +1,9 @@
+{
+    "table_id":[
+        "Amon",
+        "Lmon",
+        "Omon",
+        "SImon",
+        "fx"
+    ]
+}
\ No newline at end of file
diff --git a/obs4MIPs-cmor-tables/src/writeJson.py b/obs4MIPs-cmor-tables/src/writeJson.py
new file mode 100755
index 0000000..c15d3c6
--- /dev/null
+++ b/obs4MIPs-cmor-tables/src/writeJson.py
@@ -0,0 +1,259 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Jul 12 16:11:44 2016
+
+Paul J. Durack 12th July 2016
+
+This script generates all json files residing this this subdirectory
+
+PJD 12 Jul 2016     - Started
+PJD 13 Jul 2016     - Updated to download existing tables
+PJD 14 Jul 2016     - Successfully loaded dictionaries
+PJD 15 Jul 2016     - Tables successfully created, coordinates from CMIP6_CVs
+PJD 18 Jul 2016     - Generate CVs and tables from CMIP6_CVs and CMIP6-cmor-tables
+PJD 19 Jul 2016     - Remove activity_id - no longer in A/O/etc tables
+PJD 20 Jul 2016     - Removed target_mip from required_global_attributes
+PJD 20 Jul 2016     - Removed source_id
+PJD 20 Jul 2016     - Added fx table_id
+PJD 20 Jul 2016     - Added readJsonCreateDict function
+PJD 20 Jul 2016     - Removed modeling_realm from all variable_entry entries
+PJD 27 Sep 2016     - Updated to deal with new upstream data formats
+PJD 27 Sep 2016     - Updated tables to "01.beta.30" -> "01.beta.32"
+PJD 27 Sep 2016     - Update jsons to include 'identifier' dictionary name (following CMIP6_CVs)
+PJD 27 Sep 2016     - Add NOAA-NCEI to institution_id https://github.com/PCMDI/obs4MIPs-cmor-tables/issues/8
+PJD 27 Sep 2016     - Correct RSS zip
+PJD 28 Sep 2016     - Correct missing 'generic_levels' in Amon table
+PJD 29 Sep 2016     - Added ttbr (NOAA-NCEI; Jim Baird [JimBiardCics]) https://github.com/PCMDI/obs4MIPs-cmor-tables/issues/14
+                    - TODO:
+
+ at author: durack1
+"""
+
+#%% Import statements
+import gc,json,os,ssl,time
+from durolib import readJsonCreateDict
+
+#%% Determine path
+homePath = os.path.join('/','/'.join(os.path.realpath(__file__).split('/')[0:-1]))
+#homePath = '/export/durack1/git/obs4MIPs-cmor-tables/'
+#homePath = '/sync/git/obs4MIPs-cmor-tables/src'
+os.chdir(homePath)
+
+#%% Create urllib2 context to deal with lab/LLNL web certificates
+ctx                 = ssl.create_default_context()
+ctx.check_hostname  = False
+ctx.verify_mode     = ssl.CERT_NONE
+
+#%% List target tables
+masterTargets = [
+ 'Amon',
+ 'Lmon',
+ 'Omon',
+ 'SImon',
+ 'fx',
+ 'coordinate',
+ 'frequency',
+ 'grid',
+ 'grid_label',
+ 'grid_resolution',
+ 'institution_id',
+ 'mip_era',
+ 'product',
+ 'realm',
+ 'required_global_attributes',
+ 'table_id'
+ ] ;
+
+#%% Tables
+tableSource = [
+ ['coordinate','https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_coordinate.json'],
+ ['fx','https://raw.githubusercontent.com/PCMDI/cmip6-cmor-tables/master/Tables/CMIP6_fx.json'],
+ ['grid','https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/CMIP6_grid.json'],
+ ['Amon','https://raw.githubusercontent.com/PCMDI/cmip6-cmor-tables/master/Tables/CMIP6_Amon.json'],
+ ['Lmon','https://raw.githubusercontent.com/PCMDI/cmip6-cmor-tables/master/Tables/CMIP6_Lmon.json'],
+ ['Omon','https://raw.githubusercontent.com/PCMDI/cmip6-cmor-tables/master/Tables/CMIP6_Omon.json'],
+ ['SImon','https://raw.githubusercontent.com/PCMDI/cmip6-cmor-tables/master/Tables/CMIP6_SImon.json']
+ ] ;
+
+#%% Loop through tables and create in-memory objects
+# Loop through tableSource and create output tables
+tmp = readJsonCreateDict(tableSource)
+for count,table in enumerate(tmp.keys()):
+    if 'cmip6_CVs' in tableSource[count][1]:
+        vars()[table] = tmp[table].get(table)
+    else:
+        vars()[table] = tmp[table]
+del(tmp,count,table) ; gc.collect()
+
+# Cleanup by extracting only variable lists
+for count2,table in enumerate(tableSource):
+    tableName = table[0]
+    if tableName in ['coordinate','grid']:
+        eval(tableName).pop('version_metadata')
+        continue
+    else:
+        eval(tableName).pop('axis_entry')
+        eval(tableName)['Header']['table_date'] = time.strftime('%d %B %Y')
+
+# Cleanup realms
+Amon['Header']['realm']     = 'atmos'
+Lmon['Header']['realm']     = 'land'
+Omon['Header']['realm']     = 'ocean'
+SImon['Header']['realm']    = 'seaIce'
+fx['Header']['realm']       = 'fx'
+
+# Clean out modeling_realm
+for jsonName in ['Amon','Lmon','Omon','SImon']:
+    dictToClean = eval(jsonName)
+    for key, value in dictToClean.iteritems():
+        if key == 'Header':
+            continue
+        for key1,value1 in value.iteritems():
+            if 'modeling_realm' in dictToClean[key][key1].keys():
+                dictToClean[key][key1].pop('modeling_realm')
+
+# Add new variables
+# Variable sponsor - NOAA-NCEI; Jim Baird (JimBiardCics)
+Amon['variable_entry'][u'ttbr'] = {}
+Amon['variable_entry']['ttbr']['cell_measures'] = 'time: mean'
+Amon['variable_entry']['ttbr']['cell_methods'] = 'area: areacella'
+Amon['variable_entry']['ttbr']['comment'] = ''
+Amon['variable_entry']['ttbr']['dimensions'] = 'longitude latitude time'
+Amon['variable_entry']['ttbr']['long_name'] = 'Top of Atmosphere Brightness Temperature'
+Amon['variable_entry']['ttbr']['ok_max_mean_abs'] = ''
+Amon['variable_entry']['ttbr']['ok_min_mean_abs'] = ''
+Amon['variable_entry']['ttbr']['out_name'] = 'ttbr'
+Amon['variable_entry']['ttbr']['positive'] = 'time: mean'
+Amon['variable_entry']['ttbr']['standard_name'] = 'toa_brightness_temperature'
+Amon['variable_entry']['ttbr']['type'] = 'real'
+Amon['variable_entry']['ttbr']['units'] = 'K'
+Amon['variable_entry']['ttbr']['valid_max'] = '375.0'
+Amon['variable_entry']['ttbr']['valid_min'] = '140.0'
+                
+#%% Coordinate
+
+#%% Frequencies
+frequency = ['3hr', '3hrClim', '6hr', 'day', 'decadal', 'fx', 'mon', 'monClim', 'subhr', 'yr'] ;
+
+#%% Grid
+
+#%% Grid labels
+grid_label = ['gn', 'gr', 'gr1', 'gr2', 'gr3', 'gr4', 'gr5', 'gr6', 'gr7', 'gr8', 'gr9'] ;
+
+#%% Grid resolutions
+grid_resolution = [
+ '10 km',
+ '100 km',
+ '1000 km',
+ '10000 km',
+ '1x1 degree',
+ '25 km',
+ '250 km',
+ '2500 km',
+ '5 km',
+ '50 km',
+ '500 km',
+ '5000 km'
+ ] ;
+
+#%% Institutions
+tmp = [['institution_id','https://raw.githubusercontent.com/PCMDI/obs4mips-cmor-tables/master/obs4MIPs_institution_id.json']
+      ] ;
+institution_id = readJsonCreateDict(tmp)
+institution_id = institution_id.get('institution_id')
+institution_id['institution_id']['NOAA-NCEI'] = 'NOAA\'s National Centers for Environmental Information, Asheville, NC 28801, USA'
+institution_id['institution_id']['RSS'] = 'Remote Sensing Systems, Santa Rosa, CA 95401, USA'
+
+ #%% Product
+mip_era = ['CMIP6'] ;
+
+#%% Product
+product = [
+ 'composite',
+ 'remote-sensed',
+ 'satellite',
+ 'surface-gridded-insitu',
+ 'surface-radar'
+ ] ;
+
+#%% Realms
+realm = [
+ 'aerosol',
+ 'atmos',
+ 'atmosChem',
+ 'land',
+ 'landIce',
+ 'ocean',
+ 'ocnBgchem',
+ 'seaIce'
+ ] ;
+
+#%% Required global attributes
+required_global_attributes = [
+ 'activity_id',
+ 'Conventions',
+ 'creation_date',
+ 'dataset_version_number',
+ 'further_info_url',
+ 'frequency',
+ 'grid',
+ 'grid_label',
+ 'grid_resolution',
+ 'institution_id',
+ 'license',
+ 'mip_era',
+ 'product',
+ 'realm',
+ 'source_id',
+ 'table_id',
+ 'tracking_id',
+ 'variable_id'
+ ];
+
+#%% Table IDs
+table_id = ['Amon', 'Lmon', 'Omon', 'SImon', 'fx'] ;
+
+#%% Write variables to files
+for jsonName in masterTargets:
+    # Clean experiment formats
+    if jsonName in ['coordinate','grid']: #,'Amon','Lmon','Omon','SImon']:
+        dictToClean = eval(jsonName)
+        for key, value1 in dictToClean.iteritems():
+            for value2 in value1.iteritems():
+                string = dictToClean[key][value2[0]]
+                if not isinstance(string, list) and not isinstance(string, dict):
+                    string = string.strip() ; # Remove trailing whitespace
+                    string = string.strip(',.') ; # Remove trailing characters
+                    string = string.replace(' + ',' and ')  ; # Replace +
+                    string = string.replace(' & ',' and ')  ; # Replace +
+                    string = string.replace('   ',' ') ; # Replace '  ', '   '
+                    string = string.replace('anthro ','anthropogenic ') ; # Replace anthro
+                    string = string.replace('decidous','deciduous') ; # Replace decidous
+                    string = string.replace('  ',' ') ; # Replace '  ', '   '
+                dictToClean[key][value2[0]] = string
+        vars()[jsonName] = dictToClean
+    # Write file
+    if jsonName in ['Amon','Lmon','Omon','SImon','fx']:
+        outFile = ''.join(['../Tables/obs4MIPs_',jsonName,'.json'])
+    else:
+        outFile = ''.join(['../obs4MIPs_',jsonName,'.json'])
+    # Check file exists
+    if os.path.exists(outFile):
+        print 'File existing, purging:',outFile
+        os.remove(outFile)
+    if not os.path.exists('../Tables'):
+        os.mkdir('../Tables')
+    # Create host dictionary
+    if jsonName not in ['coordinate','fx','grid','institution_id','Amon','Lmon','Omon','SImon']:
+        jsonDict = {}
+        jsonDict[jsonName] = eval(jsonName)
+    else:
+        jsonDict = eval(jsonName)
+    fH = open(outFile,'w')
+    json.dump(jsonDict,fH,ensure_ascii=True,sort_keys=True,indent=4,separators=(',',':'),encoding="utf-8")
+    fH.close()
+
+del(jsonName,outFile) ; gc.collect()
+
+# Validate - only necessary if files are not written by json module

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cmor-tables.git



More information about the debian-science-commits mailing list