diff --git a/pyproject.toml b/pyproject.toml index 5a1e833..0a9ea41 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,8 @@ dependencies = [ "tqdm", "requests", "parsl", - "jinja2" + "jinja2", + "CMIP7-data-request-api>=1.3" ] dynamic = ["version"] diff --git a/src/access_moppy/base.py b/src/access_moppy/base.py index 0ec2937..40569f4 100644 --- a/src/access_moppy/base.py +++ b/src/access_moppy/base.py @@ -421,19 +421,16 @@ def ordered(ds, core=("lat", "lon", "time", "height")): self.ds = ordered(self.ds) def _build_drs_path(self, attrs: Dict[str, str]) -> Path: - drs_components = [ - attrs.get("mip_era", "CMIP6"), - attrs["activity_id"], - attrs["institution_id"], - attrs["source_id"], - attrs["experiment_id"], - attrs["variant_label"], - attrs["table_id"], - attrs["variable_id"], - attrs["grid_label"], - f"v{self.version_date}", - ] - return self.drs_root.joinpath(*drs_components) + """ + Build DRS path using the vocabulary class's controlled vocabulary specifications. + """ + if not hasattr(self.vocab, "build_drs_path"): + raise AttributeError( + f"Vocabulary class {type(self.vocab).__name__} does not implement build_drs_path() method. " + "Please ensure you are using a proper CMIP vocabulary class (CMIP6Vocabulary or CMIP7Vocabulary)." + ) + + return self.vocab.build_drs_path(self.drs_root, self.version_date) def _update_latest_symlink(self, versioned_path: Path): latest_link = versioned_path.parent / "latest" diff --git a/src/access_moppy/mappings/cmip6_to_cmip7_compound_name_mapping.json b/src/access_moppy/mappings/cmip6_to_cmip7_compound_name_mapping.json new file mode 100644 index 0000000..e4d9e34 --- /dev/null +++ b/src/access_moppy/mappings/cmip6_to_cmip7_compound_name_mapping.json @@ -0,0 +1,1986 @@ +{ + "3hr.clt": "atmos.clt.tavg-u-hxy-u.3hr.GLB", + "3hr.evspsblsoi": "land.evspsblsoi.tavg-u-hxy-u.3hr.GLB", + "3hr.evspsblveg": "land.evspsblveg.tavg-u-hxy-u.3hr.GLB", + "3hr.ficeberg": "ocean.ficeberg.tavg-ol-hxy-sea.3hr.GLB", + "3hr.flandice": "ocean.flandice.tavg-u-hxy-sea.3hr.GLB", + "3hr.friver": "ocean.friver.tavg-u-hxy-sea.3hr.GLB", + "3hr.hfds": "ocean.hfds.tavg-u-hxy-sea.3hr.GLB", + "3hr.hfdsl": "land.hfdsl.tavg-u-hxy-lnd.3hr.GLB", + "3hr.hfls": "atmos.hfls.tavg-u-hxy-u.3hr.GLB", + "3hr.hfrunoffds": "ocean.hfrunoffds.tavg-ol-hxy-sea.3hr.GLB", + "3hr.hfss": "atmos.hfss.tavg-u-hxy-u.3hr.GLB", + "3hr.huss": "atmos.huss.tpt-h2m-hxy-u.3hr.GLB", + "3hr.mrro": "land.mrro.tavg-u-hxy-lnd.3hr.GLB", + "3hr.mrros": "land.mrros.tavg-u-hxy-lnd.3hr.GLB", + "3hr.mrso100": "land.mrsol.tavg-d100cm-hxy-lnd.3hr.GLB", + "3hr.mrsos": "land.mrsol.tpt-d10cm-hxy-lnd.3hr.GLB", + "3hr.pr": "atmos.pr.tavg-u-hxy-u.3hr.GLB", + "3hr.prsn": "atmos.prsn.tavg-u-hxy-u.3hr.GLB", + "3hr.ps": "atmos.ps.tpt-u-hxy-u.3hr.GLB", + "3hr.rlds": "atmos.rlds.tavg-u-hxy-u.3hr.GLB", + "3hr.rlus": "atmos.rlus.tavg-u-hxy-u.3hr.GLB", + "3hr.rsds": "atmos.rsds.tavg-u-hxy-u.3hr.GLB", + "3hr.rsntds": "ocean.rsntds.tavg-u-hxy-sea.3hr.GLB", + "3hr.rsus": "atmos.rsus.tavg-u-hxy-u.3hr.GLB", + "3hr.sfdsi": "ocean.sfdsi.tavg-u-hxy-sea.3hr.GLB", + "3hr.srfrad": "land.srfrad.tavg-u-hxy-u.3hr.GLB", + "3hr.tas": "atmos.tas.tpt-h2m-hxy-u.3hr.GLB", + "3hr.tauuo": "ocean.tauuo.tavg-u-hxy-sea.3hr.GLB", + "3hr.tauvo": "ocean.tauvo.tavg-u-hxy-sea.3hr.GLB", + "3hr.tos": "ocean.tos.tpt-u-hxy-sea.3hr.GLB", + "3hr.tran": "land.tran.tavg-u-hxy-u.3hr.GLB", + "3hr.tslsi": "land.tslsi.tpt-u-hxy-lsi.3hr.GLB", + "3hr.ua100m": "atmos.ua.tavg-h100m-hxy-u.3hr.GLB", + "3hr.va100m": "atmos.va.tavg-h100m-hxy-u.3hr.GLB", + "3hr.wfo": "ocean.wfo.tavg-u-hxy-sea.3hr.GLB", + "3hrPt.bldep": "atmos.bldep.tpt-u-hxy-u.3hr.GLB", + "3hrPt.mpw": "ocean.mpw.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.mpwswell": "ocean.mpwswell.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.mpwwindsea": "ocean.mpwwindsea.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.sduo": "ocean.sduo.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.sdvo": "ocean.sdvo.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.swh": "ocean.swh.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.swhmax": "ocean.swhmax.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.swhswell": "ocean.swhswell.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.swhwindsea": "ocean.swhwindsea.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.uas": "atmos.uas.tpt-h10m-hxy-u.3hr.GLB", + "3hrPt.vas": "atmos.vas.tpt-h10m-hxy-u.3hr.GLB", + "3hrPt.wdir": "ocean.wdir.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wdirswell": "ocean.wdirswell.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wdirwindsea": "ocean.wdirwindsea.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wpdir": "ocean.wpdir.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wpdirswell": "ocean.wpdirswell.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wpdirwindsea": "ocean.wpdirwindsea.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wpp": "ocean.wpp.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wppswell": "ocean.wppswell.tpt-u-hxy-sea.3hr.GLB", + "3hrPt.wppwindsea": "ocean.wppwindsea.tpt-u-hxy-sea.3hr.GLB", + "6hrLev.bs550aer": "aerosol.bs550aer.tpt-al-hxy-u.6hr.GLB", + "6hrLev.ec550aer": "aerosol.ec550aer.tpt-u-hxy-u.6hr.GLB", + "6hrLev.hus": "atmos.hus.tpt-al-hxy-u.6hr.GLB", + "6hrLev.ps": "atmos.ps.tpt-u-hxy-u.6hr.GLB", + "6hrLev.ta": "atmos.ta.tpt-al-hxy-u.6hr.GLB", + "6hrLev.ua": "atmos.ua.tpt-al-hxy-u.6hr.GLB", + "6hrLev.va": "atmos.va.tpt-al-hxy-u.6hr.GLB", + "6hrLev.zg": "atmos.zg.tpt-al-hxy-u.6hr.GLB", + "6hrPlev.hurs": "atmos.hurs.tavg-h2m-hxy-u.6hr.GLB", + "6hrPlev.huss": "atmos.huss.tavg-h2m-hxy-u.6hr.GLB", + "6hrPlev.pr": "atmos.pr.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.prhmax": "atmos.pr.tmax-u-hxy-u.6hr.GLB", + "6hrPlev.prra": "atmos.prra.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.prsn": "atmos.prsn.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.ps": "atmos.ps.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.psl": "atmos.psl.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.rlds": "atmos.rlds.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.rsds": "atmos.rsds.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.rv850": "atmos.rv850.tavg-850hPa-hxy-air.6hr.GLB", + "6hrPlev.sfcWind": "atmos.sfcWind.tavg-h10m-hxy-u.6hr.GLB", + "6hrPlev.tas": "atmos.tas.tavg-h2m-hxy-u.6hr.GLB", + "6hrPlev.ts": "atmos.ts.tavg-u-hxy-u.6hr.GLB", + "6hrPlev.uas": "atmos.uas.tavg-h10m-hxy-u.6hr.GLB", + "6hrPlev.vas": "atmos.vas.tavg-h10m-hxy-u.6hr.GLB", + "6hrPlev.zg1000": "atmos.zg.tavg-1000hPa-hxy-air.6hr.GLB", + "6hrPlevPt.hur100": "atmos.hur.tpt-100hPa-hxy-u.6hr.GLB", + "6hrPlevPt.hur500": "atmos.hur.tpt-500hPa-hxy-air.6hr.GLB", + "6hrPlevPt.hur850": "atmos.hur.tpt-850hPa-hxy-air.6hr.GLB", + "6hrPlevPt.hus7h": "atmos.hus.tpt-p7h-hxy-air.6hr.GLB", + "6hrPlevPt.intuaw": "atmos.intuaw.tpt-u-hxy-u.6hr.GLB", + "6hrPlevPt.intvaw": "atmos.intvaw.tpt-u-hxy-u.6hr.GLB", + "6hrPlevPt.pr": "atmos.pr.tpt-u-hxy-u.6hr.GLB", + "6hrPlevPt.prw": "atmos.prw.tpt-u-hxy-u.6hr.GLB", + "6hrPlevPt.psl": "atmos.psl.tpt-u-hxy-u.6hr.GLB", + "6hrPlevPt.rv850": "atmos.rv850.tpt-850hPa-hxy-air.6hr.GLB", + "6hrPlevPt.ta": "atmos.ta.tpt-p3-hxy-air.6hr.GLB", + "6hrPlevPt.ta7h": "atmos.ta.tpt-p7h-hxy-air.6hr.GLB", + "6hrPlevPt.taUTLS": "atmos.ta.tpt-p5u-hxy-u.6hr.GLB", + "6hrPlevPt.ts": "atmos.ts.tpt-u-hxy-u.6hr.GLB", + "6hrPlevPt.ua": "atmos.ua.tpt-p3-hxy-air.6hr.GLB", + "6hrPlevPt.ua200": "atmos.ua.tpt-200hPa-hxy-u.6hr.GLB", + "6hrPlevPt.ua7h": "atmos.ua.tpt-p7h-hxy-air.6hr.GLB", + "6hrPlevPt.uaUTLS": "atmos.ua.tpt-p5u-hxy-air.6hr.GLB", + "6hrPlevPt.uas": "atmos.uas.tpt-h10m-hxy-u.6hr.GLB", + "6hrPlevPt.va": "atmos.va.tpt-p3-hxy-air.6hr.GLB", + "6hrPlevPt.va200": "atmos.va.tpt-200hPa-hxy-u.6hr.GLB", + "6hrPlevPt.va7h": "atmos.va.tpt-p7h-hxy-air.6hr.GLB", + "6hrPlevPt.vaUTLS": "atmos.va.tpt-p5u-hxy-air.6hr.GLB", + "6hrPlevPt.vas": "atmos.vas.tpt-h10m-hxy-u.6hr.GLB", + "6hrPlevPt.zg": "atmos.zg.tpt-p3-hxy-air.6hr.GLB", + "6hrPlevPt.zg500": "atmos.zg.tpt-500hPa-hxy-air.6hr.GLB", + "6hrPlevPt.zg700": "atmos.zg.tpt-700hPa-hxy-u.6hr.GLB", + "6hrPlevPt.zg7h": "atmos.zg.tpt-p7h-hxy-air.6hr.GLB", + "6hrPlevPt.zg925": "atmos.zg.tpt-925hPa-hxy-u.6hr.GLB", + "AERday.co": "aerosol.co.tavg-h2m-hxy-u.day.GLB", + "AERday.cod": "aerosol.cod.tavg-u-hxy-u.day.GLB", + "AERday.drynh3": "atmosChem.drynh3.tavg-u-hxy-u.day.GLB", + "AERday.drynh4": "atmosChem.drynh4.tavg-u-hxy-u.day.GLB", + "AERday.drynoy": "atmosChem.drynoy.tavg-u-hxy-u.day.GLB", + "AERday.maxpblz": "atmos.bldep.tmax-u-hxy-u.day.GLB", + "AERday.minpblz": "atmos.bldep.tmin-u-hxy-u.day.GLB", + "AERday.mmraerh2o": "aerosol.mmraerh2o.tavg-h2m-hxy-u.day.GLB", + "AERday.mmrbc": "aerosol.mmrbc.tavg-h2m-hxy-u.day.GLB", + "AERday.mmrdust": "aerosol.mmrdust.tavg-h2m-hxy-u.day.GLB", + "AERday.mmrnh4": "aerosol.mmrnh4.tavg-h2m-hxy-u.day.GLB", + "AERday.mmrno3": "aerosol.mmrno3.tavg-h2m-hxy-u.day.GLB", + "AERday.mmroa": "aerosol.mmroa.tavg-h2m-hxy-u.day.GLB", + "AERday.mmrso4": "aerosol.mmrso4.tavg-h2m-hxy-u.day.GLB", + "AERday.mmrsoa": "aerosol.mmrsoa.tavg-h2m-hxy-u.day.GLB", + "AERday.mmrss": "aerosol.mmrss.tavg-h2m-hxy-u.day.GLB", + "AERday.od550aer": "aerosol.od550aer.tavg-u-hxy-u.day.GLB", + "AERday.sfo3max": "aerosol.o3.tmax-h2m-hxy-u.day.GLB", + "AERday.sfpm1": "aerosol.sfpm1.tavg-h2m-hxy-u.day.GLB", + "AERday.sfpm10": "aerosol.sfpm10.tavg-h2m-hxy-u.day.GLB", + "AERday.sfpm25": "aerosol.sfpm25.tavg-h2m-hxy-u.day.GLB", + "AERday.so2": "aerosol.so2.tavg-h2m-hxy-u.day.GLB", + "AERday.toz": "aerosol.toz.tavg-u-hxy-u.day.GLB", + "AERday.ua10": "aerosol.ua.tavg-10hPa-hxy-air.day.GLB", + "AERday.wetnh3": "atmosChem.wetnh3.tavg-u-hxy-u.day.GLB", + "AERday.wetnh4": "atmosChem.wetnh4.tavg-u-hxy-u.day.GLB", + "AERday.wetnoy": "atmosChem.wetnoy.tavg-u-hxy-u.day.GLB", + "AERday.zg10": "aerosol.zg.tavg-10hPa-hxy-air.day.GLB", + "AERday.zg1000": "atmos.zg.tavg-1000hPa-hxy-air.day.GLB", + "AERday.zg500": "atmos.zg.tavg-500hPa-hxy-air.day.GLB", + "AERfx.ch4ref": "atmosChem.ch4ref.ti-al-hxy-u.fx.GLB", + "AERfx.o3ref": "atmosChem.o3ref.ti-al-hxy-u.fx.GLB", + "AERfx.o3refClim": "atmosChem.o3ref.tclm-al-hxy-u.fx.GLB", + "AERhr.ps": "atmos.ps.tavg-u-hxy-u.1hr.GLB", + "AERhr.sfno2": "aerosol.no2.tavg-h2m-hxy-u.1hr.GLB", + "AERhr.sfo3": "aerosol.o3.tavg-h2m-hxy-u.1hr.GLB", + "AERhr.sfpm1": "aerosol.sfpm1.tavg-h2m-hxy-u.1hr.GLB", + "AERhr.sfpm10": "aerosol.sfpm10.tavg-h2m-hxy-u.1hr.GLB", + "AERhr.sfpm25": "aerosol.sfpm25.tavg-h2m-hxy-u.1hr.GLB", + "AERhr.tas": "atmos.tas.tavg-h2m-hxy-u.1hr.GLB", + "AERmon.abs550aer": "aerosol.abs550aer.tavg-u-hxy-u.mon.GLB", + "AERmon.abs550bc": "aerosol.abs550bc.tavg-u-hxy-u.mon.GLB", + "AERmon.abs550dust": "aerosol.abs550dust.tavg-u-hxy-u.mon.GLB", + "AERmon.abs550no3": "aerosol.abs550no3.tavg-u-hxy-u.mon.GLB", + "AERmon.abs550oa": "aerosol.abs550oa.tavg-u-hxy-u.mon.GLB", + "AERmon.abs550so4": "aerosol.abs550so4.tavg-u-hxy-u.mon.GLB", + "AERmon.abs550ss": "aerosol.abs550ss.tavg-u-hxy-u.mon.GLB", + "AERmon.airmass": "aerosol.airmass.tavg-al-hxy-u.mon.GLB", + "AERmon.aoanh": "aerosol.aoanh.tavg-al-hxy-u.mon.NH", + "AERmon.bldep": "atmos.bldep.tavg-u-hxy-u.mon.GLB", + "AERmon.c2h4": "atmosChem.c2h4.tavg-al-hxy-u.mon.GLB", + "AERmon.c2h5oh": "atmosChem.c2h5oh.tavg-al-hxy-u.mon.GLB", + "AERmon.c2h6": "aerosol.c2h6.tavg-al-hxy-u.mon.GLB", + "AERmon.c3h6": "aerosol.c3h6.tavg-al-hxy-u.mon.GLB", + "AERmon.c3h8": "aerosol.c3h8.tavg-al-hxy-u.mon.GLB", + "AERmon.c4h10": "atmosChem.c4h10.tavg-al-hxy-u.mon.GLB", + "AERmon.ccn": "aerosol.ccn.tavg-u-hxy-ccl.mon.GLB", + "AERmon.ccn02": "aerosol.ccnp02.tavg-al-hxy-u.mon.GLB", + "AERmon.ccn02South30": "aerosol.ccnp02.tavg-al-hxy-u.mon.30S-90S", + "AERmon.ccn1": "aerosol.ccn1.tavg-al-hxy-u.mon.GLB", + "AERmon.ccn1South30": "aerosol.ccn1.tavg-al-hxy-u.mon.30S-90S", + "AERmon.ccnSouth30": "aerosol.ccn.tavg-u-hxy-ccl.mon.30S-90S", + "AERmon.cdnc": "aerosol.cdnc.tavg-al-hxy-u.mon.GLB", + "AERmon.cdncSouth30": "aerosol.cdnc.tavg-al-hxy-u.mon.30S-90S", + "AERmon.cfc114": "aerosol.cfc114.tavg-al-hxy-u.mon.GLB", + "AERmon.ch3coch3": "aerosol.ch3coch3.tavg-al-hxy-u.mon.GLB", + "AERmon.ch3oh": "atmosChem.ch3oh.tavg-al-hxy-u.mon.GLB", + "AERmon.ch4": "atmosChem.ch4.tavg-al-hxy-u.mon.GLB", + "AERmon.ch4losssoil": "atmosChem.ch4losssoil.tavg-u-hxy-u.mon.GLB", + "AERmon.cheaqpso4": "aerosol.cheaqpso4.tavg-al-hxy-u.mon.GLB", + "AERmon.chegph2oo1d": "atmosChem.chegph2oo1d.tavg-al-hxy-u.mon.GLB", + "AERmon.chegpso4": "aerosol.chegpso4.tavg-al-hxy-u.mon.GLB", + "AERmon.chepasoa": "aerosol.chepasoa.tavg-u-hxy-u.mon.GLB", + "AERmon.chepnh4": "atmosChem.chepnh4.tavg-al-hxy-u.mon.GLB", + "AERmon.chepno3": "atmosChem.chepno3.tavg-al-hxy-u.mon.GLB", + "AERmon.chepsoa": "aerosol.chepsoa.tavg-u-hxy-u.mon.GLB", + "AERmon.cltc": "atmos.cltc.tavg-u-hxy-u.mon.GLB", + "AERmon.co": "aerosol.co.tavg-al-hxy-u.mon.GLB", + "AERmon.co2": "atmos.co2.tavg-al-hxy-u.mon.GLB", + "AERmon.cod": "aerosol.cod.tavg-u-hxy-u.mon.GLB", + "AERmon.codSouth30": "aerosol.cod.tavg-u-hxy-u.mon.30S-90S", + "AERmon.conccn": "aerosol.conccn.tavg-al-hxy-u.mon.GLB", + "AERmon.dms": "atmosChem.dms.tavg-al-hxy-u.mon.GLB", + "AERmon.dmsSouth30": "atmosChem.dms.tavg-al-hxy-u.mon.30S-90S", + "AERmon.do3chm": "atmosChem.do3chm.tavg-al-hxy-u.mon.GLB", + "AERmon.drybc": "aerosol.drybc.tavg-u-hxy-u.mon.GLB", + "AERmon.drydust": "aerosol.drydust.tavg-u-hxy-u.mon.GLB", + "AERmon.dryh2": "atmosChem.dryh2.tavg-u-hxy-u.mon.GLB", + "AERmon.dryhno3": "atmosChem.dryhno3.tavg-u-hxy-u.mon.GLB", + "AERmon.drynh3": "atmosChem.drynh3.tavg-u-hxy-u.mon.GLB", + "AERmon.drynh4": "atmosChem.drynh4.tavg-u-hxy-u.mon.GLB", + "AERmon.dryno3": "aerosol.dryno3.tavg-u-hxy-u.mon.GLB", + "AERmon.drynoy": "atmosChem.drynoy.tavg-u-hxy-u.mon.GLB", + "AERmon.dryo3": "aerosol.dryo3.tavg-u-hxy-u.mon.GLB", + "AERmon.dryoa": "aerosol.dryoa.tavg-u-hxy-u.mon.GLB", + "AERmon.dryso2": "aerosol.dryso2.tavg-u-hxy-u.mon.GLB", + "AERmon.dryso4": "aerosol.dryso4.tavg-u-hxy-u.mon.GLB", + "AERmon.dryss": "aerosol.dryss.tavg-u-hxy-u.mon.GLB", + "AERmon.e90inst": "atmosChem.e90inst.tpt-al-hxy-u.mon.GLB", + "AERmon.emiach4": "atmosChem.emiach4.tavg-u-hxy-u.mon.GLB", + "AERmon.emiaco": "aerosol.emiaco.tavg-u-hxy-u.mon.GLB", + "AERmon.emianox": "aerosol.emianox.tavg-u-hxy-u.mon.GLB", + "AERmon.emiaoa": "aerosol.emiaoa.tavg-u-hxy-u.mon.GLB", + "AERmon.emiavnox": "atmosChem.emiavnox.tavg-al-hxy-u.mon.GLB", + "AERmon.emibbbc": "aerosol.emibbbc.tavg-u-hxy-u.mon.GLB", + "AERmon.emibbch4": "aerosol.emibbch4.tavg-u-hxy-u.mon.GLB", + "AERmon.emibbco": "aerosol.emibbco.tavg-u-hxy-u.mon.GLB", + "AERmon.emibbdms": "aerosol.emibbdms.tavg-u-hxy-u.mon.GLB", + "AERmon.emibbnh3": "aerosol.emibbnh3.tavg-u-hxy-u.mon.GLB", + "AERmon.emibbnox": "aerosol.emibbnox.tavg-u-hxy-u.mon.GLB", + "AERmon.emibboa": "aerosol.emibboa.tavg-u-hxy-u.mon.GLB", + "AERmon.emibbso2": "aerosol.emibbso2.tavg-u-hxy-u.mon.GLB", + "AERmon.emibbvoc": "aerosol.emibbvoc.tavg-u-hxy-u.mon.GLB", + "AERmon.emibc": "aerosol.emibc.tavg-u-hxy-u.mon.GLB", + "AERmon.emibvoc": "aerosol.emibvoc.tavg-u-hxy-u.mon.GLB", + "AERmon.emic2h4": "atmosChem.emic2h4.tavg-u-hxy-u.mon.GLB", + "AERmon.emic2h5oh": "atmosChem.emic2h5oh.tavg-u-hxy-u.mon.GLB", + "AERmon.emic2h6": "atmosChem.emic2h6.tavg-u-hxy-u.mon.GLB", + "AERmon.emic3h6": "atmosChem.emic3h6.tavg-u-hxy-u.mon.GLB", + "AERmon.emic3h8": "atmosChem.emic3h8.tavg-u-hxy-u.mon.GLB", + "AERmon.emic4h10": "atmosChem.emic4h10.tavg-u-hxy-u.mon.GLB", + "AERmon.emich3oh": "atmosChem.emich3oh.tavg-u-hxy-u.mon.GLB", + "AERmon.emich4": "atmosChem.emich4.tavg-u-hxy-u.mon.GLB", + "AERmon.emico": "aerosol.emico.tavg-u-hxy-u.mon.GLB", + "AERmon.emidms": "aerosol.emidms.tavg-u-hxy-u.mon.GLB", + "AERmon.emidmsSouth30": "aerosol.emidms.tavg-u-hxy-u.mon.30S-90S", + "AERmon.emidust": "aerosol.emidust.tavg-u-hxy-u.mon.GLB", + "AERmon.emih2": "atmosChem.emih2.tavg-u-hxy-u.mon.GLB", + "AERmon.emiisop": "aerosol.emiisop.tavg-u-hxy-u.mon.GLB", + "AERmon.emilkch4": "atmosChem.emilkch4.tavg-u-hxy-u.mon.GLB", + "AERmon.emilnox": "aerosol.emilnox.tavg-al-hxy-u.mon.GLB", + "AERmon.eminh3": "aerosol.eminh3.tavg-u-hxy-u.mon.GLB", + "AERmon.eminox": "aerosol.eminox.tavg-u-hxy-u.mon.GLB", + "AERmon.emioa": "aerosol.emioa.tavg-u-hxy-u.mon.GLB", + "AERmon.emiso2": "aerosol.emiso2.tavg-u-hxy-u.mon.GLB", + "AERmon.emiso4": "aerosol.emiso4.tavg-u-hxy-u.mon.GLB", + "AERmon.emiss": "aerosol.emiss.tavg-u-hxy-u.mon.GLB", + "AERmon.emissSouth30": "aerosol.emiss.tavg-u-hxy-u.mon.30S-90S", + "AERmon.emivoc": "aerosol.emivoc.tavg-u-hxy-u.mon.GLB", + "AERmon.h2": "atmosChem.h2.tavg-al-hxy-u.mon.GLB", + "AERmon.h2loss": "atmosChem.h2loss.tavg-al-hxy-u.mon.GLB", + "AERmon.h2o": "aerosol.h2o.tavg-al-hxy-u.mon.GLB", + "AERmon.h2prod": "atmosChem.h2prod.tavg-al-hxy-u.mon.GLB", + "AERmon.hcfc22": "aerosol.hcfc22.tavg-al-hxy-u.mon.GLB", + "AERmon.hcho": "aerosol.hcho.tavg-al-hxy-u.mon.GLB", + "AERmon.hcl": "aerosol.hcl.tavg-al-hxy-u.mon.GLB", + "AERmon.hfc125": "aerosol.hfc125.tavg-al-hxy-u.mon.GLB", + "AERmon.hfc134a": "aerosol.hfc134a.tavg-al-hxy-u.mon.GLB", + "AERmon.hno3": "aerosol.hno3.tavg-al-hxy-u.mon.GLB", + "AERmon.isop": "aerosol.isop.tavg-al-hxy-u.mon.GLB", + "AERmon.jno2": "aerosol.jno2.tavg-al-hxy-u.mon.GLB", + "AERmon.lossch4": "aerosol.lossch4.tavg-al-hxy-u.mon.GLB", + "AERmon.lossco": "aerosol.lossco.tavg-al-hxy-u.mon.GLB", + "AERmon.lossn2o": "aerosol.lossn2o.tavg-al-hxy-u.mon.GLB", + "AERmon.lwp": "aerosol.lwp.tavg-u-hxy-u.mon.GLB", + "AERmon.meanage": "atmosChem.meanage.tavg-al-hxy-u.mon.GLB", + "AERmon.mmraerh2o": "aerosol.mmraerh2o.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrbc": "aerosol.mmrbc.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrbcSouth30": "aerosol.mmrbc.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrdust": "aerosol.mmrdust.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrdustSouth30": "aerosol.mmrdust.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrnh4": "aerosol.mmrnh4.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrnh4South30": "aerosol.mmrnh4.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrno3": "aerosol.mmrno3.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrno3South30": "aerosol.mmrno3.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmroa": "aerosol.mmroa.tavg-al-hxy-u.mon.GLB", + "AERmon.mmroaSouth30": "aerosol.mmroa.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrpm1": "aerosol.mmrpm1.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrpm10": "aerosol.sfpm10.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrpm10South30": "aerosol.sfpm10.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrpm1South30": "aerosol.mmrpm1.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrpm2p5": "aerosol.mmrpm2p5.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrpm2p5South30": "aerosol.mmrpm2p5.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrso4": "aerosol.mmrso4.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrso4South30": "aerosol.mmrso4.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrsoa": "aerosol.mmrsoa.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrsoaSouth30": "aerosol.mmrsoa.tavg-al-hxy-u.mon.30S-90S", + "AERmon.mmrss": "aerosol.mmrss.tavg-al-hxy-u.mon.GLB", + "AERmon.mmrssSouth30": "aerosol.mmrss.tavg-al-hxy-u.mon.30S-90S", + "AERmon.n2o": "atmosChem.n2o.tavg-al-hxy-u.mon.GLB", + "AERmon.nh50": "aerosol.nh50.tavg-al-hxy-u.mon.GLB", + "AERmon.no": "aerosol.no.tavg-al-hxy-u.mon.GLB", + "AERmon.no2": "aerosol.no2.tavg-al-hxy-u.mon.GLB", + "AERmon.o3": "atmosChem.o3.tavg-al-hxy-u.mon.GLB", + "AERmon.o3inst": "atmosChem.o3.tpt-al-hxy-u.mon.GLB", + "AERmon.o3loss": "aerosol.o3loss.tavg-al-hxy-u.mon.GLB", + "AERmon.o3prod": "aerosol.o3prod.tavg-al-hxy-u.mon.GLB", + "AERmon.o3ste": "atmosChem.o3ste.tavg-al-hxy-u.mon.GLB", + "AERmon.od443aer": "aerosol.od443aer.tavg-u-hxy-u.mon.GLB", + "AERmon.od550aer": "aerosol.od550aer.tavg-u-hxy-u.mon.GLB", + "AERmon.od550aerSouth30": "aerosol.od550aer.tavg-u-hxy-u.mon.30S-90S", + "AERmon.od550aerh2o": "aerosol.od550aerh2o.tavg-u-hxy-u.mon.GLB", + "AERmon.od550bb": "aerosol.od550bb.tavg-u-hxy-u.mon.GLB", + "AERmon.od550bc": "aerosol.od550bc.tavg-u-hxy-u.mon.GLB", + "AERmon.od550csaer": "aerosol.od550csaer.tavg-u-hxy-u.mon.GLB", + "AERmon.od550dust": "aerosol.od550dust.tavg-u-hxy-u.mon.GLB", + "AERmon.od550lt1aer": "aerosol.od550lt1aer.tavg-u-hxy-u.mon.GLB", + "AERmon.od550no3": "aerosol.od550no3.tavg-u-hxy-u.mon.GLB", + "AERmon.od550oa": "aerosol.od550oa.tavg-u-hxy-u.mon.GLB", + "AERmon.od550so4": "aerosol.od550so4.tavg-u-hxy-u.mon.GLB", + "AERmon.od550soa": "aerosol.od550soa.tavg-u-hxy-u.mon.GLB", + "AERmon.od550ss": "aerosol.od550ss.tavg-u-hxy-u.mon.GLB", + "AERmon.od865aer": "aerosol.od865aer.tavg-u-hxy-u.mon.GLB", + "AERmon.oh": "aerosol.oh.tavg-al-hxy-u.mon.GLB", + "AERmon.pan": "aerosol.pan.tavg-al-hxy-u.mon.GLB", + "AERmon.pfull": "atmos.pfull.tavg-al-hxy-u.mon.GLB", + "AERmon.phalf": "atmos.phalf.tavg-alh-hxy-u.mon.GLB", + "AERmon.photo1d": "aerosol.photo1d.tavg-al-hxy-u.mon.GLB", + "AERmon.pod0": "aerosol.pod0.tsum-u-hxy-u.mon.GLB", + "AERmon.ptp": "atmos.ptp.tavg-u-hxy-u.mon.GLB", + "AERmon.reffclwtop": "aerosol.reffclwtop.tavg-u-hxy-cl.mon.GLB", + "AERmon.reffclwtopSouth30": "aerosol.reffclwtop.tavg-u-hxy-cl.mon.30S-90S", + "AERmon.rluscsaf": "aerosol.rluscsaf.tavg-u-hxy-u.mon.GLB", + "AERmon.rlutaf": "aerosol.rlutaf.tavg-u-hxy-u.mon.GLB", + "AERmon.rlutch4ref": "atmosChem.rlutch4ref.tavg-u-hxy-u.mon.GLB", + "AERmon.rlutcsaf": "aerosol.rlutcsaf.tavg-u-hxy-u.mon.GLB", + "AERmon.rlutcsch4ref": "atmosChem.rlutcsch4ref.tavg-u-hxy-u.mon.GLB", + "AERmon.rlutcso3ref": "atmosChem.rlutcso3ref.tavg-u-hxy-u.mon.GLB", + "AERmon.rluto3ref": "atmosChem.rluto3ref.tavg-u-hxy-u.mon.GLB", + "AERmon.rsutaf": "aerosol.rsutaf.tavg-u-hxy-u.mon.GLB", + "AERmon.rsutch4ref": "atmosChem.rsutch4ref.tavg-u-hxy-u.mon.GLB", + "AERmon.rsutcsaf": "aerosol.rsutcsaf.tavg-u-hxy-u.mon.GLB", + "AERmon.rsutcsch4ref": "atmosChem.rsutcsch4ref.tavg-u-hxy-u.mon.GLB", + "AERmon.rsutcso3ref": "atmosChem.rsutcso3ref.tavg-u-hxy-u.mon.GLB", + "AERmon.rsuto3ref": "atmosChem.rsuto3ref.tavg-u-hxy-u.mon.GLB", + "AERmon.so2": "aerosol.so2.tavg-al-hxy-u.mon.GLB", + "AERmon.so2South30": "aerosol.so2.tavg-al-hxy-u.mon.30S-90S", + "AERmon.stratch4loss": "atmosChem.stratch4loss.tavg-al-hxy-u.mon.GLB", + "AERmon.tatp": "aerosol.tatp.tavg-u-hxy-u.mon.GLB", + "AERmon.tntrl": "atmos.tntrl.tavg-al-hxy-u.mon.GLB", + "AERmon.tntrs": "atmos.tntrs.tavg-al-hxy-u.mon.GLB", + "AERmon.toz": "aerosol.toz.tavg-u-hxy-u.mon.GLB", + "AERmon.tropch4loss": "atmosChem.tropch4loss.tavg-al-hxy-u.mon.GLB", + "AERmon.tropch4lossoh": "atmosChem.tropch4lossoh.tavg-al-hxy-u.mon.GLB", + "AERmon.tropdo3chm": "atmosChem.tropdo3chm.tavg-al-hxy-u.mon.GLB", + "AERmon.tropo3ste": "atmosChem.tropo3ste.tavg-al-hxy-u.mon.GLB", + "AERmon.tropoz": "aerosol.tropoz.tavg-u-hxy-u.mon.GLB", + "AERmon.ttop": "aerosol.ttop.tavg-u-hxy-cl.mon.GLB", + "AERmon.ua": "atmos.ua.tavg-al-hxy-u.mon.GLB", + "AERmon.va": "atmos.va.tavg-al-hxy-u.mon.GLB", + "AERmon.wa": "aerosol.wa.tavg-al-hxy-u.mon.GLB", + "AERmon.wetbc": "aerosol.wetbc.tavg-u-hxy-u.mon.GLB", + "AERmon.wetdust": "aerosol.wetdust.tavg-u-hxy-u.mon.GLB", + "AERmon.wethno3": "atmosChem.wethno3.tavg-al-hxy-u.mon.GLB", + "AERmon.wetnh3": "atmosChem.wetnh3.tavg-u-hxy-u.mon.GLB", + "AERmon.wetnh4": "atmosChem.wetnh4.tavg-u-hxy-u.mon.GLB", + "AERmon.wetno3": "atmosChem.wetno3.tavg-al-hxy-u.mon.GLB", + "AERmon.wetnoy": "atmosChem.wetnoy.tavg-u-hxy-u.mon.GLB", + "AERmon.wetoa": "aerosol.wetoa.tavg-u-hxy-u.mon.GLB", + "AERmon.wetso2": "aerosol.wetso2.tavg-u-hxy-u.mon.GLB", + "AERmon.wetso4": "aerosol.wetso4.tavg-u-hxy-u.mon.GLB", + "AERmon.wetss": "aerosol.wetss.tavg-u-hxy-u.mon.GLB", + "AERmon.zg": "atmos.zg.tavg-al-hxy-u.mon.GLB", + "AERmon.ztp": "atmos.ztp.tavg-u-hxy-u.mon.GLB", + "AERmonZ.bry": "aerosol.bry.tavg-p39-hy-air.mon.GLB", + "AERmonZ.ch4": "atmosChem.ch4.tavg-p39-hy-air.mon.GLB", + "AERmonZ.cly": "aerosol.cly.tavg-p39-hy-air.mon.GLB", + "AERmonZ.h2o": "aerosol.h2o.tavg-p39-hy-air.mon.GLB", + "AERmonZ.hcl": "aerosol.hcl.tavg-p39-hy-air.mon.GLB", + "AERmonZ.hno3": "aerosol.hno3.tavg-p39-hy-air.mon.GLB", + "AERmonZ.ho2": "aerosol.ho2.tavg-p39-hy-air.mon.GLB", + "AERmonZ.meanage": "atmosChem.meanage.tavg-p39-hy-air.mon.GLB", + "AERmonZ.n2o": "atmosChem.n2o.tavg-p39-hy-air.mon.GLB", + "AERmonZ.noy": "aerosol.noy.tavg-p39-hy-air.mon.GLB", + "AERmonZ.o3": "atmosChem.o3.tavg-p39-hy-air.mon.GLB", + "AERmonZ.oh": "aerosol.oh.tavg-p39-hy-air.mon.GLB", + "AERmonZ.ta": "atmos.ta.tavg-p39-hy-air.mon.GLB", + "AERmonZ.ua": "atmos.ua.tavg-p39-hy-air.mon.GLB", + "AERmonZ.va": "atmos.va.tavg-p39-hy-air.mon.GLB", + "AERmonZ.vt100": "aerosol.vt100.tavg-100hPa-hy-air.mon.GLB", + "AERmonZ.zg": "atmos.zg.tavg-p39-hy-air.mon.GLB", + "Amon.aod550volso4": "atmos.aod550volso4.tavg-u-hxy-u.mon.GLB", + "Amon.ccb": "atmos.ccb.tavg-u-hxy-ccl.mon.GLB", + "Amon.cct": "atmos.cct.tavg-u-hxy-ccl.mon.GLB", + "Amon.cfc113global": "atmosChem.cfc113.tavg-u-hm-u.mon.GLB", + "Amon.cfc11global": "atmosChem.cfc11.tavg-u-hm-u.mon.GLB", + "Amon.cfc12global": "atmosChem.cfc12.tavg-u-hm-u.mon.GLB", + "Amon.ch4": "atmosChem.ch4.tavg-p19-hxy-air.mon.GLB", + "Amon.ch4Clim": "atmosChem.ch4.tclm-p19-hxy-air.mon.GLB", + "Amon.ch4global": "atmosChem.ch4.tavg-u-hm-u.mon.GLB", + "Amon.ch4globalClim": "atmosChem.ch4.tclm-u-hm-u.mon.GLB", + "Amon.ci": "atmos.ci.tavg-u-hxy-u.mon.GLB", + "Amon.cl": "atmos.cl.tavg-al-hxy-u.mon.GLB", + "Amon.clSouth30": "atmos.cl.tavg-al-hxy-u.mon.30S-90S", + "Amon.cli": "atmos.cli.tavg-al-hxy-u.mon.GLB", + "Amon.cliSouth30": "atmos.cli.tavg-al-hxy-u.mon.30S-90S", + "Amon.clivi": "atmos.clivi.tavg-u-hxy-u.mon.GLB", + "Amon.cliviSouth30": "atmos.clivi.tavg-u-hxy-u.mon.30S-90S", + "Amon.clt": "atmos.clt.tavg-u-hxy-u.mon.GLB", + "Amon.cltSouth30": "atmos.clt.tavg-u-hxy-u.mon.30S-90S", + "Amon.clw": "atmos.clw.tavg-al-hxy-u.mon.GLB", + "Amon.clwSouth30": "atmos.clw.tavg-al-hxy-u.mon.30S-90S", + "Amon.clwvi": "atmos.clwvi.tavg-u-hxy-u.mon.GLB", + "Amon.clwviSouth30": "atmos.clwvi.tavg-u-hxy-u.mon.30S-90S", + "Amon.co2": "atmos.co2.tavg-p19-hxy-air.mon.GLB", + "Amon.co2Clim": "atmos.co2.tclm-p19-hxy-air.mon.GLB", + "Amon.co2mass": "atmos.co2mass.tavg-u-hm-u.mon.GLB", + "Amon.co2massClim": "atmos.co2.tclm-u-hm-u.mon.GLB", + "Amon.evspsbl": "atmos.evspsbl.tavg-u-hxy-u.mon.GLB", + "Amon.fco2antt": "atmos.fco2antt.tavg-u-hxy-u.mon.GLB", + "Amon.fco2fos": "atmos.fco2fos.tavg-u-hxy-u.mon.GLB", + "Amon.fco2nat": "atmos.fco2nat.tavg-u-hxy-u.mon.GLB", + "Amon.hcfc22global": "atmosChem.hcfc22.tavg-u-hm-u.mon.GLB", + "Amon.hfls": "atmos.hfls.tavg-u-hxy-u.mon.GLB", + "Amon.hflsSouth30": "atmos.hfls.tavg-u-hxy-u.mon.30S-90S", + "Amon.hfss": "atmos.hfss.tavg-u-hxy-u.mon.GLB", + "Amon.hfssSouth30": "atmos.hfss.tavg-u-hxy-u.mon.30S-90S", + "Amon.hur": "atmos.hur.tavg-p19-hxy-air.mon.GLB", + "Amon.hurSouth30": "atmos.hur.tavg-p19-hxy-air.mon.30S-90S", + "Amon.hurs": "atmos.hurs.tavg-h2m-hxy-u.mon.GLB", + "Amon.hursSouth30": "atmos.hurs.tavg-h2m-hxy-u.mon.30S-90S", + "Amon.hus": "atmos.hus.tavg-p19-hxy-u.mon.GLB", + "Amon.husSouth30": "atmos.hus.tavg-p19-hxy-u.mon.30S-90S", + "Amon.huss": "atmos.huss.tavg-h2m-hxy-u.mon.GLB", + "Amon.hussSouth30": "atmos.huss.tavg-h2m-hxy-u.mon.30S-90S", + "Amon.mc": "atmos.mc.tavg-alh-hxy-u.mon.GLB", + "Amon.n2o": "atmosChem.n2o.tavg-p19-hxy-air.mon.GLB", + "Amon.n2oClim": "atmosChem.n2o.tclm-p19-hxy-air.mon.GLB", + "Amon.n2oglobal": "atmosChem.n2o.tavg-u-hm-u.mon.GLB", + "Amon.n2oglobalClim": "atmosChem.n2o.tclm-u-hm-u.mon.GLB", + "Amon.o3": "atmosChem.o3.tavg-p19-hxy-air.mon.GLB", + "Amon.o3Clim": "atmosChem.o3.tclm-p19-hxy-air.mon.GLB", + "Amon.pfull": "atmos.pfull.tclm-al-hxy-u.mon.GLB", + "Amon.pfullSouth30": "atmos.pfull.tclm-al-hxy-u.mon.30S-90S", + "Amon.phalf": "atmos.phalf.tclm-alh-hxy-u.mon.GLB", + "Amon.pr": "atmos.pr.tavg-u-hxy-u.mon.GLB", + "Amon.prSouth30": "atmos.pr.tavg-u-hxy-u.mon.30S-90S", + "Amon.prc": "atmos.prc.tavg-u-hxy-u.mon.GLB", + "Amon.prcSouth30": "atmos.prc.tavg-u-hxy-u.mon.30S-90S", + "Amon.prra": "atmos.prra.tavg-u-hxy-u.mon.GLB", + "Amon.prraSouth30": "atmos.prra.tavg-u-hxy-u.mon.30S-90S", + "Amon.prsn": "atmos.prsn.tavg-u-hxy-u.mon.GLB", + "Amon.prsnSouth30": "atmos.prsn.tavg-u-hxy-u.mon.30S-90S", + "Amon.prw": "atmos.prw.tavg-u-hxy-u.mon.GLB", + "Amon.prwSouth30": "atmos.prw.tavg-u-hxy-u.mon.30S-90S", + "Amon.ps": "atmos.ps.tavg-u-hxy-u.mon.GLB", + "Amon.psSouth30": "atmos.ps.tavg-u-hxy-u.mon.30S-90S", + "Amon.psl": "atmos.psl.tavg-u-hxy-u.mon.GLB", + "Amon.pslSouth30": "atmos.psl.tavg-u-hxy-u.mon.30S-90S", + "Amon.rlds": "atmos.rlds.tavg-u-hxy-u.mon.GLB", + "Amon.rldsSouth30": "atmos.rlds.tavg-u-hxy-u.mon.30S-90S", + "Amon.rldscs": "atmos.rldscs.tavg-u-hxy-u.mon.GLB", + "Amon.rldscsSouth30": "atmos.rldscs.tavg-u-hxy-u.mon.30S-90S", + "Amon.rlus": "atmos.rlus.tavg-u-hxy-u.mon.GLB", + "Amon.rlusSouth30": "atmos.rlus.tavg-u-hxy-u.mon.30S-90S", + "Amon.rluscs": "atmos.rluscs.tavg-u-hxy-u.mon.GLB", + "Amon.rlut": "atmos.rlut.tavg-u-hxy-u.mon.GLB", + "Amon.rlutSouth30": "atmos.rlut.tavg-u-hxy-u.mon.30S-90S", + "Amon.rlutcs": "atmos.rlutcs.tavg-u-hxy-u.mon.GLB", + "Amon.rlutcsSouth30": "atmos.rlutcs.tavg-u-hxy-u.mon.30S-90S", + "Amon.rsds": "atmos.rsds.tavg-u-hxy-u.mon.GLB", + "Amon.rsdsSouth30": "atmos.rsds.tavg-u-hxy-u.mon.30S-90S", + "Amon.rsdscs": "atmos.rsdscs.tavg-u-hxy-u.mon.GLB", + "Amon.rsdscsSouth30": "atmos.rsdscs.tavg-u-hxy-u.mon.30S-90S", + "Amon.rsdt": "atmos.rsdt.tavg-u-hxy-u.mon.GLB", + "Amon.rsdtSouth30": "atmos.rsdt.tavg-u-hxy-u.mon.30S-90S", + "Amon.rsus": "atmos.rsus.tavg-u-hxy-u.mon.GLB", + "Amon.rsusSouth30": "atmos.rsus.tavg-u-hxy-u.mon.30S-90S", + "Amon.rsuscs": "atmos.rsuscs.tavg-u-hxy-u.mon.GLB", + "Amon.rsuscsSouth30": "atmos.rsuscs.tavg-u-hxy-u.mon.30S-90S", + "Amon.rsut": "atmos.rsut.tavg-u-hxy-u.mon.GLB", + "Amon.rsutSouth30": "atmos.rsut.tavg-u-hxy-u.mon.30S-90S", + "Amon.rsutcs": "atmos.rsutcs.tavg-u-hxy-u.mon.GLB", + "Amon.rsutcsSouth30": "atmos.rsutcs.tavg-u-hxy-u.mon.30S-90S", + "Amon.rtmt": "atmos.rtmt.tavg-u-hxy-u.mon.GLB", + "Amon.sbl": "landIce.sbl.tavg-u-hxy-u.mon.GLB", + "Amon.sci": "atmos.sci.tavg-u-hxy-u.mon.GLB", + "Amon.sfcWind": "atmos.sfcWind.tavg-h10m-hxy-u.mon.GLB", + "Amon.sfcWindSouth30": "atmos.sfcWind.tavg-h10m-hxy-u.mon.30S-90S", + "Amon.ta": "atmos.ta.tavg-p19-hxy-air.mon.GLB", + "Amon.taSouth30": "atmos.ta.tavg-p19-hxy-air.mon.30S-90S", + "Amon.tas": "atmos.tas.tavg-h2m-hxy-u.mon.GLB", + "Amon.tasSouth30": "atmos.tas.tavg-h2m-hxy-u.mon.30S-90S", + "Amon.tasmax": "atmos.tas.tmaxavg-h2m-hxy-u.mon.GLB", + "Amon.tasmaxSouth30": "atmos.tas.tmaxavg-h2m-hxy-u.mon.30S-90S", + "Amon.tasmin": "atmos.tas.tminavg-h2m-hxy-u.mon.GLB", + "Amon.tasminSouth30": "atmos.tas.tminavg-h2m-hxy-u.mon.30S-90S", + "Amon.tauu": "atmos.tauu.tavg-u-hxy-u.mon.GLB", + "Amon.tauv": "atmos.tauv.tavg-u-hxy-u.mon.GLB", + "Amon.ts": "atmos.ts.tavg-u-hxy-u.mon.GLB", + "Amon.tsSouth30": "atmos.ts.tavg-u-hxy-u.mon.30S-90S", + "Amon.ua": "atmos.ua.tavg-p19-hxy-air.mon.GLB", + "Amon.uaSouth30": "atmos.ua.tavg-p19-hxy-air.mon.30S-90S", + "Amon.uas": "atmos.uas.tavg-h10m-hxy-u.mon.GLB", + "Amon.uasSouth30": "atmos.uas.tavg-h10m-hxy-u.mon.30S-90S", + "Amon.va": "atmos.va.tavg-p19-hxy-air.mon.GLB", + "Amon.vaSouth30": "atmos.va.tavg-p19-hxy-air.mon.30S-90S", + "Amon.vas": "atmos.vas.tavg-h10m-hxy-u.mon.GLB", + "Amon.vasSouth30": "atmos.vas.tavg-h10m-hxy-u.mon.30S-90S", + "Amon.wap": "atmos.wap.tavg-p19-hxy-air.mon.GLB", + "Amon.wapSouth30": "atmos.wap.tavg-p19-hxy-air.mon.30S-90S", + "Amon.zg": "atmos.zg.tavg-p19-hxy-air.mon.GLB", + "Amon.zgSouth30": "atmos.zg.tavg-p19-hxy-air.mon.30S-90S", + "CF3hr.clic": "atmos.clic.tpt-al-hxy-u.3hr.GLB", + "CF3hr.clis": "atmos.clis.tpt-al-hxy-u.3hr.GLB", + "CF3hr.clivi": "atmos.clivi.tpt-u-hxy-u.3hr.GLB", + "CF3hr.clt": "atmos.clt.tpt-u-hxy-u.3hr.GLB", + "CF3hr.clwc": "atmos.clwc.tpt-al-hxy-u.3hr.GLB", + "CF3hr.clws": "atmos.clws.tpt-al-hxy-u.3hr.GLB", + "CF3hr.clwvi": "atmos.clwvi.tpt-u-hxy-u.3hr.GLB", + "CF3hr.dtauc": "atmos.dtauc.tpt-al-hxy-ccl.3hr.GLB", + "CF3hr.dtaus": "atmos.dtaus.tpt-al-hxy-scl.3hr.GLB", + "CF3hr.hurs": "atmos.hurs.tpt-h2m-hxy-u.3hr.GLB", + "CF3hr.pfull": "atmos.pfull.tpt-al-hxy-u.3hr.GLB", + "CF3hr.pr": "atmos.pr.tpt-u-hxy-u.3hr.GLB", + "CF3hr.prw": "atmos.prw.tpt-u-hxy-u.3hr.GLB", + "CF3hr.reffclic": "atmos.reffclic.tpt-al-hxy-ccl.3hr.GLB", + "CF3hr.reffclis": "atmos.reffclis.tpt-al-hxy-scl.3hr.GLB", + "CF3hr.reffclwc": "atmos.reffclwc.tpt-al-hxy-ccl.3hr.GLB", + "CF3hr.reffclws": "atmos.reffclws.tpt-al-hxy-scl.3hr.GLB", + "CF3hr.rlds": "atmos.rlds.tpt-u-hxy-u.3hr.GLB", + "CF3hr.rldscs": "atmos.rldscs.tpt-u-hxy-u.3hr.GLB", + "CF3hr.rlut": "atmos.rlut.tpt-u-hxy-u.3hr.GLB", + "CF3hr.rlutcs": "atmos.rlutcs.tpt-u-hxy-u.3hr.GLB", + "CF3hr.rsds": "atmos.rsds.tpt-u-hxy-u.3hr.GLB", + "CF3hr.rsdscs": "atmos.rsdscs.tpt-u-hxy-u.3hr.GLB", + "CF3hr.rsut": "atmos.rsut.tpt-u-hxy-u.3hr.GLB", + "CF3hr.rsutcs": "atmos.rsutcs.tpt-u-hxy-u.3hr.GLB", + "CF3hr.ta": "atmos.ta.tpt-al-hxy-u.3hr.GLB", + "CF3hr.ts": "atmos.ts.tpt-u-hxy-u.3hr.GLB", + "CFday.albisccp": "atmos.albisccp.tavg-u-hxy-cl.day.GLB", + "CFday.ccb": "atmos.ccb.tavg-u-hxy-ccl.day.GLB", + "CFday.cct": "atmos.cct.tavg-u-hxy-ccl.day.GLB", + "CFday.cl": "atmos.cl.tavg-al-hxy-u.day.GLB", + "CFday.clcalipso": "atmos.clcalipso.tavg-h40-hxy-air.day.GLB", + "CFday.clhcalipso": "atmos.clcalipso.tavg-220hPa-hxy-air.day.GLB", + "CFday.cli": "atmos.cli.tavg-al-hxy-u.day.GLB", + "CFday.clisccp": "atmos.clisccp.tavg-p7c-hxy-air.day.GLB", + "CFday.clivi": "atmos.clivi.tavg-u-hxy-u.day.GLB", + "CFday.cllcalipso": "atmos.clcalipso.tavg-840hPa-hxy-air.day.GLB", + "CFday.clmcalipso": "atmos.clcalipso.tavg-560hPa-hxy-air.day.GLB", + "CFday.cltcalipso": "atmos.cltcalipso.tavg-u-hxy-u.day.GLB", + "CFday.cltisccp": "atmos.cltisccp.tavg-u-hxy-u.day.GLB", + "CFday.clw": "atmos.clw.tavg-al-hxy-u.day.GLB", + "CFday.clwvi": "atmos.clwvi.tavg-u-hxy-u.day.GLB", + "CFday.hur": "atmos.hur.tavg-al-hxy-u.day.GLB", + "CFday.hur700": "atmos.hur.tavg-700hPa-hxy-air.day.GLB", + "CFday.hus": "atmos.hus.tavg-al-hxy-u.day.GLB", + "CFday.mc": "atmos.mc.tavg-alh-hxy-u.day.GLB", + "CFday.pctisccp": "atmos.pctisccp.tavg-u-hxy-cl.day.GLB", + "CFday.pfull": "atmos.pfull.tavg-al-hxy-u.day.GLB", + "CFday.phalf": "atmos.phalf.tavg-alh-hxy-u.day.GLB", + "CFday.ps": "atmos.ps.tavg-u-hxy-u.day.GLB", + "CFday.rldscs": "atmos.rldscs.tavg-u-hxy-u.day.GLB", + "CFday.rlutcs": "atmos.rlutcs.tavg-u-hxy-u.day.GLB", + "CFday.rsdscs": "atmos.rsdscs.tavg-u-hxy-u.day.GLB", + "CFday.rsdt": "atmos.rsdt.tavg-u-hxy-u.day.GLB", + "CFday.rsuscs": "atmos.rsuscs.tavg-u-hxy-u.day.GLB", + "CFday.rsut": "atmos.rsut.tavg-u-hxy-u.day.GLB", + "CFday.rsutcs": "atmos.rsutcs.tavg-u-hxy-u.day.GLB", + "CFday.ta": "atmos.ta.tavg-al-hxy-u.day.GLB", + "CFday.ta700": "atmos.ta.tavg-700hPa-hxy-air.day.GLB", + "CFday.ua": "atmos.ua.tavg-al-hxy-u.day.GLB", + "CFday.va": "atmos.va.tavg-al-hxy-u.day.GLB", + "CFday.wap": "atmos.wap.tavg-al-hxy-u.day.GLB", + "CFday.wap500": "atmos.wap.tavg-500hPa-hxy-air.day.GLB", + "CFday.zg": "atmos.zg.tavg-al-hxy-u.day.GLB", + "CFmon.albisccp": "atmos.albisccp.tavg-u-hxy-cl.mon.GLB", + "CFmon.albisccpSouth30": "atmos.albisccp.tavg-u-hxy-cl.mon.30S-90S", + "CFmon.clc": "atmos.clc.tavg-al-hxy-u.mon.GLB", + "CFmon.clcSouth30": "atmos.clc.tavg-al-hxy-u.mon.30S-90S", + "CFmon.clcalipso": "atmos.clcalipso.tavg-h40-hxy-air.mon.GLB", + "CFmon.clcalipsoSouth30": "atmos.clcalipso.tavg-h40-hxy-air.mon.30S-90S", + "CFmon.clhcalipso": "atmos.clcalipso.tavg-220hPa-hxy-air.mon.GLB", + "CFmon.clhcalipsoSouth30": "atmos.clcalipso.tavg-220hPa-hxy-air.mon.30S-90S", + "CFmon.clic": "atmos.clic.tavg-al-hxy-u.mon.GLB", + "CFmon.clicSouth30": "atmos.clic.tavg-al-hxy-u.mon.30S-90S", + "CFmon.clis": "atmos.clis.tavg-al-hxy-u.mon.GLB", + "CFmon.clisSouth30": "atmos.clis.tavg-al-hxy-u.mon.30S-90S", + "CFmon.clisccp": "atmos.clisccp.tavg-p7c-hxy-air.mon.GLB", + "CFmon.clisccpSouth30": "atmos.clisccp.tavg-p7c-hxy-air.mon.30S-90S", + "CFmon.clivimodis": "atmos.clivimodis.tavg-u-hxy-u.mon.GLB", + "CFmon.clivimodisSouth30": "atmos.clivimodis.tavg-u-hxy-u.mon.30S-90S", + "CFmon.cllcalipso": "atmos.clcalipso.tavg-840hPa-hxy-air.mon.GLB", + "CFmon.cllcalipsoSouth30": "atmos.clcalipso.tavg-840hPa-hxy-air.mon.30S-90S", + "CFmon.clmcalipso": "atmos.clcalipso.tavg-560hPa-hxy-air.mon.GLB", + "CFmon.clmcalipsoSouth30": "atmos.clcalipso.tavg-560hPa-hxy-air.mon.30S-90S", + "CFmon.clmodis": "atmos.clmodis.tavg-p7c-hxy-air.mon.GLB", + "CFmon.clmodisSouth30": "atmos.clmodis.tavg-p7c-hxy-air.mon.30S-90S", + "CFmon.clmodisice": "atmos.clmodisice.tavg-p7c-hxy-air.mon.GLB", + "CFmon.clmodisiceReff": "atmos.clmodisiceReff.tavg-u-hxy-u.mon.GLB", + "CFmon.clmodisiceSouth30": "atmos.clmodisice.tavg-p7c-hxy-air.mon.30S-90S", + "CFmon.clmodisliquid": "atmos.clmodisliquid.tavg-p7c-hxy-air.mon.GLB", + "CFmon.clmodisliquidReff": "atmos.clmodisliquidReff.tavg-u-hxy-u.mon.GLB", + "CFmon.clmodisliquidSouth30": "atmos.clmodisliquid.tavg-p7c-hxy-air.mon.30S-90S", + "CFmon.cls": "atmos.cls.tavg-al-hxy-u.mon.GLB", + "CFmon.clsSouth30": "atmos.cls.tavg-al-hxy-u.mon.30S-90S", + "CFmon.cltcalipso": "atmos.cltcalipso.tavg-u-hxy-u.mon.GLB", + "CFmon.cltcalipsoSouth30": "atmos.cltcalipso.tavg-u-hxy-u.mon.30S-90S", + "CFmon.cltisccp": "atmos.cltisccp.tavg-u-hxy-u.mon.GLB", + "CFmon.cltisccpSouth30": "atmos.cltisccp.tavg-u-hxy-u.mon.30S-90S", + "CFmon.cltmodisSouth30": "atmos.cltmodis.tavg-u-hxy-u.mon.30S-90S", + "CFmon.clwc": "atmos.clwc.tavg-al-hxy-u.mon.GLB", + "CFmon.clwcSouth30": "atmos.clwc.tavg-al-hxy-u.mon.30S-90S", + "CFmon.clws": "atmos.clws.tavg-al-hxy-u.mon.GLB", + "CFmon.clwsSouth30": "atmos.clws.tavg-al-hxy-u.mon.30S-90S", + "CFmon.clwvimodis": "atmos.clwvimodis.tavg-u-hxy-u.mon.GLB", + "CFmon.clwvimodisSouth30": "atmos.clwvimodis.tavg-u-hxy-u.mon.30S-90S", + "CFmon.dmc": "atmos.dmc.tavg-alh-hxy-u.mon.GLB", + "CFmon.dmcSouth30": "atmos.dmc.tavg-alh-hxy-u.mon.30S-90S", + "CFmon.edt": "atmos.edt.tavg-al-hxy-u.mon.GLB", + "CFmon.edtSouth30": "atmos.edt.tavg-al-hxy-u.mon.30S-90S", + "CFmon.evu": "atmos.evu.tavg-al-hxy-u.mon.GLB", + "CFmon.evuSouth30": "atmos.evu.tavg-al-hxy-u.mon.30S-90S", + "CFmon.hur": "atmos.hur.tavg-al-hxy-u.mon.GLB", + "CFmon.hurSouth30": "atmos.hur.tavg-al-hxy-u.mon.30S-90S", + "CFmon.hus": "atmos.hus.tavg-al-hxy-u.mon.GLB", + "CFmon.husSouth30": "atmos.hus.tavg-al-hxy-u.mon.30S-90S", + "CFmon.mcd": "atmos.mcd.tavg-alh-hxy-u.mon.GLB", + "CFmon.mcdSouth30": "atmos.mcd.tavg-alh-hxy-u.mon.30S-90S", + "CFmon.mcu": "atmos.mcu.tavg-alh-hxy-u.mon.GLB", + "CFmon.mcuSouth30": "atmos.mcu.tavg-alh-hxy-u.mon.30S-90S", + "CFmon.pctisccp": "atmos.pctisccp.tavg-u-hxy-cl.mon.GLB", + "CFmon.pctisccpSouth30": "atmos.pctisccp.tavg-u-hxy-cl.mon.30S-90S", + "CFmon.rld": "atmos.rld.tavg-alh-hxy-u.mon.GLB", + "CFmon.rld4co2": "atmos.rld4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rldcs": "atmos.rldcs.tavg-alh-hxy-u.mon.GLB", + "CFmon.rldcs4co2": "atmos.rldcs4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rlu": "atmos.rlu.tavg-alh-hxy-u.mon.GLB", + "CFmon.rlu4co2": "atmos.rlu4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rlucs": "atmos.rlucs.tavg-alh-hxy-u.mon.GLB", + "CFmon.rlucs4co2": "atmos.rlucs4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rlut4co2": "atmos.rlut4co2.tavg-u-hxy-u.mon.GLB", + "CFmon.rlutcs4co2": "atmos.rlutcs4co2.tavg-u-hxy-u.mon.GLB", + "CFmon.rsd": "atmos.rsd.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsd4co2": "atmos.rsd4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsdcs": "atmos.rsdcs.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsdcs4co2": "atmos.rsdcs4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsu": "atmos.rsu.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsu4co2": "atmos.rsu4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsucs": "atmos.rsucs.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsucs4co2": "atmos.rsucs4co2.tavg-alh-hxy-u.mon.GLB", + "CFmon.rsut4co2": "atmos.rsut4co2.tavg-u-hxy-u.mon.GLB", + "CFmon.rsutcs4co2": "atmos.rsutcs4co2.tavg-u-hxy-u.mon.GLB", + "CFmon.smc": "atmos.smc.tavg-alh-hxy-u.mon.GLB", + "CFmon.ta": "atmos.ta.tavg-al-hxy-u.mon.GLB", + "CFmon.taSouth30": "atmos.ta.tavg-al-hxy-u.mon.30S-90S", + "CFmon.tnhus": "atmos.tnhus.tavg-al-hxy-u.mon.GLB", + "CFmon.tnhusa": "atmos.tnhusa.tavg-al-hxy-u.mon.GLB", + "CFmon.tnhusc": "atmos.tnhusc.tavg-al-hxy-u.mon.GLB", + "CFmon.tnhusd": "atmos.tnhusd.tavg-al-hxy-u.mon.GLB", + "CFmon.tnhusmp": "atmos.tnhusmp.tavg-al-hxy-u.mon.GLB", + "CFmon.tnhusscpbl": "atmos.tnhusscpbl.tavg-al-hxy-u.mon.GLB", + "CFmon.tnt": "atmos.tnt.tavg-al-hxy-u.mon.GLB", + "CFmon.tnta": "atmos.tnta.tavg-al-hxy-u.mon.GLB", + "CFmon.tntc": "atmos.tntc.tavg-al-hxy-u.mon.GLB", + "CFmon.tntmp": "atmos.tntmp.tavg-al-hxy-u.mon.GLB", + "CFmon.tntr": "atmos.tntr.tavg-al-hxy-u.mon.GLB", + "CFmon.tntscpbl": "atmos.tntscpbl.tavg-al-hxy-u.mon.GLB", + "CFsubhr.ccb": "atmos.ccb.tpt-u-hs-u.subhr.GLB", + "CFsubhr.cct": "atmos.cct.tpt-u-hs-u.subhr.GLB", + "CFsubhr.ci": "atmos.ci.tpt-u-hs-u.subhr.GLB", + "CFsubhr.cl": "atmos.cl.tpt-al-hs-u.subhr.GLB", + "CFsubhr.cli": "atmos.cli.tpt-al-hs-u.subhr.GLB", + "CFsubhr.clivi": "atmos.clivi.tpt-u-hs-u.subhr.GLB", + "CFsubhr.clt": "atmos.clt.tpt-u-hs-u.subhr.GLB", + "CFsubhr.clw": "atmos.clw.tpt-al-hs-u.subhr.GLB", + "CFsubhr.clwvi": "atmos.clwvi.tpt-u-hs-u.subhr.GLB", + "CFsubhr.edt": "atmos.edt.tpt-al-hs-u.subhr.GLB", + "CFsubhr.evspsbl": "atmos.evspsbl.tpt-u-hs-u.subhr.GLB", + "CFsubhr.evu": "atmos.evu.tpt-al-hs-u.subhr.GLB", + "CFsubhr.fco2antt": "atmos.fco2antt.tpt-u-hs-u.subhr.GLB", + "CFsubhr.fco2fos": "atmos.fco2fos.tpt-u-hs-u.subhr.GLB", + "CFsubhr.fco2nat": "atmos.fco2nat.tpt-u-hs-u.subhr.GLB", + "CFsubhr.hfls": "atmos.hfls.tpt-u-hs-u.subhr.GLB", + "CFsubhr.hfss": "atmos.hfss.tpt-u-hs-u.subhr.GLB", + "CFsubhr.hur": "atmos.hur.tpt-al-hs-u.subhr.GLB", + "CFsubhr.hurs": "atmos.hurs.tpt-h2m-hs-u.subhr.GLB", + "CFsubhr.hus": "atmos.hus.tpt-al-hs-u.subhr.GLB", + "CFsubhr.huss": "atmos.huss.tpt-h2m-hs-u.subhr.GLB", + "CFsubhr.mc": "atmos.mc.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.pfull": "atmos.pfull.tpt-al-hs-u.subhr.GLB", + "CFsubhr.phalf": "atmos.phalf.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.pr": "atmos.pr.tpt-u-hs-u.subhr.GLB", + "CFsubhr.prc": "atmos.prc.tpt-u-hs-u.subhr.GLB", + "CFsubhr.prsn": "atmos.prsn.tpt-u-hs-u.subhr.GLB", + "CFsubhr.prw": "atmos.prw.tpt-u-hs-u.subhr.GLB", + "CFsubhr.ps": "atmos.ps.tpt-u-hs-u.subhr.GLB", + "CFsubhr.psl": "atmos.psl.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rld": "atmos.rld.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rldcs": "atmos.rldcs.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rlds": "atmos.rlds.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rldscs": "atmos.rldscs.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rlu": "atmos.rlu.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rlucs": "atmos.rlucs.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rlus": "atmos.rlus.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rlut": "atmos.rlut.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rlutcs": "atmos.rlutcs.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rsd": "atmos.rsd.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rsdcs": "atmos.rsdcs.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rsds": "atmos.rsds.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rsdscs": "atmos.rsdscs.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rsdt": "atmos.rsdt.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rsu": "atmos.rsu.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rsucs": "atmos.rsucs.tpt-alh-hs-u.subhr.GLB", + "CFsubhr.rsus": "atmos.rsus.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rsuscs": "atmos.rsuscs.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rsut": "atmos.rsut.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rsutcs": "atmos.rsutcs.tpt-u-hs-u.subhr.GLB", + "CFsubhr.rtmt": "atmos.rtmt.tpt-u-hs-u.subhr.GLB", + "CFsubhr.sbl": "landIce.sbl.tpt-u-hs-u.subhr.GLB", + "CFsubhr.sci": "atmos.sci.tpt-u-hs-u.subhr.GLB", + "CFsubhr.sfcWind": "atmos.sfcWind.tpt-h10m-hs-u.subhr.GLB", + "CFsubhr.ta": "atmos.ta.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tas": "atmos.tas.tpt-h2m-hs-u.subhr.GLB", + "CFsubhr.tauu": "atmos.tauu.tpt-u-hs-u.subhr.GLB", + "CFsubhr.tauv": "atmos.tauv.tpt-u-hs-u.subhr.GLB", + "CFsubhr.tnhus": "atmos.tnhus.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tnhusa": "atmos.tnhusa.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tnhusc": "atmos.tnhusc.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tnhusd": "atmos.tnhusd.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tnhusmp": "atmos.tnhusmp.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tnhusscpbl": "atmos.tnhusscpbl.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tnt": "atmos.tnt.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tnta": "atmos.tnta.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tntc": "atmos.tntc.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tntmp": "atmos.tntmp.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tntr": "atmos.tntr.tpt-al-hs-u.subhr.GLB", + "CFsubhr.tntscpbl": "atmos.tntscpbl.tpt-al-hs-u.subhr.GLB", + "CFsubhr.ts": "atmos.ts.tpt-u-hs-u.subhr.GLB", + "CFsubhr.ua": "atmos.ua.tpt-al-hs-u.subhr.GLB", + "CFsubhr.uas": "atmos.uas.tpt-h10m-hs-u.subhr.GLB", + "CFsubhr.va": "atmos.va.tpt-al-hs-u.subhr.GLB", + "CFsubhr.vas": "atmos.vas.tpt-h10m-hs-u.subhr.GLB", + "CFsubhr.wap": "atmos.wap.tpt-al-hs-u.subhr.GLB", + "CFsubhr.zg": "atmos.zg.tpt-al-hs-u.subhr.GLB", + "E1hr.bldep": "atmos.bldep.tavg-u-hxy-u.1hr.GLB", + "E1hr.clt": "atmos.clt.tavg-u-hxy-u.1hr.30S-90S", + "E1hr.hfls": "atmos.hfls.tavg-u-hxy-u.1hr.GLB", + "E1hr.hfss": "atmos.hfss.tavg-u-hxy-u.1hr.GLB", + "E1hr.hurs": "atmos.hurs.tavg-h2m-hxy-u.1hr.GLB", + "E1hr.hursSouth30": "atmos.hurs.tavg-h2m-hxy-u.1hr.30S-90S", + "E1hr.huss": "atmos.huss.tpt-h2m-hxy-u.1hr.GLB", + "E1hr.pr": "atmos.pr.tavg-u-hxy-u.1hr.GLB", + "E1hr.prSouth30": "atmos.pr.tavg-u-hxy-u.1hr.30S-90S", + "E1hr.ps": "atmos.ps.tpt-u-hxy-u.1hr.GLB", + "E1hr.psSouth30": "atmos.ps.tpt-u-hxy-u.1hr.30S-90S", + "E1hr.psl": "atmos.psl.tpt-u-hxy-u.1hr.GLB", + "E1hr.rlds": "atmos.rlds.tavg-u-hxy-u.1hr.GLB", + "E1hr.rldsSouth30": "atmos.rlds.tavg-u-hxy-u.1hr.30S-90S", + "E1hr.rlus": "atmos.rlus.tavg-u-hxy-u.1hr.GLB", + "E1hr.rsds": "atmos.rsds.tavg-u-hxy-u.1hr.GLB", + "E1hr.rsdsSouth30": "atmos.rsds.tavg-u-hxy-u.1hr.30S-90S", + "E1hr.rsdsdiff": "atmos.rsdsdiff.tavg-u-hxy-u.1hr.GLB", + "E1hr.rsus": "atmos.rsus.tavg-u-hxy-u.1hr.GLB", + "E1hr.sfcWind": "atmos.sfcWind.tavg-h10m-hxy-u.1hr.GLB", + "E1hr.sfcWindSouth30": "atmos.sfcWind.tavg-h10m-hxy-u.1hr.30S-90S", + "E1hr.tas": "land.tas.tavg-u-hxy-u.1hr.GLB", + "E1hr.tasSouth30": "land.tas.tavg-u-hxy-u.1hr.30S-90S", + "E1hr.ts": "atmos.ts.tavg-u-hxy-u.1hr.GLB", + "E1hr.ua100m": "atmos.ua.tpt-h100m-hxy-u.1hr.GLB", + "E1hr.uas": "atmos.uas.tpt-h10m-hxy-u.1hr.GLB", + "E1hr.va100m": "atmos.va.tpt-h100m-hxy-u.1hr.GLB", + "E1hr.vas": "atmos.vas.tpt-h10m-hxy-u.1hr.GLB", + "E1hr.wsgmax100m": "atmos.wsg.tmax-h100m-hxy-u.1hr.GLB", + "E1hr.wsgmax10m": "atmos.wsg.tmax-h10m-hxy-u.1hr.GLB", + "E1hrClimMon.rlut": "atmos.rlut.tclmdc-u-hxy-u.1hr.GLB", + "E1hrClimMon.rlutcs": "atmos.rlutcs.tclmdc-u-hxy-u.1hr.GLB", + "E1hrClimMon.rsdt": "atmos.rsdt.tclmdc-u-hxy-u.1hr.GLB", + "E1hrClimMon.rsut": "atmos.rsut.tclmdc-u-hxy-u.1hr.GLB", + "E1hrClimMon.rsutcs": "atmos.rsutcs.tclmdc-u-hxy-u.1hr.GLB", + "E3hr.clivi": "atmos.clivi.tavg-u-hxy-u.3hr.GLB", + "E3hr.clwvi": "atmos.clwvi.tavg-u-hxy-u.3hr.GLB", + "E3hr.prw": "atmos.prw.tavg-u-hxy-u.3hr.GLB", + "E3hr.rlut": "atmos.rlut.tavg-u-hxy-u.3hr.GLB", + "E3hr.rlutcs": "atmos.rlutcs.tavg-u-hxy-u.3hr.GLB", + "E3hr.rsut": "atmos.rsut.tavg-u-hxy-u.3hr.GLB", + "E3hr.rsutcs": "atmos.rsutcs.tavg-u-hxy-u.3hr.GLB", + "E3hr.sfcWind": "atmos.sfcWind.tavg-h10m-hxy-u.3hr.GLB", + "E3hrPt.cltcalipso": "atmos.cltcalipso.tpt-u-hxy-u.3hr.GLB", + "E3hrPt.conccn": "aerosol.conccn.tpt-u-hs-u.3hr.GLB", + "E3hrPt.hus": "atmos.hus.tpt-al-hxy-u.3hr.GLB", + "E3hrPt.hus6": "atmos.hus.tpt-p6-hxy-air.3hr.GLB", + "E3hrPt.mmraerh2o": "aerosol.mmraerh2o.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.mmrbc": "aerosol.mmrbc.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.mmrdust": "aerosol.mmrdust.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.mmrnh4": "aerosol.mmrnh4.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.mmrno3": "aerosol.mmrno3.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.mmroa": "aerosol.mmroa.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.mmrso4": "aerosol.mmrso4.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.mmrss": "aerosol.mmrss.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.so2": "aerosol.so2.tpt-h2m-hs-u.3hr.GLB", + "E3hrPt.ta6": "atmos.ta.tpt-p6-hxy-air.3hr.GLB", + "E3hrPt.ua6": "atmos.ua.tpt-p6-hxy-air.3hr.GLB", + "E3hrPt.va6": "atmos.va.tpt-p6-hxy-air.3hr.GLB", + "E3hrPt.wap6": "atmos.wap.tpt-p6-hxy-air.3hr.GLB", + "Eday.ccldncl": "aerosol.ccldncl.tavg-u-hxy-ccl.day.GLB", + "Eday.cldnci": "atmos.cldnci.tavg-u-hxy-cl.day.GLB", + "Eday.cldnvi": "atmos.cldnvi.tavg-u-hxy-u.day.GLB", + "Eday.clivic": "atmos.clivic.tavg-u-hxy-u.day.GLB", + "Eday.clt": "atmos.clt.tavg-u-hxy-lnd.day.GLB", + "Eday.clwvic": "atmos.clwvic.tavg-u-hxy-u.day.GLB", + "Eday.dcw": "land.dcw.tavg-u-hxy-lnd.day.GLB", + "Eday.dgw": "land.dgw.tavg-u-hxy-lnd.day.GLB", + "Eday.drivw": "land.drivw.tavg-u-hxy-lnd.day.GLB", + "Eday.dslw": "land.dslw.tavg-u-hxy-lnd.day.GLB", + "Eday.dsn": "land.dsn.tavg-u-hxy-lnd.day.GLB", + "Eday.dsw": "land.dsw.tavg-u-hxy-lnd.day.GLB", + "Eday.esn": "land.esn.tavg-u-hxy-sn.day.GLB", + "Eday.evspsbl": "atmos.evspsbl.tavg-u-hxy-lnd.day.GLB", + "Eday.evspsblpot": "land.evspsblpot.tavg-u-hxy-lnd.day.GLB", + "Eday.evspsblsoi": "land.evspsblsoi.tavg-u-hxy-u.day.GLB", + "Eday.evspsblveg": "land.evspsblveg.tavg-u-hxy-u.day.GLB", + "Eday.flashrate": "atmosChem.flashrate.tavg-u-hxy-u.day.GLB", + "Eday.gppVgt": "land.gppVgt.tavg-u-hxy-multi.day.GLB", + "Eday.hfdsn": "landIce.hfdsn.tavg-u-hxy-lnd.day.GLB", + "Eday.hfdsnb": "atmos.hfdsnb.tavg-u-hxy-lnd.day.GLB", + "Eday.hursminCrop": "atmos.hurs.tmin-h2m-hxy-crp.day.GLB", + "Eday.intuadse": "atmos.intuadse.tavg-u-hxy-u.day.GLB", + "Eday.intuaw": "atmos.intuaw.tavg-u-hxy-u.day.GLB", + "Eday.intvadse": "atmos.intvadse.tavg-u-hxy-u.day.GLB", + "Eday.intvaw": "atmos.intvaw.tavg-u-hxy-u.day.GLB", + "Eday.jpdftaureicemodis": "atmos.jpdftaureicemodis.tavg-u-hxy-u.day.GLB", + "Eday.jpdftaureliqmodis": "atmos.jpdftaureliqmodis.tavg-u-hxy-u.day.GLB", + "Eday.lai": "land.lai.tavg-u-hxy-lnd.day.GLB", + "Eday.laiVgt": "land.laiVgt.tavg-u-hxy-multi.day.GLB", + "Eday.loadbc": "atmos.loadbc.tavg-u-hxy-u.day.GLB", + "Eday.loaddust": "atmos.loaddust.tavg-u-hxy-u.day.GLB", + "Eday.loadnh4": "atmos.loadnh4.tavg-u-hxy-u.day.GLB", + "Eday.loadno3": "atmos.loadno3.tavg-u-hxy-u.day.GLB", + "Eday.loadoa": "atmos.loadoa.tavg-u-hxy-u.day.GLB", + "Eday.loadpoa": "atmos.loadpoa.tavg-u-hxy-u.day.GLB", + "Eday.loadso4": "atmos.loadso4.tavg-u-hxy-u.day.GLB", + "Eday.loadsoa": "atmos.loadsoa.tavg-u-hxy-u.day.GLB", + "Eday.loadss": "atmos.loadss.tavg-u-hxy-u.day.GLB", + "Eday.lwsnl": "landIce.lwsnl.tavg-u-hxy-lnd.day.GLB", + "Eday.mlotst": "ocean.mlotst.tavg-u-hxy-sea.day.GLB", + "Eday.mrrob": "land.mrrob.tavg-u-hxy-lnd.day.GLB", + "Eday.mrros": "land.mrros.tavg-u-hxy-lnd.day.GLB", + "Eday.mrsfl": "land.mrsfl.tavg-sl-hxy-lnd.day.GLB", + "Eday.mrsll": "land.mrsll.tavg-sl-hxy-lnd.day.GLB", + "Eday.mrsol": "land.mrsol.tavg-sl-hxy-lnd.day.GLB", + "Eday.mrsow": "land.mrsow.tavg-u-hxy-lnd.day.GLB", + "Eday.mrtws": "land.mrtws.tavg-u-hxy-lnd.day.GLB", + "Eday.nppVgt": "land.nppVgt.tavg-u-hxy-multi.day.GLB", + "Eday.parasolRefl": "atmos.parasolRefl.tavg-u-hxy-sea.day.GLB", + "Eday.pflw": "landIce.pflw.tavg-u-hxy-lnd.day.GLB", + "Eday.prCrop": "atmos.pr.tavg-u-hxy-crp.day.GLB", + "Eday.prhmax": "atmos.pr.tmax-u-hxy-u.day.GLB", + "Eday.prra": "atmos.prra.tavg-u-hxy-lnd.day.GLB", + "Eday.prrsn": "atmos.prrsn.tavg-u-hxy-lnd.day.GLB", + "Eday.prsnc": "atmos.prsnc.tavg-u-hxy-lnd.day.GLB", + "Eday.prsnsn": "atmos.prsnsn.tavg-u-hxy-lnd.day.GLB", + "Eday.prw": "atmos.prw.tavg-u-hxy-u.day.GLB", + "Eday.qgwr": "land.qgwr.tavg-u-hxy-lnd.day.GLB", + "Eday.raVgt": "land.raVgt.tavg-u-hxy-multi.day.GLB", + "Eday.reffcclwtop": "atmos.reffcclwtop.tavg-u-hxy-ccl.day.GLB", + "Eday.reffsclwtop": "atmos.reffsclwtop.tavg-u-hxy-scl.day.GLB", + "Eday.rhVgt": "land.rhVgt.tavg-u-hxy-multi.day.GLB", + "Eday.rivi": "land.rivi.tavg-u-hxy-lnd.day.GLB", + "Eday.rivo": "land.rivo.tavg-u-hxy-lnd.day.GLB", + "Eday.rsdscsdiff": "atmos.rsdscsdiff.tavg-u-hxy-u.day.GLB", + "Eday.rsdsdiff": "atmos.rsdsdiff.tavg-u-hxy-u.day.GLB", + "Eday.rzwc": "land.rzwc.tavg-u-hxy-lnd.day.GLB", + "Eday.sbl": "landIce.sbl.tavg-u-hxy-u.day.GLB", + "Eday.scldncl": "atmos.scldncl.tavg-u-hxy-scl.day.GLB", + "Eday.snd": "landIce.snd.tavg-u-hxy-lnd.day.GLB", + "Eday.snm": "landIce.snm.tavg-u-hxy-lnd.day.GLB", + "Eday.snmsl": "atmos.snmsl.tavg-u-hxy-lnd.day.GLB", + "Eday.snrefr": "atmos.snrefr.tavg-u-hxy-lnd.day.GLB", + "Eday.snwc": "atmos.snwc.tavg-u-hxy-lnd.day.GLB", + "Eday.sw": "land.sw.tavg-u-hxy-lnd.day.GLB", + "Eday.t20d": "ocean.t20d.tavg-u-hxy-sea.day.GLB", + "Eday.ta850": "atmos.ta.tavg-850hPa-hxy-air.day.GLB", + "Eday.tasmaxCrop": "atmos.tas.tmax-h2m-hxy-crp.day.GLB", + "Eday.tasminCrop": "atmos.tas.tmin-h2m-hxy-crp.day.GLB", + "Eday.tauu": "atmos.tauu.tavg-u-hxy-u.day.GLB", + "Eday.tauupbl": "atmos.tauupbl.tavg-u-hxy-u.day.GLB", + "Eday.tauv": "atmos.tauv.tavg-u-hxy-u.day.GLB", + "Eday.tauvpbl": "atmos.tauvpbl.tavg-u-hxy-u.day.GLB", + "Eday.tdps": "atmos.tdps.tavg-h2m-hxy-u.day.GLB", + "Eday.tpf": "landIce.tpf.tavg-u-hxy-lnd.day.GLB", + "Eday.ts": "atmos.ts.tavg-u-hxy-u.day.GLB", + "Eday.tsl": "land.tsl.tavg-sl-hxy-lnd.day.GLB", + "Eday.tsn": "landIce.tsn.tavg-u-hxy-lnd.day.GLB", + "Eday.tsns": "atmos.ts.tavg-u-hxy-sn.day.GLB", + "Eday.utendnogw": "atmos.utendnogw.tavg-p19-hxy-air.day.GLB", + "Eday.utendogw": "atmos.utendogw.tavg-p19-hxy-air.day.GLB", + "Eday.vtendnogw": "atmos.vtendnogw.tavg-p19-hxy-air.day.GLB", + "Eday.vtendogw": "atmos.vtendogw.tavg-p19-hxy-air.day.GLB", + "Eday.wtd": "land.wtd.tavg-u-hxy-lnd.day.GLB", + "EdayZ.epfy": "atmos.epfy.tavg-p39-hy-air.day.GLB", + "EdayZ.epfz": "atmos.epfz.tavg-p39-hy-air.day.GLB", + "EdayZ.psitem": "atmos.psitem.tavg-p39-hy-air.day.GLB", + "EdayZ.ta": "atmos.ta.tavg-p39-hy-air.day.GLB", + "EdayZ.tauunoegw": "atmos.tauunoegw.tavg-p39-hy-air.day.GLB", + "EdayZ.tauunowgw": "atmos.tauunowgw.tavg-p39-hy-air.day.GLB", + "EdayZ.tauuogw": "atmos.tauuogw.tavg-p39-hy-air.day.GLB", + "EdayZ.tauvnogw": "atmos.tauvnogw.tavg-p39-hy-air.day.GLB", + "EdayZ.tauvogw": "atmos.tauvogw.tavg-p39-hy-air.day.GLB", + "EdayZ.tntmp": "atmos.tntmp.tavg-p39-hy-air.day.GLB", + "EdayZ.tntrl": "atmos.tntrl.tavg-p39-hy-air.day.GLB", + "EdayZ.tntrs": "atmos.tntrs.tavg-p39-hy-air.day.GLB", + "EdayZ.ua": "atmos.ua.tavg-p39-hy-air.day.GLB", + "EdayZ.utendepfd": "atmos.utendepfd.tavg-p39-hy-air.day.GLB", + "EdayZ.utendnogw": "atmos.utendnogw.tavg-p39-hy-air.day.GLB", + "EdayZ.utendogw": "atmos.utendogw.tavg-p39-hy-air.day.GLB", + "EdayZ.utendvtem": "atmos.utendvtem.tavg-p39-hy-air.day.GLB", + "EdayZ.utendwtem": "atmos.utendwtem.tavg-p39-hy-air.day.GLB", + "EdayZ.vtem": "atmos.vtem.tavg-p39-hy-air.day.GLB", + "EdayZ.wtem": "atmos.wtem.tavg-p39-hy-air.day.GLB", + "EdayZ.zg": "atmos.zg.tavg-p39-hy-air.day.GLB", + "Efx.sftflf": "landIce.sftflf.ti-u-hxy-u.fx.GLB", + "Efx.sftgrf": "landIce.sftgrf.ti-u-hxy-u.fx.GLB", + "Efx.slthick": "land.slthick.ti-sl-hxy-lnd.fx.GLB", + "Emon.albc": "land.albc.tavg-u-hxy-veg.mon.GLB", + "Emon.c13Land": "land.c13Land.tavg-u-hxy-lnd.mon.GLB", + "Emon.c13Litter": "land.c13Litter.tavg-u-hxy-lnd.mon.GLB", + "Emon.c13Soil": "land.c13Soil.tavg-u-hxy-lnd.mon.GLB", + "Emon.c13Veg": "land.c13Veg.tavg-u-hxy-lnd.mon.GLB", + "Emon.c14Land": "land.c14Land.tavg-u-hxy-lnd.mon.GLB", + "Emon.c14Litter": "land.c14Litter.tavg-u-hxy-lnd.mon.GLB", + "Emon.c14Soil": "land.c14Soil.tavg-u-hxy-lnd.mon.GLB", + "Emon.c14Veg": "land.c14Veg.tavg-u-hxy-lnd.mon.GLB", + "Emon.cLand": "land.cLand.tavg-u-hxy-lnd.mon.GLB", + "Emon.cLitterCwd": "land.cLitterCwd.tavg-u-hxy-lnd.mon.GLB", + "Emon.cLitterSubSurf": "land.cLitterSubSurf.tavg-u-hxy-lnd.mon.GLB", + "Emon.cLitterSurf": "land.cLitterSurf.tavg-u-hxy-lnd.mon.GLB", + "Emon.cOther": "land.cOther.tavg-u-hxy-lnd.mon.GLB", + "Emon.cSoil": "land.cSoil.tavg-u-hxy-lnd.mon.GLB", + "Emon.cSoilAbove1m": "land.cSoil.tavg-d100cm-hxy-lnd.mon.GLB", + "Emon.cSoilLevels": "land.cSoil.tavg-sl-hxy-lnd.mon.GLB", + "Emon.cSoilPools": "land.cSoilPools.tavg-u-hxy-lnd.mon.GLB", + "Emon.cStem": "land.cStem.tavg-u-hxy-lnd.mon.GLB", + "Emon.cVegGrass": "land.cVeg.tavg-u-hxy-ng.mon.GLB", + "Emon.cVegShrub": "land.cVeg.tavg-u-hxy-shb.mon.GLB", + "Emon.cVegTree": "land.cVeg.tavg-u-hxy-tree.mon.GLB", + "Emon.ccldncl": "aerosol.ccldncl.tavg-u-hxy-ccl.mon.GLB", + "Emon.cfadDbze94": "atmos.cfadDbze94.tavg-h40-hxy-air.mon.GLB", + "Emon.cfadLidarsr532": "atmos.cfadLidarsr532.tavg-h40-hxy-air.mon.GLB", + "Emon.clcalipsoice": "atmos.clcalipsoice.tavg-h40-hxy-air.mon.GLB", + "Emon.clcalipsoliq": "atmos.clcalipsoliq.tavg-h40-hxy-air.mon.GLB", + "Emon.cldnci": "atmos.cldnci.tavg-u-hxy-cl.mon.GLB", + "Emon.cldncl": "atmos.cldncl.tavg-u-hxy-cl.mon.GLB", + "Emon.cldnvi": "atmos.cldnvi.tavg-u-hxy-u.mon.GLB", + "Emon.climodis": "atmos.climodis.tavg-u-hxy-u.mon.GLB", + "Emon.clmisr": "atmos.clmisr.tavg-h16-hxy-air.mon.GLB", + "Emon.cltmodis": "atmos.cltmodis.tavg-u-hxy-u.mon.GLB", + "Emon.clwmodis": "atmos.clwmodis.tavg-u-hxy-u.mon.GLB", + "Emon.cnc": "land.cnc.tavg-u-hxy-u.mon.GLB", + "Emon.co23D": "atmos.co23D.tavg-al-hxy-u.mon.GLB", + "Emon.co2s": "atmos.co2.tavg-h2m-hxy-u.mon.GLB", + "Emon.cropFracC3": "land.cropFracC3.tavg-u-hxy-u.mon.GLB", + "Emon.cropFracC4": "land.cropFracC4.tavg-u-hxy-u.mon.GLB", + "Emon.depdust": "aerosol.depdust.tavg-u-hxy-u.mon.GLB", + "Emon.dissi14c": "ocnBgchem.dissi14c.tavg-ol-hxy-sea.mon.GLB", + "Emon.ec550aer": "aerosol.ec550aer.tavg-al-hxy-u.mon.GLB", + "Emon.evspsblpot": "land.evspsblpot.tavg-u-hxy-lnd.mon.GLB", + "Emon.expcalc": "ocnBgchem.expcalc.tavg-ol-hxy-sea.mon.GLB", + "Emon.fAnthDisturb": "land.fAnthDisturb.tavg-u-hxy-lnd.mon.GLB", + "Emon.fBNF": "land.fBNF.tavg-u-hxy-lnd.mon.GLB", + "Emon.fCLandToOcean": "land.fCLandToOcean.tavg-u-hxy-lnd.mon.GLB", + "Emon.fDeforestToAtmos": "land.fDeforestToAtmos.tavg-u-hxy-lnd.mon.GLB", + "Emon.fDeforestToProduct": "land.fDeforestToProduct.tavg-u-hxy-lnd.mon.GLB", + "Emon.fFireAll": "land.fFireAll.tavg-u-hxy-lnd.mon.GLB", + "Emon.fFireNat": "land.fFireNat.tavg-u-hxy-lnd.mon.GLB", + "Emon.fHarvestToAtmos": "land.fHarvestToAtmos.tavg-u-hxy-lnd.mon.GLB", + "Emon.fHarvestToProduct": "land.fHarvestToProduct.tavg-u-hxy-lnd.mon.GLB", + "Emon.fLitterFire": "land.fLitterFire.tavg-u-hxy-lnd.mon.GLB", + "Emon.fLuc": "land.fLuc.tavg-u-hxy-lnd.mon.GLB", + "Emon.fLulccAtmLut": "land.fLulccAtmLut.tavg-u-hxy-multi.mon.GLB", + "Emon.fN2O": "land.fN2O.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNAnthDisturb": "land.fNAnthDisturb.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNLandToOcean": "land.fNLandToOcean.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNLitterSoil": "land.fNLitterSoil.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNOx": "land.fNOx.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNProduct": "land.fNProduct.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNVegLitter": "land.fNVegLitter.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNVegSoil": "land.fNVegSoil.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNdep": "land.fNdep.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNfert": "land.fNfert.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNgas": "land.fNgas.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNgasFire": "land.fNgasFire.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNgasNonFire": "land.fNgasNonFire.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNleach": "land.fNleach.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNloss": "land.fNloss.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNnetmin": "land.fNnetmin.tavg-u-hxy-lnd.mon.GLB", + "Emon.fNup": "land.fNup.tavg-u-hxy-lnd.mon.GLB", + "Emon.fProductDecomp": "land.fProductDecomp.tavg-u-hxy-lnd.mon.GLB", + "Emon.fVegFire": "land.fVegFire.tavg-u-hxy-lnd.mon.GLB", + "Emon.fVegLitterMortality": "land.fVegLitterMortality.tavg-u-hxy-lnd.mon.GLB", + "Emon.fVegLitterSenescence": "land.fVegLitterSenescence.tavg-u-hxy-lnd.mon.GLB", + "Emon.fVegSoilMortality": "land.fVegSoilMortality.tavg-u-hxy-lnd.mon.GLB", + "Emon.fVegSoilSenescence": "land.fVegSoilSenescence.tavg-u-hxy-lnd.mon.GLB", + "Emon.flandice": "ocean.flandice.tavg-u-hxy-sea.mon.GLB", + "Emon.flashrate": "atmosChem.flashrate.tavg-u-hxy-u.mon.GLB", + "Emon.fracLut": "land.fracLut.tpt-u-hxy-u.mon.GLB", + "Emon.gppGrass": "land.gpp.tavg-u-hxy-ng.mon.GLB", + "Emon.gppLut": "land.gppLut.tavg-u-hxy-multi.mon.GLB", + "Emon.gppShrub": "land.gpp.tavg-u-hxy-shb.mon.GLB", + "Emon.gppTree": "land.gpp.tavg-u-hxy-tree.mon.GLB", + "Emon.gppc13": "land.gppc13.tavg-u-hxy-lnd.mon.GLB", + "Emon.gppc14": "land.gppc14.tavg-u-hxy-lnd.mon.GLB", + "Emon.grassFracC3": "land.grassFracC3.tavg-u-hxy-u.mon.GLB", + "Emon.grassFracC4": "land.grassFracC4.tavg-u-hxy-u.mon.GLB", + "Emon.hflsLut": "land.hflsLut.tavg-u-hxy-multi.mon.GLB", + "Emon.hfssLut": "land.hfssLut.tavg-u-hxy-multi.mon.GLB", + "Emon.intuadse": "atmos.intuadse.tavg-u-hxy-u.mon.GLB", + "Emon.intuaw": "atmos.intuaw.tavg-u-hxy-u.mon.GLB", + "Emon.intvadse": "atmos.intvadse.tavg-u-hxy-u.mon.GLB", + "Emon.intvaw": "atmos.intvaw.tavg-u-hxy-u.mon.GLB", + "Emon.irrLut": "land.irrLut.tavg-u-hxy-multi.mon.GLB", + "Emon.jpdftaureicemodis": "atmos.jpdftaureicemodis.tavg-u-hxy-u.mon.GLB", + "Emon.jpdftaureliqmodis": "atmos.jpdftaureliqmodis.tavg-u-hxy-u.mon.GLB", + "Emon.laiLut": "land.laiLut.tavg-u-hxy-multi.mon.GLB", + "Emon.loadso4": "atmos.loadso4.tavg-u-hxy-u.mon.GLB", + "Emon.mrsfl": "land.mrsfl.tavg-sl-hxy-lnd.mon.GLB", + "Emon.mrsll": "land.mrsll.tavg-sl-hxy-lnd.mon.GLB", + "Emon.mrsol": "land.mrsol.tavg-sl-hxy-lnd.mon.GLB", + "Emon.mrsosLut": "land.mrsolLut.tavg-d10cm-hxy-multi.mon.GLB", + "Emon.mrtws": "land.mrtws.tavg-u-hxy-lnd.mon.GLB", + "Emon.nLand": "land.nLand.tavg-u-hxy-lnd.mon.GLB", + "Emon.nLeaf": "land.nLeaf.tavg-u-hxy-lnd.mon.GLB", + "Emon.nLitter": "land.nLitter.tavg-u-hxy-lnd.mon.GLB", + "Emon.nLitterCwd": "land.nLitterCwd.tavg-u-hxy-lnd.mon.GLB", + "Emon.nLitterSubSurf": "land.nLitterSubSurf.tavg-u-hxy-lnd.mon.GLB", + "Emon.nLitterSurf": "land.nLitterSurf.tavg-u-hxy-lnd.mon.GLB", + "Emon.nMineral": "land.nMineral.tavg-u-hxy-lnd.mon.GLB", + "Emon.nMineralNH4": "land.nMineralNH4.tavg-u-hxy-lnd.mon.GLB", + "Emon.nMineralNO3": "land.nMineralNO3.tavg-u-hxy-lnd.mon.GLB", + "Emon.nOther": "land.nOther.tavg-u-hxy-lnd.mon.GLB", + "Emon.nProduct": "land.nProduct.tavg-u-hxy-lnd.mon.GLB", + "Emon.nRoot": "land.nRoot.tavg-u-hxy-lnd.mon.GLB", + "Emon.nSoil": "land.nSoil.tavg-u-hxy-lnd.mon.GLB", + "Emon.nStem": "land.nStem.tavg-u-hxy-lnd.mon.GLB", + "Emon.nVeg": "land.nVeg.tavg-u-hxy-lnd.mon.GLB", + "Emon.nbpLut": "land.nbpLut.tavg-u-hxy-multi.mon.GLB", + "Emon.nep": "land.nep.tavg-u-hxy-lnd.mon.GLB", + "Emon.netAtmosLandC13Flux": "land.netAtmosLandC13Flux.tavg-u-hxy-lnd.mon.GLB", + "Emon.netAtmosLandC14Flux": "land.netAtmosLandC14Flux.tavg-u-hxy-lnd.mon.GLB", + "Emon.nppGrass": "land.npp.tavg-u-hxy-ng.mon.GLB", + "Emon.nppLut": "land.nppLut.tavg-u-hxy-multi.mon.GLB", + "Emon.nppOther": "land.nppOther.tavg-u-hxy-lnd.mon.GLB", + "Emon.nppShrub": "land.npp.tavg-u-hxy-shb.mon.GLB", + "Emon.nppStem": "land.nppStem.tavg-u-hxy-lnd.mon.GLB", + "Emon.nppTree": "land.npp.tavg-u-hxy-tree.mon.GLB", + "Emon.osaltpsmadvect": "ocean.osaltpsmadvect.tavg-ol-hxy-sea.mon.GLB", + "Emon.parasolRefl": "atmos.parasolRefl.tavg-u-hxy-sea.mon.GLB", + "Emon.pastureFracC3": "land.pastureFracC3.tavg-u-hxy-u.mon.GLB", + "Emon.pastureFracC4": "land.pastureFracC4.tavg-u-hxy-u.mon.GLB", + "Emon.pr17O": "atmos.pr17O.tavg-u-hxy-u.mon.GLB", + "Emon.pr18O": "atmos.pr18O.tavg-u-hxy-u.mon.GLB", + "Emon.pr2h": "atmos.pr2h.tavg-u-hxy-u.mon.GLB", + "Emon.prhmax": "atmos.pr.tmax-u-hxy-u.mon.GLB", + "Emon.prsn18O": "atmos.prsn18O.tavg-u-hxy-u.mon.GLB", + "Emon.prsn2h": "atmos.prsn2h.tavg-u-hxy-u.mon.GLB", + "Emon.raGrass": "land.ra.tavg-u-hxy-ng.mon.GLB", + "Emon.raLeaf": "land.raLeaf.tavg-u-hxy-lnd.mon.GLB", + "Emon.raLut": "land.raLut.tavg-u-hxy-multi.mon.GLB", + "Emon.raOther": "land.raOther.tavg-u-hxy-lnd.mon.GLB", + "Emon.raRoot": "land.raRoot.tavg-u-hxy-lnd.mon.GLB", + "Emon.raShrub": "land.ra.tavg-u-hxy-shb.mon.GLB", + "Emon.raStem": "land.raStem.tavg-u-hxy-lnd.mon.GLB", + "Emon.raTree": "land.ra.tavg-u-hxy-tree.mon.GLB", + "Emon.rac13": "land.rac13.tavg-u-hxy-lnd.mon.GLB", + "Emon.rac14": "land.rac14.tavg-u-hxy-lnd.mon.GLB", + "Emon.reffcclwtop": "atmos.reffcclwtop.tavg-u-hxy-ccl.mon.GLB", + "Emon.reffccwctop": "aerosol.reffccwctop.tavg-u-hxy-cl.mon.GLB", + "Emon.reffclic": "atmos.reffclic.tavg-al-hxy-ccl.mon.GLB", + "Emon.reffclicSouth30": "atmos.reffclic.tavg-al-hxy-ccl.mon.30S-90S", + "Emon.reffclis": "atmos.reffclis.tavg-al-hxy-scl.mon.GLB", + "Emon.reffclisSouth30": "atmos.reffclis.tavg-al-hxy-scl.mon.30S-90S", + "Emon.reffclwc": "atmos.reffclwc.tavg-al-hxy-ccl.mon.GLB", + "Emon.reffclwcSouth30": "atmos.reffclwc.tavg-al-hxy-ccl.mon.30S-90S", + "Emon.reffclws": "atmos.reffclws.tavg-al-hxy-scl.mon.GLB", + "Emon.reffclwsSouth30": "atmos.reffclws.tavg-al-hxy-scl.mon.30S-90S", + "Emon.reffsclwtop": "atmos.reffsclwtop.tavg-u-hxy-scl.mon.GLB", + "Emon.rhGrass": "land.rh.tavg-u-hxy-ng.mon.GLB", + "Emon.rhLitter": "land.rhLitter.tavg-u-hxy-lnd.mon.GLB", + "Emon.rhLut": "land.rhLut.tavg-u-hxy-multi.mon.GLB", + "Emon.rhShrub": "land.rh.tavg-u-hxy-shb.mon.GLB", + "Emon.rhSoil": "land.rhSoil.tavg-u-hxy-lnd.mon.GLB", + "Emon.rhTree": "land.rh.tavg-u-hxy-tree.mon.GLB", + "Emon.rhc13": "land.rhc13.tavg-u-hxy-lnd.mon.GLB", + "Emon.rhc14": "land.rhc14.tavg-u-hxy-lnd.mon.GLB", + "Emon.rls": "atmos.rls.tavg-u-hxy-u.mon.GLB", + "Emon.rsds": "land.rsds.tavg-u-hxy-lnd.mon.GLB", + "Emon.rsdsoni": "ocean.rsds.tavg-u-hxy-ifs.mon.GLB", + "Emon.rsdss": "land.rsds.tavg-u-hxy-sn.mon.GLB", + "Emon.rss": "atmos.rss.tavg-u-hxy-u.mon.GLB", + "Emon.rsus": "land.rsus.tavg-u-hxy-lnd.mon.GLB", + "Emon.rsusoni": "ocean.rsus.tavg-u-hxy-ifs.mon.GLB", + "Emon.rsuss": "land.rsus.tavg-u-hxy-sn.mon.GLB", + "Emon.scldncl": "atmos.scldncl.tavg-u-hxy-scl.mon.GLB", + "Emon.sfcWindmax": "atmos.sfcWind.tmaxavg-h10m-hxy-u.mon.GLB", + "Emon.sw17O": "ocean.sw17O.tavg-ol-hxy-sea.mon.GLB", + "Emon.sw18O": "ocean.sw18O.tavg-ol-hxy-sea.mon.GLB", + "Emon.sw2H": "ocean.sw2H.tavg-ol-hxy-sea.mon.GLB", + "Emon.sweLut": "land.sweLut.tavg-u-hxy-multi.mon.GLB", + "Emon.t17d": "ocean.t17d.tavg-u-hxy-sea.mon.GLB", + "Emon.t20d": "ocean.t20d.tavg-u-hxy-sea.mon.GLB", + "Emon.tasLut": "land.tasLut.tavg-h2m-hxy-multi.mon.GLB", + "Emon.tauunoegw": "atmos.tauunoegw.tavg-p19-hxy-air.mon.GLB", + "Emon.tauunowgw": "atmos.tauunowgw.tavg-p19-hxy-air.mon.GLB", + "Emon.tauuogw": "atmos.tauuogw.tavg-p19-hxy-air.mon.GLB", + "Emon.tauvnogw": "atmos.tauvnogw.tavg-p19-hxy-air.mon.GLB", + "Emon.tauvogw": "atmos.tauvogw.tavg-p19-hxy-air.mon.GLB", + "Emon.tdps": "atmos.tdps.tavg-h2m-hxy-u.mon.GLB", + "Emon.thetaot": "ocean.thetaot.tavg-u-hxy-sea.mon.GLB", + "Emon.thetaot2000": "ocean.thetao.tavg-d2000m-hxy-sea.mon.GLB", + "Emon.thetaot300": "ocean.thetao.tavg-d300m-hxy-sea.mon.GLB", + "Emon.thetaot700": "ocean.thetao.tavg-d700m-hxy-sea.mon.GLB", + "Emon.tnhuspbl": "atmos.tnhuspbl.tavg-al-hxy-u.mon.GLB", + "Emon.tnhusscp": "atmos.tnhusscp.tavg-al-hxy-u.mon.GLB", + "Emon.tntd": "atmos.tntd.tavg-al-hxy-u.mon.GLB", + "Emon.tntpbl": "atmos.tntpbl.tavg-al-hxy-u.mon.GLB", + "Emon.tntrlcs": "atmos.tntrlcs.tavg-al-hxy-u.mon.GLB", + "Emon.tntrscs": "atmos.tntrscs.tavg-al-hxy-u.mon.GLB", + "Emon.tntscp": "atmos.tntscp.tavg-al-hxy-u.mon.GLB", + "Emon.treeFracBdlDcd": "land.treeFracBdlDcd.tavg-u-hxy-u.mon.GLB", + "Emon.treeFracBdlEvg": "land.treeFracBdlEvg.tavg-u-hxy-u.mon.GLB", + "Emon.treeFracNdlDcd": "land.treeFracNdlDcd.tavg-u-hxy-u.mon.GLB", + "Emon.treeFracNdlEvg": "land.treeFracNdlEvg.tavg-u-hxy-u.mon.GLB", + "Emon.tslsiLut": "land.tsLut.tavg-u-hxy-multi.mon.GLB", + "Emon.utendnogw": "atmos.utendnogw.tavg-p19-hxy-air.mon.GLB", + "Emon.utendogw": "atmos.utendogw.tavg-p19-hxy-air.mon.GLB", + "Emon.vegFrac": "land.vegFrac.tavg-u-hxy-u.mon.GLB", + "Emon.vegHeight": "land.vegHeight.tavg-u-hxy-veg.mon.GLB", + "Emon.vegHeightGrass": "land.vegHeight.tavg-u-hxy-ng.mon.GLB", + "Emon.vegHeightShrub": "land.vegHeight.tavg-u-hxy-shb.mon.GLB", + "Emon.vegHeightTree": "land.vegHeight.tavg-u-hxy-tree.mon.GLB", + "Emon.vtendnogw": "atmos.vtendnogw.tavg-p19-hxy-air.mon.GLB", + "Emon.vtendogw": "atmos.vtendogw.tavg-p19-hxy-air.mon.GLB", + "Emon.wetlandCH4": "land.wetlandCH4.tavg-u-hxy-lnd.mon.GLB", + "Emon.wetlandCH4cons": "land.wetlandCH4cons.tavg-u-hxy-lnd.mon.GLB", + "Emon.wetlandCH4prod": "land.wetlandCH4prod.tavg-u-hxy-lnd.mon.GLB", + "Emon.wetlandFrac": "land.wetlandFrac.tavg-u-hxy-u.mon.GLB", + "Emon.wsgmax100m": "atmos.wsg.tmax-h100m-hxy-u.mon.GLB", + "Emon.wsgmax10m": "atmos.wsg.tmax-h10m-hxy-u.mon.GLB", + "EmonZ.epfy": "atmos.epfy.tavg-p39-hy-air.mon.GLB", + "EmonZ.epfz": "atmos.epfz.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntc": "atmos.tntc.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntmp": "atmos.tntmp.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntnogw": "atmos.tntnogw.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntogw": "atmos.tntogw.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntrl": "atmos.tntrl.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntrlcs": "atmos.tntrlcs.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntrs": "atmos.tntrs.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntrscs": "atmos.tntrscs.tavg-p39-hy-air.mon.GLB", + "EmonZ.tntscp": "atmos.tntscp.tavg-p39-hy-air.mon.GLB", + "EmonZ.utendepfd": "atmos.utendepfd.tavg-p39-hy-air.mon.GLB", + "EmonZ.utendnogw": "atmos.utendnogw.tavg-p39-hy-air.mon.GLB", + "EmonZ.utendogw": "atmos.utendogw.tavg-p39-hy-air.mon.GLB", + "EmonZ.vtem": "atmos.vtem.tavg-p39-hy-air.mon.GLB", + "EmonZ.wtem": "atmos.wtem.tavg-p39-hy-air.mon.GLB", + "Esubhr.reffclic": "atmos.reffclic.tpt-al-hs-ccl.subhr.GLB", + "Esubhr.reffclis": "atmos.reffclis.tpt-al-hs-scl.subhr.GLB", + "Esubhr.reffclwc": "atmos.reffclwc.tpt-al-hs-ccl.subhr.GLB", + "Esubhr.reffclws": "atmos.reffclws.tpt-al-hs-scl.subhr.GLB", + "Esubhr.tnhuspbl": "atmos.tnhuspbl.tpt-al-hs-u.subhr.GLB", + "Esubhr.tnhusscp": "atmos.tnhusscp.tpt-al-hs-u.subhr.GLB", + "Esubhr.tntd": "atmos.tntd.tpt-al-hs-u.subhr.GLB", + "Esubhr.tntpbl": "atmos.tntpbl.tpt-al-hs-u.subhr.GLB", + "Esubhr.tntrl": "atmos.tntrl.tpt-al-hs-u.subhr.GLB", + "Esubhr.tntrlcs": "atmos.tntrlcs.tpt-al-hs-u.subhr.GLB", + "Esubhr.tntrs": "atmos.tntrs.tpt-al-hs-u.subhr.GLB", + "Esubhr.tntrscs": "atmos.tntrscs.tpt-al-hs-u.subhr.GLB", + "Esubhr.tntscp": "atmos.tntscp.tpt-al-hs-u.subhr.GLB", + "Eyr.baresoilFrac": "land.baresoilFrac.tavg-u-hxy-u.yr.GLB", + "Eyr.cLitterLut": "land.cLitterLut.tpt-u-hxy-multi.yr.GLB", + "Eyr.cProductLut": "land.cProductLut.tpt-u-hxy-multi.yr.GLB", + "Eyr.cSoilLut": "land.cSoilLut.tpt-u-hxy-multi.yr.GLB", + "Eyr.cVegLut": "land.cVegLut.tpt-u-hxy-multi.yr.GLB", + "Eyr.cropFrac": "land.cropFrac.tavg-u-hxy-u.yr.GLB", + "Eyr.fracInLut": "land.fracInLut.tsum-u-hxy-lnd.yr.GLB", + "Eyr.fracLut": "land.fracLut.tpt-u-hxy-u.yr.GLB", + "Eyr.fracOutLut": "land.fracOutLut.tsum-u-hxy-lnd.yr.GLB", + "Eyr.grassFrac": "land.grassFrac.tavg-u-hxy-u.yr.GLB", + "Eyr.residualFrac": "land.residualFrac.tavg-u-hxy-u.yr.GLB", + "Eyr.shrubFrac": "land.shrubFrac.tavg-u-hxy-u.yr.GLB", + "Eyr.treeFrac": "land.treeFrac.tavg-u-hxy-u.yr.GLB", + "Eyr.vegFrac": "land.vegFrac.tavg-u-hxy-u.yr.GLB", + "Eyr.zfullo": "ocean.zfullo.tavg-ol-hxy-sea.yr.GLB", + "IfxAnt.areacellg": "land.areacellg.ti-u-hxy-u.fx.ATA", + "IfxAnt.hfgeoubed": "landIce.hfgeoubed.ti-u-hxy-gis.fx.ATA", + "IfxAnt.lithk": "landIce.lithk.ti-u-hxy-is.fx.ATA", + "IfxAnt.topg": "landIce.topg.ti-u-hxy-gis.fx.ATA", + "IfxGre.areacellg": "land.areacellg.ti-u-hxy-u.fx.GRL", + "IfxGre.hfgeoubed": "landIce.hfgeoubed.ti-u-hxy-gis.fx.GRL", + "IfxGre.lithk": "landIce.lithk.ti-u-hxy-is.fx.GRL", + "IfxGre.topg": "landIce.topg.ti-u-hxy-gis.fx.GRL", + "ImonAnt.acabf": "landIce.acabf.tavg-u-hxy-is.mon.ATA", + "ImonAnt.hfls": "atmos.hfls.tavg-u-hxy-is.mon.ATA", + "ImonAnt.hfss": "atmos.hfss.tavg-u-hxy-is.mon.ATA", + "ImonAnt.icem": "landIce.icem.tavg-u-hxy-is.mon.ATA", + "ImonAnt.libmassbffl": "landIce.libmassbf.tavg-u-hxy-fis.mon.ATA", + "ImonAnt.libmassbfgr": "landIce.libmassbf.tavg-u-hxy-gis.mon.ATA", + "ImonAnt.licalvf": "landIce.licalvf.tavg-u-hxy-is.mon.ATA", + "ImonAnt.lifmassbf": "landIce.lifmassbf.tavg-u-hxy-is.mon.ATA", + "ImonAnt.litempbotfl": "landIce.litempbot.tavg-u-hxy-fis.mon.ATA", + "ImonAnt.litempbotgr": "landIce.litempbot.tavg-u-hxy-gis.mon.ATA", + "ImonAnt.litemptop": "landIce.litemptop.tavg-u-hxy-is.mon.ATA", + "ImonAnt.mrroLi": "landIce.mrroLi.tavg-u-hxy-is.mon.ATA", + "ImonAnt.orog": "land.orog.tavg-u-hxy-is.mon.ATA", + "ImonAnt.prra": "atmos.prra.tavg-u-hxy-is.mon.ATA", + "ImonAnt.prsn": "atmos.prsn.tavg-u-hxy-is.mon.ATA", + "ImonAnt.rlds": "atmos.rlds.tavg-u-hxy-is.mon.ATA", + "ImonAnt.rlus": "atmos.rlus.tavg-u-hxy-is.mon.ATA", + "ImonAnt.rsds": "atmos.rsds.tavg-u-hxy-is.mon.ATA", + "ImonAnt.rsus": "atmos.rsus.tavg-u-hxy-is.mon.ATA", + "ImonAnt.sbl": "landIce.sbl.tavg-u-hxy-is.mon.ATA", + "ImonAnt.snc": "landIce.snc.tavg-u-hxy-is.mon.ATA", + "ImonAnt.snicefreez": "landIce.snrefr.tavg-u-hxy-is.mon.ATA", + "ImonAnt.snicem": "landIce.snicem.tavg-u-hxy-is.mon.ATA", + "ImonAnt.snm": "landIce.snm.tavg-u-hxy-is.mon.ATA", + "ImonAnt.tas": "atmos.tas.tavg-h2m-hm-is.mon.ATA", + "ImonAnt.ts": "atmos.ts.tavg-u-hxy-is.mon.ATA", + "ImonAnt.tsn": "landIce.tsn.tavg-u-hxy-is.mon.ATA", + "ImonGre.acabf": "landIce.acabf.tavg-u-hxy-is.mon.GRL", + "ImonGre.hfls": "atmos.hfls.tavg-u-hxy-is.mon.GRL", + "ImonGre.hfss": "atmos.hfss.tavg-u-hxy-is.mon.GRL", + "ImonGre.icem": "landIce.icem.tavg-u-hxy-is.mon.GRL", + "ImonGre.libmassbffl": "landIce.libmassbf.tavg-u-hxy-fis.mon.GRL", + "ImonGre.libmassbfgr": "landIce.libmassbf.tavg-u-hxy-gis.mon.GRL", + "ImonGre.licalvf": "landIce.licalvf.tavg-u-hxy-is.mon.GRL", + "ImonGre.lifmassbf": "landIce.lifmassbf.tavg-u-hxy-is.mon.GRL", + "ImonGre.litempbotfl": "landIce.litempbot.tavg-u-hxy-fis.mon.GRL", + "ImonGre.litempbotgr": "landIce.litempbot.tavg-u-hxy-gis.mon.GRL", + "ImonGre.litemptop": "landIce.litemptop.tavg-u-hxy-is.mon.GRL", + "ImonGre.mrroLi": "landIce.mrroLi.tavg-u-hxy-is.mon.GRL", + "ImonGre.orog": "land.orog.tavg-u-hxy-is.mon.GRL", + "ImonGre.prra": "atmos.prra.tavg-u-hxy-is.mon.GRL", + "ImonGre.prsn": "atmos.prsn.tavg-u-hxy-is.mon.GRL", + "ImonGre.rlds": "atmos.rlds.tavg-u-hxy-is.mon.GRL", + "ImonGre.rlus": "atmos.rlus.tavg-u-hxy-is.mon.GRL", + "ImonGre.rsds": "atmos.rsds.tavg-u-hxy-is.mon.GRL", + "ImonGre.rsus": "atmos.rsus.tavg-u-hxy-is.mon.GRL", + "ImonGre.sbl": "landIce.sbl.tavg-u-hxy-is.mon.GRL", + "ImonGre.snc": "landIce.snc.tavg-u-hxy-is.mon.GRL", + "ImonGre.snicefreez": "landIce.snrefr.tavg-u-hxy-is.mon.GRL", + "ImonGre.snicem": "landIce.snicem.tavg-u-hxy-is.mon.GRL", + "ImonGre.snm": "landIce.snm.tavg-u-hxy-is.mon.GRL", + "ImonGre.tas": "atmos.tas.tavg-h2m-hm-is.mon.GRL", + "ImonGre.ts": "atmos.ts.tavg-u-hxy-is.mon.GRL", + "ImonGre.tsn": "landIce.tsn.tavg-u-hxy-is.mon.GRL", + "IyrAnt.acabf": "landIce.acabf.tavg-u-hxy-is.yr.ATA", + "IyrAnt.hfgeoubed": "landIce.hfgeoubed.tavg-u-hxy-gis.yr.ATA", + "IyrAnt.iareafl": "landIce.iareafl.tavg-u-hm-fis.yr.ATA", + "IyrAnt.iareagr": "landIce.iareagr.tavg-u-hm-gis.yr.ATA", + "IyrAnt.libmassbffl": "landIce.libmassbf.tavg-u-hxy-fis.yr.ATA", + "IyrAnt.libmassbfgr": "landIce.libmassbf.tavg-u-hxy-gis.yr.ATA", + "IyrAnt.licalvf": "landIce.licalvf.tavg-u-hxy-is.yr.ATA", + "IyrAnt.lifmassbf": "landIce.lifmassbf.tavg-u-hxy-is.yr.ATA", + "IyrAnt.lim": "landIce.lim.tavg-u-hm-is.yr.ATA", + "IyrAnt.limnsw": "landIce.limnsw.tavg-u-hm-is.yr.ATA", + "IyrAnt.litempbotfl": "landIce.litempbot.tavg-u-hxy-fis.yr.ATA", + "IyrAnt.litempbotgr": "landIce.litempbot.tavg-u-hxy-gis.yr.ATA", + "IyrAnt.litemptop": "landIce.litemptop.tavg-u-hxy-is.yr.ATA", + "IyrAnt.lithk": "landIce.lithk.tavg-u-hxy-is.yr.ATA", + "IyrAnt.modelCellAreai": "landIce.modelcellareai.tavg-u-hxy-u.yr.ATA", + "IyrAnt.orog": "land.orog.tavg-u-hxy-is.yr.ATA", + "IyrAnt.sftflf": "landIce.sftflf.tavg-u-hxy-u.yr.ATA", + "IyrAnt.sftgif": "land.sftgif.tavg-u-hxy-u.yr.ATA", + "IyrAnt.sftgrf": "landIce.sftgrf.tavg-u-hxy-u.yr.ATA", + "IyrAnt.snc": "landIce.snc.tavg-u-hxy-is.yr.ATA", + "IyrAnt.strbasemag": "landIce.strbasemag.tavg-u-hxy-is.yr.ATA", + "IyrAnt.tendacabf": "landIce.tendacabf.tavg-u-hm-is.yr.ATA", + "IyrAnt.tendlibmassbf": "landIce.tendlibmassbf.tavg-u-hm-is.yr.ATA", + "IyrAnt.tendlicalvf": "landIce.tendlicalvf.tavg-u-hm-is.yr.ATA", + "IyrAnt.topg": "landIce.topg.tavg-u-hxy-gis.yr.ATA", + "IyrAnt.xvelbase": "landIce.xvelbase.tavg-u-hxy-is.yr.ATA", + "IyrAnt.xvelmean": "landIce.xvelmean.tavg-u-hxy-is.yr.ATA", + "IyrAnt.xvelsurf": "landIce.xvelsurf.tavg-u-hxy-is.yr.ATA", + "IyrAnt.yvelbase": "landIce.yvelbase.tavg-u-hxy-is.yr.ATA", + "IyrAnt.yvelmean": "landIce.yvelmean.tavg-u-hxy-is.yr.ATA", + "IyrAnt.yvelsurf": "landIce.yvelsurf.tavg-u-hxy-is.yr.ATA", + "IyrAnt.zvelbase": "landIce.zvelbase.tavg-u-hxy-is.yr.ATA", + "IyrAnt.zvelsurf": "landIce.zvelsurf.tavg-u-hxy-is.yr.ATA", + "IyrGre.acabf": "landIce.acabf.tavg-u-hxy-is.yr.GRL", + "IyrGre.hfgeoubed": "landIce.hfgeoubed.tavg-u-hxy-gis.yr.GRL", + "IyrGre.iareafl": "landIce.iareafl.tavg-u-hm-fis.yr.GRL", + "IyrGre.iareagr": "landIce.iareagr.tavg-u-hm-gis.yr.GRL", + "IyrGre.libmassbffl": "landIce.libmassbf.tavg-u-hxy-fis.yr.GRL", + "IyrGre.libmassbfgr": "landIce.libmassbf.tavg-u-hxy-gis.yr.GRL", + "IyrGre.licalvf": "landIce.licalvf.tavg-u-hxy-is.yr.GRL", + "IyrGre.lifmassbf": "landIce.lifmassbf.tavg-u-hxy-is.yr.GRL", + "IyrGre.lim": "landIce.lim.tavg-u-hm-is.yr.GRL", + "IyrGre.limnsw": "landIce.limnsw.tavg-u-hm-is.yr.GRL", + "IyrGre.litempbotfl": "landIce.litempbot.tavg-u-hxy-fis.yr.GRL", + "IyrGre.litempbotgr": "landIce.litempbot.tavg-u-hxy-gis.yr.GRL", + "IyrGre.litemptop": "landIce.litemptop.tavg-u-hxy-is.yr.GRL", + "IyrGre.lithk": "landIce.lithk.tavg-u-hxy-is.yr.GRL", + "IyrGre.modelCellAreai": "landIce.modelcellareai.tavg-u-hxy-u.yr.GRL", + "IyrGre.orog": "land.orog.tavg-u-hxy-is.yr.GRL", + "IyrGre.sftflf": "landIce.sftflf.tavg-u-hxy-u.yr.GRL", + "IyrGre.sftgif": "land.sftgif.tavg-u-hxy-u.yr.GRL", + "IyrGre.sftgrf": "landIce.sftgrf.tavg-u-hxy-u.yr.GRL", + "IyrGre.snc": "landIce.snc.tavg-u-hxy-is.yr.GRL", + "IyrGre.strbasemag": "landIce.strbasemag.tavg-u-hxy-is.yr.GRL", + "IyrGre.tendacabf": "landIce.tendacabf.tavg-u-hm-is.yr.GRL", + "IyrGre.tendlibmassbf": "landIce.tendlibmassbf.tavg-u-hm-is.yr.GRL", + "IyrGre.tendlicalvf": "landIce.tendlicalvf.tavg-u-hm-is.yr.GRL", + "IyrGre.topg": "landIce.topg.tavg-u-hxy-gis.yr.GRL", + "IyrGre.xvelbase": "landIce.xvelbase.tavg-u-hxy-is.yr.GRL", + "IyrGre.xvelmean": "landIce.xvelmean.tavg-u-hxy-is.yr.GRL", + "IyrGre.xvelsurf": "landIce.xvelsurf.tavg-u-hxy-is.yr.GRL", + "IyrGre.yvelbase": "landIce.yvelbase.tavg-u-hxy-is.yr.GRL", + "IyrGre.yvelmean": "landIce.yvelmean.tavg-u-hxy-is.yr.GRL", + "IyrGre.yvelsurf": "landIce.yvelsurf.tavg-u-hxy-is.yr.GRL", + "IyrGre.zvelbase": "landIce.zvelbase.tavg-u-hxy-is.yr.GRL", + "IyrGre.zvelsurf": "landIce.zvelsurf.tavg-u-hxy-is.yr.GRL", + "LImon.acabfIs": "landIce.acabf.tavg-u-hxy-is.mon.GLB", + "LImon.agesno": "landIce.agesno.tavg-u-hxy-lnd.mon.GLB", + "LImon.hfdsn": "landIce.hfdsn.tavg-u-hxy-lnd.mon.GLB", + "LImon.hflsIs": "landIce.hfls.tavg-u-hxy-is.mon.GLB", + "LImon.hfssIs": "landIce.hfss.tavg-u-hxy-is.mon.GLB", + "LImon.icemIs": "landIce.icem.tavg-u-hxy-is.mon.GLB", + "LImon.litemptopIs": "landIce.litemptop.tavg-u-hxy-is.mon.GLB", + "LImon.lwsnl": "landIce.lwsnl.tavg-u-hxy-lnd.mon.GLB", + "LImon.mrroIs": "landIce.mrro.tavg-u-hxy-is.mon.GLB", + "LImon.orogIs": "landIce.orog.tavg-u-hxy-is.mon.GLB", + "LImon.pflw": "landIce.pflw.tavg-u-hxy-lnd.mon.GLB", + "LImon.prraIs": "landIce.prra.tavg-u-hxy-is.mon.GLB", + "LImon.prsnIs": "landIce.prsn.tavg-u-hxy-is.mon.GLB", + "LImon.rldsIs": "landIce.rlds.tavg-u-hxy-is.mon.GLB", + "LImon.rlusIs": "landIce.rlus.tavg-u-hxy-is.mon.GLB", + "LImon.rsdsIs": "landIce.rsds.tavg-u-hxy-is.mon.GLB", + "LImon.rsusIs": "landIce.rsus.tavg-u-hxy-is.mon.GLB", + "LImon.sbl": "landIce.sbl.tavg-u-hxy-lnd.mon.GLB", + "LImon.sblIs": "landIce.sbl.tavg-u-hxy-is.mon.GLB", + "LImon.sftflf": "landIce.sftflf.tavg-u-hxy-u.mon.GLB", + "LImon.sftgif": "land.sftgif.tavg-u-hxy-u.mon.GLB", + "LImon.sftgrf": "landIce.sftgrf.tavg-u-hxy-u.mon.GLB", + "LImon.snc": "landIce.snc.tavg-u-hxy-lnd.mon.GLB", + "LImon.sncIs": "landIce.snc.tavg-u-hxy-is.mon.GLB", + "LImon.snd": "landIce.snd.tavg-u-hxy-lnd.mon.GLB", + "LImon.snicefreezIs": "landIce.snrefr.tavg-u-hxy-is.mon.GLB", + "LImon.snicemIs": "landIce.snicem.tavg-u-hxy-is.mon.GLB", + "LImon.snm": "landIce.snm.tavg-u-hxy-lnd.mon.GLB", + "LImon.snmIs": "landIce.snm.tavg-u-hxy-is.mon.GLB", + "LImon.snw": "landIce.snw.tavg-u-hxy-lnd.mon.GLB", + "LImon.sootsn": "landIce.sootsn.tavg-u-hxy-lnd.mon.GLB", + "LImon.tasIs": "landIce.tas.tavg-u-hxy-is.mon.GLB", + "LImon.tpf": "landIce.tpf.tavg-u-hxy-lnd.mon.GLB", + "LImon.tsIs": "landIce.ts.tavg-u-hxy-is.mon.GLB", + "LImon.tsn": "landIce.tsn.tavg-u-hxy-lnd.mon.GLB", + "LImon.tsnIs": "landIce.tsn.tavg-u-hxy-is.mon.GLB", + "Lmon.baresoilFrac": "land.baresoilFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.burntFractionAll": "land.burntFractionAll.tavg-u-hxy-u.mon.GLB", + "Lmon.c3PftFrac": "land.c3PftFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.c4PftFrac": "land.c4PftFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.cGeologicStorage": "land.cGeologicStorage.tavg-u-hxy-u.mon.GLB", + "Lmon.cLeaf": "land.cLeaf.tavg-u-hxy-lnd.mon.GLB", + "Lmon.cLitter": "land.cLitter.tavg-u-hxy-lnd.mon.GLB", + "Lmon.cProduct": "land.cProduct.tavg-u-hxy-lnd.mon.GLB", + "Lmon.cRoot": "land.cRoot.tavg-u-hxy-lnd.mon.GLB", + "Lmon.cVeg": "land.cVeg.tavg-u-hxy-lnd.mon.GLB", + "Lmon.cropFrac": "land.cropFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.evspsblsoi": "land.evspsblsoi.tavg-u-hxy-lnd.mon.GLB", + "Lmon.evspsblveg": "land.evspsblveg.tavg-u-hxy-lnd.mon.GLB", + "Lmon.fFire": "land.fFire.tavg-u-hxy-lnd.mon.GLB", + "Lmon.fHarvestToGeologicStorage": "land.fHarvestToGeologicStorage.tavg-u-hxy-lnd.mon.GLB", + "Lmon.fLitterSoil": "land.fLitterSoil.tavg-u-hxy-lnd.mon.GLB", + "Lmon.fVegLitter": "land.fVegLitter.tavg-u-hxy-lnd.mon.GLB", + "Lmon.fVegSoil": "land.fVegSoil.tavg-u-hxy-lnd.mon.GLB", + "Lmon.gpp": "land.gpp.tavg-u-hxy-lnd.mon.GLB", + "Lmon.grassFrac": "land.grassFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.lai": "land.lai.tavg-u-hxy-lnd.mon.GLB", + "Lmon.landCoverFrac": "land.landCoverFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.mrfso": "landIce.mrfso.tavg-u-hxy-lnd.mon.GLB", + "Lmon.mrro": "land.mrro.tavg-u-hxy-lnd.mon.GLB", + "Lmon.mrros": "land.mrros.tavg-u-hxy-lnd.mon.GLB", + "Lmon.mrso": "land.mrso.tavg-u-hxy-lnd.mon.GLB", + "Lmon.mrsos": "land.mrsol.tavg-d10cm-hxy-lnd.mon.GLB", + "Lmon.nbp": "land.nbp.tavg-u-hxy-lnd.mon.GLB", + "Lmon.npp": "land.npp.tavg-u-hxy-lnd.mon.GLB", + "Lmon.nppLeaf": "land.nppLeaf.tavg-u-hxy-lnd.mon.GLB", + "Lmon.nppRoot": "land.nppRoot.tavg-u-hxy-lnd.mon.GLB", + "Lmon.pastureFrac": "land.pastureFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.prveg": "land.prveg.tavg-u-hxy-lnd.mon.GLB", + "Lmon.ra": "land.ra.tavg-u-hxy-lnd.mon.GLB", + "Lmon.residualFrac": "land.residualFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.rh": "land.rh.tavg-u-hxy-lnd.mon.GLB", + "Lmon.shrubFrac": "land.shrubFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.tran": "land.tran.tavg-u-hxy-lnd.mon.GLB", + "Lmon.treeFrac": "land.treeFrac.tavg-u-hxy-u.mon.GLB", + "Lmon.tsl": "land.tsl.tavg-sl-hxy-lnd.mon.GLB", + "Oday.bigthetao200": "ocean.bigthetao.tavg-op20bar-hxy-sea.day.GLB", + "Oday.chl200": "ocnBgchem.chl.tavg-op20bar-hxy-sea.day.GLB", + "Oday.chlos": "ocnBgchem.chl.tavg-d0m-hxy-sea.day.GLB", + "Oday.co3200": "ocnBgchem.co3.tavg-op20bar-hxy-sea.day.GLB", + "Oday.co3os": "ocnBgchem.co3.tavg-d0m-hxy-sea.day.GLB", + "Oday.co3satarag200": "ocnBgchem.co3satarag.tavg-op20bar-hxy-sea.day.GLB", + "Oday.co3sataragos": "ocnBgchem.co3satarag.tavg-d0m-hxy-sea.day.GLB", + "Oday.detoc": "ocnBgchem.detoc.tavg-ol-hxy-sea.day.GLB", + "Oday.dissoc": "ocnBgchem.dissoc.tavg-ol-hxy-sea.day.GLB", + "Oday.expcob": "ocnBgchem.expcob.tavg-u-hxy-sea.day.GLB", + "Oday.hfxint": "ocean.hfx.tavg-u-hxy-sea.day.GLB", + "Oday.hfyint": "ocean.hfy.tavg-u-hxy-sea.day.GLB", + "Oday.intpoc": "ocnBgchem.intpoc.tavg-u-hxy-sea.day.GLB", + "Oday.intpp": "ocnBgchem.intpp.tavg-u-hxy-sea.day.GLB", + "Oday.o2200": "ocnBgchem.o2.tavg-op20bar-hxy-sea.day.GLB", + "Oday.o2min": "ocnBgchem.o2min.tavg-u-hxy-sea.day.GLB", + "Oday.o2os": "ocnBgchem.o2.tavg-d0m-hxy-sea.day.GLB", + "Oday.ph200": "ocnBgchem.ph.tavg-op20bar-hxy-sea.day.GLB", + "Oday.phos": "ocnBgchem.ph.tavg-d0m-hxy-sea.day.GLB", + "Oday.phyc200": "ocnBgchem.phyc.tavg-op20bar-hxy-sea.day.GLB", + "Oday.phycalc": "ocnBgchem.phycalc.tavg-ol-hxy-sea.day.GLB", + "Oday.phycos": "ocnBgchem.phyc.tavg-d0m-hxy-sea.day.GLB", + "Oday.phydiatos": "ocnBgchem.phydiat.tavg-d0m-hxy-sea.day.GLB", + "Oday.phydiazos": "ocnBgchem.phydiaz.tavg-d0m-hxy-sea.day.GLB", + "Oday.phymiscos": "ocnBgchem.phymisc.tavg-d0m-hxy-sea.day.GLB", + "Oday.phynano": "ocnBgchem.phynano.tavg-u-hxy-sea.day.GLB", + "Oday.phypico": "ocnBgchem.phypico.tavg-ol-hxy-sea.day.GLB", + "Oday.rsdo": "ocean.rsdo.tavg-ol-hxy-sea.day.GLB", + "Oday.so": "ocean.so.tavg-ol-hxy-sea.day.GLB", + "Oday.sos": "ocean.sos.tavg-u-hxy-sea.day.GLB", + "Oday.thetao200": "ocean.thetao.tavg-op20bar-hxy-sea.day.GLB", + "Oday.tos": "ocean.tos.tavg-u-hxy-sea.day.GLB", + "Oday.tossq": "ocean.tossq.tavg-u-hxy-sea.day.GLB", + "Oday.uos": "ocean.uos.tavg-u-hxy-sea.day.GLB", + "Oday.vos": "ocean.vos.tavg-u-hxy-sea.day.GLB", + "Oday.wo": "ocean.wo.tavg-ol-hxy-sea.day.GLB", + "Oday.zmeso": "ocnBgchem.zmeso.tavg-ol-hxy-sea.day.GLB", + "Oday.zmicro": "ocnBgchem.zmicro.tavg-ol-hxy-sea.day.GLB", + "Oday.zooc": "ocnBgchem.zooc.tavg-ol-hxy-sea.day.GLB", + "Oday.zos": "ocean.zos.tavg-u-hxy-sea.day.GLB", + "Oday.zostoga": "ocean.zostoga.tavg-u-hm-sea.day.GLB", + "Odec.bigthetao": "ocean.bigthetao.tavg-ol-hxy-sea.dec.GLB", + "Odec.masscello": "ocean.masscello.tavg-ol-hxy-sea.dec.GLB", + "Odec.masso": "ocean.masso.tavg-u-hm-sea.dec.GLB", + "Odec.opottemptend": "ocean.opottemptend.tavg-ol-hxy-sea.dec.GLB", + "Odec.so": "ocean.so.tavg-ol-hxy-sea.dec.GLB", + "Odec.tauuo": "ocean.tauuo.tavg-u-hxy-sea.dec.GLB", + "Odec.tauvo": "ocean.tauvo.tavg-u-hxy-sea.dec.GLB", + "Odec.thetao": "ocean.thetao.tavg-ol-hxy-sea.dec.GLB", + "Odec.thkcello": "ocean.thkcello.tavg-ol-hxy-sea.dec.GLB", + "Odec.volcello": "ocean.volcello.tavg-ol-hxy-sea.dec.GLB", + "Odec.volo": "ocean.volo.tavg-u-hm-sea.dec.GLB", + "Ofx.areacello": "ocean.areacello.ti-u-hxy-u.fx.GLB", + "Ofx.basin": "ocean.basin.ti-u-hxy-u.fx.GLB", + "Ofx.deptho": "ocean.deptho.ti-u-hxy-sea.fx.GLB", + "Ofx.dxto": "ocean.dxto.ti-u-hxy-u.fx.GLB", + "Ofx.dxuo": "ocean.dxuo.ti-u-hxy-u.fx.GLB", + "Ofx.dxvo": "ocean.dxvo.ti-u-hxy-u.fx.GLB", + "Ofx.dyto": "ocean.dyto.ti-u-hxy-u.fx.GLB", + "Ofx.dyuo": "ocean.dyuo.ti-u-hxy-u.fx.GLB", + "Ofx.dyvo": "ocean.dyvo.ti-u-hxy-u.fx.GLB", + "Ofx.hfgeou": "ocean.hfgeou.ti-u-hxy-sea.fx.GLB", + "Ofx.masscello": "ocean.masscello.ti-ol-hxy-sea.fx.GLB", + "Ofx.sftof": "ocean.sftof.ti-u-hxy-u.fx.GLB", + "Ofx.thkcello": "ocean.thkcello.ti-ol-hxy-sea.fx.GLB", + "Ofx.volcello": "ocean.volcello.ti-ol-hxy-sea.fx.GLB", + "Omon.absscint": "ocean.absscint.tavg-op4-hxy-sea.mon.GLB", + "Omon.agessc": "ocean.agessc.tavg-ol-hxy-sea.mon.GLB", + "Omon.arag": "ocnBgchem.arag.tavg-ol-hxy-sea.mon.GLB", + "Omon.aragos": "ocnBgchem.arag.tavg-d0m-hxy-sea.mon.GLB", + "Omon.baccos": "ocnBgchem.bacc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.bigthetao": "ocean.bigthetao.tavg-ol-hxy-sea.mon.GLB", + "Omon.bigthetaoga": "ocean.bigthetao.tavg-ol-hm-sea.mon.GLB", + "Omon.calc": "ocnBgchem.calc.tavg-ol-hxy-sea.mon.GLB", + "Omon.calcos": "ocnBgchem.calc.tavg-d0m-hxy-sea.mon.GLB", + "Omon.calcosSouth30": "ocnBgchem.calc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.chcint": "ocean.chcint.tavg-op4-hxy-sea.mon.GLB", + "Omon.chl": "ocnBgchem.chl.tavg-ol-hxy-sea.mon.GLB", + "Omon.chlcalc": "ocnBgchem.chlcalc.tavg-ol-hxy-sea.mon.GLB", + "Omon.chlcalcos": "ocnBgchem.chlcalc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.chldiat": "ocnBgchem.chldiat.tavg-ol-hxy-sea.mon.GLB", + "Omon.chldiatos": "ocnBgchem.chldiat.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.chldiaz": "ocnBgchem.chldiaz.tavg-ol-hxy-sea.mon.GLB", + "Omon.chldiazos": "ocnBgchem.chldiaz.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.chlmisc": "ocnBgchem.chlmisc.tavg-ol-hxy-sea.mon.GLB", + "Omon.chlmiscos": "ocnBgchem.chlmisc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.chlos": "ocnBgchem.chl.tavg-d0m-hxy-sea.mon.GLB", + "Omon.chlosSouth30": "ocnBgchem.chl.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.chlpico": "ocnBgchem.chlpico.tavg-ol-hxy-sea.mon.GLB", + "Omon.chlpicoos": "ocnBgchem.chlpico.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.detoc": "ocnBgchem.detoc.tavg-ol-hxy-sea.mon.GLB", + "Omon.dfe": "ocnBgchem.dfe.tavg-ol-hxy-sea.mon.GLB", + "Omon.dfeos": "ocnBgchem.dfe.tavg-d0m-hxy-sea.mon.GLB", + "Omon.dfeosSouth30": "ocnBgchem.dfe.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.dissi13c": "ocnBgchem.dissi13c.tavg-ol-hxy-sea.mon.GLB", + "Omon.dissi13cos": "ocnBgchem.dissi13c.tavg-d0m-hxy-sea.mon.GLB", + "Omon.dissi14cabio": "ocnBgchem.dissi14cabio.tavg-ol-hxy-sea.mon.GLB", + "Omon.dissi14cabioos": "ocnBgchem.dissi14cabio.tavg-d0m-hxy-sea.mon.GLB", + "Omon.dissic": "ocnBgchem.dissic.tavg-ol-hxy-sea.mon.GLB", + "Omon.dissicos": "ocnBgchem.dissic.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.dissoc": "ocnBgchem.dissoc.tavg-ol-hxy-sea.mon.GLB", + "Omon.dmso": "ocnBgchem.dmso.tavg-ol-hxy-sea.mon.GLB", + "Omon.dmsos": "ocnBgchem.dmso.tavg-d0m-hxy-sea.mon.GLB", + "Omon.dmsosSouth30": "ocnBgchem.dmso.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.dpco2": "ocnBgchem.dpco2.tavg-u-hxy-sea.mon.GLB", + "Omon.dpo2": "ocnBgchem.dpo2.tavg-u-hxy-sea.mon.GLB", + "Omon.epc100": "ocnBgchem.expc.tavg-d100m-hxy-sea.mon.GLB", + "Omon.epc1000": "ocnBgchem.expc.tavg-d1000m-hxy-sea.mon.GLB", + "Omon.epcalc100": "ocnBgchem.expcalc.tavg-d100m-hxy-sea.mon.GLB", + "Omon.epcalc1000": "ocnBgchem.expcalc.tavg-d1000m-hxy-sea.mon.GLB", + "Omon.epn100": "ocnBgchem.epn.tavg-d100m-hxy-sea.mon.GLB", + "Omon.epp100": "ocnBgchem.epp.tavg-d100m-hxy-sea.mon.GLB", + "Omon.epsi100": "ocnBgchem.epsi.tavg-d100m-hxy-sea.mon.GLB", + "Omon.evs": "ocean.evspsbl.tavg-u-hxy-ifs.mon.GLB", + "Omon.exparagob": "ocnBgchem.exparagob.tavg-u-hxy-sea.mon.GLB", + "Omon.expc": "ocnBgchem.expc.tavg-ol-hxy-sea.mon.GLB", + "Omon.expcalcob": "ocnBgchem.expcalcob.tavg-u-hxy-sea.mon.GLB", + "Omon.expcob": "ocnBgchem.expcob.tavg-u-hxy-sea.mon.GLB", + "Omon.expfeob": "ocnBgchem.expfeob.tavg-u-hxy-sea.mon.GLB", + "Omon.expnob": "ocnBgchem.expnob.tavg-u-hxy-sea.mon.GLB", + "Omon.exppob": "ocnBgchem.exppob.tavg-u-hxy-sea.mon.GLB", + "Omon.expsiob": "ocnBgchem.expsiob.tavg-u-hxy-sea.mon.GLB", + "Omon.fg13co2": "ocnBgchem.fg13co2.tavg-u-hxy-sea.mon.GLB", + "Omon.fg14co2abio": "ocnBgchem.fg14co2abio.tavg-u-hxy-sea.mon.GLB", + "Omon.fgco2": "ocnBgchem.fgco2.tavg-u-hxy-sea.mon.GLB", + "Omon.fgdms": "ocnBgchem.fgdms.tavg-u-hxy-sea.mon.GLB", + "Omon.ficeberg": "ocean.ficeberg.tavg-ol-hxy-sea.mon.GLB", + "Omon.ficeberg2d": "ocean.ficeberg.tavg-u-hxy-sea.mon.GLB", + "Omon.frfe": "ocnBgchem.frfe.tavg-u-hxy-sea.mon.GLB", + "Omon.fric": "ocnBgchem.fric.tavg-u-hxy-sea.mon.GLB", + "Omon.friver": "ocean.friver.tavg-u-hxy-sea.mon.GLB", + "Omon.frn": "ocnBgchem.frn.tavg-u-hxy-sea.mon.GLB", + "Omon.froc": "ocnBgchem.froc.tavg-u-hxy-sea.mon.GLB", + "Omon.fsfe": "ocnBgchem.fsfe.tavg-u-hxy-sea.mon.GLB", + "Omon.fsitherm": "ocean.siflfwbot.tavg-u-hxy-sea.mon.GLB", + "Omon.fsn": "ocnBgchem.fsn.tavg-u-hxy-sea.mon.GLB", + "Omon.graz": "ocnBgchem.graz.tavg-ol-hxy-sea.mon.GLB", + "Omon.grazSouth30": "ocnBgchem.graz.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.hfacrossline": "ocean.hfacrossline.tavg-u-ht-sea.mon.GLB", + "Omon.hfbasin": "ocean.hfbasin.tavg-u-hyb-sea.mon.GLB", + "Omon.hfbasinpadv": "ocean.hfbasinpadv.tavg-u-hyb-sea.mon.GLB", + "Omon.hfbasinpmadv": "ocean.hfbasinpmadv.tavg-u-hyb-sea.mon.GLB", + "Omon.hfbasinpmdiff": "ocean.hfbasinpmdiff.tavg-u-hyb-sea.mon.GLB", + "Omon.hfbasinpsmadv": "ocean.hfbasinpsmadv.tavg-u-hyb-sea.mon.GLB", + "Omon.hfds": "ocean.hfds.tavg-u-hxy-sea.mon.GLB", + "Omon.hfdsSouth30": "ocean.hfds.tavg-u-hxy-sea.mon.30S-90S", + "Omon.hfevapds": "ocean.hfevapds.tavg-u-hxy-ifs.mon.GLB", + "Omon.hfgeou": "ocean.hfgeou.tavg-u-hxy-sea.mon.GLB", + "Omon.hfibthermds": "ocean.hfibthermds.tavg-ol-hxy-sea.mon.GLB", + "Omon.hfibthermds2d": "ocean.hfibthermds.tavg-u-hxy-sea.mon.GLB", + "Omon.hfrainds": "ocean.hfrainds.tavg-u-hxy-ifs.mon.GLB", + "Omon.hfrunoffds": "ocean.hfrunoffds.tavg-ol-hxy-sea.mon.GLB", + "Omon.hfrunoffds2d": "ocean.hfrunoffds.tavg-u-hxy-sea.mon.GLB", + "Omon.hfsnthermds": "ocean.hfsnthermds.tavg-ol-hxy-sea.mon.GLB", + "Omon.hfsnthermds2d": "ocean.hfsnthermds.tavg-u-hxy-sea.mon.GLB", + "Omon.hfx": "ocean.hfx.tavg-ol-hxy-sea.mon.GLB", + "Omon.hfxint": "ocean.hfx.tavg-u-hxy-sea.mon.GLB", + "Omon.hfy": "ocean.hfy.tavg-ol-hxy-sea.mon.GLB", + "Omon.hfyint": "ocean.hfy.tavg-u-hxy-sea.mon.GLB", + "Omon.htovgyre": "ocean.htovgyre.tavg-u-hyb-sea.mon.GLB", + "Omon.htovovrt": "ocean.htovovrt.tavg-u-hyb-sea.mon.GLB", + "Omon.icfriver": "ocnBgchem.icfriver.tavg-u-hxy-sea.mon.GLB", + "Omon.intdic": "ocnBgchem.intdic.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intdoc": "ocnBgchem.intdoc.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intparag": "ocnBgchem.intparag.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpbfe": "ocnBgchem.intpbfe.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpbn": "ocnBgchem.intpbn.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpbp": "ocnBgchem.intpbp.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpbsi": "ocnBgchem.intpbsi.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpcalcite": "ocnBgchem.intpcalcite.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpn2": "ocnBgchem.intpn2.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpoc": "ocnBgchem.intpoc.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpp": "ocnBgchem.intpp.tavg-u-hxy-sea.mon.GLB", + "Omon.intppSouth30": "ocnBgchem.intpp.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intppcalc": "ocnBgchem.intppcalc.tavg-u-hxy-sea.mon.GLB", + "Omon.intppcalcSouth30": "ocnBgchem.intppcalc.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intppdiat": "ocnBgchem.intppdiat.tavg-u-hxy-sea.mon.GLB", + "Omon.intppdiatSouth30": "ocnBgchem.intppdiat.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intppdiaz": "ocnBgchem.intppdiaz.tavg-u-hxy-sea.mon.GLB", + "Omon.intppdiazSouth30": "ocnBgchem.intppdiaz.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intppmisc": "ocnBgchem.intppmisc.tavg-u-hxy-sea.mon.GLB", + "Omon.intppmiscSouth30": "ocnBgchem.intppmisc.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intppnano": "ocnBgchem.intppnano.tavg-u-hxy-sea.mon.GLB", + "Omon.intppnitrate": "ocnBgchem.intppnitrate.tavg-u-hxy-sea.mon.GLB", + "Omon.intppnitrateSouth30": "ocnBgchem.intppnitrate.tavg-u-hxy-sea.mon.30S-90S", + "Omon.intpppico": "ocnBgchem.intpppico.tavg-u-hxy-sea.mon.GLB", + "Omon.intpppicoSouth30": "ocnBgchem.intpppico.tavg-u-hxy-sea.mon.30S-90S", + "Omon.limfecalc": "ocnBgchem.limfecalc.tavg-u-hxy-sea.mon.GLB", + "Omon.limfediat": "ocnBgchem.limfediat.tavg-u-hxy-sea.mon.GLB", + "Omon.limfediaz": "ocnBgchem.limfediaz.tavg-u-hxy-sea.mon.GLB", + "Omon.limfemisc": "ocnBgchem.limfemisc.tavg-u-hxy-sea.mon.GLB", + "Omon.limfepico": "ocnBgchem.limfepico.tavg-u-hxy-sea.mon.GLB", + "Omon.limirrcalc": "ocnBgchem.limirrcalc.tavg-u-hxy-sea.mon.GLB", + "Omon.limirrdiat": "ocnBgchem.limirrdiat.tavg-u-hxy-sea.mon.GLB", + "Omon.limirrdiaz": "ocnBgchem.limirrdiaz.tavg-u-hxy-sea.mon.GLB", + "Omon.limirrmisc": "ocnBgchem.limirrmisc.tavg-u-hxy-sea.mon.GLB", + "Omon.limirrpico": "ocnBgchem.limirrpico.tavg-u-hxy-sea.mon.GLB", + "Omon.limncalc": "ocnBgchem.limncalc.tavg-u-hxy-sea.mon.GLB", + "Omon.limndiat": "ocnBgchem.limndiat.tavg-u-hxy-sea.mon.GLB", + "Omon.limndiaz": "ocnBgchem.limndiaz.tavg-u-hxy-sea.mon.GLB", + "Omon.limnmisc": "ocnBgchem.limnmisc.tavg-u-hxy-sea.mon.GLB", + "Omon.limnpico": "ocnBgchem.limnpico.tavg-u-hxy-sea.mon.GLB", + "Omon.masscello": "ocean.masscello.tavg-ol-hxy-sea.mon.GLB", + "Omon.masso": "ocean.masso.tavg-u-hm-sea.mon.GLB", + "Omon.mfo": "ocean.mfo.tavg-u-ht-sea.mon.GLB", + "Omon.mlotst": "ocean.mlotst.tavg-u-hxy-sea.mon.GLB", + "Omon.mlotstSouth30": "ocean.mlotst.tavg-u-hxy-sea.mon.30S-90S", + "Omon.mlotstmax": "ocean.mlotst.tmax-u-hxy-sea.mon.GLB", + "Omon.mlotstmin": "ocean.mlotst.tmin-u-hxy-sea.mon.GLB", + "Omon.mlotstsq": "ocean.mlotstsq.tavg-u-hxy-sea.mon.GLB", + "Omon.mpw": "ocean.mpw.tavg-u-hxy-sea.mon.GLB", + "Omon.mpwswell": "ocean.mpwswell.tavg-u-hxy-sea.mon.GLB", + "Omon.mpwwindsea": "ocean.mpwwindsea.tavg-u-hxy-sea.mon.GLB", + "Omon.msftbarot": "ocean.msftbarot.tavg-u-hxy-sea.mon.GLB", + "Omon.msftmrho": "ocean.msftm.tavg-rho-hyb-sea.mon.GLB", + "Omon.msftmrhompa": "ocean.msftmmpa.tavg-rho-hyb-sea.mon.GLB", + "Omon.msftmz": "ocean.msftm.tavg-ol-hyb-sea.mon.GLB", + "Omon.msftmzmpa": "ocean.msftmmpa.tavg-ol-hyb-sea.mon.GLB", + "Omon.msftmzsmpa": "ocean.msftmsmpa.tavg-ol-hyb-sea.mon.GLB", + "Omon.msftyrho": "ocean.msfty.tavg-rho-ht-sea.mon.GLB", + "Omon.msftyrhompa": "ocean.msftypa.tavg-rho-ht-sea.mon.GLB", + "Omon.msftyz": "ocean.msfty.tavg-ol-ht-sea.mon.GLB", + "Omon.msftyzmpa": "ocean.msftypa.tavg-ol-ht-sea.mon.GLB", + "Omon.nh4": "ocnBgchem.nh4.tavg-ol-hxy-sea.mon.GLB", + "Omon.nh4os": "ocnBgchem.nh4.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.no3": "ocnBgchem.no3.tavg-ol-hxy-sea.mon.GLB", + "Omon.no3os": "ocnBgchem.no3.tavg-d0m-hxy-sea.mon.GLB", + "Omon.no3osSouth30": "ocnBgchem.no3.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.o2": "ocnBgchem.o2.tavg-ol-hxy-sea.mon.GLB", + "Omon.o2os": "ocnBgchem.o2.tavg-d0m-hxy-sea.mon.GLB", + "Omon.o2sat": "ocnBgchem.o2sat.tavg-ol-hxy-sea.mon.GLB", + "Omon.obvfsq": "ocean.obvfsq.tavg-ol-hxy-sea.mon.GLB", + "Omon.ocfriver": "ocnBgchem.ocfriver.tavg-u-hxy-sea.mon.GLB", + "Omon.pbo": "ocean.pbo.tavg-u-hxy-sea.mon.GLB", + "Omon.pfscint": "ocean.pfscint.tavg-op4-hxy-sea.mon.GLB", + "Omon.ph": "ocnBgchem.ph.tavg-ol-hxy-sea.mon.GLB", + "Omon.phcint": "ocean.phcint.tavg-op4-hxy-sea.mon.GLB", + "Omon.phos": "ocnBgchem.ph.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.phyc": "ocnBgchem.phyc.tavg-ol-hxy-sea.mon.GLB", + "Omon.phycalc": "ocnBgchem.phycalc.tavg-ol-hxy-sea.mon.GLB", + "Omon.phycalcos": "ocnBgchem.phycalc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.phycos": "ocnBgchem.phyc.tavg-d0m-hxy-sea.mon.GLB", + "Omon.phycosSouth30": "ocnBgchem.phyc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.phydiat": "ocnBgchem.phydiat.tavg-ol-hxy-sea.mon.GLB", + "Omon.phydiatos": "ocnBgchem.phydiat.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.phydiaz": "ocnBgchem.phydiaz.tavg-ol-hxy-sea.mon.GLB", + "Omon.phydiazos": "ocnBgchem.phydiaz.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.phymisc": "ocnBgchem.phymisc.tavg-ol-hxy-sea.mon.GLB", + "Omon.phymiscos": "ocnBgchem.phymisc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.phypico": "ocnBgchem.phypico.tavg-ol-hxy-sea.mon.GLB", + "Omon.phypicoos": "ocnBgchem.phypico.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.po4": "ocnBgchem.po4.tavg-ol-hxy-sea.mon.GLB", + "Omon.pp": "ocnBgchem.pp.tavg-ol-hxy-sea.mon.GLB", + "Omon.ppos": "ocnBgchem.pp.tavg-d0m-hxy-sea.mon.GLB", + "Omon.pposSouth30": "ocnBgchem.pp.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.pso": "ocean.pso.tavg-u-hxy-sea.mon.GLB", + "Omon.scint": "ocean.scint.tavg-op4-hxy-sea.mon.GLB", + "Omon.sduo": "ocean.sduo.tavg-u-hxy-sea.mon.GLB", + "Omon.sdvo": "ocean.sdvo.tavg-u-hxy-sea.mon.GLB", + "Omon.sf6": "ocean.sf6.tavg-ol-hxy-sea.mon.GLB", + "Omon.sfacrossline": "ocean.sfacrossline.tavg-u-ht-sea.mon.GLB", + "Omon.sfdsi": "ocean.sfdsi.tavg-u-hxy-sea.mon.GLB", + "Omon.sfriver": "ocean.sfriver.tavg-u-hxy-sea.mon.GLB", + "Omon.sfx": "ocean.sfx.tavg-ol-hxy-sea.mon.GLB", + "Omon.sfxint": "ocean.sfx.tavg-u-hxy-sea.mon.GLB", + "Omon.sfy": "ocean.sfy.tavg-ol-hxy-sea.mon.GLB", + "Omon.sfyint": "ocean.sfy.tavg-u-hxy-sea.mon.GLB", + "Omon.si": "ocnBgchem.si.tavg-ol-hxy-sea.mon.GLB", + "Omon.sios": "ocnBgchem.si.tavg-d0m-hxy-sea.mon.GLB", + "Omon.sltbasin": "ocean.sltbasin.tavg-u-hyb-sea.mon.GLB", + "Omon.sltovgyre": "ocean.sltovgyre.tavg-u-hyb-sea.mon.GLB", + "Omon.sltovovrt": "ocean.sltovovrt.tavg-u-hyb-sea.mon.GLB", + "Omon.so": "ocean.so.tavg-ol-hxy-sea.mon.GLB", + "Omon.soSouth30": "ocean.so.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.sob": "ocean.sob.tavg-u-hxy-sea.mon.GLB", + "Omon.soga": "ocean.so.tavg-ol-hm-sea.mon.GLB", + "Omon.sos": "ocean.sos.tavg-u-hxy-sea.mon.GLB", + "Omon.sosga": "ocean.sos.tavg-u-hm-sea.mon.GLB", + "Omon.sosgaSouth30": "ocean.sos.tavg-u-hm-sea.mon.30S-90S", + "Omon.sossq": "ocean.sossq.tavg-u-hxy-sea.mon.GLB", + "Omon.spco2": "ocnBgchem.spco2.tavg-u-hxy-sea.mon.GLB", + "Omon.spco2South30": "ocnBgchem.spco2.tavg-u-hxy-sea.mon.30S-90S", + "Omon.swh": "ocean.swh.tavg-u-hxy-sea.mon.GLB", + "Omon.swhmax": "ocean.swhmax.tmax-u-hxy-sea.mon.GLB", + "Omon.swhswell": "ocean.swhswell.tavg-u-hxy-sea.mon.GLB", + "Omon.swhwindsea": "ocean.swhwindsea.tavg-u-hxy-sea.mon.GLB", + "Omon.talk": "ocnBgchem.talk.tavg-ol-hxy-sea.mon.GLB", + "Omon.tauuo": "ocean.tauuo.tavg-u-hxy-sea.mon.GLB", + "Omon.tauvo": "ocean.tauvo.tavg-u-hxy-sea.mon.GLB", + "Omon.thetao": "ocean.thetao.tavg-ol-hxy-sea.mon.GLB", + "Omon.thetaoSouth30": "ocean.thetao.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.thetaoga": "ocean.thetao.tavg-ol-hm-sea.mon.GLB", + "Omon.thkcello": "ocean.thkcello.tavg-ol-hxy-sea.mon.GLB", + "Omon.thkcelluo": "ocean.thkcelluo.tavg-ol-hxy-sea.mon.GLB", + "Omon.thkcellvo": "ocean.thkcellvo.tavg-ol-hxy-sea.mon.GLB", + "Omon.tob": "ocean.tob.tavg-u-hxy-sea.mon.GLB", + "Omon.tos": "ocean.tos.tavg-u-hxy-sea.mon.GLB", + "Omon.tosSouth30": "ocean.tos.tavg-u-hxy-sea.mon.30S-90S", + "Omon.tosga": "ocean.tos.tavg-u-hm-sea.mon.GLB", + "Omon.tossq": "ocean.tossq.tavg-u-hxy-sea.mon.GLB", + "Omon.umo": "ocean.umo.tavg-ol-hxy-sea.mon.GLB", + "Omon.umoSouth30": "ocean.umo.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.uo": "ocean.uo.tavg-ol-hxy-sea.mon.GLB", + "Omon.uoSouth30": "ocean.uo.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.vmo": "ocean.vmo.tavg-ol-hxy-sea.mon.GLB", + "Omon.vmoSouth30": "ocean.vmo.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.vo": "ocean.vo.tavg-ol-hxy-sea.mon.GLB", + "Omon.voSouth30": "ocean.vo.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.volcello": "ocean.volcello.tavg-ol-hxy-sea.mon.GLB", + "Omon.volo": "ocean.volo.tavg-u-hm-sea.mon.GLB", + "Omon.vsf": "ocean.vsf.tavg-u-hxy-sea.mon.GLB", + "Omon.vsfcorr": "ocean.vsfcorr.tavg-u-hxy-sea.mon.GLB", + "Omon.vsfevap": "ocean.vsfevap.tavg-u-hxy-sea.mon.GLB", + "Omon.vsfpr": "ocean.vsfpr.tavg-u-hxy-sea.mon.GLB", + "Omon.vsfriver": "ocean.vsfriver.tavg-u-hxy-sea.mon.GLB", + "Omon.vsfsit": "ocean.vsfsit.tavg-u-hxy-sea.mon.GLB", + "Omon.wdir": "ocean.wdir.tavg-u-hxy-sea.mon.GLB", + "Omon.wdirswell": "ocean.wdirswell.tavg-u-hxy-sea.mon.GLB", + "Omon.wdirwindsea": "ocean.wdirwindsea.tavg-u-hxy-sea.mon.GLB", + "Omon.wfcorr": "ocean.wfcorr.tavg-u-hxy-sea.mon.GLB", + "Omon.wfo": "ocean.wfo.tavg-u-hxy-sea.mon.GLB", + "Omon.wmo": "ocean.wmo.tavg-ol-hxy-sea.mon.GLB", + "Omon.wmoSouth30": "ocean.wmo.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.wo": "ocean.wo.tavg-ol-hxy-sea.mon.GLB", + "Omon.woSouth30": "ocean.wo.tavg-ol-hxy-sea.mon.30S-90S", + "Omon.wpdir": "ocean.wpdir.tavg-u-hxy-sea.mon.GLB", + "Omon.wpdirswell": "ocean.wpdirswell.tavg-u-hxy-sea.mon.GLB", + "Omon.wpdirwindsea": "ocean.wpdirwindsea.tavg-u-hxy-sea.mon.GLB", + "Omon.wpp": "ocean.wpp.tavg-u-hxy-sea.mon.GLB", + "Omon.wppswell": "ocean.wppswell.tavg-u-hxy-sea.mon.GLB", + "Omon.wppwindsea": "ocean.wppwindsea.tavg-u-hxy-sea.mon.GLB", + "Omon.zmeso": "ocnBgchem.zmeso.tavg-ol-hxy-sea.mon.GLB", + "Omon.zmesoos": "ocnBgchem.zmeso.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.zmicro": "ocnBgchem.zmicro.tavg-ol-hxy-sea.mon.GLB", + "Omon.zmicroos": "ocnBgchem.zmicro.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.zmisc": "ocnBgchem.zmisc.tavg-ol-hxy-sea.mon.GLB", + "Omon.zmiscos": "ocnBgchem.zmisc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.zooc": "ocnBgchem.zooc.tavg-ol-hxy-sea.mon.GLB", + "Omon.zoocos": "ocnBgchem.zooc.tavg-d0m-hxy-sea.mon.30S-90S", + "Omon.zos": "ocean.zos.tavg-u-hxy-sea.mon.GLB", + "Omon.zosSouth30": "ocean.zos.tavg-u-hxy-sea.mon.30S-90S", + "Omon.zossq": "ocean.zossq.tavg-u-hxy-sea.mon.GLB", + "Omon.zostoga": "ocean.zostoga.tavg-u-hm-sea.mon.GLB", + "Oyr.difmxybo": "ocean.difmxybo.tavg-ol-hxy-sea.yr.GLB", + "Oyr.difmxylo": "ocean.difmxylo.tavg-ol-hxy-sea.yr.GLB", + "Oyr.diftrblo": "ocean.diftrblo.tavg-ol-hxy-sea.yr.GLB", + "Oyr.diftrelo": "ocean.diftrelo.tavg-ol-hxy-sea.yr.GLB", + "Oyr.difvho": "ocean.difvho.tavg-ol-hxy-sea.yr.GLB", + "Oyr.difvso": "ocean.difvso.tavg-ol-hxy-sea.yr.GLB", + "Oyr.dispkexyfo": "ocean.dispkexyfo.tavg-u-hxy-sea.yr.GLB", + "Oyr.ocontempdiff": "ocean.ocontempdiff.tavg-ol-hxy-sea.yr.GLB", + "Oyr.ocontempmint": "ocean.ocontempmint.tavg-u-hxy-sea.yr.GLB", + "Oyr.ocontemppadvect": "ocean.ocontemppadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.ocontemppmdiff": "ocean.ocontemppmdiff.tavg-ol-hxy-sea.yr.GLB", + "Oyr.ocontemppsmadvect": "ocean.ocontemppsmadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.ocontemprmadvect": "ocean.ocontemprmadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.ocontemptend": "ocean.ocontemptend.tavg-ol-hxy-sea.yr.GLB", + "Oyr.opottempdiff": "ocean.opottempdiff.tavg-ol-hxy-sea.yr.GLB", + "Oyr.opottempmint": "ocean.opottempmint.tavg-u-hxy-sea.yr.GLB", + "Oyr.opottemppadvect": "ocean.opottemppadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.opottemppmdiff": "ocean.opottemppmdiff.tavg-ol-hxy-sea.yr.GLB", + "Oyr.opottemppsmadvect": "ocean.opottemppsmadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.opottemprmadvect": "ocean.opottemprmadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.opottemptend": "ocean.opottemptend.tavg-ol-hxy-sea.yr.GLB", + "Oyr.osaltdiff": "ocean.osaltdiff.tavg-ol-hxy-sea.yr.GLB", + "Oyr.osaltpadvect": "ocean.osaltpadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.osaltpmdiff": "ocean.osaltpmdiff.tavg-ol-hxy-sea.yr.GLB", + "Oyr.osaltpsmadvect": "ocean.osaltpsmadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.osaltrmadvect": "ocean.osaltrmadvect.tavg-ol-hxy-sea.yr.GLB", + "Oyr.osalttend": "ocean.osalttend.tavg-ol-hxy-sea.yr.GLB", + "Oyr.rsdoabsorb": "ocean.rsdoabsorb.tavg-ol-hxy-sea.yr.GLB", + "Oyr.somint": "ocean.somint.tavg-u-hxy-sea.yr.GLB", + "Oyr.tnkebto": "ocean.tnkebto.tavg-u-hxy-sea.yr.GLB", + "Oyr.tnpeo": "ocean.tnpeo.tavg-u-hxy-sea.yr.GLB", + "Oyr.volcello": "ocean.volcello.tavg-ol-hxy-sea.yr.GLB", + "SIday.siage": "seaIce.siage.tavg-u-hxy-si.day.GLB", + "SIday.siarean": "seaIce.siarea.tavg-u-hm-u.day.NH", + "SIday.siareas": "seaIce.siarea.tavg-u-hm-u.day.SH", + "SIday.siconc": "seaIce.siconc.tavg-u-hxy-u.day.GLB", + "SIday.siconca": "seaIce.siconca.tavg-u-hxy-u.day.GLB", + "SIday.siextentn": "seaIce.siextent.tavg-u-hm-u.day.NH", + "SIday.siextents": "seaIce.siextent.tavg-u-hm-u.day.SH", + "SIday.sifb": "seaIce.sifb.tavg-u-hxy-si.day.GLB", + "SIday.siflcondbot": "seaIce.siflcondbot.tavg-u-hxy-si.day.GLB", + "SIday.siflcondtop": "seaIce.siflcondtop.tavg-u-hxy-si.day.GLB", + "SIday.sifllattop": "seaIce.sifllattop.tavg-u-hxy-si.day.GLB", + "SIday.sifllwdtop": "seaIce.rlds.tavg-u-hxy-si.day.GLB", + "SIday.sifllwutop": "seaIce.rlus.tavg-u-hxy-si.day.GLB", + "SIday.siflsensbot": "seaIce.siflsensbot.tavg-u-hxy-si.day.GLB", + "SIday.siflsenstop": "seaIce.siflsenstop.tavg-u-hxy-si.day.GLB", + "SIday.siflswdbot": "seaIce.siflswdbot.tavg-u-hxy-si.day.GLB", + "SIday.siflswdtop": "seaIce.rsds.tavg-u-hxy-si.day.GLB", + "SIday.siflswutop": "seaIce.rsus.tavg-u-hxy-si.day.GLB", + "SIday.sihc": "seaIce.sihc.tavg-u-hxy-sea.day.GLB", + "SIday.siitdconc": "seaIce.siitdconc.tavg-u-hxy-si.day.GLB", + "SIday.siitdsnconc": "seaIce.siitdsnconc.tavg-u-hxy-si.day.GLB", + "SIday.siitdsnthick": "seaIce.siitdsnthick.tavg-u-hxy-si.day.GLB", + "SIday.siitdthick": "seaIce.siitdthick.tavg-u-hxy-si.day.GLB", + "SIday.simpconc": "seaIce.simpconc.tavg-u-hxy-si.day.GLB", + "SIday.simpeffconc": "seaIce.simpeffconc.tavg-u-hxy-si.day.GLB", + "SIday.simprefrozen": "seaIce.simprefrozen.tavg-u-hxy-simp.day.GLB", + "SIday.simpthick": "seaIce.simpthick.tavg-u-hxy-si.day.GLB", + "SIday.sirdgconc": "seaIce.sirdgconc.tavg-u-hxy-si.day.GLB", + "SIday.sirdgthick": "seaIce.sithick.tavg-u-hxy-sir.day.GLB", + "SIday.sisali": "seaIce.sisali.tavg-u-hxy-si.day.GLB", + "SIday.sisaltmass": "seaIce.sisaltmass.tavg-u-hxy-si.day.GLB", + "SIday.sisnhc": "seaIce.sisnhc.tavg-u-hxy-si.day.GLB", + "SIday.sisnmassn": "seaIce.sisnmass.tavg-u-hm-u.day.NH", + "SIday.sisnmasss": "seaIce.sisnmass.tavg-u-hm-u.day.SH", + "SIday.sisnthick": "seaIce.snd.tavg-u-hxy-sn.day.GLB", + "SIday.sispeed": "seaIce.sispeed.tavg-u-hxy-si.day.GLB", + "SIday.sitempbot": "seaIce.sitempbot.tavg-u-hxy-si.day.GLB", + "SIday.sitempsnic": "seaIce.sitempsnic.tavg-u-hxy-si.day.GLB", + "SIday.sitemptop": "seaIce.ts.tavg-u-hxy-si.day.GLB", + "SIday.sithick": "seaIce.sithick.tavg-u-hxy-si.day.GLB", + "SIday.sitimefrac": "seaIce.sitimefrac.tavg-u-hxy-sea.day.GLB", + "SIday.siu": "seaIce.siu.tavg-u-hxy-si.day.GLB", + "SIday.siv": "seaIce.siv.tavg-u-hxy-si.day.GLB", + "SIday.sivoln": "seaIce.sivol.tavg-u-hm-u.day.NH", + "SIday.sivols": "seaIce.sivol.tavg-u-hm-u.day.SH", + "SImon.siage": "seaIce.siage.tavg-u-hxy-si.mon.GLB", + "SImon.siageSouth30": "seaIce.siage.tavg-u-hxy-si.mon.30S-90S", + "SImon.sialgc": "ocnBgchem.sialgc.tavg-u-hxy-si.mon.GLB", + "SImon.siareaacrossline": "seaIce.siareaacrossline.tavg-u-ht-u.mon.GLB", + "SImon.siarean": "seaIce.siarea.tavg-u-hm-u.mon.NH", + "SImon.siareas": "seaIce.siarea.tavg-u-hm-u.mon.SH", + "SImon.sichl": "ocnBgchem.sichl.tavg-u-hxy-si.mon.GLB", + "SImon.sicompstren": "seaIce.sicompstren.tavg-u-hxy-si.mon.GLB", + "SImon.siconc": "seaIce.siconc.tavg-u-hxy-u.mon.GLB", + "SImon.siconcSouth30": "seaIce.siconc.tavg-u-hxy-u.mon.30S-90S", + "SImon.siconca": "seaIce.siconca.tavg-u-hxy-u.mon.GLB", + "SImon.sidconcdyn": "seaIce.sidconcdyn.tavg-u-hxy-sea.mon.GLB", + "SImon.sidconcth": "seaIce.sidconcth.tavg-u-hxy-sea.mon.GLB", + "SImon.sidivvel": "seaIce.sidivvel.tpt-u-hxy-si.mon.GLB", + "SImon.sidmassdyn": "seaIce.sidmassdyn.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassevapsubl": "seaIce.evspsbl.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassgrowthbot": "seaIce.sidmassgrowthbot.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassgrowthsi": "seaIce.sidmassgrowthsi.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassgrowthwat": "seaIce.sidmassgrowthwat.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassmeltbot": "seaIce.sidmassmeltbot.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassmeltlat": "seaIce.sidmassmeltlat.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassmelttop": "seaIce.sidmassmelttop.tavg-u-hxy-si.mon.GLB", + "SImon.sidmassth": "seaIce.sidmassth.tavg-u-hxy-si.mon.GLB", + "SImon.sidmasstranx": "seaIce.sidmasstranx.tavg-u-hxy-u.mon.GLB", + "SImon.sidmasstrany": "seaIce.sidmasstrany.tavg-u-hxy-u.mon.GLB", + "SImon.sidragbot": "seaIce.sidragbot.tavg-u-hxy-si.mon.GLB", + "SImon.sidragtop": "seaIce.sidragtop.tavg-u-hxy-si.mon.GLB", + "SImon.siextentn": "seaIce.siextent.tavg-u-hm-u.mon.NH", + "SImon.siextents": "seaIce.siextent.tavg-u-hm-u.mon.SH", + "SImon.sifb": "seaIce.sifb.tavg-u-hxy-si.mon.GLB", + "SImon.siflcondbot": "seaIce.siflcondbot.tavg-u-hxy-si.mon.GLB", + "SImon.siflcondtop": "seaIce.siflcondtop.tavg-u-hxy-si.mon.GLB", + "SImon.siflfwbot": "seaIce.siflfwbot.tavg-u-hxy-si.mon.GLB", + "SImon.siflfwdrain": "seaIce.siflfwdrain.tavg-u-hxy-si.mon.GLB", + "SImon.sifllattop": "seaIce.sifllattop.tavg-u-hxy-si.mon.GLB", + "SImon.sifllwdtop": "seaIce.rlds.tavg-u-hxy-si.mon.GLB", + "SImon.sifllwutop": "seaIce.rlus.tavg-u-hxy-si.mon.GLB", + "SImon.siflsaltbot": "seaIce.sfdsi.tavg-u-hxy-si.mon.GLB", + "SImon.siflsensbot": "seaIce.siflsensbot.tavg-u-hxy-si.mon.GLB", + "SImon.siflsenstop": "seaIce.siflsenstop.tavg-u-hxy-si.mon.GLB", + "SImon.siflswdbot": "seaIce.siflswdbot.tavg-u-hxy-si.mon.GLB", + "SImon.siflswdtop": "seaIce.rsds.tavg-u-hxy-si.mon.GLB", + "SImon.siflswutop": "seaIce.rsus.tavg-u-hxy-si.mon.GLB", + "SImon.siforcecoriolx": "seaIce.siforcecoriolx.tavg-u-hxy-si.mon.GLB", + "SImon.siforcecorioly": "seaIce.siforcecorioly.tavg-u-hxy-si.mon.GLB", + "SImon.siforceintstrx": "seaIce.siforceintstrx.tavg-u-hxy-si.mon.GLB", + "SImon.siforceintstry": "seaIce.siforceintstry.tavg-u-hxy-si.mon.GLB", + "SImon.siforcetiltx": "seaIce.siforcetiltx.tavg-u-hxy-si.mon.GLB", + "SImon.siforcetilty": "seaIce.siforcetilty.tavg-u-hxy-si.mon.GLB", + "SImon.sigpp": "ocnBgchem.sigpp.tavg-u-hxy-si.mon.GLB", + "SImon.sihc": "seaIce.sihc.tavg-u-hxy-sea.mon.GLB", + "SImon.siitdconc": "seaIce.siitdconc.tavg-u-hxy-si.mon.GLB", + "SImon.siitdsnconc": "seaIce.siitdsnconc.tavg-u-hxy-si.mon.GLB", + "SImon.siitdsnthick": "seaIce.siitdsnthick.tavg-u-hxy-si.mon.GLB", + "SImon.siitdthick": "seaIce.siitdthick.tavg-u-hxy-si.mon.GLB", + "SImon.simass": "seaIce.simass.tavg-u-hxy-si.mon.GLB", + "SImon.simassacrossline": "seaIce.simassacrossline.tavg-u-ht-u.mon.GLB", + "SImon.simpconc": "seaIce.simpconc.tavg-u-hxy-si.mon.GLB", + "SImon.simpeffconc": "seaIce.simpeffconc.tavg-u-hxy-si.mon.GLB", + "SImon.simprefrozen": "seaIce.simprefrozen.tavg-u-hxy-simp.mon.GLB", + "SImon.simpthick": "seaIce.simpthick.tavg-u-hxy-simp.mon.GLB", + "SImon.sino3": "ocnBgchem.sino3.tavg-u-hxy-si.mon.GLB", + "SImon.sipr": "seaIce.prra.tavg-u-hxy-si.mon.GLB", + "SImon.sirdgconc": "seaIce.sirdgconc.tavg-u-hxy-si.mon.GLB", + "SImon.sirdgthick": "seaIce.sithick.tavg-u-hxy-sir.mon.GLB", + "SImon.sisali": "seaIce.sisali.tavg-u-hxy-si.mon.GLB", + "SImon.sisaltmass": "seaIce.sisaltmass.tavg-u-hxy-si.mon.GLB", + "SImon.sishearvel": "seaIce.sishearvel.tpt-u-hxy-si.mon.GLB", + "SImon.sisi": "ocnBgchem.sisi.tavg-u-hxy-si.mon.GLB", + "SImon.sisnconc": "seaIce.snc.tavg-u-hxy-si.mon.GLB", + "SImon.sisndmassdyn": "seaIce.sisndmassdyn.tavg-u-hxy-si.mon.GLB", + "SImon.sisndmassmelt": "seaIce.snm.tavg-u-hxy-si.mon.GLB", + "SImon.sisndmasssi": "seaIce.sisndmasssi.tavg-u-hxy-si.mon.GLB", + "SImon.sisndmasssnf": "seaIce.prsn.tavg-u-hxy-si.mon.GLB", + "SImon.sisndmasssubl": "seaIce.sbl.tavg-u-hxy-si.mon.GLB", + "SImon.sisndmasswind": "seaIce.sisndmasswind.tavg-u-hxy-si.mon.GLB", + "SImon.sisnhc": "seaIce.sisnhc.tavg-u-hxy-si.mon.GLB", + "SImon.sisnmass": "seaIce.snw.tavg-u-hxy-si.mon.GLB", + "SImon.sisnmassacrossline": "seaIce.sisnmassacrossline.tavg-u-ht-u.mon.GLB", + "SImon.sisnmassn": "seaIce.sisnmass.tavg-u-hm-u.mon.NH", + "SImon.sisnmasss": "seaIce.sisnmass.tavg-u-hm-u.mon.SH", + "SImon.sisnthick": "seaIce.snd.tavg-u-hxy-sn.mon.GLB", + "SImon.sisnthickSouth30": "seaIce.snd.tavg-u-hxy-sn.mon.30S-90S", + "SImon.sispeed": "seaIce.sispeed.tavg-u-hxy-si.mon.GLB", + "SImon.sistressave": "seaIce.sistressave.tpt-u-hxy-si.mon.GLB", + "SImon.sistressmax": "seaIce.sistressmax.tpt-u-hxy-si.mon.GLB", + "SImon.sistrxdtop": "seaIce.sistrxdtop.tavg-u-hxy-si.mon.GLB", + "SImon.sistrxubot": "seaIce.sistrxubot.tavg-u-hxy-si.mon.GLB", + "SImon.sistrydtop": "seaIce.sistrydtop.tavg-u-hxy-si.mon.GLB", + "SImon.sistryubot": "seaIce.sistryubot.tavg-u-hxy-si.mon.GLB", + "SImon.sitempbot": "seaIce.sitempbot.tavg-u-hxy-si.mon.GLB", + "SImon.sitempsnic": "seaIce.sitempsnic.tavg-u-hxy-si.mon.GLB", + "SImon.sitemptop": "seaIce.ts.tavg-u-hxy-si.mon.GLB", + "SImon.sitemptopSouth30": "seaIce.ts.tavg-u-hxy-si.mon.30S-90S", + "SImon.sithick": "seaIce.sithick.tavg-u-hxy-si.mon.GLB", + "SImon.sithickSouth30": "seaIce.sithick.tavg-u-hxy-si.mon.30S-90S", + "SImon.sitimefrac": "seaIce.sitimefrac.tavg-u-hxy-sea.mon.GLB", + "SImon.sitimefracSouth30": "seaIce.sitimefrac.tavg-u-hxy-sea.mon.30S-90S", + "SImon.siu": "seaIce.siu.tavg-u-hxy-si.mon.GLB", + "SImon.siuSouth30": "seaIce.siu.tavg-u-hxy-si.mon.30S-90S", + "SImon.siv": "seaIce.siv.tavg-u-hxy-si.mon.GLB", + "SImon.sivSouth30": "seaIce.siv.tavg-u-hxy-si.mon.30S-90S", + "SImon.sivol": "seaIce.sieqthick.tavg-u-hxy-si.mon.GLB", + "SImon.sivoln": "seaIce.sivol.tavg-u-hm-u.mon.NH", + "SImon.sivols": "seaIce.sivol.tavg-u-hm-u.mon.SH", + "_metadata": { + "data_request_version": "latest_stable", + "description": "CMIP6 to CMIP7 compound name mapping (reverse of forward mapping)", + "generated_by": "access_moppy.utilities.generate_both_cmip_mappings()", + "generated_on": "2025-12-19T09:14:15.987551", + "note": "Some CMIP6 names may map to multiple CMIP7 names (stored as arrays)", + "source": "CMIP7 Data Request API", + "total_mappings": 1974, + "usage": "Use access_moppy.utilities.load_cmip6_to_cmip7_mapping() to load this file" + }, + "day.clt": "atmos.clt.tavg-u-hxy-u.day.GLB", + "day.hfls": "atmos.hfls.tavg-u-hxy-u.day.GLB", + "day.hfss": "atmos.hfss.tavg-u-hxy-u.day.GLB", + "day.hur": "atmos.hur.tavg-p19-hxy-u.day.GLB", + "day.hurs": "atmos.hurs.tavg-h2m-hxy-u.day.GLB", + "day.hursmax": "atmos.hurs.tmax-h2m-hxy-u.day.GLB", + "day.hursmin": "atmos.hurs.tmin-h2m-hxy-u.day.GLB", + "day.hus": "atmos.hus.tavg-p19-hxy-u.day.GLB", + "day.huss": "atmos.huss.tavg-h2m-hxy-u.day.GLB", + "day.irrDem": "land.irrDem.tavg-u-hxy-u.day.GLB", + "day.irrGw": "land.irrGw.tavg-u-hxy-u.day.GLB", + "day.irrLut": "land.irrLut.tavg-u-hxy-u.day.GLB", + "day.irrSurf": "land.irrSurf.tavg-u-hxy-u.day.GLB", + "day.mrro": "land.mrro.tavg-u-hxy-lnd.day.GLB", + "day.mrso": "land.mrso.tavg-u-hxy-lnd.day.GLB", + "day.mrsos": "land.mrsol.tavg-d10cm-hxy-lnd.day.GLB", + "day.noaahi2m": "atmos.noaahi2m.tavg-h2m-hxy-u.day.GLB", + "day.noaahi2mmax": "atmos.noaahi2m.tmax-h2m-hxy-u.day.GLB", + "day.pr": "atmos.pr.tavg-u-hxy-u.day.GLB", + "day.prc": "atmos.prc.tavg-u-hxy-u.day.GLB", + "day.prsn": "atmos.prsn.tavg-u-hxy-u.day.GLB", + "day.psl": "atmos.psl.tavg-u-hxy-u.day.GLB", + "day.rlds": "atmos.rlds.tavg-u-hxy-u.day.GLB", + "day.rls": "atmos.rls.tavg-u-hxy-u.day.GLB", + "day.rlus": "atmos.rlus.tavg-u-hxy-u.day.GLB", + "day.rluscs": "atmos.rluscs.tavg-u-hxy-u.day.GLB", + "day.rlut": "atmos.rlut.tavg-u-hxy-u.day.GLB", + "day.rsds": "atmos.rsds.tavg-u-hxy-u.day.GLB", + "day.rss": "atmos.rss.tavg-u-hxy-u.day.GLB", + "day.rsus": "atmos.rsus.tavg-u-hxy-u.day.GLB", + "day.sfcWind": "atmos.sfcWind.tavg-h10m-hxy-u.day.GLB", + "day.sfcWindmax": "atmos.sfcWind.tmax-h10m-hxy-u.day.GLB", + "day.snc": "landIce.snc.tavg-u-hxy-lnd.day.GLB", + "day.snw": "landIce.snw.tavg-u-hxy-lnd.day.GLB", + "day.ta": "atmos.ta.tavg-p19-hxy-air.day.GLB", + "day.tas": "atmos.tas.tavg-h2m-hxy-u.day.GLB", + "day.tasmax": "atmos.tas.tmax-h2m-hxy-u.day.GLB", + "day.tasmin": "atmos.tas.tmin-h2m-hxy-u.day.GLB", + "day.tslsi": "land.tslsi.tavg-u-hxy-u.day.GLB", + "day.ua": "atmos.ua.tavg-p19-hxy-air.day.GLB", + "day.uas": "atmos.uas.tavg-h10m-hxy-u.day.GLB", + "day.va": "atmos.va.tavg-p19-hxy-air.day.GLB", + "day.vas": "atmos.vas.tavg-h10m-hxy-u.day.GLB", + "day.wap": "atmos.wap.tavg-p19-hxy-u.day.GLB", + "day.wbgt2m": "atmos.wbgt.tavg-h2m-hxy-u.day.GLB", + "day.wbgt2mmax": "atmos.wbgt.tmax-h2m-hxy-u.day.GLB", + "day.zg": "atmos.zg.tavg-p19-hxy-air.day.GLB", + "fx.areacella": "atmos.areacella.ti-u-hxy-u.fx.GLB", + "fx.areacellr": "land.areacellr.ti-u-hxy-u.fx.GLB", + "fx.depthl": "land.depthl.ti-u-hxy-u.fx.GLB", + "fx.depthsl": "land.depthsl.ti-u-hxy-u.fx.GLB", + "fx.lat": "atmos.lat.ti-u-hs-u.fx.GLB", + "fx.lithk": "landIce.lithk.ti-u-hxy-u.fx.GLB", + "fx.lon": "atmos.lon.ti-u-hs-u.fx.GLB", + "fx.mrsofc": "land.mrsofc.ti-u-hxy-lnd.fx.GLB", + "fx.orog": "land.orog.ti-u-hxy-u.fx.GLB", + "fx.orogSouth30": "land.orog.ti-u-hxy-u.fx.30S-90S", + "fx.rootd": "land.rootd.ti-u-hxy-lnd.fx.GLB", + "fx.sftgif": "land.sftgif.ti-u-hxy-u.fx.GLB", + "fx.sftlaf": "land.sftlaf.ti-u-hxy-u.fx.GLB", + "fx.sftlf": "atmos.sftlf.ti-u-hxy-u.fx.GLB", + "fx.zfull": "atmos.zfull.ti-al-hxy-u.fx.GLB" +} \ No newline at end of file diff --git a/src/access_moppy/mappings/cmip7_to_cmip6_compound_name_mapping.json b/src/access_moppy/mappings/cmip7_to_cmip6_compound_name_mapping.json new file mode 100644 index 0000000..fa86aee --- /dev/null +++ b/src/access_moppy/mappings/cmip7_to_cmip6_compound_name_mapping.json @@ -0,0 +1,1985 @@ +{ + "_metadata": { + "data_request_version": "latest_stable", + "description": "CMIP7 to CMIP6 compound name mapping", + "generated_by": "access_moppy.utilities.generate_both_cmip_mappings()", + "generated_on": "2025-12-19T09:14:15.987503", + "source": "CMIP7 Data Request API", + "total_mappings": 1974, + "usage": "Use access_moppy.utilities.load_cmip7_to_cmip6_mapping() to load this file" + }, + "aerosol.abs550aer.tavg-u-hxy-u.mon.GLB": "AERmon.abs550aer", + "aerosol.abs550bc.tavg-u-hxy-u.mon.GLB": "AERmon.abs550bc", + "aerosol.abs550dust.tavg-u-hxy-u.mon.GLB": "AERmon.abs550dust", + "aerosol.abs550no3.tavg-u-hxy-u.mon.GLB": "AERmon.abs550no3", + "aerosol.abs550oa.tavg-u-hxy-u.mon.GLB": "AERmon.abs550oa", + "aerosol.abs550so4.tavg-u-hxy-u.mon.GLB": "AERmon.abs550so4", + "aerosol.abs550ss.tavg-u-hxy-u.mon.GLB": "AERmon.abs550ss", + "aerosol.airmass.tavg-al-hxy-u.mon.GLB": "AERmon.airmass", + "aerosol.aoanh.tavg-al-hxy-u.mon.NH": "AERmon.aoanh", + "aerosol.bry.tavg-p39-hy-air.mon.GLB": "AERmonZ.bry", + "aerosol.bs550aer.tpt-al-hxy-u.6hr.GLB": "6hrLev.bs550aer", + "aerosol.c2h6.tavg-al-hxy-u.mon.GLB": "AERmon.c2h6", + "aerosol.c3h6.tavg-al-hxy-u.mon.GLB": "AERmon.c3h6", + "aerosol.c3h8.tavg-al-hxy-u.mon.GLB": "AERmon.c3h8", + "aerosol.ccldncl.tavg-u-hxy-ccl.day.GLB": "Eday.ccldncl", + "aerosol.ccldncl.tavg-u-hxy-ccl.mon.GLB": "Emon.ccldncl", + "aerosol.ccn.tavg-u-hxy-ccl.mon.30S-90S": "AERmon.ccnSouth30", + "aerosol.ccn.tavg-u-hxy-ccl.mon.GLB": "AERmon.ccn", + "aerosol.ccn1.tavg-al-hxy-u.mon.30S-90S": "AERmon.ccn1South30", + "aerosol.ccn1.tavg-al-hxy-u.mon.GLB": "AERmon.ccn1", + "aerosol.ccnp02.tavg-al-hxy-u.mon.30S-90S": "AERmon.ccn02South30", + "aerosol.ccnp02.tavg-al-hxy-u.mon.GLB": "AERmon.ccn02", + "aerosol.cdnc.tavg-al-hxy-u.mon.30S-90S": "AERmon.cdncSouth30", + "aerosol.cdnc.tavg-al-hxy-u.mon.GLB": "AERmon.cdnc", + "aerosol.cfc114.tavg-al-hxy-u.mon.GLB": "AERmon.cfc114", + "aerosol.ch3coch3.tavg-al-hxy-u.mon.GLB": "AERmon.ch3coch3", + "aerosol.cheaqpso4.tavg-al-hxy-u.mon.GLB": "AERmon.cheaqpso4", + "aerosol.chegpso4.tavg-al-hxy-u.mon.GLB": "AERmon.chegpso4", + "aerosol.chepasoa.tavg-u-hxy-u.mon.GLB": "AERmon.chepasoa", + "aerosol.chepsoa.tavg-u-hxy-u.mon.GLB": "AERmon.chepsoa", + "aerosol.cly.tavg-p39-hy-air.mon.GLB": "AERmonZ.cly", + "aerosol.co.tavg-al-hxy-u.mon.GLB": "AERmon.co", + "aerosol.co.tavg-h2m-hxy-u.day.GLB": "AERday.co", + "aerosol.cod.tavg-u-hxy-u.day.GLB": "AERday.cod", + "aerosol.cod.tavg-u-hxy-u.mon.30S-90S": "AERmon.codSouth30", + "aerosol.cod.tavg-u-hxy-u.mon.GLB": "AERmon.cod", + "aerosol.conccn.tavg-al-hxy-u.mon.GLB": "AERmon.conccn", + "aerosol.conccn.tpt-u-hs-u.3hr.GLB": "E3hrPt.conccn", + "aerosol.depdust.tavg-u-hxy-u.mon.GLB": "Emon.depdust", + "aerosol.drybc.tavg-u-hxy-u.mon.GLB": "AERmon.drybc", + "aerosol.drydust.tavg-u-hxy-u.mon.GLB": "AERmon.drydust", + "aerosol.dryno3.tavg-u-hxy-u.mon.GLB": "AERmon.dryno3", + "aerosol.dryo3.tavg-u-hxy-u.mon.GLB": "AERmon.dryo3", + "aerosol.dryoa.tavg-u-hxy-u.mon.GLB": "AERmon.dryoa", + "aerosol.dryso2.tavg-u-hxy-u.mon.GLB": "AERmon.dryso2", + "aerosol.dryso4.tavg-u-hxy-u.mon.GLB": "AERmon.dryso4", + "aerosol.dryss.tavg-u-hxy-u.mon.GLB": "AERmon.dryss", + "aerosol.ec550aer.tavg-al-hxy-u.mon.GLB": "Emon.ec550aer", + "aerosol.ec550aer.tpt-u-hxy-u.6hr.GLB": "6hrLev.ec550aer", + "aerosol.emiaco.tavg-u-hxy-u.mon.GLB": "AERmon.emiaco", + "aerosol.emianox.tavg-u-hxy-u.mon.GLB": "AERmon.emianox", + "aerosol.emiaoa.tavg-u-hxy-u.mon.GLB": "AERmon.emiaoa", + "aerosol.emibbbc.tavg-u-hxy-u.mon.GLB": "AERmon.emibbbc", + "aerosol.emibbch4.tavg-u-hxy-u.mon.GLB": "AERmon.emibbch4", + "aerosol.emibbco.tavg-u-hxy-u.mon.GLB": "AERmon.emibbco", + "aerosol.emibbdms.tavg-u-hxy-u.mon.GLB": "AERmon.emibbdms", + "aerosol.emibbnh3.tavg-u-hxy-u.mon.GLB": "AERmon.emibbnh3", + "aerosol.emibbnox.tavg-u-hxy-u.mon.GLB": "AERmon.emibbnox", + "aerosol.emibboa.tavg-u-hxy-u.mon.GLB": "AERmon.emibboa", + "aerosol.emibbso2.tavg-u-hxy-u.mon.GLB": "AERmon.emibbso2", + "aerosol.emibbvoc.tavg-u-hxy-u.mon.GLB": "AERmon.emibbvoc", + "aerosol.emibc.tavg-u-hxy-u.mon.GLB": "AERmon.emibc", + "aerosol.emibvoc.tavg-u-hxy-u.mon.GLB": "AERmon.emibvoc", + "aerosol.emico.tavg-u-hxy-u.mon.GLB": "AERmon.emico", + "aerosol.emidms.tavg-u-hxy-u.mon.30S-90S": "AERmon.emidmsSouth30", + "aerosol.emidms.tavg-u-hxy-u.mon.GLB": "AERmon.emidms", + "aerosol.emidust.tavg-u-hxy-u.mon.GLB": "AERmon.emidust", + "aerosol.emiisop.tavg-u-hxy-u.mon.GLB": "AERmon.emiisop", + "aerosol.emilnox.tavg-al-hxy-u.mon.GLB": "AERmon.emilnox", + "aerosol.eminh3.tavg-u-hxy-u.mon.GLB": "AERmon.eminh3", + "aerosol.eminox.tavg-u-hxy-u.mon.GLB": "AERmon.eminox", + "aerosol.emioa.tavg-u-hxy-u.mon.GLB": "AERmon.emioa", + "aerosol.emiso2.tavg-u-hxy-u.mon.GLB": "AERmon.emiso2", + "aerosol.emiso4.tavg-u-hxy-u.mon.GLB": "AERmon.emiso4", + "aerosol.emiss.tavg-u-hxy-u.mon.30S-90S": "AERmon.emissSouth30", + "aerosol.emiss.tavg-u-hxy-u.mon.GLB": "AERmon.emiss", + "aerosol.emivoc.tavg-u-hxy-u.mon.GLB": "AERmon.emivoc", + "aerosol.h2o.tavg-al-hxy-u.mon.GLB": "AERmon.h2o", + "aerosol.h2o.tavg-p39-hy-air.mon.GLB": "AERmonZ.h2o", + "aerosol.hcfc22.tavg-al-hxy-u.mon.GLB": "AERmon.hcfc22", + "aerosol.hcho.tavg-al-hxy-u.mon.GLB": "AERmon.hcho", + "aerosol.hcl.tavg-al-hxy-u.mon.GLB": "AERmon.hcl", + "aerosol.hcl.tavg-p39-hy-air.mon.GLB": "AERmonZ.hcl", + "aerosol.hfc125.tavg-al-hxy-u.mon.GLB": "AERmon.hfc125", + "aerosol.hfc134a.tavg-al-hxy-u.mon.GLB": "AERmon.hfc134a", + "aerosol.hno3.tavg-al-hxy-u.mon.GLB": "AERmon.hno3", + "aerosol.hno3.tavg-p39-hy-air.mon.GLB": "AERmonZ.hno3", + "aerosol.ho2.tavg-p39-hy-air.mon.GLB": "AERmonZ.ho2", + "aerosol.isop.tavg-al-hxy-u.mon.GLB": "AERmon.isop", + "aerosol.jno2.tavg-al-hxy-u.mon.GLB": "AERmon.jno2", + "aerosol.lossch4.tavg-al-hxy-u.mon.GLB": "AERmon.lossch4", + "aerosol.lossco.tavg-al-hxy-u.mon.GLB": "AERmon.lossco", + "aerosol.lossn2o.tavg-al-hxy-u.mon.GLB": "AERmon.lossn2o", + "aerosol.lwp.tavg-u-hxy-u.mon.GLB": "AERmon.lwp", + "aerosol.mmraerh2o.tavg-al-hxy-u.mon.GLB": "AERmon.mmraerh2o", + "aerosol.mmraerh2o.tavg-h2m-hxy-u.day.GLB": "AERday.mmraerh2o", + "aerosol.mmraerh2o.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmraerh2o", + "aerosol.mmrbc.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrbcSouth30", + "aerosol.mmrbc.tavg-al-hxy-u.mon.GLB": "AERmon.mmrbc", + "aerosol.mmrbc.tavg-h2m-hxy-u.day.GLB": "AERday.mmrbc", + "aerosol.mmrbc.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmrbc", + "aerosol.mmrdust.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrdustSouth30", + "aerosol.mmrdust.tavg-al-hxy-u.mon.GLB": "AERmon.mmrdust", + "aerosol.mmrdust.tavg-h2m-hxy-u.day.GLB": "AERday.mmrdust", + "aerosol.mmrdust.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmrdust", + "aerosol.mmrnh4.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrnh4South30", + "aerosol.mmrnh4.tavg-al-hxy-u.mon.GLB": "AERmon.mmrnh4", + "aerosol.mmrnh4.tavg-h2m-hxy-u.day.GLB": "AERday.mmrnh4", + "aerosol.mmrnh4.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmrnh4", + "aerosol.mmrno3.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrno3South30", + "aerosol.mmrno3.tavg-al-hxy-u.mon.GLB": "AERmon.mmrno3", + "aerosol.mmrno3.tavg-h2m-hxy-u.day.GLB": "AERday.mmrno3", + "aerosol.mmrno3.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmrno3", + "aerosol.mmroa.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmroaSouth30", + "aerosol.mmroa.tavg-al-hxy-u.mon.GLB": "AERmon.mmroa", + "aerosol.mmroa.tavg-h2m-hxy-u.day.GLB": "AERday.mmroa", + "aerosol.mmroa.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmroa", + "aerosol.mmrpm1.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrpm1South30", + "aerosol.mmrpm1.tavg-al-hxy-u.mon.GLB": "AERmon.mmrpm1", + "aerosol.mmrpm2p5.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrpm2p5South30", + "aerosol.mmrpm2p5.tavg-al-hxy-u.mon.GLB": "AERmon.mmrpm2p5", + "aerosol.mmrso4.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrso4South30", + "aerosol.mmrso4.tavg-al-hxy-u.mon.GLB": "AERmon.mmrso4", + "aerosol.mmrso4.tavg-h2m-hxy-u.day.GLB": "AERday.mmrso4", + "aerosol.mmrso4.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmrso4", + "aerosol.mmrsoa.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrsoaSouth30", + "aerosol.mmrsoa.tavg-al-hxy-u.mon.GLB": "AERmon.mmrsoa", + "aerosol.mmrsoa.tavg-h2m-hxy-u.day.GLB": "AERday.mmrsoa", + "aerosol.mmrss.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrssSouth30", + "aerosol.mmrss.tavg-al-hxy-u.mon.GLB": "AERmon.mmrss", + "aerosol.mmrss.tavg-h2m-hxy-u.day.GLB": "AERday.mmrss", + "aerosol.mmrss.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.mmrss", + "aerosol.nh50.tavg-al-hxy-u.mon.GLB": "AERmon.nh50", + "aerosol.no.tavg-al-hxy-u.mon.GLB": "AERmon.no", + "aerosol.no2.tavg-al-hxy-u.mon.GLB": "AERmon.no2", + "aerosol.no2.tavg-h2m-hxy-u.1hr.GLB": "AERhr.sfno2", + "aerosol.noy.tavg-p39-hy-air.mon.GLB": "AERmonZ.noy", + "aerosol.o3.tavg-h2m-hxy-u.1hr.GLB": "AERhr.sfo3", + "aerosol.o3.tmax-h2m-hxy-u.day.GLB": "AERday.sfo3max", + "aerosol.o3loss.tavg-al-hxy-u.mon.GLB": "AERmon.o3loss", + "aerosol.o3prod.tavg-al-hxy-u.mon.GLB": "AERmon.o3prod", + "aerosol.od443aer.tavg-u-hxy-u.mon.GLB": "AERmon.od443aer", + "aerosol.od550aer.tavg-u-hxy-u.day.GLB": "AERday.od550aer", + "aerosol.od550aer.tavg-u-hxy-u.mon.30S-90S": "AERmon.od550aerSouth30", + "aerosol.od550aer.tavg-u-hxy-u.mon.GLB": "AERmon.od550aer", + "aerosol.od550aerh2o.tavg-u-hxy-u.mon.GLB": "AERmon.od550aerh2o", + "aerosol.od550bb.tavg-u-hxy-u.mon.GLB": "AERmon.od550bb", + "aerosol.od550bc.tavg-u-hxy-u.mon.GLB": "AERmon.od550bc", + "aerosol.od550csaer.tavg-u-hxy-u.mon.GLB": "AERmon.od550csaer", + "aerosol.od550dust.tavg-u-hxy-u.mon.GLB": "AERmon.od550dust", + "aerosol.od550lt1aer.tavg-u-hxy-u.mon.GLB": "AERmon.od550lt1aer", + "aerosol.od550no3.tavg-u-hxy-u.mon.GLB": "AERmon.od550no3", + "aerosol.od550oa.tavg-u-hxy-u.mon.GLB": "AERmon.od550oa", + "aerosol.od550so4.tavg-u-hxy-u.mon.GLB": "AERmon.od550so4", + "aerosol.od550soa.tavg-u-hxy-u.mon.GLB": "AERmon.od550soa", + "aerosol.od550ss.tavg-u-hxy-u.mon.GLB": "AERmon.od550ss", + "aerosol.od865aer.tavg-u-hxy-u.mon.GLB": "AERmon.od865aer", + "aerosol.oh.tavg-al-hxy-u.mon.GLB": "AERmon.oh", + "aerosol.oh.tavg-p39-hy-air.mon.GLB": "AERmonZ.oh", + "aerosol.pan.tavg-al-hxy-u.mon.GLB": "AERmon.pan", + "aerosol.photo1d.tavg-al-hxy-u.mon.GLB": "AERmon.photo1d", + "aerosol.pod0.tsum-u-hxy-u.mon.GLB": "AERmon.pod0", + "aerosol.reffccwctop.tavg-u-hxy-cl.mon.GLB": "Emon.reffccwctop", + "aerosol.reffclwtop.tavg-u-hxy-cl.mon.30S-90S": "AERmon.reffclwtopSouth30", + "aerosol.reffclwtop.tavg-u-hxy-cl.mon.GLB": "AERmon.reffclwtop", + "aerosol.rluscsaf.tavg-u-hxy-u.mon.GLB": "AERmon.rluscsaf", + "aerosol.rlutaf.tavg-u-hxy-u.mon.GLB": "AERmon.rlutaf", + "aerosol.rlutcsaf.tavg-u-hxy-u.mon.GLB": "AERmon.rlutcsaf", + "aerosol.rsutaf.tavg-u-hxy-u.mon.GLB": "AERmon.rsutaf", + "aerosol.rsutcsaf.tavg-u-hxy-u.mon.GLB": "AERmon.rsutcsaf", + "aerosol.sfpm1.tavg-h2m-hxy-u.1hr.GLB": "AERhr.sfpm1", + "aerosol.sfpm1.tavg-h2m-hxy-u.day.GLB": "AERday.sfpm1", + "aerosol.sfpm10.tavg-al-hxy-u.mon.30S-90S": "AERmon.mmrpm10South30", + "aerosol.sfpm10.tavg-al-hxy-u.mon.GLB": "AERmon.mmrpm10", + "aerosol.sfpm10.tavg-h2m-hxy-u.1hr.GLB": "AERhr.sfpm10", + "aerosol.sfpm10.tavg-h2m-hxy-u.day.GLB": "AERday.sfpm10", + "aerosol.sfpm25.tavg-h2m-hxy-u.1hr.GLB": "AERhr.sfpm25", + "aerosol.sfpm25.tavg-h2m-hxy-u.day.GLB": "AERday.sfpm25", + "aerosol.so2.tavg-al-hxy-u.mon.30S-90S": "AERmon.so2South30", + "aerosol.so2.tavg-al-hxy-u.mon.GLB": "AERmon.so2", + "aerosol.so2.tavg-h2m-hxy-u.day.GLB": "AERday.so2", + "aerosol.so2.tpt-h2m-hs-u.3hr.GLB": "E3hrPt.so2", + "aerosol.tatp.tavg-u-hxy-u.mon.GLB": "AERmon.tatp", + "aerosol.toz.tavg-u-hxy-u.day.GLB": "AERday.toz", + "aerosol.toz.tavg-u-hxy-u.mon.GLB": "AERmon.toz", + "aerosol.tropoz.tavg-u-hxy-u.mon.GLB": "AERmon.tropoz", + "aerosol.ttop.tavg-u-hxy-cl.mon.GLB": "AERmon.ttop", + "aerosol.ua.tavg-10hPa-hxy-air.day.GLB": "AERday.ua10", + "aerosol.vt100.tavg-100hPa-hy-air.mon.GLB": "AERmonZ.vt100", + "aerosol.wa.tavg-al-hxy-u.mon.GLB": "AERmon.wa", + "aerosol.wetbc.tavg-u-hxy-u.mon.GLB": "AERmon.wetbc", + "aerosol.wetdust.tavg-u-hxy-u.mon.GLB": "AERmon.wetdust", + "aerosol.wetoa.tavg-u-hxy-u.mon.GLB": "AERmon.wetoa", + "aerosol.wetso2.tavg-u-hxy-u.mon.GLB": "AERmon.wetso2", + "aerosol.wetso4.tavg-u-hxy-u.mon.GLB": "AERmon.wetso4", + "aerosol.wetss.tavg-u-hxy-u.mon.GLB": "AERmon.wetss", + "aerosol.zg.tavg-10hPa-hxy-air.day.GLB": "AERday.zg10", + "atmos.albisccp.tavg-u-hxy-cl.day.GLB": "CFday.albisccp", + "atmos.albisccp.tavg-u-hxy-cl.mon.30S-90S": "CFmon.albisccpSouth30", + "atmos.albisccp.tavg-u-hxy-cl.mon.GLB": "CFmon.albisccp", + "atmos.aod550volso4.tavg-u-hxy-u.mon.GLB": "Amon.aod550volso4", + "atmos.areacella.ti-u-hxy-u.fx.GLB": "fx.areacella", + "atmos.bldep.tavg-u-hxy-u.1hr.GLB": "E1hr.bldep", + "atmos.bldep.tavg-u-hxy-u.mon.GLB": "AERmon.bldep", + "atmos.bldep.tmax-u-hxy-u.day.GLB": "AERday.maxpblz", + "atmos.bldep.tmin-u-hxy-u.day.GLB": "AERday.minpblz", + "atmos.bldep.tpt-u-hxy-u.3hr.GLB": "3hrPt.bldep", + "atmos.ccb.tavg-u-hxy-ccl.day.GLB": "CFday.ccb", + "atmos.ccb.tavg-u-hxy-ccl.mon.GLB": "Amon.ccb", + "atmos.ccb.tpt-u-hs-u.subhr.GLB": "CFsubhr.ccb", + "atmos.cct.tavg-u-hxy-ccl.day.GLB": "CFday.cct", + "atmos.cct.tavg-u-hxy-ccl.mon.GLB": "Amon.cct", + "atmos.cct.tpt-u-hs-u.subhr.GLB": "CFsubhr.cct", + "atmos.cfadDbze94.tavg-h40-hxy-air.mon.GLB": "Emon.cfadDbze94", + "atmos.cfadLidarsr532.tavg-h40-hxy-air.mon.GLB": "Emon.cfadLidarsr532", + "atmos.ci.tavg-u-hxy-u.mon.GLB": "Amon.ci", + "atmos.ci.tpt-u-hs-u.subhr.GLB": "CFsubhr.ci", + "atmos.cl.tavg-al-hxy-u.day.GLB": "CFday.cl", + "atmos.cl.tavg-al-hxy-u.mon.30S-90S": "Amon.clSouth30", + "atmos.cl.tavg-al-hxy-u.mon.GLB": "Amon.cl", + "atmos.cl.tpt-al-hs-u.subhr.GLB": "CFsubhr.cl", + "atmos.clc.tavg-al-hxy-u.mon.30S-90S": "CFmon.clcSouth30", + "atmos.clc.tavg-al-hxy-u.mon.GLB": "CFmon.clc", + "atmos.clcalipso.tavg-220hPa-hxy-air.day.GLB": "CFday.clhcalipso", + "atmos.clcalipso.tavg-220hPa-hxy-air.mon.30S-90S": "CFmon.clhcalipsoSouth30", + "atmos.clcalipso.tavg-220hPa-hxy-air.mon.GLB": "CFmon.clhcalipso", + "atmos.clcalipso.tavg-560hPa-hxy-air.day.GLB": "CFday.clmcalipso", + "atmos.clcalipso.tavg-560hPa-hxy-air.mon.30S-90S": "CFmon.clmcalipsoSouth30", + "atmos.clcalipso.tavg-560hPa-hxy-air.mon.GLB": "CFmon.clmcalipso", + "atmos.clcalipso.tavg-840hPa-hxy-air.day.GLB": "CFday.cllcalipso", + "atmos.clcalipso.tavg-840hPa-hxy-air.mon.30S-90S": "CFmon.cllcalipsoSouth30", + "atmos.clcalipso.tavg-840hPa-hxy-air.mon.GLB": "CFmon.cllcalipso", + "atmos.clcalipso.tavg-h40-hxy-air.day.GLB": "CFday.clcalipso", + "atmos.clcalipso.tavg-h40-hxy-air.mon.30S-90S": "CFmon.clcalipsoSouth30", + "atmos.clcalipso.tavg-h40-hxy-air.mon.GLB": "CFmon.clcalipso", + "atmos.clcalipsoice.tavg-h40-hxy-air.mon.GLB": "Emon.clcalipsoice", + "atmos.clcalipsoliq.tavg-h40-hxy-air.mon.GLB": "Emon.clcalipsoliq", + "atmos.cldnci.tavg-u-hxy-cl.day.GLB": "Eday.cldnci", + "atmos.cldnci.tavg-u-hxy-cl.mon.GLB": "Emon.cldnci", + "atmos.cldncl.tavg-u-hxy-cl.mon.GLB": "Emon.cldncl", + "atmos.cldnvi.tavg-u-hxy-u.day.GLB": "Eday.cldnvi", + "atmos.cldnvi.tavg-u-hxy-u.mon.GLB": "Emon.cldnvi", + "atmos.cli.tavg-al-hxy-u.day.GLB": "CFday.cli", + "atmos.cli.tavg-al-hxy-u.mon.30S-90S": "Amon.cliSouth30", + "atmos.cli.tavg-al-hxy-u.mon.GLB": "Amon.cli", + "atmos.cli.tpt-al-hs-u.subhr.GLB": "CFsubhr.cli", + "atmos.clic.tavg-al-hxy-u.mon.30S-90S": "CFmon.clicSouth30", + "atmos.clic.tavg-al-hxy-u.mon.GLB": "CFmon.clic", + "atmos.clic.tpt-al-hxy-u.3hr.GLB": "CF3hr.clic", + "atmos.climodis.tavg-u-hxy-u.mon.GLB": "Emon.climodis", + "atmos.clis.tavg-al-hxy-u.mon.30S-90S": "CFmon.clisSouth30", + "atmos.clis.tavg-al-hxy-u.mon.GLB": "CFmon.clis", + "atmos.clis.tpt-al-hxy-u.3hr.GLB": "CF3hr.clis", + "atmos.clisccp.tavg-p7c-hxy-air.day.GLB": "CFday.clisccp", + "atmos.clisccp.tavg-p7c-hxy-air.mon.30S-90S": "CFmon.clisccpSouth30", + "atmos.clisccp.tavg-p7c-hxy-air.mon.GLB": "CFmon.clisccp", + "atmos.clivi.tavg-u-hxy-u.3hr.GLB": "E3hr.clivi", + "atmos.clivi.tavg-u-hxy-u.day.GLB": "CFday.clivi", + "atmos.clivi.tavg-u-hxy-u.mon.30S-90S": "Amon.cliviSouth30", + "atmos.clivi.tavg-u-hxy-u.mon.GLB": "Amon.clivi", + "atmos.clivi.tpt-u-hs-u.subhr.GLB": "CFsubhr.clivi", + "atmos.clivi.tpt-u-hxy-u.3hr.GLB": "CF3hr.clivi", + "atmos.clivic.tavg-u-hxy-u.day.GLB": "Eday.clivic", + "atmos.clivimodis.tavg-u-hxy-u.mon.30S-90S": "CFmon.clivimodisSouth30", + "atmos.clivimodis.tavg-u-hxy-u.mon.GLB": "CFmon.clivimodis", + "atmos.clmisr.tavg-h16-hxy-air.mon.GLB": "Emon.clmisr", + "atmos.clmodis.tavg-p7c-hxy-air.mon.30S-90S": "CFmon.clmodisSouth30", + "atmos.clmodis.tavg-p7c-hxy-air.mon.GLB": "CFmon.clmodis", + "atmos.clmodisice.tavg-p7c-hxy-air.mon.30S-90S": "CFmon.clmodisiceSouth30", + "atmos.clmodisice.tavg-p7c-hxy-air.mon.GLB": "CFmon.clmodisice", + "atmos.clmodisiceReff.tavg-u-hxy-u.mon.GLB": "CFmon.clmodisiceReff", + "atmos.clmodisliquid.tavg-p7c-hxy-air.mon.30S-90S": "CFmon.clmodisliquidSouth30", + "atmos.clmodisliquid.tavg-p7c-hxy-air.mon.GLB": "CFmon.clmodisliquid", + "atmos.clmodisliquidReff.tavg-u-hxy-u.mon.GLB": "CFmon.clmodisliquidReff", + "atmos.cls.tavg-al-hxy-u.mon.30S-90S": "CFmon.clsSouth30", + "atmos.cls.tavg-al-hxy-u.mon.GLB": "CFmon.cls", + "atmos.clt.tavg-u-hxy-lnd.day.GLB": "Eday.clt", + "atmos.clt.tavg-u-hxy-u.1hr.30S-90S": "E1hr.clt", + "atmos.clt.tavg-u-hxy-u.3hr.GLB": "3hr.clt", + "atmos.clt.tavg-u-hxy-u.day.GLB": "day.clt", + "atmos.clt.tavg-u-hxy-u.mon.30S-90S": "Amon.cltSouth30", + "atmos.clt.tavg-u-hxy-u.mon.GLB": "Amon.clt", + "atmos.clt.tpt-u-hs-u.subhr.GLB": "CFsubhr.clt", + "atmos.clt.tpt-u-hxy-u.3hr.GLB": "CF3hr.clt", + "atmos.cltc.tavg-u-hxy-u.mon.GLB": "AERmon.cltc", + "atmos.cltcalipso.tavg-u-hxy-u.day.GLB": "CFday.cltcalipso", + "atmos.cltcalipso.tavg-u-hxy-u.mon.30S-90S": "CFmon.cltcalipsoSouth30", + "atmos.cltcalipso.tavg-u-hxy-u.mon.GLB": "CFmon.cltcalipso", + "atmos.cltcalipso.tpt-u-hxy-u.3hr.GLB": "E3hrPt.cltcalipso", + "atmos.cltisccp.tavg-u-hxy-u.day.GLB": "CFday.cltisccp", + "atmos.cltisccp.tavg-u-hxy-u.mon.30S-90S": "CFmon.cltisccpSouth30", + "atmos.cltisccp.tavg-u-hxy-u.mon.GLB": "CFmon.cltisccp", + "atmos.cltmodis.tavg-u-hxy-u.mon.30S-90S": "CFmon.cltmodisSouth30", + "atmos.cltmodis.tavg-u-hxy-u.mon.GLB": "Emon.cltmodis", + "atmos.clw.tavg-al-hxy-u.day.GLB": "CFday.clw", + "atmos.clw.tavg-al-hxy-u.mon.30S-90S": "Amon.clwSouth30", + "atmos.clw.tavg-al-hxy-u.mon.GLB": "Amon.clw", + "atmos.clw.tpt-al-hs-u.subhr.GLB": "CFsubhr.clw", + "atmos.clwc.tavg-al-hxy-u.mon.30S-90S": "CFmon.clwcSouth30", + "atmos.clwc.tavg-al-hxy-u.mon.GLB": "CFmon.clwc", + "atmos.clwc.tpt-al-hxy-u.3hr.GLB": "CF3hr.clwc", + "atmos.clwmodis.tavg-u-hxy-u.mon.GLB": "Emon.clwmodis", + "atmos.clws.tavg-al-hxy-u.mon.30S-90S": "CFmon.clwsSouth30", + "atmos.clws.tavg-al-hxy-u.mon.GLB": "CFmon.clws", + "atmos.clws.tpt-al-hxy-u.3hr.GLB": "CF3hr.clws", + "atmos.clwvi.tavg-u-hxy-u.3hr.GLB": "E3hr.clwvi", + "atmos.clwvi.tavg-u-hxy-u.day.GLB": "CFday.clwvi", + "atmos.clwvi.tavg-u-hxy-u.mon.30S-90S": "Amon.clwviSouth30", + "atmos.clwvi.tavg-u-hxy-u.mon.GLB": "Amon.clwvi", + "atmos.clwvi.tpt-u-hs-u.subhr.GLB": "CFsubhr.clwvi", + "atmos.clwvi.tpt-u-hxy-u.3hr.GLB": "CF3hr.clwvi", + "atmos.clwvic.tavg-u-hxy-u.day.GLB": "Eday.clwvic", + "atmos.clwvimodis.tavg-u-hxy-u.mon.30S-90S": "CFmon.clwvimodisSouth30", + "atmos.clwvimodis.tavg-u-hxy-u.mon.GLB": "CFmon.clwvimodis", + "atmos.co2.tavg-al-hxy-u.mon.GLB": "AERmon.co2", + "atmos.co2.tavg-h2m-hxy-u.mon.GLB": "Emon.co2s", + "atmos.co2.tavg-p19-hxy-air.mon.GLB": "Amon.co2", + "atmos.co2.tclm-p19-hxy-air.mon.GLB": "Amon.co2Clim", + "atmos.co2.tclm-u-hm-u.mon.GLB": "Amon.co2massClim", + "atmos.co23D.tavg-al-hxy-u.mon.GLB": "Emon.co23D", + "atmos.co2mass.tavg-u-hm-u.mon.GLB": "Amon.co2mass", + "atmos.dmc.tavg-alh-hxy-u.mon.30S-90S": "CFmon.dmcSouth30", + "atmos.dmc.tavg-alh-hxy-u.mon.GLB": "CFmon.dmc", + "atmos.dtauc.tpt-al-hxy-ccl.3hr.GLB": "CF3hr.dtauc", + "atmos.dtaus.tpt-al-hxy-scl.3hr.GLB": "CF3hr.dtaus", + "atmos.edt.tavg-al-hxy-u.mon.30S-90S": "CFmon.edtSouth30", + "atmos.edt.tavg-al-hxy-u.mon.GLB": "CFmon.edt", + "atmos.edt.tpt-al-hs-u.subhr.GLB": "CFsubhr.edt", + "atmos.epfy.tavg-p39-hy-air.day.GLB": "EdayZ.epfy", + "atmos.epfy.tavg-p39-hy-air.mon.GLB": "EmonZ.epfy", + "atmos.epfz.tavg-p39-hy-air.day.GLB": "EdayZ.epfz", + "atmos.epfz.tavg-p39-hy-air.mon.GLB": "EmonZ.epfz", + "atmos.evspsbl.tavg-u-hxy-lnd.day.GLB": "Eday.evspsbl", + "atmos.evspsbl.tavg-u-hxy-u.mon.GLB": "Amon.evspsbl", + "atmos.evspsbl.tpt-u-hs-u.subhr.GLB": "CFsubhr.evspsbl", + "atmos.evu.tavg-al-hxy-u.mon.30S-90S": "CFmon.evuSouth30", + "atmos.evu.tavg-al-hxy-u.mon.GLB": "CFmon.evu", + "atmos.evu.tpt-al-hs-u.subhr.GLB": "CFsubhr.evu", + "atmos.fco2antt.tavg-u-hxy-u.mon.GLB": "Amon.fco2antt", + "atmos.fco2antt.tpt-u-hs-u.subhr.GLB": "CFsubhr.fco2antt", + "atmos.fco2fos.tavg-u-hxy-u.mon.GLB": "Amon.fco2fos", + "atmos.fco2fos.tpt-u-hs-u.subhr.GLB": "CFsubhr.fco2fos", + "atmos.fco2nat.tavg-u-hxy-u.mon.GLB": "Amon.fco2nat", + "atmos.fco2nat.tpt-u-hs-u.subhr.GLB": "CFsubhr.fco2nat", + "atmos.hfdsnb.tavg-u-hxy-lnd.day.GLB": "Eday.hfdsnb", + "atmos.hfls.tavg-u-hxy-is.mon.ATA": "ImonAnt.hfls", + "atmos.hfls.tavg-u-hxy-is.mon.GRL": "ImonGre.hfls", + "atmos.hfls.tavg-u-hxy-u.1hr.GLB": "E1hr.hfls", + "atmos.hfls.tavg-u-hxy-u.3hr.GLB": "3hr.hfls", + "atmos.hfls.tavg-u-hxy-u.day.GLB": "day.hfls", + "atmos.hfls.tavg-u-hxy-u.mon.30S-90S": "Amon.hflsSouth30", + "atmos.hfls.tavg-u-hxy-u.mon.GLB": "Amon.hfls", + "atmos.hfls.tpt-u-hs-u.subhr.GLB": "CFsubhr.hfls", + "atmos.hfss.tavg-u-hxy-is.mon.ATA": "ImonAnt.hfss", + "atmos.hfss.tavg-u-hxy-is.mon.GRL": "ImonGre.hfss", + "atmos.hfss.tavg-u-hxy-u.1hr.GLB": "E1hr.hfss", + "atmos.hfss.tavg-u-hxy-u.3hr.GLB": "3hr.hfss", + "atmos.hfss.tavg-u-hxy-u.day.GLB": "day.hfss", + "atmos.hfss.tavg-u-hxy-u.mon.30S-90S": "Amon.hfssSouth30", + "atmos.hfss.tavg-u-hxy-u.mon.GLB": "Amon.hfss", + "atmos.hfss.tpt-u-hs-u.subhr.GLB": "CFsubhr.hfss", + "atmos.hur.tavg-700hPa-hxy-air.day.GLB": "CFday.hur700", + "atmos.hur.tavg-al-hxy-u.day.GLB": "CFday.hur", + "atmos.hur.tavg-al-hxy-u.mon.30S-90S": "CFmon.hurSouth30", + "atmos.hur.tavg-al-hxy-u.mon.GLB": "CFmon.hur", + "atmos.hur.tavg-p19-hxy-air.mon.30S-90S": "Amon.hurSouth30", + "atmos.hur.tavg-p19-hxy-air.mon.GLB": "Amon.hur", + "atmos.hur.tavg-p19-hxy-u.day.GLB": "day.hur", + "atmos.hur.tpt-100hPa-hxy-u.6hr.GLB": "6hrPlevPt.hur100", + "atmos.hur.tpt-500hPa-hxy-air.6hr.GLB": "6hrPlevPt.hur500", + "atmos.hur.tpt-850hPa-hxy-air.6hr.GLB": "6hrPlevPt.hur850", + "atmos.hur.tpt-al-hs-u.subhr.GLB": "CFsubhr.hur", + "atmos.hurs.tavg-h2m-hxy-u.1hr.30S-90S": "E1hr.hursSouth30", + "atmos.hurs.tavg-h2m-hxy-u.1hr.GLB": "E1hr.hurs", + "atmos.hurs.tavg-h2m-hxy-u.6hr.GLB": "6hrPlev.hurs", + "atmos.hurs.tavg-h2m-hxy-u.day.GLB": "day.hurs", + "atmos.hurs.tavg-h2m-hxy-u.mon.30S-90S": "Amon.hursSouth30", + "atmos.hurs.tavg-h2m-hxy-u.mon.GLB": "Amon.hurs", + "atmos.hurs.tmax-h2m-hxy-u.day.GLB": "day.hursmax", + "atmos.hurs.tmin-h2m-hxy-crp.day.GLB": "Eday.hursminCrop", + "atmos.hurs.tmin-h2m-hxy-u.day.GLB": "day.hursmin", + "atmos.hurs.tpt-h2m-hs-u.subhr.GLB": "CFsubhr.hurs", + "atmos.hurs.tpt-h2m-hxy-u.3hr.GLB": "CF3hr.hurs", + "atmos.hus.tavg-al-hxy-u.day.GLB": "CFday.hus", + "atmos.hus.tavg-al-hxy-u.mon.30S-90S": "CFmon.husSouth30", + "atmos.hus.tavg-al-hxy-u.mon.GLB": "CFmon.hus", + "atmos.hus.tavg-p19-hxy-u.day.GLB": "day.hus", + "atmos.hus.tavg-p19-hxy-u.mon.30S-90S": "Amon.husSouth30", + "atmos.hus.tavg-p19-hxy-u.mon.GLB": "Amon.hus", + "atmos.hus.tpt-al-hs-u.subhr.GLB": "CFsubhr.hus", + "atmos.hus.tpt-al-hxy-u.3hr.GLB": "E3hrPt.hus", + "atmos.hus.tpt-al-hxy-u.6hr.GLB": "6hrLev.hus", + "atmos.hus.tpt-p6-hxy-air.3hr.GLB": "E3hrPt.hus6", + "atmos.hus.tpt-p7h-hxy-air.6hr.GLB": "6hrPlevPt.hus7h", + "atmos.huss.tavg-h2m-hxy-u.6hr.GLB": "6hrPlev.huss", + "atmos.huss.tavg-h2m-hxy-u.day.GLB": "day.huss", + "atmos.huss.tavg-h2m-hxy-u.mon.30S-90S": "Amon.hussSouth30", + "atmos.huss.tavg-h2m-hxy-u.mon.GLB": "Amon.huss", + "atmos.huss.tpt-h2m-hs-u.subhr.GLB": "CFsubhr.huss", + "atmos.huss.tpt-h2m-hxy-u.1hr.GLB": "E1hr.huss", + "atmos.huss.tpt-h2m-hxy-u.3hr.GLB": "3hr.huss", + "atmos.intuadse.tavg-u-hxy-u.day.GLB": "Eday.intuadse", + "atmos.intuadse.tavg-u-hxy-u.mon.GLB": "Emon.intuadse", + "atmos.intuaw.tavg-u-hxy-u.day.GLB": "Eday.intuaw", + "atmos.intuaw.tavg-u-hxy-u.mon.GLB": "Emon.intuaw", + "atmos.intuaw.tpt-u-hxy-u.6hr.GLB": "6hrPlevPt.intuaw", + "atmos.intvadse.tavg-u-hxy-u.day.GLB": "Eday.intvadse", + "atmos.intvadse.tavg-u-hxy-u.mon.GLB": "Emon.intvadse", + "atmos.intvaw.tavg-u-hxy-u.day.GLB": "Eday.intvaw", + "atmos.intvaw.tavg-u-hxy-u.mon.GLB": "Emon.intvaw", + "atmos.intvaw.tpt-u-hxy-u.6hr.GLB": "6hrPlevPt.intvaw", + "atmos.jpdftaureicemodis.tavg-u-hxy-u.day.GLB": "Eday.jpdftaureicemodis", + "atmos.jpdftaureicemodis.tavg-u-hxy-u.mon.GLB": "Emon.jpdftaureicemodis", + "atmos.jpdftaureliqmodis.tavg-u-hxy-u.day.GLB": "Eday.jpdftaureliqmodis", + "atmos.jpdftaureliqmodis.tavg-u-hxy-u.mon.GLB": "Emon.jpdftaureliqmodis", + "atmos.lat.ti-u-hs-u.fx.GLB": "fx.lat", + "atmos.loadbc.tavg-u-hxy-u.day.GLB": "Eday.loadbc", + "atmos.loaddust.tavg-u-hxy-u.day.GLB": "Eday.loaddust", + "atmos.loadnh4.tavg-u-hxy-u.day.GLB": "Eday.loadnh4", + "atmos.loadno3.tavg-u-hxy-u.day.GLB": "Eday.loadno3", + "atmos.loadoa.tavg-u-hxy-u.day.GLB": "Eday.loadoa", + "atmos.loadpoa.tavg-u-hxy-u.day.GLB": "Eday.loadpoa", + "atmos.loadso4.tavg-u-hxy-u.day.GLB": "Eday.loadso4", + "atmos.loadso4.tavg-u-hxy-u.mon.GLB": "Emon.loadso4", + "atmos.loadsoa.tavg-u-hxy-u.day.GLB": "Eday.loadsoa", + "atmos.loadss.tavg-u-hxy-u.day.GLB": "Eday.loadss", + "atmos.lon.ti-u-hs-u.fx.GLB": "fx.lon", + "atmos.mc.tavg-alh-hxy-u.day.GLB": "CFday.mc", + "atmos.mc.tavg-alh-hxy-u.mon.GLB": "Amon.mc", + "atmos.mc.tpt-alh-hs-u.subhr.GLB": "CFsubhr.mc", + "atmos.mcd.tavg-alh-hxy-u.mon.30S-90S": "CFmon.mcdSouth30", + "atmos.mcd.tavg-alh-hxy-u.mon.GLB": "CFmon.mcd", + "atmos.mcu.tavg-alh-hxy-u.mon.30S-90S": "CFmon.mcuSouth30", + "atmos.mcu.tavg-alh-hxy-u.mon.GLB": "CFmon.mcu", + "atmos.noaahi2m.tavg-h2m-hxy-u.day.GLB": "day.noaahi2m", + "atmos.noaahi2m.tmax-h2m-hxy-u.day.GLB": "day.noaahi2mmax", + "atmos.parasolRefl.tavg-u-hxy-sea.day.GLB": "Eday.parasolRefl", + "atmos.parasolRefl.tavg-u-hxy-sea.mon.GLB": "Emon.parasolRefl", + "atmos.pctisccp.tavg-u-hxy-cl.day.GLB": "CFday.pctisccp", + "atmos.pctisccp.tavg-u-hxy-cl.mon.30S-90S": "CFmon.pctisccpSouth30", + "atmos.pctisccp.tavg-u-hxy-cl.mon.GLB": "CFmon.pctisccp", + "atmos.pfull.tavg-al-hxy-u.day.GLB": "CFday.pfull", + "atmos.pfull.tavg-al-hxy-u.mon.GLB": "AERmon.pfull", + "atmos.pfull.tclm-al-hxy-u.mon.30S-90S": "Amon.pfullSouth30", + "atmos.pfull.tclm-al-hxy-u.mon.GLB": "Amon.pfull", + "atmos.pfull.tpt-al-hs-u.subhr.GLB": "CFsubhr.pfull", + "atmos.pfull.tpt-al-hxy-u.3hr.GLB": "CF3hr.pfull", + "atmos.phalf.tavg-alh-hxy-u.day.GLB": "CFday.phalf", + "atmos.phalf.tavg-alh-hxy-u.mon.GLB": "AERmon.phalf", + "atmos.phalf.tclm-alh-hxy-u.mon.GLB": "Amon.phalf", + "atmos.phalf.tpt-alh-hs-u.subhr.GLB": "CFsubhr.phalf", + "atmos.pr.tavg-u-hxy-crp.day.GLB": "Eday.prCrop", + "atmos.pr.tavg-u-hxy-u.1hr.30S-90S": "E1hr.prSouth30", + "atmos.pr.tavg-u-hxy-u.1hr.GLB": "E1hr.pr", + "atmos.pr.tavg-u-hxy-u.3hr.GLB": "3hr.pr", + "atmos.pr.tavg-u-hxy-u.6hr.GLB": "6hrPlev.pr", + "atmos.pr.tavg-u-hxy-u.day.GLB": "day.pr", + "atmos.pr.tavg-u-hxy-u.mon.30S-90S": "Amon.prSouth30", + "atmos.pr.tavg-u-hxy-u.mon.GLB": "Amon.pr", + "atmos.pr.tmax-u-hxy-u.6hr.GLB": "6hrPlev.prhmax", + "atmos.pr.tmax-u-hxy-u.day.GLB": "Eday.prhmax", + "atmos.pr.tmax-u-hxy-u.mon.GLB": "Emon.prhmax", + "atmos.pr.tpt-u-hs-u.subhr.GLB": "CFsubhr.pr", + "atmos.pr.tpt-u-hxy-u.3hr.GLB": "CF3hr.pr", + "atmos.pr.tpt-u-hxy-u.6hr.GLB": "6hrPlevPt.pr", + "atmos.pr17O.tavg-u-hxy-u.mon.GLB": "Emon.pr17O", + "atmos.pr18O.tavg-u-hxy-u.mon.GLB": "Emon.pr18O", + "atmos.pr2h.tavg-u-hxy-u.mon.GLB": "Emon.pr2h", + "atmos.prc.tavg-u-hxy-u.day.GLB": "day.prc", + "atmos.prc.tavg-u-hxy-u.mon.30S-90S": "Amon.prcSouth30", + "atmos.prc.tavg-u-hxy-u.mon.GLB": "Amon.prc", + "atmos.prc.tpt-u-hs-u.subhr.GLB": "CFsubhr.prc", + "atmos.prra.tavg-u-hxy-is.mon.ATA": "ImonAnt.prra", + "atmos.prra.tavg-u-hxy-is.mon.GRL": "ImonGre.prra", + "atmos.prra.tavg-u-hxy-lnd.day.GLB": "Eday.prra", + "atmos.prra.tavg-u-hxy-u.6hr.GLB": "6hrPlev.prra", + "atmos.prra.tavg-u-hxy-u.mon.30S-90S": "Amon.prraSouth30", + "atmos.prra.tavg-u-hxy-u.mon.GLB": "Amon.prra", + "atmos.prrsn.tavg-u-hxy-lnd.day.GLB": "Eday.prrsn", + "atmos.prsn.tavg-u-hxy-is.mon.ATA": "ImonAnt.prsn", + "atmos.prsn.tavg-u-hxy-is.mon.GRL": "ImonGre.prsn", + "atmos.prsn.tavg-u-hxy-u.3hr.GLB": "3hr.prsn", + "atmos.prsn.tavg-u-hxy-u.6hr.GLB": "6hrPlev.prsn", + "atmos.prsn.tavg-u-hxy-u.day.GLB": "day.prsn", + "atmos.prsn.tavg-u-hxy-u.mon.30S-90S": "Amon.prsnSouth30", + "atmos.prsn.tavg-u-hxy-u.mon.GLB": "Amon.prsn", + "atmos.prsn.tpt-u-hs-u.subhr.GLB": "CFsubhr.prsn", + "atmos.prsn18O.tavg-u-hxy-u.mon.GLB": "Emon.prsn18O", + "atmos.prsn2h.tavg-u-hxy-u.mon.GLB": "Emon.prsn2h", + "atmos.prsnc.tavg-u-hxy-lnd.day.GLB": "Eday.prsnc", + "atmos.prsnsn.tavg-u-hxy-lnd.day.GLB": "Eday.prsnsn", + "atmos.prw.tavg-u-hxy-u.3hr.GLB": "E3hr.prw", + "atmos.prw.tavg-u-hxy-u.day.GLB": "Eday.prw", + "atmos.prw.tavg-u-hxy-u.mon.30S-90S": "Amon.prwSouth30", + "atmos.prw.tavg-u-hxy-u.mon.GLB": "Amon.prw", + "atmos.prw.tpt-u-hs-u.subhr.GLB": "CFsubhr.prw", + "atmos.prw.tpt-u-hxy-u.3hr.GLB": "CF3hr.prw", + "atmos.prw.tpt-u-hxy-u.6hr.GLB": "6hrPlevPt.prw", + "atmos.ps.tavg-u-hxy-u.1hr.GLB": "AERhr.ps", + "atmos.ps.tavg-u-hxy-u.6hr.GLB": "6hrPlev.ps", + "atmos.ps.tavg-u-hxy-u.day.GLB": "CFday.ps", + "atmos.ps.tavg-u-hxy-u.mon.30S-90S": "Amon.psSouth30", + "atmos.ps.tavg-u-hxy-u.mon.GLB": "Amon.ps", + "atmos.ps.tpt-u-hs-u.subhr.GLB": "CFsubhr.ps", + "atmos.ps.tpt-u-hxy-u.1hr.30S-90S": "E1hr.psSouth30", + "atmos.ps.tpt-u-hxy-u.1hr.GLB": "E1hr.ps", + "atmos.ps.tpt-u-hxy-u.3hr.GLB": "3hr.ps", + "atmos.ps.tpt-u-hxy-u.6hr.GLB": "6hrLev.ps", + "atmos.psitem.tavg-p39-hy-air.day.GLB": "EdayZ.psitem", + "atmos.psl.tavg-u-hxy-u.6hr.GLB": "6hrPlev.psl", + "atmos.psl.tavg-u-hxy-u.day.GLB": "day.psl", + "atmos.psl.tavg-u-hxy-u.mon.30S-90S": "Amon.pslSouth30", + "atmos.psl.tavg-u-hxy-u.mon.GLB": "Amon.psl", + "atmos.psl.tpt-u-hs-u.subhr.GLB": "CFsubhr.psl", + "atmos.psl.tpt-u-hxy-u.1hr.GLB": "E1hr.psl", + "atmos.psl.tpt-u-hxy-u.6hr.GLB": "6hrPlevPt.psl", + "atmos.ptp.tavg-u-hxy-u.mon.GLB": "AERmon.ptp", + "atmos.reffcclwtop.tavg-u-hxy-ccl.day.GLB": "Eday.reffcclwtop", + "atmos.reffcclwtop.tavg-u-hxy-ccl.mon.GLB": "Emon.reffcclwtop", + "atmos.reffclic.tavg-al-hxy-ccl.mon.30S-90S": "Emon.reffclicSouth30", + "atmos.reffclic.tavg-al-hxy-ccl.mon.GLB": "Emon.reffclic", + "atmos.reffclic.tpt-al-hs-ccl.subhr.GLB": "Esubhr.reffclic", + "atmos.reffclic.tpt-al-hxy-ccl.3hr.GLB": "CF3hr.reffclic", + "atmos.reffclis.tavg-al-hxy-scl.mon.30S-90S": "Emon.reffclisSouth30", + "atmos.reffclis.tavg-al-hxy-scl.mon.GLB": "Emon.reffclis", + "atmos.reffclis.tpt-al-hs-scl.subhr.GLB": "Esubhr.reffclis", + "atmos.reffclis.tpt-al-hxy-scl.3hr.GLB": "CF3hr.reffclis", + "atmos.reffclwc.tavg-al-hxy-ccl.mon.30S-90S": "Emon.reffclwcSouth30", + "atmos.reffclwc.tavg-al-hxy-ccl.mon.GLB": "Emon.reffclwc", + "atmos.reffclwc.tpt-al-hs-ccl.subhr.GLB": "Esubhr.reffclwc", + "atmos.reffclwc.tpt-al-hxy-ccl.3hr.GLB": "CF3hr.reffclwc", + "atmos.reffclws.tavg-al-hxy-scl.mon.30S-90S": "Emon.reffclwsSouth30", + "atmos.reffclws.tavg-al-hxy-scl.mon.GLB": "Emon.reffclws", + "atmos.reffclws.tpt-al-hs-scl.subhr.GLB": "Esubhr.reffclws", + "atmos.reffclws.tpt-al-hxy-scl.3hr.GLB": "CF3hr.reffclws", + "atmos.reffsclwtop.tavg-u-hxy-scl.day.GLB": "Eday.reffsclwtop", + "atmos.reffsclwtop.tavg-u-hxy-scl.mon.GLB": "Emon.reffsclwtop", + "atmos.rld.tavg-alh-hxy-u.mon.GLB": "CFmon.rld", + "atmos.rld.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rld", + "atmos.rld4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rld4co2", + "atmos.rldcs.tavg-alh-hxy-u.mon.GLB": "CFmon.rldcs", + "atmos.rldcs.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rldcs", + "atmos.rldcs4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rldcs4co2", + "atmos.rlds.tavg-u-hxy-is.mon.ATA": "ImonAnt.rlds", + "atmos.rlds.tavg-u-hxy-is.mon.GRL": "ImonGre.rlds", + "atmos.rlds.tavg-u-hxy-u.1hr.30S-90S": "E1hr.rldsSouth30", + "atmos.rlds.tavg-u-hxy-u.1hr.GLB": "E1hr.rlds", + "atmos.rlds.tavg-u-hxy-u.3hr.GLB": "3hr.rlds", + "atmos.rlds.tavg-u-hxy-u.6hr.GLB": "6hrPlev.rlds", + "atmos.rlds.tavg-u-hxy-u.day.GLB": "day.rlds", + "atmos.rlds.tavg-u-hxy-u.mon.30S-90S": "Amon.rldsSouth30", + "atmos.rlds.tavg-u-hxy-u.mon.GLB": "Amon.rlds", + "atmos.rlds.tpt-u-hs-u.subhr.GLB": "CFsubhr.rlds", + "atmos.rlds.tpt-u-hxy-u.3hr.GLB": "CF3hr.rlds", + "atmos.rldscs.tavg-u-hxy-u.day.GLB": "CFday.rldscs", + "atmos.rldscs.tavg-u-hxy-u.mon.30S-90S": "Amon.rldscsSouth30", + "atmos.rldscs.tavg-u-hxy-u.mon.GLB": "Amon.rldscs", + "atmos.rldscs.tpt-u-hs-u.subhr.GLB": "CFsubhr.rldscs", + "atmos.rldscs.tpt-u-hxy-u.3hr.GLB": "CF3hr.rldscs", + "atmos.rls.tavg-u-hxy-u.day.GLB": "day.rls", + "atmos.rls.tavg-u-hxy-u.mon.GLB": "Emon.rls", + "atmos.rlu.tavg-alh-hxy-u.mon.GLB": "CFmon.rlu", + "atmos.rlu.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rlu", + "atmos.rlu4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rlu4co2", + "atmos.rlucs.tavg-alh-hxy-u.mon.GLB": "CFmon.rlucs", + "atmos.rlucs.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rlucs", + "atmos.rlucs4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rlucs4co2", + "atmos.rlus.tavg-u-hxy-is.mon.ATA": "ImonAnt.rlus", + "atmos.rlus.tavg-u-hxy-is.mon.GRL": "ImonGre.rlus", + "atmos.rlus.tavg-u-hxy-u.1hr.GLB": "E1hr.rlus", + "atmos.rlus.tavg-u-hxy-u.3hr.GLB": "3hr.rlus", + "atmos.rlus.tavg-u-hxy-u.day.GLB": "day.rlus", + "atmos.rlus.tavg-u-hxy-u.mon.30S-90S": "Amon.rlusSouth30", + "atmos.rlus.tavg-u-hxy-u.mon.GLB": "Amon.rlus", + "atmos.rlus.tpt-u-hs-u.subhr.GLB": "CFsubhr.rlus", + "atmos.rluscs.tavg-u-hxy-u.day.GLB": "day.rluscs", + "atmos.rluscs.tavg-u-hxy-u.mon.GLB": "Amon.rluscs", + "atmos.rlut.tavg-u-hxy-u.3hr.GLB": "E3hr.rlut", + "atmos.rlut.tavg-u-hxy-u.day.GLB": "day.rlut", + "atmos.rlut.tavg-u-hxy-u.mon.30S-90S": "Amon.rlutSouth30", + "atmos.rlut.tavg-u-hxy-u.mon.GLB": "Amon.rlut", + "atmos.rlut.tclmdc-u-hxy-u.1hr.GLB": "E1hrClimMon.rlut", + "atmos.rlut.tpt-u-hs-u.subhr.GLB": "CFsubhr.rlut", + "atmos.rlut.tpt-u-hxy-u.3hr.GLB": "CF3hr.rlut", + "atmos.rlut4co2.tavg-u-hxy-u.mon.GLB": "CFmon.rlut4co2", + "atmos.rlutcs.tavg-u-hxy-u.3hr.GLB": "E3hr.rlutcs", + "atmos.rlutcs.tavg-u-hxy-u.day.GLB": "CFday.rlutcs", + "atmos.rlutcs.tavg-u-hxy-u.mon.30S-90S": "Amon.rlutcsSouth30", + "atmos.rlutcs.tavg-u-hxy-u.mon.GLB": "Amon.rlutcs", + "atmos.rlutcs.tclmdc-u-hxy-u.1hr.GLB": "E1hrClimMon.rlutcs", + "atmos.rlutcs.tpt-u-hs-u.subhr.GLB": "CFsubhr.rlutcs", + "atmos.rlutcs.tpt-u-hxy-u.3hr.GLB": "CF3hr.rlutcs", + "atmos.rlutcs4co2.tavg-u-hxy-u.mon.GLB": "CFmon.rlutcs4co2", + "atmos.rsd.tavg-alh-hxy-u.mon.GLB": "CFmon.rsd", + "atmos.rsd.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rsd", + "atmos.rsd4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rsd4co2", + "atmos.rsdcs.tavg-alh-hxy-u.mon.GLB": "CFmon.rsdcs", + "atmos.rsdcs.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rsdcs", + "atmos.rsdcs4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rsdcs4co2", + "atmos.rsds.tavg-u-hxy-is.mon.ATA": "ImonAnt.rsds", + "atmos.rsds.tavg-u-hxy-is.mon.GRL": "ImonGre.rsds", + "atmos.rsds.tavg-u-hxy-u.1hr.30S-90S": "E1hr.rsdsSouth30", + "atmos.rsds.tavg-u-hxy-u.1hr.GLB": "E1hr.rsds", + "atmos.rsds.tavg-u-hxy-u.3hr.GLB": "3hr.rsds", + "atmos.rsds.tavg-u-hxy-u.6hr.GLB": "6hrPlev.rsds", + "atmos.rsds.tavg-u-hxy-u.day.GLB": "day.rsds", + "atmos.rsds.tavg-u-hxy-u.mon.30S-90S": "Amon.rsdsSouth30", + "atmos.rsds.tavg-u-hxy-u.mon.GLB": "Amon.rsds", + "atmos.rsds.tpt-u-hs-u.subhr.GLB": "CFsubhr.rsds", + "atmos.rsds.tpt-u-hxy-u.3hr.GLB": "CF3hr.rsds", + "atmos.rsdscs.tavg-u-hxy-u.day.GLB": "CFday.rsdscs", + "atmos.rsdscs.tavg-u-hxy-u.mon.30S-90S": "Amon.rsdscsSouth30", + "atmos.rsdscs.tavg-u-hxy-u.mon.GLB": "Amon.rsdscs", + "atmos.rsdscs.tpt-u-hs-u.subhr.GLB": "CFsubhr.rsdscs", + "atmos.rsdscs.tpt-u-hxy-u.3hr.GLB": "CF3hr.rsdscs", + "atmos.rsdscsdiff.tavg-u-hxy-u.day.GLB": "Eday.rsdscsdiff", + "atmos.rsdsdiff.tavg-u-hxy-u.1hr.GLB": "E1hr.rsdsdiff", + "atmos.rsdsdiff.tavg-u-hxy-u.day.GLB": "Eday.rsdsdiff", + "atmos.rsdt.tavg-u-hxy-u.day.GLB": "CFday.rsdt", + "atmos.rsdt.tavg-u-hxy-u.mon.30S-90S": "Amon.rsdtSouth30", + "atmos.rsdt.tavg-u-hxy-u.mon.GLB": "Amon.rsdt", + "atmos.rsdt.tclmdc-u-hxy-u.1hr.GLB": "E1hrClimMon.rsdt", + "atmos.rsdt.tpt-u-hs-u.subhr.GLB": "CFsubhr.rsdt", + "atmos.rss.tavg-u-hxy-u.day.GLB": "day.rss", + "atmos.rss.tavg-u-hxy-u.mon.GLB": "Emon.rss", + "atmos.rsu.tavg-alh-hxy-u.mon.GLB": "CFmon.rsu", + "atmos.rsu.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rsu", + "atmos.rsu4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rsu4co2", + "atmos.rsucs.tavg-alh-hxy-u.mon.GLB": "CFmon.rsucs", + "atmos.rsucs.tpt-alh-hs-u.subhr.GLB": "CFsubhr.rsucs", + "atmos.rsucs4co2.tavg-alh-hxy-u.mon.GLB": "CFmon.rsucs4co2", + "atmos.rsus.tavg-u-hxy-is.mon.ATA": "ImonAnt.rsus", + "atmos.rsus.tavg-u-hxy-is.mon.GRL": "ImonGre.rsus", + "atmos.rsus.tavg-u-hxy-u.1hr.GLB": "E1hr.rsus", + "atmos.rsus.tavg-u-hxy-u.3hr.GLB": "3hr.rsus", + "atmos.rsus.tavg-u-hxy-u.day.GLB": "day.rsus", + "atmos.rsus.tavg-u-hxy-u.mon.30S-90S": "Amon.rsusSouth30", + "atmos.rsus.tavg-u-hxy-u.mon.GLB": "Amon.rsus", + "atmos.rsus.tpt-u-hs-u.subhr.GLB": "CFsubhr.rsus", + "atmos.rsuscs.tavg-u-hxy-u.day.GLB": "CFday.rsuscs", + "atmos.rsuscs.tavg-u-hxy-u.mon.30S-90S": "Amon.rsuscsSouth30", + "atmos.rsuscs.tavg-u-hxy-u.mon.GLB": "Amon.rsuscs", + "atmos.rsuscs.tpt-u-hs-u.subhr.GLB": "CFsubhr.rsuscs", + "atmos.rsut.tavg-u-hxy-u.3hr.GLB": "E3hr.rsut", + "atmos.rsut.tavg-u-hxy-u.day.GLB": "CFday.rsut", + "atmos.rsut.tavg-u-hxy-u.mon.30S-90S": "Amon.rsutSouth30", + "atmos.rsut.tavg-u-hxy-u.mon.GLB": "Amon.rsut", + "atmos.rsut.tclmdc-u-hxy-u.1hr.GLB": "E1hrClimMon.rsut", + "atmos.rsut.tpt-u-hs-u.subhr.GLB": "CFsubhr.rsut", + "atmos.rsut.tpt-u-hxy-u.3hr.GLB": "CF3hr.rsut", + "atmos.rsut4co2.tavg-u-hxy-u.mon.GLB": "CFmon.rsut4co2", + "atmos.rsutcs.tavg-u-hxy-u.3hr.GLB": "E3hr.rsutcs", + "atmos.rsutcs.tavg-u-hxy-u.day.GLB": "CFday.rsutcs", + "atmos.rsutcs.tavg-u-hxy-u.mon.30S-90S": "Amon.rsutcsSouth30", + "atmos.rsutcs.tavg-u-hxy-u.mon.GLB": "Amon.rsutcs", + "atmos.rsutcs.tclmdc-u-hxy-u.1hr.GLB": "E1hrClimMon.rsutcs", + "atmos.rsutcs.tpt-u-hs-u.subhr.GLB": "CFsubhr.rsutcs", + "atmos.rsutcs.tpt-u-hxy-u.3hr.GLB": "CF3hr.rsutcs", + "atmos.rsutcs4co2.tavg-u-hxy-u.mon.GLB": "CFmon.rsutcs4co2", + "atmos.rtmt.tavg-u-hxy-u.mon.GLB": "Amon.rtmt", + "atmos.rtmt.tpt-u-hs-u.subhr.GLB": "CFsubhr.rtmt", + "atmos.rv850.tavg-850hPa-hxy-air.6hr.GLB": "6hrPlev.rv850", + "atmos.rv850.tpt-850hPa-hxy-air.6hr.GLB": "6hrPlevPt.rv850", + "atmos.sci.tavg-u-hxy-u.mon.GLB": "Amon.sci", + "atmos.sci.tpt-u-hs-u.subhr.GLB": "CFsubhr.sci", + "atmos.scldncl.tavg-u-hxy-scl.day.GLB": "Eday.scldncl", + "atmos.scldncl.tavg-u-hxy-scl.mon.GLB": "Emon.scldncl", + "atmos.sfcWind.tavg-h10m-hxy-u.1hr.30S-90S": "E1hr.sfcWindSouth30", + "atmos.sfcWind.tavg-h10m-hxy-u.1hr.GLB": "E1hr.sfcWind", + "atmos.sfcWind.tavg-h10m-hxy-u.3hr.GLB": "E3hr.sfcWind", + "atmos.sfcWind.tavg-h10m-hxy-u.6hr.GLB": "6hrPlev.sfcWind", + "atmos.sfcWind.tavg-h10m-hxy-u.day.GLB": "day.sfcWind", + "atmos.sfcWind.tavg-h10m-hxy-u.mon.30S-90S": "Amon.sfcWindSouth30", + "atmos.sfcWind.tavg-h10m-hxy-u.mon.GLB": "Amon.sfcWind", + "atmos.sfcWind.tmax-h10m-hxy-u.day.GLB": "day.sfcWindmax", + "atmos.sfcWind.tmaxavg-h10m-hxy-u.mon.GLB": "Emon.sfcWindmax", + "atmos.sfcWind.tpt-h10m-hs-u.subhr.GLB": "CFsubhr.sfcWind", + "atmos.sftlf.ti-u-hxy-u.fx.GLB": "fx.sftlf", + "atmos.smc.tavg-alh-hxy-u.mon.GLB": "CFmon.smc", + "atmos.snmsl.tavg-u-hxy-lnd.day.GLB": "Eday.snmsl", + "atmos.snrefr.tavg-u-hxy-lnd.day.GLB": "Eday.snrefr", + "atmos.snwc.tavg-u-hxy-lnd.day.GLB": "Eday.snwc", + "atmos.ta.tavg-700hPa-hxy-air.day.GLB": "CFday.ta700", + "atmos.ta.tavg-850hPa-hxy-air.day.GLB": "Eday.ta850", + "atmos.ta.tavg-al-hxy-u.day.GLB": "CFday.ta", + "atmos.ta.tavg-al-hxy-u.mon.30S-90S": "CFmon.taSouth30", + "atmos.ta.tavg-al-hxy-u.mon.GLB": "CFmon.ta", + "atmos.ta.tavg-p19-hxy-air.day.GLB": "day.ta", + "atmos.ta.tavg-p19-hxy-air.mon.30S-90S": "Amon.taSouth30", + "atmos.ta.tavg-p19-hxy-air.mon.GLB": "Amon.ta", + "atmos.ta.tavg-p39-hy-air.day.GLB": "EdayZ.ta", + "atmos.ta.tavg-p39-hy-air.mon.GLB": "AERmonZ.ta", + "atmos.ta.tpt-al-hs-u.subhr.GLB": "CFsubhr.ta", + "atmos.ta.tpt-al-hxy-u.3hr.GLB": "CF3hr.ta", + "atmos.ta.tpt-al-hxy-u.6hr.GLB": "6hrLev.ta", + "atmos.ta.tpt-p3-hxy-air.6hr.GLB": "6hrPlevPt.ta", + "atmos.ta.tpt-p5u-hxy-u.6hr.GLB": "6hrPlevPt.taUTLS", + "atmos.ta.tpt-p6-hxy-air.3hr.GLB": "E3hrPt.ta6", + "atmos.ta.tpt-p7h-hxy-air.6hr.GLB": "6hrPlevPt.ta7h", + "atmos.tas.tavg-h2m-hm-is.mon.ATA": "ImonAnt.tas", + "atmos.tas.tavg-h2m-hm-is.mon.GRL": "ImonGre.tas", + "atmos.tas.tavg-h2m-hxy-u.1hr.GLB": "AERhr.tas", + "atmos.tas.tavg-h2m-hxy-u.6hr.GLB": "6hrPlev.tas", + "atmos.tas.tavg-h2m-hxy-u.day.GLB": "day.tas", + "atmos.tas.tavg-h2m-hxy-u.mon.30S-90S": "Amon.tasSouth30", + "atmos.tas.tavg-h2m-hxy-u.mon.GLB": "Amon.tas", + "atmos.tas.tmax-h2m-hxy-crp.day.GLB": "Eday.tasmaxCrop", + "atmos.tas.tmax-h2m-hxy-u.day.GLB": "day.tasmax", + "atmos.tas.tmaxavg-h2m-hxy-u.mon.30S-90S": "Amon.tasmaxSouth30", + "atmos.tas.tmaxavg-h2m-hxy-u.mon.GLB": "Amon.tasmax", + "atmos.tas.tmin-h2m-hxy-crp.day.GLB": "Eday.tasminCrop", + "atmos.tas.tmin-h2m-hxy-u.day.GLB": "day.tasmin", + "atmos.tas.tminavg-h2m-hxy-u.mon.30S-90S": "Amon.tasminSouth30", + "atmos.tas.tminavg-h2m-hxy-u.mon.GLB": "Amon.tasmin", + "atmos.tas.tpt-h2m-hs-u.subhr.GLB": "CFsubhr.tas", + "atmos.tas.tpt-h2m-hxy-u.3hr.GLB": "3hr.tas", + "atmos.tauu.tavg-u-hxy-u.day.GLB": "Eday.tauu", + "atmos.tauu.tavg-u-hxy-u.mon.GLB": "Amon.tauu", + "atmos.tauu.tpt-u-hs-u.subhr.GLB": "CFsubhr.tauu", + "atmos.tauunoegw.tavg-p19-hxy-air.mon.GLB": "Emon.tauunoegw", + "atmos.tauunoegw.tavg-p39-hy-air.day.GLB": "EdayZ.tauunoegw", + "atmos.tauunowgw.tavg-p19-hxy-air.mon.GLB": "Emon.tauunowgw", + "atmos.tauunowgw.tavg-p39-hy-air.day.GLB": "EdayZ.tauunowgw", + "atmos.tauuogw.tavg-p19-hxy-air.mon.GLB": "Emon.tauuogw", + "atmos.tauuogw.tavg-p39-hy-air.day.GLB": "EdayZ.tauuogw", + "atmos.tauupbl.tavg-u-hxy-u.day.GLB": "Eday.tauupbl", + "atmos.tauv.tavg-u-hxy-u.day.GLB": "Eday.tauv", + "atmos.tauv.tavg-u-hxy-u.mon.GLB": "Amon.tauv", + "atmos.tauv.tpt-u-hs-u.subhr.GLB": "CFsubhr.tauv", + "atmos.tauvnogw.tavg-p19-hxy-air.mon.GLB": "Emon.tauvnogw", + "atmos.tauvnogw.tavg-p39-hy-air.day.GLB": "EdayZ.tauvnogw", + "atmos.tauvogw.tavg-p19-hxy-air.mon.GLB": "Emon.tauvogw", + "atmos.tauvogw.tavg-p39-hy-air.day.GLB": "EdayZ.tauvogw", + "atmos.tauvpbl.tavg-u-hxy-u.day.GLB": "Eday.tauvpbl", + "atmos.tdps.tavg-h2m-hxy-u.day.GLB": "Eday.tdps", + "atmos.tdps.tavg-h2m-hxy-u.mon.GLB": "Emon.tdps", + "atmos.tnhus.tavg-al-hxy-u.mon.GLB": "CFmon.tnhus", + "atmos.tnhus.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnhus", + "atmos.tnhusa.tavg-al-hxy-u.mon.GLB": "CFmon.tnhusa", + "atmos.tnhusa.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnhusa", + "atmos.tnhusc.tavg-al-hxy-u.mon.GLB": "CFmon.tnhusc", + "atmos.tnhusc.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnhusc", + "atmos.tnhusd.tavg-al-hxy-u.mon.GLB": "CFmon.tnhusd", + "atmos.tnhusd.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnhusd", + "atmos.tnhusmp.tavg-al-hxy-u.mon.GLB": "CFmon.tnhusmp", + "atmos.tnhusmp.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnhusmp", + "atmos.tnhuspbl.tavg-al-hxy-u.mon.GLB": "Emon.tnhuspbl", + "atmos.tnhuspbl.tpt-al-hs-u.subhr.GLB": "Esubhr.tnhuspbl", + "atmos.tnhusscp.tavg-al-hxy-u.mon.GLB": "Emon.tnhusscp", + "atmos.tnhusscp.tpt-al-hs-u.subhr.GLB": "Esubhr.tnhusscp", + "atmos.tnhusscpbl.tavg-al-hxy-u.mon.GLB": "CFmon.tnhusscpbl", + "atmos.tnhusscpbl.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnhusscpbl", + "atmos.tnt.tavg-al-hxy-u.mon.GLB": "CFmon.tnt", + "atmos.tnt.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnt", + "atmos.tnta.tavg-al-hxy-u.mon.GLB": "CFmon.tnta", + "atmos.tnta.tpt-al-hs-u.subhr.GLB": "CFsubhr.tnta", + "atmos.tntc.tavg-al-hxy-u.mon.GLB": "CFmon.tntc", + "atmos.tntc.tavg-p39-hy-air.mon.GLB": "EmonZ.tntc", + "atmos.tntc.tpt-al-hs-u.subhr.GLB": "CFsubhr.tntc", + "atmos.tntd.tavg-al-hxy-u.mon.GLB": "Emon.tntd", + "atmos.tntd.tpt-al-hs-u.subhr.GLB": "Esubhr.tntd", + "atmos.tntmp.tavg-al-hxy-u.mon.GLB": "CFmon.tntmp", + "atmos.tntmp.tavg-p39-hy-air.day.GLB": "EdayZ.tntmp", + "atmos.tntmp.tavg-p39-hy-air.mon.GLB": "EmonZ.tntmp", + "atmos.tntmp.tpt-al-hs-u.subhr.GLB": "CFsubhr.tntmp", + "atmos.tntnogw.tavg-p39-hy-air.mon.GLB": "EmonZ.tntnogw", + "atmos.tntogw.tavg-p39-hy-air.mon.GLB": "EmonZ.tntogw", + "atmos.tntpbl.tavg-al-hxy-u.mon.GLB": "Emon.tntpbl", + "atmos.tntpbl.tpt-al-hs-u.subhr.GLB": "Esubhr.tntpbl", + "atmos.tntr.tavg-al-hxy-u.mon.GLB": "CFmon.tntr", + "atmos.tntr.tpt-al-hs-u.subhr.GLB": "CFsubhr.tntr", + "atmos.tntrl.tavg-al-hxy-u.mon.GLB": "AERmon.tntrl", + "atmos.tntrl.tavg-p39-hy-air.day.GLB": "EdayZ.tntrl", + "atmos.tntrl.tavg-p39-hy-air.mon.GLB": "EmonZ.tntrl", + "atmos.tntrl.tpt-al-hs-u.subhr.GLB": "Esubhr.tntrl", + "atmos.tntrlcs.tavg-al-hxy-u.mon.GLB": "Emon.tntrlcs", + "atmos.tntrlcs.tavg-p39-hy-air.mon.GLB": "EmonZ.tntrlcs", + "atmos.tntrlcs.tpt-al-hs-u.subhr.GLB": "Esubhr.tntrlcs", + "atmos.tntrs.tavg-al-hxy-u.mon.GLB": "AERmon.tntrs", + "atmos.tntrs.tavg-p39-hy-air.day.GLB": "EdayZ.tntrs", + "atmos.tntrs.tavg-p39-hy-air.mon.GLB": "EmonZ.tntrs", + "atmos.tntrs.tpt-al-hs-u.subhr.GLB": "Esubhr.tntrs", + "atmos.tntrscs.tavg-al-hxy-u.mon.GLB": "Emon.tntrscs", + "atmos.tntrscs.tavg-p39-hy-air.mon.GLB": "EmonZ.tntrscs", + "atmos.tntrscs.tpt-al-hs-u.subhr.GLB": "Esubhr.tntrscs", + "atmos.tntscp.tavg-al-hxy-u.mon.GLB": "Emon.tntscp", + "atmos.tntscp.tavg-p39-hy-air.mon.GLB": "EmonZ.tntscp", + "atmos.tntscp.tpt-al-hs-u.subhr.GLB": "Esubhr.tntscp", + "atmos.tntscpbl.tavg-al-hxy-u.mon.GLB": "CFmon.tntscpbl", + "atmos.tntscpbl.tpt-al-hs-u.subhr.GLB": "CFsubhr.tntscpbl", + "atmos.ts.tavg-u-hxy-is.mon.ATA": "ImonAnt.ts", + "atmos.ts.tavg-u-hxy-is.mon.GRL": "ImonGre.ts", + "atmos.ts.tavg-u-hxy-sn.day.GLB": "Eday.tsns", + "atmos.ts.tavg-u-hxy-u.1hr.GLB": "E1hr.ts", + "atmos.ts.tavg-u-hxy-u.6hr.GLB": "6hrPlev.ts", + "atmos.ts.tavg-u-hxy-u.day.GLB": "Eday.ts", + "atmos.ts.tavg-u-hxy-u.mon.30S-90S": "Amon.tsSouth30", + "atmos.ts.tavg-u-hxy-u.mon.GLB": "Amon.ts", + "atmos.ts.tpt-u-hs-u.subhr.GLB": "CFsubhr.ts", + "atmos.ts.tpt-u-hxy-u.3hr.GLB": "CF3hr.ts", + "atmos.ts.tpt-u-hxy-u.6hr.GLB": "6hrPlevPt.ts", + "atmos.ua.tavg-al-hxy-u.day.GLB": "CFday.ua", + "atmos.ua.tavg-al-hxy-u.mon.GLB": "AERmon.ua", + "atmos.ua.tavg-h100m-hxy-u.3hr.GLB": "3hr.ua100m", + "atmos.ua.tavg-p19-hxy-air.day.GLB": "day.ua", + "atmos.ua.tavg-p19-hxy-air.mon.30S-90S": "Amon.uaSouth30", + "atmos.ua.tavg-p19-hxy-air.mon.GLB": "Amon.ua", + "atmos.ua.tavg-p39-hy-air.day.GLB": "EdayZ.ua", + "atmos.ua.tavg-p39-hy-air.mon.GLB": "AERmonZ.ua", + "atmos.ua.tpt-200hPa-hxy-u.6hr.GLB": "6hrPlevPt.ua200", + "atmos.ua.tpt-al-hs-u.subhr.GLB": "CFsubhr.ua", + "atmos.ua.tpt-al-hxy-u.6hr.GLB": "6hrLev.ua", + "atmos.ua.tpt-h100m-hxy-u.1hr.GLB": "E1hr.ua100m", + "atmos.ua.tpt-p3-hxy-air.6hr.GLB": "6hrPlevPt.ua", + "atmos.ua.tpt-p5u-hxy-air.6hr.GLB": "6hrPlevPt.uaUTLS", + "atmos.ua.tpt-p6-hxy-air.3hr.GLB": "E3hrPt.ua6", + "atmos.ua.tpt-p7h-hxy-air.6hr.GLB": "6hrPlevPt.ua7h", + "atmos.uas.tavg-h10m-hxy-u.6hr.GLB": "6hrPlev.uas", + "atmos.uas.tavg-h10m-hxy-u.day.GLB": "day.uas", + "atmos.uas.tavg-h10m-hxy-u.mon.30S-90S": "Amon.uasSouth30", + "atmos.uas.tavg-h10m-hxy-u.mon.GLB": "Amon.uas", + "atmos.uas.tpt-h10m-hs-u.subhr.GLB": "CFsubhr.uas", + "atmos.uas.tpt-h10m-hxy-u.1hr.GLB": "E1hr.uas", + "atmos.uas.tpt-h10m-hxy-u.3hr.GLB": "3hrPt.uas", + "atmos.uas.tpt-h10m-hxy-u.6hr.GLB": "6hrPlevPt.uas", + "atmos.utendepfd.tavg-p39-hy-air.day.GLB": "EdayZ.utendepfd", + "atmos.utendepfd.tavg-p39-hy-air.mon.GLB": "EmonZ.utendepfd", + "atmos.utendnogw.tavg-p19-hxy-air.day.GLB": "Eday.utendnogw", + "atmos.utendnogw.tavg-p19-hxy-air.mon.GLB": "Emon.utendnogw", + "atmos.utendnogw.tavg-p39-hy-air.day.GLB": "EdayZ.utendnogw", + "atmos.utendnogw.tavg-p39-hy-air.mon.GLB": "EmonZ.utendnogw", + "atmos.utendogw.tavg-p19-hxy-air.day.GLB": "Eday.utendogw", + "atmos.utendogw.tavg-p19-hxy-air.mon.GLB": "Emon.utendogw", + "atmos.utendogw.tavg-p39-hy-air.day.GLB": "EdayZ.utendogw", + "atmos.utendogw.tavg-p39-hy-air.mon.GLB": "EmonZ.utendogw", + "atmos.utendvtem.tavg-p39-hy-air.day.GLB": "EdayZ.utendvtem", + "atmos.utendwtem.tavg-p39-hy-air.day.GLB": "EdayZ.utendwtem", + "atmos.va.tavg-al-hxy-u.day.GLB": "CFday.va", + "atmos.va.tavg-al-hxy-u.mon.GLB": "AERmon.va", + "atmos.va.tavg-h100m-hxy-u.3hr.GLB": "3hr.va100m", + "atmos.va.tavg-p19-hxy-air.day.GLB": "day.va", + "atmos.va.tavg-p19-hxy-air.mon.30S-90S": "Amon.vaSouth30", + "atmos.va.tavg-p19-hxy-air.mon.GLB": "Amon.va", + "atmos.va.tavg-p39-hy-air.mon.GLB": "AERmonZ.va", + "atmos.va.tpt-200hPa-hxy-u.6hr.GLB": "6hrPlevPt.va200", + "atmos.va.tpt-al-hs-u.subhr.GLB": "CFsubhr.va", + "atmos.va.tpt-al-hxy-u.6hr.GLB": "6hrLev.va", + "atmos.va.tpt-h100m-hxy-u.1hr.GLB": "E1hr.va100m", + "atmos.va.tpt-p3-hxy-air.6hr.GLB": "6hrPlevPt.va", + "atmos.va.tpt-p5u-hxy-air.6hr.GLB": "6hrPlevPt.vaUTLS", + "atmos.va.tpt-p6-hxy-air.3hr.GLB": "E3hrPt.va6", + "atmos.va.tpt-p7h-hxy-air.6hr.GLB": "6hrPlevPt.va7h", + "atmos.vas.tavg-h10m-hxy-u.6hr.GLB": "6hrPlev.vas", + "atmos.vas.tavg-h10m-hxy-u.day.GLB": "day.vas", + "atmos.vas.tavg-h10m-hxy-u.mon.30S-90S": "Amon.vasSouth30", + "atmos.vas.tavg-h10m-hxy-u.mon.GLB": "Amon.vas", + "atmos.vas.tpt-h10m-hs-u.subhr.GLB": "CFsubhr.vas", + "atmos.vas.tpt-h10m-hxy-u.1hr.GLB": "E1hr.vas", + "atmos.vas.tpt-h10m-hxy-u.3hr.GLB": "3hrPt.vas", + "atmos.vas.tpt-h10m-hxy-u.6hr.GLB": "6hrPlevPt.vas", + "atmos.vtem.tavg-p39-hy-air.day.GLB": "EdayZ.vtem", + "atmos.vtem.tavg-p39-hy-air.mon.GLB": "EmonZ.vtem", + "atmos.vtendnogw.tavg-p19-hxy-air.day.GLB": "Eday.vtendnogw", + "atmos.vtendnogw.tavg-p19-hxy-air.mon.GLB": "Emon.vtendnogw", + "atmos.vtendogw.tavg-p19-hxy-air.day.GLB": "Eday.vtendogw", + "atmos.vtendogw.tavg-p19-hxy-air.mon.GLB": "Emon.vtendogw", + "atmos.wap.tavg-500hPa-hxy-air.day.GLB": "CFday.wap500", + "atmos.wap.tavg-al-hxy-u.day.GLB": "CFday.wap", + "atmos.wap.tavg-p19-hxy-air.mon.30S-90S": "Amon.wapSouth30", + "atmos.wap.tavg-p19-hxy-air.mon.GLB": "Amon.wap", + "atmos.wap.tavg-p19-hxy-u.day.GLB": "day.wap", + "atmos.wap.tpt-al-hs-u.subhr.GLB": "CFsubhr.wap", + "atmos.wap.tpt-p6-hxy-air.3hr.GLB": "E3hrPt.wap6", + "atmos.wbgt.tavg-h2m-hxy-u.day.GLB": "day.wbgt2m", + "atmos.wbgt.tmax-h2m-hxy-u.day.GLB": "day.wbgt2mmax", + "atmos.wsg.tmax-h100m-hxy-u.1hr.GLB": "E1hr.wsgmax100m", + "atmos.wsg.tmax-h100m-hxy-u.mon.GLB": "Emon.wsgmax100m", + "atmos.wsg.tmax-h10m-hxy-u.1hr.GLB": "E1hr.wsgmax10m", + "atmos.wsg.tmax-h10m-hxy-u.mon.GLB": "Emon.wsgmax10m", + "atmos.wtem.tavg-p39-hy-air.day.GLB": "EdayZ.wtem", + "atmos.wtem.tavg-p39-hy-air.mon.GLB": "EmonZ.wtem", + "atmos.zfull.ti-al-hxy-u.fx.GLB": "fx.zfull", + "atmos.zg.tavg-1000hPa-hxy-air.6hr.GLB": "6hrPlev.zg1000", + "atmos.zg.tavg-1000hPa-hxy-air.day.GLB": "AERday.zg1000", + "atmos.zg.tavg-500hPa-hxy-air.day.GLB": "AERday.zg500", + "atmos.zg.tavg-al-hxy-u.day.GLB": "CFday.zg", + "atmos.zg.tavg-al-hxy-u.mon.GLB": "AERmon.zg", + "atmos.zg.tavg-p19-hxy-air.day.GLB": "day.zg", + "atmos.zg.tavg-p19-hxy-air.mon.30S-90S": "Amon.zgSouth30", + "atmos.zg.tavg-p19-hxy-air.mon.GLB": "Amon.zg", + "atmos.zg.tavg-p39-hy-air.day.GLB": "EdayZ.zg", + "atmos.zg.tavg-p39-hy-air.mon.GLB": "AERmonZ.zg", + "atmos.zg.tpt-500hPa-hxy-air.6hr.GLB": "6hrPlevPt.zg500", + "atmos.zg.tpt-700hPa-hxy-u.6hr.GLB": "6hrPlevPt.zg700", + "atmos.zg.tpt-925hPa-hxy-u.6hr.GLB": "6hrPlevPt.zg925", + "atmos.zg.tpt-al-hs-u.subhr.GLB": "CFsubhr.zg", + "atmos.zg.tpt-al-hxy-u.6hr.GLB": "6hrLev.zg", + "atmos.zg.tpt-p3-hxy-air.6hr.GLB": "6hrPlevPt.zg", + "atmos.zg.tpt-p7h-hxy-air.6hr.GLB": "6hrPlevPt.zg7h", + "atmos.ztp.tavg-u-hxy-u.mon.GLB": "AERmon.ztp", + "atmosChem.c2h4.tavg-al-hxy-u.mon.GLB": "AERmon.c2h4", + "atmosChem.c2h5oh.tavg-al-hxy-u.mon.GLB": "AERmon.c2h5oh", + "atmosChem.c4h10.tavg-al-hxy-u.mon.GLB": "AERmon.c4h10", + "atmosChem.cfc11.tavg-u-hm-u.mon.GLB": "Amon.cfc11global", + "atmosChem.cfc113.tavg-u-hm-u.mon.GLB": "Amon.cfc113global", + "atmosChem.cfc12.tavg-u-hm-u.mon.GLB": "Amon.cfc12global", + "atmosChem.ch3oh.tavg-al-hxy-u.mon.GLB": "AERmon.ch3oh", + "atmosChem.ch4.tavg-al-hxy-u.mon.GLB": "AERmon.ch4", + "atmosChem.ch4.tavg-p19-hxy-air.mon.GLB": "Amon.ch4", + "atmosChem.ch4.tavg-p39-hy-air.mon.GLB": "AERmonZ.ch4", + "atmosChem.ch4.tavg-u-hm-u.mon.GLB": "Amon.ch4global", + "atmosChem.ch4.tclm-p19-hxy-air.mon.GLB": "Amon.ch4Clim", + "atmosChem.ch4.tclm-u-hm-u.mon.GLB": "Amon.ch4globalClim", + "atmosChem.ch4losssoil.tavg-u-hxy-u.mon.GLB": "AERmon.ch4losssoil", + "atmosChem.ch4ref.ti-al-hxy-u.fx.GLB": "AERfx.ch4ref", + "atmosChem.chegph2oo1d.tavg-al-hxy-u.mon.GLB": "AERmon.chegph2oo1d", + "atmosChem.chepnh4.tavg-al-hxy-u.mon.GLB": "AERmon.chepnh4", + "atmosChem.chepno3.tavg-al-hxy-u.mon.GLB": "AERmon.chepno3", + "atmosChem.dms.tavg-al-hxy-u.mon.30S-90S": "AERmon.dmsSouth30", + "atmosChem.dms.tavg-al-hxy-u.mon.GLB": "AERmon.dms", + "atmosChem.do3chm.tavg-al-hxy-u.mon.GLB": "AERmon.do3chm", + "atmosChem.dryh2.tavg-u-hxy-u.mon.GLB": "AERmon.dryh2", + "atmosChem.dryhno3.tavg-u-hxy-u.mon.GLB": "AERmon.dryhno3", + "atmosChem.drynh3.tavg-u-hxy-u.day.GLB": "AERday.drynh3", + "atmosChem.drynh3.tavg-u-hxy-u.mon.GLB": "AERmon.drynh3", + "atmosChem.drynh4.tavg-u-hxy-u.day.GLB": "AERday.drynh4", + "atmosChem.drynh4.tavg-u-hxy-u.mon.GLB": "AERmon.drynh4", + "atmosChem.drynoy.tavg-u-hxy-u.day.GLB": "AERday.drynoy", + "atmosChem.drynoy.tavg-u-hxy-u.mon.GLB": "AERmon.drynoy", + "atmosChem.e90inst.tpt-al-hxy-u.mon.GLB": "AERmon.e90inst", + "atmosChem.emiach4.tavg-u-hxy-u.mon.GLB": "AERmon.emiach4", + "atmosChem.emiavnox.tavg-al-hxy-u.mon.GLB": "AERmon.emiavnox", + "atmosChem.emic2h4.tavg-u-hxy-u.mon.GLB": "AERmon.emic2h4", + "atmosChem.emic2h5oh.tavg-u-hxy-u.mon.GLB": "AERmon.emic2h5oh", + "atmosChem.emic2h6.tavg-u-hxy-u.mon.GLB": "AERmon.emic2h6", + "atmosChem.emic3h6.tavg-u-hxy-u.mon.GLB": "AERmon.emic3h6", + "atmosChem.emic3h8.tavg-u-hxy-u.mon.GLB": "AERmon.emic3h8", + "atmosChem.emic4h10.tavg-u-hxy-u.mon.GLB": "AERmon.emic4h10", + "atmosChem.emich3oh.tavg-u-hxy-u.mon.GLB": "AERmon.emich3oh", + "atmosChem.emich4.tavg-u-hxy-u.mon.GLB": "AERmon.emich4", + "atmosChem.emih2.tavg-u-hxy-u.mon.GLB": "AERmon.emih2", + "atmosChem.emilkch4.tavg-u-hxy-u.mon.GLB": "AERmon.emilkch4", + "atmosChem.flashrate.tavg-u-hxy-u.day.GLB": "Eday.flashrate", + "atmosChem.flashrate.tavg-u-hxy-u.mon.GLB": "Emon.flashrate", + "atmosChem.h2.tavg-al-hxy-u.mon.GLB": "AERmon.h2", + "atmosChem.h2loss.tavg-al-hxy-u.mon.GLB": "AERmon.h2loss", + "atmosChem.h2prod.tavg-al-hxy-u.mon.GLB": "AERmon.h2prod", + "atmosChem.hcfc22.tavg-u-hm-u.mon.GLB": "Amon.hcfc22global", + "atmosChem.meanage.tavg-al-hxy-u.mon.GLB": "AERmon.meanage", + "atmosChem.meanage.tavg-p39-hy-air.mon.GLB": "AERmonZ.meanage", + "atmosChem.n2o.tavg-al-hxy-u.mon.GLB": "AERmon.n2o", + "atmosChem.n2o.tavg-p19-hxy-air.mon.GLB": "Amon.n2o", + "atmosChem.n2o.tavg-p39-hy-air.mon.GLB": "AERmonZ.n2o", + "atmosChem.n2o.tavg-u-hm-u.mon.GLB": "Amon.n2oglobal", + "atmosChem.n2o.tclm-p19-hxy-air.mon.GLB": "Amon.n2oClim", + "atmosChem.n2o.tclm-u-hm-u.mon.GLB": "Amon.n2oglobalClim", + "atmosChem.o3.tavg-al-hxy-u.mon.GLB": "AERmon.o3", + "atmosChem.o3.tavg-p19-hxy-air.mon.GLB": "Amon.o3", + "atmosChem.o3.tavg-p39-hy-air.mon.GLB": "AERmonZ.o3", + "atmosChem.o3.tclm-p19-hxy-air.mon.GLB": "Amon.o3Clim", + "atmosChem.o3.tpt-al-hxy-u.mon.GLB": "AERmon.o3inst", + "atmosChem.o3ref.tclm-al-hxy-u.fx.GLB": "AERfx.o3refClim", + "atmosChem.o3ref.ti-al-hxy-u.fx.GLB": "AERfx.o3ref", + "atmosChem.o3ste.tavg-al-hxy-u.mon.GLB": "AERmon.o3ste", + "atmosChem.rlutch4ref.tavg-u-hxy-u.mon.GLB": "AERmon.rlutch4ref", + "atmosChem.rlutcsch4ref.tavg-u-hxy-u.mon.GLB": "AERmon.rlutcsch4ref", + "atmosChem.rlutcso3ref.tavg-u-hxy-u.mon.GLB": "AERmon.rlutcso3ref", + "atmosChem.rluto3ref.tavg-u-hxy-u.mon.GLB": "AERmon.rluto3ref", + "atmosChem.rsutch4ref.tavg-u-hxy-u.mon.GLB": "AERmon.rsutch4ref", + "atmosChem.rsutcsch4ref.tavg-u-hxy-u.mon.GLB": "AERmon.rsutcsch4ref", + "atmosChem.rsutcso3ref.tavg-u-hxy-u.mon.GLB": "AERmon.rsutcso3ref", + "atmosChem.rsuto3ref.tavg-u-hxy-u.mon.GLB": "AERmon.rsuto3ref", + "atmosChem.stratch4loss.tavg-al-hxy-u.mon.GLB": "AERmon.stratch4loss", + "atmosChem.tropch4loss.tavg-al-hxy-u.mon.GLB": "AERmon.tropch4loss", + "atmosChem.tropch4lossoh.tavg-al-hxy-u.mon.GLB": "AERmon.tropch4lossoh", + "atmosChem.tropdo3chm.tavg-al-hxy-u.mon.GLB": "AERmon.tropdo3chm", + "atmosChem.tropo3ste.tavg-al-hxy-u.mon.GLB": "AERmon.tropo3ste", + "atmosChem.wethno3.tavg-al-hxy-u.mon.GLB": "AERmon.wethno3", + "atmosChem.wetnh3.tavg-u-hxy-u.day.GLB": "AERday.wetnh3", + "atmosChem.wetnh3.tavg-u-hxy-u.mon.GLB": "AERmon.wetnh3", + "atmosChem.wetnh4.tavg-u-hxy-u.day.GLB": "AERday.wetnh4", + "atmosChem.wetnh4.tavg-u-hxy-u.mon.GLB": "AERmon.wetnh4", + "atmosChem.wetno3.tavg-al-hxy-u.mon.GLB": "AERmon.wetno3", + "atmosChem.wetnoy.tavg-u-hxy-u.day.GLB": "AERday.wetnoy", + "atmosChem.wetnoy.tavg-u-hxy-u.mon.GLB": "AERmon.wetnoy", + "land.albc.tavg-u-hxy-veg.mon.GLB": "Emon.albc", + "land.areacellg.ti-u-hxy-u.fx.ATA": "IfxAnt.areacellg", + "land.areacellg.ti-u-hxy-u.fx.GRL": "IfxGre.areacellg", + "land.areacellr.ti-u-hxy-u.fx.GLB": "fx.areacellr", + "land.baresoilFrac.tavg-u-hxy-u.mon.GLB": "Lmon.baresoilFrac", + "land.baresoilFrac.tavg-u-hxy-u.yr.GLB": "Eyr.baresoilFrac", + "land.burntFractionAll.tavg-u-hxy-u.mon.GLB": "Lmon.burntFractionAll", + "land.c13Land.tavg-u-hxy-lnd.mon.GLB": "Emon.c13Land", + "land.c13Litter.tavg-u-hxy-lnd.mon.GLB": "Emon.c13Litter", + "land.c13Soil.tavg-u-hxy-lnd.mon.GLB": "Emon.c13Soil", + "land.c13Veg.tavg-u-hxy-lnd.mon.GLB": "Emon.c13Veg", + "land.c14Land.tavg-u-hxy-lnd.mon.GLB": "Emon.c14Land", + "land.c14Litter.tavg-u-hxy-lnd.mon.GLB": "Emon.c14Litter", + "land.c14Soil.tavg-u-hxy-lnd.mon.GLB": "Emon.c14Soil", + "land.c14Veg.tavg-u-hxy-lnd.mon.GLB": "Emon.c14Veg", + "land.c3PftFrac.tavg-u-hxy-u.mon.GLB": "Lmon.c3PftFrac", + "land.c4PftFrac.tavg-u-hxy-u.mon.GLB": "Lmon.c4PftFrac", + "land.cGeologicStorage.tavg-u-hxy-u.mon.GLB": "Lmon.cGeologicStorage", + "land.cLand.tavg-u-hxy-lnd.mon.GLB": "Emon.cLand", + "land.cLeaf.tavg-u-hxy-lnd.mon.GLB": "Lmon.cLeaf", + "land.cLitter.tavg-u-hxy-lnd.mon.GLB": "Lmon.cLitter", + "land.cLitterCwd.tavg-u-hxy-lnd.mon.GLB": "Emon.cLitterCwd", + "land.cLitterLut.tpt-u-hxy-multi.yr.GLB": "Eyr.cLitterLut", + "land.cLitterSubSurf.tavg-u-hxy-lnd.mon.GLB": "Emon.cLitterSubSurf", + "land.cLitterSurf.tavg-u-hxy-lnd.mon.GLB": "Emon.cLitterSurf", + "land.cOther.tavg-u-hxy-lnd.mon.GLB": "Emon.cOther", + "land.cProduct.tavg-u-hxy-lnd.mon.GLB": "Lmon.cProduct", + "land.cProductLut.tpt-u-hxy-multi.yr.GLB": "Eyr.cProductLut", + "land.cRoot.tavg-u-hxy-lnd.mon.GLB": "Lmon.cRoot", + "land.cSoil.tavg-d100cm-hxy-lnd.mon.GLB": "Emon.cSoilAbove1m", + "land.cSoil.tavg-sl-hxy-lnd.mon.GLB": "Emon.cSoilLevels", + "land.cSoil.tavg-u-hxy-lnd.mon.GLB": "Emon.cSoil", + "land.cSoilLut.tpt-u-hxy-multi.yr.GLB": "Eyr.cSoilLut", + "land.cSoilPools.tavg-u-hxy-lnd.mon.GLB": "Emon.cSoilPools", + "land.cStem.tavg-u-hxy-lnd.mon.GLB": "Emon.cStem", + "land.cVeg.tavg-u-hxy-lnd.mon.GLB": "Lmon.cVeg", + "land.cVeg.tavg-u-hxy-ng.mon.GLB": "Emon.cVegGrass", + "land.cVeg.tavg-u-hxy-shb.mon.GLB": "Emon.cVegShrub", + "land.cVeg.tavg-u-hxy-tree.mon.GLB": "Emon.cVegTree", + "land.cVegLut.tpt-u-hxy-multi.yr.GLB": "Eyr.cVegLut", + "land.cnc.tavg-u-hxy-u.mon.GLB": "Emon.cnc", + "land.cropFrac.tavg-u-hxy-u.mon.GLB": "Lmon.cropFrac", + "land.cropFrac.tavg-u-hxy-u.yr.GLB": "Eyr.cropFrac", + "land.cropFracC3.tavg-u-hxy-u.mon.GLB": "Emon.cropFracC3", + "land.cropFracC4.tavg-u-hxy-u.mon.GLB": "Emon.cropFracC4", + "land.dcw.tavg-u-hxy-lnd.day.GLB": "Eday.dcw", + "land.depthl.ti-u-hxy-u.fx.GLB": "fx.depthl", + "land.depthsl.ti-u-hxy-u.fx.GLB": "fx.depthsl", + "land.dgw.tavg-u-hxy-lnd.day.GLB": "Eday.dgw", + "land.drivw.tavg-u-hxy-lnd.day.GLB": "Eday.drivw", + "land.dslw.tavg-u-hxy-lnd.day.GLB": "Eday.dslw", + "land.dsn.tavg-u-hxy-lnd.day.GLB": "Eday.dsn", + "land.dsw.tavg-u-hxy-lnd.day.GLB": "Eday.dsw", + "land.esn.tavg-u-hxy-sn.day.GLB": "Eday.esn", + "land.evspsblpot.tavg-u-hxy-lnd.day.GLB": "Eday.evspsblpot", + "land.evspsblpot.tavg-u-hxy-lnd.mon.GLB": "Emon.evspsblpot", + "land.evspsblsoi.tavg-u-hxy-lnd.mon.GLB": "Lmon.evspsblsoi", + "land.evspsblsoi.tavg-u-hxy-u.3hr.GLB": "3hr.evspsblsoi", + "land.evspsblsoi.tavg-u-hxy-u.day.GLB": "Eday.evspsblsoi", + "land.evspsblveg.tavg-u-hxy-lnd.mon.GLB": "Lmon.evspsblveg", + "land.evspsblveg.tavg-u-hxy-u.3hr.GLB": "3hr.evspsblveg", + "land.evspsblveg.tavg-u-hxy-u.day.GLB": "Eday.evspsblveg", + "land.fAnthDisturb.tavg-u-hxy-lnd.mon.GLB": "Emon.fAnthDisturb", + "land.fBNF.tavg-u-hxy-lnd.mon.GLB": "Emon.fBNF", + "land.fCLandToOcean.tavg-u-hxy-lnd.mon.GLB": "Emon.fCLandToOcean", + "land.fDeforestToAtmos.tavg-u-hxy-lnd.mon.GLB": "Emon.fDeforestToAtmos", + "land.fDeforestToProduct.tavg-u-hxy-lnd.mon.GLB": "Emon.fDeforestToProduct", + "land.fFire.tavg-u-hxy-lnd.mon.GLB": "Lmon.fFire", + "land.fFireAll.tavg-u-hxy-lnd.mon.GLB": "Emon.fFireAll", + "land.fFireNat.tavg-u-hxy-lnd.mon.GLB": "Emon.fFireNat", + "land.fHarvestToAtmos.tavg-u-hxy-lnd.mon.GLB": "Emon.fHarvestToAtmos", + "land.fHarvestToGeologicStorage.tavg-u-hxy-lnd.mon.GLB": "Lmon.fHarvestToGeologicStorage", + "land.fHarvestToProduct.tavg-u-hxy-lnd.mon.GLB": "Emon.fHarvestToProduct", + "land.fLitterFire.tavg-u-hxy-lnd.mon.GLB": "Emon.fLitterFire", + "land.fLitterSoil.tavg-u-hxy-lnd.mon.GLB": "Lmon.fLitterSoil", + "land.fLuc.tavg-u-hxy-lnd.mon.GLB": "Emon.fLuc", + "land.fLulccAtmLut.tavg-u-hxy-multi.mon.GLB": "Emon.fLulccAtmLut", + "land.fN2O.tavg-u-hxy-lnd.mon.GLB": "Emon.fN2O", + "land.fNAnthDisturb.tavg-u-hxy-lnd.mon.GLB": "Emon.fNAnthDisturb", + "land.fNLandToOcean.tavg-u-hxy-lnd.mon.GLB": "Emon.fNLandToOcean", + "land.fNLitterSoil.tavg-u-hxy-lnd.mon.GLB": "Emon.fNLitterSoil", + "land.fNOx.tavg-u-hxy-lnd.mon.GLB": "Emon.fNOx", + "land.fNProduct.tavg-u-hxy-lnd.mon.GLB": "Emon.fNProduct", + "land.fNVegLitter.tavg-u-hxy-lnd.mon.GLB": "Emon.fNVegLitter", + "land.fNVegSoil.tavg-u-hxy-lnd.mon.GLB": "Emon.fNVegSoil", + "land.fNdep.tavg-u-hxy-lnd.mon.GLB": "Emon.fNdep", + "land.fNfert.tavg-u-hxy-lnd.mon.GLB": "Emon.fNfert", + "land.fNgas.tavg-u-hxy-lnd.mon.GLB": "Emon.fNgas", + "land.fNgasFire.tavg-u-hxy-lnd.mon.GLB": "Emon.fNgasFire", + "land.fNgasNonFire.tavg-u-hxy-lnd.mon.GLB": "Emon.fNgasNonFire", + "land.fNleach.tavg-u-hxy-lnd.mon.GLB": "Emon.fNleach", + "land.fNloss.tavg-u-hxy-lnd.mon.GLB": "Emon.fNloss", + "land.fNnetmin.tavg-u-hxy-lnd.mon.GLB": "Emon.fNnetmin", + "land.fNup.tavg-u-hxy-lnd.mon.GLB": "Emon.fNup", + "land.fProductDecomp.tavg-u-hxy-lnd.mon.GLB": "Emon.fProductDecomp", + "land.fVegFire.tavg-u-hxy-lnd.mon.GLB": "Emon.fVegFire", + "land.fVegLitter.tavg-u-hxy-lnd.mon.GLB": "Lmon.fVegLitter", + "land.fVegLitterMortality.tavg-u-hxy-lnd.mon.GLB": "Emon.fVegLitterMortality", + "land.fVegLitterSenescence.tavg-u-hxy-lnd.mon.GLB": "Emon.fVegLitterSenescence", + "land.fVegSoil.tavg-u-hxy-lnd.mon.GLB": "Lmon.fVegSoil", + "land.fVegSoilMortality.tavg-u-hxy-lnd.mon.GLB": "Emon.fVegSoilMortality", + "land.fVegSoilSenescence.tavg-u-hxy-lnd.mon.GLB": "Emon.fVegSoilSenescence", + "land.fracInLut.tsum-u-hxy-lnd.yr.GLB": "Eyr.fracInLut", + "land.fracLut.tpt-u-hxy-u.mon.GLB": "Emon.fracLut", + "land.fracLut.tpt-u-hxy-u.yr.GLB": "Eyr.fracLut", + "land.fracOutLut.tsum-u-hxy-lnd.yr.GLB": "Eyr.fracOutLut", + "land.gpp.tavg-u-hxy-lnd.mon.GLB": "Lmon.gpp", + "land.gpp.tavg-u-hxy-ng.mon.GLB": "Emon.gppGrass", + "land.gpp.tavg-u-hxy-shb.mon.GLB": "Emon.gppShrub", + "land.gpp.tavg-u-hxy-tree.mon.GLB": "Emon.gppTree", + "land.gppLut.tavg-u-hxy-multi.mon.GLB": "Emon.gppLut", + "land.gppVgt.tavg-u-hxy-multi.day.GLB": "Eday.gppVgt", + "land.gppc13.tavg-u-hxy-lnd.mon.GLB": "Emon.gppc13", + "land.gppc14.tavg-u-hxy-lnd.mon.GLB": "Emon.gppc14", + "land.grassFrac.tavg-u-hxy-u.mon.GLB": "Lmon.grassFrac", + "land.grassFrac.tavg-u-hxy-u.yr.GLB": "Eyr.grassFrac", + "land.grassFracC3.tavg-u-hxy-u.mon.GLB": "Emon.grassFracC3", + "land.grassFracC4.tavg-u-hxy-u.mon.GLB": "Emon.grassFracC4", + "land.hfdsl.tavg-u-hxy-lnd.3hr.GLB": "3hr.hfdsl", + "land.hflsLut.tavg-u-hxy-multi.mon.GLB": "Emon.hflsLut", + "land.hfssLut.tavg-u-hxy-multi.mon.GLB": "Emon.hfssLut", + "land.irrDem.tavg-u-hxy-u.day.GLB": "day.irrDem", + "land.irrGw.tavg-u-hxy-u.day.GLB": "day.irrGw", + "land.irrLut.tavg-u-hxy-multi.mon.GLB": "Emon.irrLut", + "land.irrLut.tavg-u-hxy-u.day.GLB": "day.irrLut", + "land.irrSurf.tavg-u-hxy-u.day.GLB": "day.irrSurf", + "land.lai.tavg-u-hxy-lnd.day.GLB": "Eday.lai", + "land.lai.tavg-u-hxy-lnd.mon.GLB": "Lmon.lai", + "land.laiLut.tavg-u-hxy-multi.mon.GLB": "Emon.laiLut", + "land.laiVgt.tavg-u-hxy-multi.day.GLB": "Eday.laiVgt", + "land.landCoverFrac.tavg-u-hxy-u.mon.GLB": "Lmon.landCoverFrac", + "land.mrro.tavg-u-hxy-lnd.3hr.GLB": "3hr.mrro", + "land.mrro.tavg-u-hxy-lnd.day.GLB": "day.mrro", + "land.mrro.tavg-u-hxy-lnd.mon.GLB": "Lmon.mrro", + "land.mrrob.tavg-u-hxy-lnd.day.GLB": "Eday.mrrob", + "land.mrros.tavg-u-hxy-lnd.3hr.GLB": "3hr.mrros", + "land.mrros.tavg-u-hxy-lnd.day.GLB": "Eday.mrros", + "land.mrros.tavg-u-hxy-lnd.mon.GLB": "Lmon.mrros", + "land.mrsfl.tavg-sl-hxy-lnd.day.GLB": "Eday.mrsfl", + "land.mrsfl.tavg-sl-hxy-lnd.mon.GLB": "Emon.mrsfl", + "land.mrsll.tavg-sl-hxy-lnd.day.GLB": "Eday.mrsll", + "land.mrsll.tavg-sl-hxy-lnd.mon.GLB": "Emon.mrsll", + "land.mrso.tavg-u-hxy-lnd.day.GLB": "day.mrso", + "land.mrso.tavg-u-hxy-lnd.mon.GLB": "Lmon.mrso", + "land.mrsofc.ti-u-hxy-lnd.fx.GLB": "fx.mrsofc", + "land.mrsol.tavg-d100cm-hxy-lnd.3hr.GLB": "3hr.mrso100", + "land.mrsol.tavg-d10cm-hxy-lnd.day.GLB": "day.mrsos", + "land.mrsol.tavg-d10cm-hxy-lnd.mon.GLB": "Lmon.mrsos", + "land.mrsol.tavg-sl-hxy-lnd.day.GLB": "Eday.mrsol", + "land.mrsol.tavg-sl-hxy-lnd.mon.GLB": "Emon.mrsol", + "land.mrsol.tpt-d10cm-hxy-lnd.3hr.GLB": "3hr.mrsos", + "land.mrsolLut.tavg-d10cm-hxy-multi.mon.GLB": "Emon.mrsosLut", + "land.mrsow.tavg-u-hxy-lnd.day.GLB": "Eday.mrsow", + "land.mrtws.tavg-u-hxy-lnd.day.GLB": "Eday.mrtws", + "land.mrtws.tavg-u-hxy-lnd.mon.GLB": "Emon.mrtws", + "land.nLand.tavg-u-hxy-lnd.mon.GLB": "Emon.nLand", + "land.nLeaf.tavg-u-hxy-lnd.mon.GLB": "Emon.nLeaf", + "land.nLitter.tavg-u-hxy-lnd.mon.GLB": "Emon.nLitter", + "land.nLitterCwd.tavg-u-hxy-lnd.mon.GLB": "Emon.nLitterCwd", + "land.nLitterSubSurf.tavg-u-hxy-lnd.mon.GLB": "Emon.nLitterSubSurf", + "land.nLitterSurf.tavg-u-hxy-lnd.mon.GLB": "Emon.nLitterSurf", + "land.nMineral.tavg-u-hxy-lnd.mon.GLB": "Emon.nMineral", + "land.nMineralNH4.tavg-u-hxy-lnd.mon.GLB": "Emon.nMineralNH4", + "land.nMineralNO3.tavg-u-hxy-lnd.mon.GLB": "Emon.nMineralNO3", + "land.nOther.tavg-u-hxy-lnd.mon.GLB": "Emon.nOther", + "land.nProduct.tavg-u-hxy-lnd.mon.GLB": "Emon.nProduct", + "land.nRoot.tavg-u-hxy-lnd.mon.GLB": "Emon.nRoot", + "land.nSoil.tavg-u-hxy-lnd.mon.GLB": "Emon.nSoil", + "land.nStem.tavg-u-hxy-lnd.mon.GLB": "Emon.nStem", + "land.nVeg.tavg-u-hxy-lnd.mon.GLB": "Emon.nVeg", + "land.nbp.tavg-u-hxy-lnd.mon.GLB": "Lmon.nbp", + "land.nbpLut.tavg-u-hxy-multi.mon.GLB": "Emon.nbpLut", + "land.nep.tavg-u-hxy-lnd.mon.GLB": "Emon.nep", + "land.netAtmosLandC13Flux.tavg-u-hxy-lnd.mon.GLB": "Emon.netAtmosLandC13Flux", + "land.netAtmosLandC14Flux.tavg-u-hxy-lnd.mon.GLB": "Emon.netAtmosLandC14Flux", + "land.npp.tavg-u-hxy-lnd.mon.GLB": "Lmon.npp", + "land.npp.tavg-u-hxy-ng.mon.GLB": "Emon.nppGrass", + "land.npp.tavg-u-hxy-shb.mon.GLB": "Emon.nppShrub", + "land.npp.tavg-u-hxy-tree.mon.GLB": "Emon.nppTree", + "land.nppLeaf.tavg-u-hxy-lnd.mon.GLB": "Lmon.nppLeaf", + "land.nppLut.tavg-u-hxy-multi.mon.GLB": "Emon.nppLut", + "land.nppOther.tavg-u-hxy-lnd.mon.GLB": "Emon.nppOther", + "land.nppRoot.tavg-u-hxy-lnd.mon.GLB": "Lmon.nppRoot", + "land.nppStem.tavg-u-hxy-lnd.mon.GLB": "Emon.nppStem", + "land.nppVgt.tavg-u-hxy-multi.day.GLB": "Eday.nppVgt", + "land.orog.tavg-u-hxy-is.mon.ATA": "ImonAnt.orog", + "land.orog.tavg-u-hxy-is.mon.GRL": "ImonGre.orog", + "land.orog.tavg-u-hxy-is.yr.ATA": "IyrAnt.orog", + "land.orog.tavg-u-hxy-is.yr.GRL": "IyrGre.orog", + "land.orog.ti-u-hxy-u.fx.30S-90S": "fx.orogSouth30", + "land.orog.ti-u-hxy-u.fx.GLB": "fx.orog", + "land.pastureFrac.tavg-u-hxy-u.mon.GLB": "Lmon.pastureFrac", + "land.pastureFracC3.tavg-u-hxy-u.mon.GLB": "Emon.pastureFracC3", + "land.pastureFracC4.tavg-u-hxy-u.mon.GLB": "Emon.pastureFracC4", + "land.prveg.tavg-u-hxy-lnd.mon.GLB": "Lmon.prveg", + "land.qgwr.tavg-u-hxy-lnd.day.GLB": "Eday.qgwr", + "land.ra.tavg-u-hxy-lnd.mon.GLB": "Lmon.ra", + "land.ra.tavg-u-hxy-ng.mon.GLB": "Emon.raGrass", + "land.ra.tavg-u-hxy-shb.mon.GLB": "Emon.raShrub", + "land.ra.tavg-u-hxy-tree.mon.GLB": "Emon.raTree", + "land.raLeaf.tavg-u-hxy-lnd.mon.GLB": "Emon.raLeaf", + "land.raLut.tavg-u-hxy-multi.mon.GLB": "Emon.raLut", + "land.raOther.tavg-u-hxy-lnd.mon.GLB": "Emon.raOther", + "land.raRoot.tavg-u-hxy-lnd.mon.GLB": "Emon.raRoot", + "land.raStem.tavg-u-hxy-lnd.mon.GLB": "Emon.raStem", + "land.raVgt.tavg-u-hxy-multi.day.GLB": "Eday.raVgt", + "land.rac13.tavg-u-hxy-lnd.mon.GLB": "Emon.rac13", + "land.rac14.tavg-u-hxy-lnd.mon.GLB": "Emon.rac14", + "land.residualFrac.tavg-u-hxy-u.mon.GLB": "Lmon.residualFrac", + "land.residualFrac.tavg-u-hxy-u.yr.GLB": "Eyr.residualFrac", + "land.rh.tavg-u-hxy-lnd.mon.GLB": "Lmon.rh", + "land.rh.tavg-u-hxy-ng.mon.GLB": "Emon.rhGrass", + "land.rh.tavg-u-hxy-shb.mon.GLB": "Emon.rhShrub", + "land.rh.tavg-u-hxy-tree.mon.GLB": "Emon.rhTree", + "land.rhLitter.tavg-u-hxy-lnd.mon.GLB": "Emon.rhLitter", + "land.rhLut.tavg-u-hxy-multi.mon.GLB": "Emon.rhLut", + "land.rhSoil.tavg-u-hxy-lnd.mon.GLB": "Emon.rhSoil", + "land.rhVgt.tavg-u-hxy-multi.day.GLB": "Eday.rhVgt", + "land.rhc13.tavg-u-hxy-lnd.mon.GLB": "Emon.rhc13", + "land.rhc14.tavg-u-hxy-lnd.mon.GLB": "Emon.rhc14", + "land.rivi.tavg-u-hxy-lnd.day.GLB": "Eday.rivi", + "land.rivo.tavg-u-hxy-lnd.day.GLB": "Eday.rivo", + "land.rootd.ti-u-hxy-lnd.fx.GLB": "fx.rootd", + "land.rsds.tavg-u-hxy-lnd.mon.GLB": "Emon.rsds", + "land.rsds.tavg-u-hxy-sn.mon.GLB": "Emon.rsdss", + "land.rsus.tavg-u-hxy-lnd.mon.GLB": "Emon.rsus", + "land.rsus.tavg-u-hxy-sn.mon.GLB": "Emon.rsuss", + "land.rzwc.tavg-u-hxy-lnd.day.GLB": "Eday.rzwc", + "land.sftgif.tavg-u-hxy-u.mon.GLB": "LImon.sftgif", + "land.sftgif.tavg-u-hxy-u.yr.ATA": "IyrAnt.sftgif", + "land.sftgif.tavg-u-hxy-u.yr.GRL": "IyrGre.sftgif", + "land.sftgif.ti-u-hxy-u.fx.GLB": "fx.sftgif", + "land.sftlaf.ti-u-hxy-u.fx.GLB": "fx.sftlaf", + "land.shrubFrac.tavg-u-hxy-u.mon.GLB": "Lmon.shrubFrac", + "land.shrubFrac.tavg-u-hxy-u.yr.GLB": "Eyr.shrubFrac", + "land.slthick.ti-sl-hxy-lnd.fx.GLB": "Efx.slthick", + "land.srfrad.tavg-u-hxy-u.3hr.GLB": "3hr.srfrad", + "land.sw.tavg-u-hxy-lnd.day.GLB": "Eday.sw", + "land.sweLut.tavg-u-hxy-multi.mon.GLB": "Emon.sweLut", + "land.tas.tavg-u-hxy-u.1hr.30S-90S": "E1hr.tasSouth30", + "land.tas.tavg-u-hxy-u.1hr.GLB": "E1hr.tas", + "land.tasLut.tavg-h2m-hxy-multi.mon.GLB": "Emon.tasLut", + "land.tran.tavg-u-hxy-lnd.mon.GLB": "Lmon.tran", + "land.tran.tavg-u-hxy-u.3hr.GLB": "3hr.tran", + "land.treeFrac.tavg-u-hxy-u.mon.GLB": "Lmon.treeFrac", + "land.treeFrac.tavg-u-hxy-u.yr.GLB": "Eyr.treeFrac", + "land.treeFracBdlDcd.tavg-u-hxy-u.mon.GLB": "Emon.treeFracBdlDcd", + "land.treeFracBdlEvg.tavg-u-hxy-u.mon.GLB": "Emon.treeFracBdlEvg", + "land.treeFracNdlDcd.tavg-u-hxy-u.mon.GLB": "Emon.treeFracNdlDcd", + "land.treeFracNdlEvg.tavg-u-hxy-u.mon.GLB": "Emon.treeFracNdlEvg", + "land.tsLut.tavg-u-hxy-multi.mon.GLB": "Emon.tslsiLut", + "land.tsl.tavg-sl-hxy-lnd.day.GLB": "Eday.tsl", + "land.tsl.tavg-sl-hxy-lnd.mon.GLB": "Lmon.tsl", + "land.tslsi.tavg-u-hxy-u.day.GLB": "day.tslsi", + "land.tslsi.tpt-u-hxy-lsi.3hr.GLB": "3hr.tslsi", + "land.vegFrac.tavg-u-hxy-u.mon.GLB": "Emon.vegFrac", + "land.vegFrac.tavg-u-hxy-u.yr.GLB": "Eyr.vegFrac", + "land.vegHeight.tavg-u-hxy-ng.mon.GLB": "Emon.vegHeightGrass", + "land.vegHeight.tavg-u-hxy-shb.mon.GLB": "Emon.vegHeightShrub", + "land.vegHeight.tavg-u-hxy-tree.mon.GLB": "Emon.vegHeightTree", + "land.vegHeight.tavg-u-hxy-veg.mon.GLB": "Emon.vegHeight", + "land.wetlandCH4.tavg-u-hxy-lnd.mon.GLB": "Emon.wetlandCH4", + "land.wetlandCH4cons.tavg-u-hxy-lnd.mon.GLB": "Emon.wetlandCH4cons", + "land.wetlandCH4prod.tavg-u-hxy-lnd.mon.GLB": "Emon.wetlandCH4prod", + "land.wetlandFrac.tavg-u-hxy-u.mon.GLB": "Emon.wetlandFrac", + "land.wtd.tavg-u-hxy-lnd.day.GLB": "Eday.wtd", + "landIce.acabf.tavg-u-hxy-is.mon.ATA": "ImonAnt.acabf", + "landIce.acabf.tavg-u-hxy-is.mon.GLB": "LImon.acabfIs", + "landIce.acabf.tavg-u-hxy-is.mon.GRL": "ImonGre.acabf", + "landIce.acabf.tavg-u-hxy-is.yr.ATA": "IyrAnt.acabf", + "landIce.acabf.tavg-u-hxy-is.yr.GRL": "IyrGre.acabf", + "landIce.agesno.tavg-u-hxy-lnd.mon.GLB": "LImon.agesno", + "landIce.hfdsn.tavg-u-hxy-lnd.day.GLB": "Eday.hfdsn", + "landIce.hfdsn.tavg-u-hxy-lnd.mon.GLB": "LImon.hfdsn", + "landIce.hfgeoubed.tavg-u-hxy-gis.yr.ATA": "IyrAnt.hfgeoubed", + "landIce.hfgeoubed.tavg-u-hxy-gis.yr.GRL": "IyrGre.hfgeoubed", + "landIce.hfgeoubed.ti-u-hxy-gis.fx.ATA": "IfxAnt.hfgeoubed", + "landIce.hfgeoubed.ti-u-hxy-gis.fx.GRL": "IfxGre.hfgeoubed", + "landIce.hfls.tavg-u-hxy-is.mon.GLB": "LImon.hflsIs", + "landIce.hfss.tavg-u-hxy-is.mon.GLB": "LImon.hfssIs", + "landIce.iareafl.tavg-u-hm-fis.yr.ATA": "IyrAnt.iareafl", + "landIce.iareafl.tavg-u-hm-fis.yr.GRL": "IyrGre.iareafl", + "landIce.iareagr.tavg-u-hm-gis.yr.ATA": "IyrAnt.iareagr", + "landIce.iareagr.tavg-u-hm-gis.yr.GRL": "IyrGre.iareagr", + "landIce.icem.tavg-u-hxy-is.mon.ATA": "ImonAnt.icem", + "landIce.icem.tavg-u-hxy-is.mon.GLB": "LImon.icemIs", + "landIce.icem.tavg-u-hxy-is.mon.GRL": "ImonGre.icem", + "landIce.libmassbf.tavg-u-hxy-fis.mon.ATA": "ImonAnt.libmassbffl", + "landIce.libmassbf.tavg-u-hxy-fis.mon.GRL": "ImonGre.libmassbffl", + "landIce.libmassbf.tavg-u-hxy-fis.yr.ATA": "IyrAnt.libmassbffl", + "landIce.libmassbf.tavg-u-hxy-fis.yr.GRL": "IyrGre.libmassbffl", + "landIce.libmassbf.tavg-u-hxy-gis.mon.ATA": "ImonAnt.libmassbfgr", + "landIce.libmassbf.tavg-u-hxy-gis.mon.GRL": "ImonGre.libmassbfgr", + "landIce.libmassbf.tavg-u-hxy-gis.yr.ATA": "IyrAnt.libmassbfgr", + "landIce.libmassbf.tavg-u-hxy-gis.yr.GRL": "IyrGre.libmassbfgr", + "landIce.licalvf.tavg-u-hxy-is.mon.ATA": "ImonAnt.licalvf", + "landIce.licalvf.tavg-u-hxy-is.mon.GRL": "ImonGre.licalvf", + "landIce.licalvf.tavg-u-hxy-is.yr.ATA": "IyrAnt.licalvf", + "landIce.licalvf.tavg-u-hxy-is.yr.GRL": "IyrGre.licalvf", + "landIce.lifmassbf.tavg-u-hxy-is.mon.ATA": "ImonAnt.lifmassbf", + "landIce.lifmassbf.tavg-u-hxy-is.mon.GRL": "ImonGre.lifmassbf", + "landIce.lifmassbf.tavg-u-hxy-is.yr.ATA": "IyrAnt.lifmassbf", + "landIce.lifmassbf.tavg-u-hxy-is.yr.GRL": "IyrGre.lifmassbf", + "landIce.lim.tavg-u-hm-is.yr.ATA": "IyrAnt.lim", + "landIce.lim.tavg-u-hm-is.yr.GRL": "IyrGre.lim", + "landIce.limnsw.tavg-u-hm-is.yr.ATA": "IyrAnt.limnsw", + "landIce.limnsw.tavg-u-hm-is.yr.GRL": "IyrGre.limnsw", + "landIce.litempbot.tavg-u-hxy-fis.mon.ATA": "ImonAnt.litempbotfl", + "landIce.litempbot.tavg-u-hxy-fis.mon.GRL": "ImonGre.litempbotfl", + "landIce.litempbot.tavg-u-hxy-fis.yr.ATA": "IyrAnt.litempbotfl", + "landIce.litempbot.tavg-u-hxy-fis.yr.GRL": "IyrGre.litempbotfl", + "landIce.litempbot.tavg-u-hxy-gis.mon.ATA": "ImonAnt.litempbotgr", + "landIce.litempbot.tavg-u-hxy-gis.mon.GRL": "ImonGre.litempbotgr", + "landIce.litempbot.tavg-u-hxy-gis.yr.ATA": "IyrAnt.litempbotgr", + "landIce.litempbot.tavg-u-hxy-gis.yr.GRL": "IyrGre.litempbotgr", + "landIce.litemptop.tavg-u-hxy-is.mon.ATA": "ImonAnt.litemptop", + "landIce.litemptop.tavg-u-hxy-is.mon.GLB": "LImon.litemptopIs", + "landIce.litemptop.tavg-u-hxy-is.mon.GRL": "ImonGre.litemptop", + "landIce.litemptop.tavg-u-hxy-is.yr.ATA": "IyrAnt.litemptop", + "landIce.litemptop.tavg-u-hxy-is.yr.GRL": "IyrGre.litemptop", + "landIce.lithk.tavg-u-hxy-is.yr.ATA": "IyrAnt.lithk", + "landIce.lithk.tavg-u-hxy-is.yr.GRL": "IyrGre.lithk", + "landIce.lithk.ti-u-hxy-is.fx.ATA": "IfxAnt.lithk", + "landIce.lithk.ti-u-hxy-is.fx.GRL": "IfxGre.lithk", + "landIce.lithk.ti-u-hxy-u.fx.GLB": "fx.lithk", + "landIce.lwsnl.tavg-u-hxy-lnd.day.GLB": "Eday.lwsnl", + "landIce.lwsnl.tavg-u-hxy-lnd.mon.GLB": "LImon.lwsnl", + "landIce.modelcellareai.tavg-u-hxy-u.yr.ATA": "IyrAnt.modelCellAreai", + "landIce.modelcellareai.tavg-u-hxy-u.yr.GRL": "IyrGre.modelCellAreai", + "landIce.mrfso.tavg-u-hxy-lnd.mon.GLB": "Lmon.mrfso", + "landIce.mrro.tavg-u-hxy-is.mon.GLB": "LImon.mrroIs", + "landIce.mrroLi.tavg-u-hxy-is.mon.ATA": "ImonAnt.mrroLi", + "landIce.mrroLi.tavg-u-hxy-is.mon.GRL": "ImonGre.mrroLi", + "landIce.orog.tavg-u-hxy-is.mon.GLB": "LImon.orogIs", + "landIce.pflw.tavg-u-hxy-lnd.day.GLB": "Eday.pflw", + "landIce.pflw.tavg-u-hxy-lnd.mon.GLB": "LImon.pflw", + "landIce.prra.tavg-u-hxy-is.mon.GLB": "LImon.prraIs", + "landIce.prsn.tavg-u-hxy-is.mon.GLB": "LImon.prsnIs", + "landIce.rlds.tavg-u-hxy-is.mon.GLB": "LImon.rldsIs", + "landIce.rlus.tavg-u-hxy-is.mon.GLB": "LImon.rlusIs", + "landIce.rsds.tavg-u-hxy-is.mon.GLB": "LImon.rsdsIs", + "landIce.rsus.tavg-u-hxy-is.mon.GLB": "LImon.rsusIs", + "landIce.sbl.tavg-u-hxy-is.mon.ATA": "ImonAnt.sbl", + "landIce.sbl.tavg-u-hxy-is.mon.GLB": "LImon.sblIs", + "landIce.sbl.tavg-u-hxy-is.mon.GRL": "ImonGre.sbl", + "landIce.sbl.tavg-u-hxy-lnd.mon.GLB": "LImon.sbl", + "landIce.sbl.tavg-u-hxy-u.day.GLB": "Eday.sbl", + "landIce.sbl.tavg-u-hxy-u.mon.GLB": "Amon.sbl", + "landIce.sbl.tpt-u-hs-u.subhr.GLB": "CFsubhr.sbl", + "landIce.sftflf.tavg-u-hxy-u.mon.GLB": "LImon.sftflf", + "landIce.sftflf.tavg-u-hxy-u.yr.ATA": "IyrAnt.sftflf", + "landIce.sftflf.tavg-u-hxy-u.yr.GRL": "IyrGre.sftflf", + "landIce.sftflf.ti-u-hxy-u.fx.GLB": "Efx.sftflf", + "landIce.sftgrf.tavg-u-hxy-u.mon.GLB": "LImon.sftgrf", + "landIce.sftgrf.tavg-u-hxy-u.yr.ATA": "IyrAnt.sftgrf", + "landIce.sftgrf.tavg-u-hxy-u.yr.GRL": "IyrGre.sftgrf", + "landIce.sftgrf.ti-u-hxy-u.fx.GLB": "Efx.sftgrf", + "landIce.snc.tavg-u-hxy-is.mon.ATA": "ImonAnt.snc", + "landIce.snc.tavg-u-hxy-is.mon.GLB": "LImon.sncIs", + "landIce.snc.tavg-u-hxy-is.mon.GRL": "ImonGre.snc", + "landIce.snc.tavg-u-hxy-is.yr.ATA": "IyrAnt.snc", + "landIce.snc.tavg-u-hxy-is.yr.GRL": "IyrGre.snc", + "landIce.snc.tavg-u-hxy-lnd.day.GLB": "day.snc", + "landIce.snc.tavg-u-hxy-lnd.mon.GLB": "LImon.snc", + "landIce.snd.tavg-u-hxy-lnd.day.GLB": "Eday.snd", + "landIce.snd.tavg-u-hxy-lnd.mon.GLB": "LImon.snd", + "landIce.snicem.tavg-u-hxy-is.mon.ATA": "ImonAnt.snicem", + "landIce.snicem.tavg-u-hxy-is.mon.GLB": "LImon.snicemIs", + "landIce.snicem.tavg-u-hxy-is.mon.GRL": "ImonGre.snicem", + "landIce.snm.tavg-u-hxy-is.mon.ATA": "ImonAnt.snm", + "landIce.snm.tavg-u-hxy-is.mon.GLB": "LImon.snmIs", + "landIce.snm.tavg-u-hxy-is.mon.GRL": "ImonGre.snm", + "landIce.snm.tavg-u-hxy-lnd.day.GLB": "Eday.snm", + "landIce.snm.tavg-u-hxy-lnd.mon.GLB": "LImon.snm", + "landIce.snrefr.tavg-u-hxy-is.mon.ATA": "ImonAnt.snicefreez", + "landIce.snrefr.tavg-u-hxy-is.mon.GLB": "LImon.snicefreezIs", + "landIce.snrefr.tavg-u-hxy-is.mon.GRL": "ImonGre.snicefreez", + "landIce.snw.tavg-u-hxy-lnd.day.GLB": "day.snw", + "landIce.snw.tavg-u-hxy-lnd.mon.GLB": "LImon.snw", + "landIce.sootsn.tavg-u-hxy-lnd.mon.GLB": "LImon.sootsn", + "landIce.strbasemag.tavg-u-hxy-is.yr.ATA": "IyrAnt.strbasemag", + "landIce.strbasemag.tavg-u-hxy-is.yr.GRL": "IyrGre.strbasemag", + "landIce.tas.tavg-u-hxy-is.mon.GLB": "LImon.tasIs", + "landIce.tendacabf.tavg-u-hm-is.yr.ATA": "IyrAnt.tendacabf", + "landIce.tendacabf.tavg-u-hm-is.yr.GRL": "IyrGre.tendacabf", + "landIce.tendlibmassbf.tavg-u-hm-is.yr.ATA": "IyrAnt.tendlibmassbf", + "landIce.tendlibmassbf.tavg-u-hm-is.yr.GRL": "IyrGre.tendlibmassbf", + "landIce.tendlicalvf.tavg-u-hm-is.yr.ATA": "IyrAnt.tendlicalvf", + "landIce.tendlicalvf.tavg-u-hm-is.yr.GRL": "IyrGre.tendlicalvf", + "landIce.topg.tavg-u-hxy-gis.yr.ATA": "IyrAnt.topg", + "landIce.topg.tavg-u-hxy-gis.yr.GRL": "IyrGre.topg", + "landIce.topg.ti-u-hxy-gis.fx.ATA": "IfxAnt.topg", + "landIce.topg.ti-u-hxy-gis.fx.GRL": "IfxGre.topg", + "landIce.tpf.tavg-u-hxy-lnd.day.GLB": "Eday.tpf", + "landIce.tpf.tavg-u-hxy-lnd.mon.GLB": "LImon.tpf", + "landIce.ts.tavg-u-hxy-is.mon.GLB": "LImon.tsIs", + "landIce.tsn.tavg-u-hxy-is.mon.ATA": "ImonAnt.tsn", + "landIce.tsn.tavg-u-hxy-is.mon.GLB": "LImon.tsnIs", + "landIce.tsn.tavg-u-hxy-is.mon.GRL": "ImonGre.tsn", + "landIce.tsn.tavg-u-hxy-lnd.day.GLB": "Eday.tsn", + "landIce.tsn.tavg-u-hxy-lnd.mon.GLB": "LImon.tsn", + "landIce.xvelbase.tavg-u-hxy-is.yr.ATA": "IyrAnt.xvelbase", + "landIce.xvelbase.tavg-u-hxy-is.yr.GRL": "IyrGre.xvelbase", + "landIce.xvelmean.tavg-u-hxy-is.yr.ATA": "IyrAnt.xvelmean", + "landIce.xvelmean.tavg-u-hxy-is.yr.GRL": "IyrGre.xvelmean", + "landIce.xvelsurf.tavg-u-hxy-is.yr.ATA": "IyrAnt.xvelsurf", + "landIce.xvelsurf.tavg-u-hxy-is.yr.GRL": "IyrGre.xvelsurf", + "landIce.yvelbase.tavg-u-hxy-is.yr.ATA": "IyrAnt.yvelbase", + "landIce.yvelbase.tavg-u-hxy-is.yr.GRL": "IyrGre.yvelbase", + "landIce.yvelmean.tavg-u-hxy-is.yr.ATA": "IyrAnt.yvelmean", + "landIce.yvelmean.tavg-u-hxy-is.yr.GRL": "IyrGre.yvelmean", + "landIce.yvelsurf.tavg-u-hxy-is.yr.ATA": "IyrAnt.yvelsurf", + "landIce.yvelsurf.tavg-u-hxy-is.yr.GRL": "IyrGre.yvelsurf", + "landIce.zvelbase.tavg-u-hxy-is.yr.ATA": "IyrAnt.zvelbase", + "landIce.zvelbase.tavg-u-hxy-is.yr.GRL": "IyrGre.zvelbase", + "landIce.zvelsurf.tavg-u-hxy-is.yr.ATA": "IyrAnt.zvelsurf", + "landIce.zvelsurf.tavg-u-hxy-is.yr.GRL": "IyrGre.zvelsurf", + "ocean.absscint.tavg-op4-hxy-sea.mon.GLB": "Omon.absscint", + "ocean.agessc.tavg-ol-hxy-sea.mon.GLB": "Omon.agessc", + "ocean.areacello.ti-u-hxy-u.fx.GLB": "Ofx.areacello", + "ocean.basin.ti-u-hxy-u.fx.GLB": "Ofx.basin", + "ocean.bigthetao.tavg-ol-hm-sea.mon.GLB": "Omon.bigthetaoga", + "ocean.bigthetao.tavg-ol-hxy-sea.dec.GLB": "Odec.bigthetao", + "ocean.bigthetao.tavg-ol-hxy-sea.mon.GLB": "Omon.bigthetao", + "ocean.bigthetao.tavg-op20bar-hxy-sea.day.GLB": "Oday.bigthetao200", + "ocean.chcint.tavg-op4-hxy-sea.mon.GLB": "Omon.chcint", + "ocean.deptho.ti-u-hxy-sea.fx.GLB": "Ofx.deptho", + "ocean.difmxybo.tavg-ol-hxy-sea.yr.GLB": "Oyr.difmxybo", + "ocean.difmxylo.tavg-ol-hxy-sea.yr.GLB": "Oyr.difmxylo", + "ocean.diftrblo.tavg-ol-hxy-sea.yr.GLB": "Oyr.diftrblo", + "ocean.diftrelo.tavg-ol-hxy-sea.yr.GLB": "Oyr.diftrelo", + "ocean.difvho.tavg-ol-hxy-sea.yr.GLB": "Oyr.difvho", + "ocean.difvso.tavg-ol-hxy-sea.yr.GLB": "Oyr.difvso", + "ocean.dispkexyfo.tavg-u-hxy-sea.yr.GLB": "Oyr.dispkexyfo", + "ocean.dxto.ti-u-hxy-u.fx.GLB": "Ofx.dxto", + "ocean.dxuo.ti-u-hxy-u.fx.GLB": "Ofx.dxuo", + "ocean.dxvo.ti-u-hxy-u.fx.GLB": "Ofx.dxvo", + "ocean.dyto.ti-u-hxy-u.fx.GLB": "Ofx.dyto", + "ocean.dyuo.ti-u-hxy-u.fx.GLB": "Ofx.dyuo", + "ocean.dyvo.ti-u-hxy-u.fx.GLB": "Ofx.dyvo", + "ocean.evspsbl.tavg-u-hxy-ifs.mon.GLB": "Omon.evs", + "ocean.ficeberg.tavg-ol-hxy-sea.3hr.GLB": "3hr.ficeberg", + "ocean.ficeberg.tavg-ol-hxy-sea.mon.GLB": "Omon.ficeberg", + "ocean.ficeberg.tavg-u-hxy-sea.mon.GLB": "Omon.ficeberg2d", + "ocean.flandice.tavg-u-hxy-sea.3hr.GLB": "3hr.flandice", + "ocean.flandice.tavg-u-hxy-sea.mon.GLB": "Emon.flandice", + "ocean.friver.tavg-u-hxy-sea.3hr.GLB": "3hr.friver", + "ocean.friver.tavg-u-hxy-sea.mon.GLB": "Omon.friver", + "ocean.hfacrossline.tavg-u-ht-sea.mon.GLB": "Omon.hfacrossline", + "ocean.hfbasin.tavg-u-hyb-sea.mon.GLB": "Omon.hfbasin", + "ocean.hfbasinpadv.tavg-u-hyb-sea.mon.GLB": "Omon.hfbasinpadv", + "ocean.hfbasinpmadv.tavg-u-hyb-sea.mon.GLB": "Omon.hfbasinpmadv", + "ocean.hfbasinpmdiff.tavg-u-hyb-sea.mon.GLB": "Omon.hfbasinpmdiff", + "ocean.hfbasinpsmadv.tavg-u-hyb-sea.mon.GLB": "Omon.hfbasinpsmadv", + "ocean.hfds.tavg-u-hxy-sea.3hr.GLB": "3hr.hfds", + "ocean.hfds.tavg-u-hxy-sea.mon.30S-90S": "Omon.hfdsSouth30", + "ocean.hfds.tavg-u-hxy-sea.mon.GLB": "Omon.hfds", + "ocean.hfevapds.tavg-u-hxy-ifs.mon.GLB": "Omon.hfevapds", + "ocean.hfgeou.tavg-u-hxy-sea.mon.GLB": "Omon.hfgeou", + "ocean.hfgeou.ti-u-hxy-sea.fx.GLB": "Ofx.hfgeou", + "ocean.hfibthermds.tavg-ol-hxy-sea.mon.GLB": "Omon.hfibthermds", + "ocean.hfibthermds.tavg-u-hxy-sea.mon.GLB": "Omon.hfibthermds2d", + "ocean.hfrainds.tavg-u-hxy-ifs.mon.GLB": "Omon.hfrainds", + "ocean.hfrunoffds.tavg-ol-hxy-sea.3hr.GLB": "3hr.hfrunoffds", + "ocean.hfrunoffds.tavg-ol-hxy-sea.mon.GLB": "Omon.hfrunoffds", + "ocean.hfrunoffds.tavg-u-hxy-sea.mon.GLB": "Omon.hfrunoffds2d", + "ocean.hfsnthermds.tavg-ol-hxy-sea.mon.GLB": "Omon.hfsnthermds", + "ocean.hfsnthermds.tavg-u-hxy-sea.mon.GLB": "Omon.hfsnthermds2d", + "ocean.hfx.tavg-ol-hxy-sea.mon.GLB": "Omon.hfx", + "ocean.hfx.tavg-u-hxy-sea.day.GLB": "Oday.hfxint", + "ocean.hfx.tavg-u-hxy-sea.mon.GLB": "Omon.hfxint", + "ocean.hfy.tavg-ol-hxy-sea.mon.GLB": "Omon.hfy", + "ocean.hfy.tavg-u-hxy-sea.day.GLB": "Oday.hfyint", + "ocean.hfy.tavg-u-hxy-sea.mon.GLB": "Omon.hfyint", + "ocean.htovgyre.tavg-u-hyb-sea.mon.GLB": "Omon.htovgyre", + "ocean.htovovrt.tavg-u-hyb-sea.mon.GLB": "Omon.htovovrt", + "ocean.masscello.tavg-ol-hxy-sea.dec.GLB": "Odec.masscello", + "ocean.masscello.tavg-ol-hxy-sea.mon.GLB": "Omon.masscello", + "ocean.masscello.ti-ol-hxy-sea.fx.GLB": "Ofx.masscello", + "ocean.masso.tavg-u-hm-sea.dec.GLB": "Odec.masso", + "ocean.masso.tavg-u-hm-sea.mon.GLB": "Omon.masso", + "ocean.mfo.tavg-u-ht-sea.mon.GLB": "Omon.mfo", + "ocean.mlotst.tavg-u-hxy-sea.day.GLB": "Eday.mlotst", + "ocean.mlotst.tavg-u-hxy-sea.mon.30S-90S": "Omon.mlotstSouth30", + "ocean.mlotst.tavg-u-hxy-sea.mon.GLB": "Omon.mlotst", + "ocean.mlotst.tmax-u-hxy-sea.mon.GLB": "Omon.mlotstmax", + "ocean.mlotst.tmin-u-hxy-sea.mon.GLB": "Omon.mlotstmin", + "ocean.mlotstsq.tavg-u-hxy-sea.mon.GLB": "Omon.mlotstsq", + "ocean.mpw.tavg-u-hxy-sea.mon.GLB": "Omon.mpw", + "ocean.mpw.tpt-u-hxy-sea.3hr.GLB": "3hrPt.mpw", + "ocean.mpwswell.tavg-u-hxy-sea.mon.GLB": "Omon.mpwswell", + "ocean.mpwswell.tpt-u-hxy-sea.3hr.GLB": "3hrPt.mpwswell", + "ocean.mpwwindsea.tavg-u-hxy-sea.mon.GLB": "Omon.mpwwindsea", + "ocean.mpwwindsea.tpt-u-hxy-sea.3hr.GLB": "3hrPt.mpwwindsea", + "ocean.msftbarot.tavg-u-hxy-sea.mon.GLB": "Omon.msftbarot", + "ocean.msftm.tavg-ol-hyb-sea.mon.GLB": "Omon.msftmz", + "ocean.msftm.tavg-rho-hyb-sea.mon.GLB": "Omon.msftmrho", + "ocean.msftmmpa.tavg-ol-hyb-sea.mon.GLB": "Omon.msftmzmpa", + "ocean.msftmmpa.tavg-rho-hyb-sea.mon.GLB": "Omon.msftmrhompa", + "ocean.msftmsmpa.tavg-ol-hyb-sea.mon.GLB": "Omon.msftmzsmpa", + "ocean.msfty.tavg-ol-ht-sea.mon.GLB": "Omon.msftyz", + "ocean.msfty.tavg-rho-ht-sea.mon.GLB": "Omon.msftyrho", + "ocean.msftypa.tavg-ol-ht-sea.mon.GLB": "Omon.msftyzmpa", + "ocean.msftypa.tavg-rho-ht-sea.mon.GLB": "Omon.msftyrhompa", + "ocean.obvfsq.tavg-ol-hxy-sea.mon.GLB": "Omon.obvfsq", + "ocean.ocontempdiff.tavg-ol-hxy-sea.yr.GLB": "Oyr.ocontempdiff", + "ocean.ocontempmint.tavg-u-hxy-sea.yr.GLB": "Oyr.ocontempmint", + "ocean.ocontemppadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.ocontemppadvect", + "ocean.ocontemppmdiff.tavg-ol-hxy-sea.yr.GLB": "Oyr.ocontemppmdiff", + "ocean.ocontemppsmadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.ocontemppsmadvect", + "ocean.ocontemprmadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.ocontemprmadvect", + "ocean.ocontemptend.tavg-ol-hxy-sea.yr.GLB": "Oyr.ocontemptend", + "ocean.opottempdiff.tavg-ol-hxy-sea.yr.GLB": "Oyr.opottempdiff", + "ocean.opottempmint.tavg-u-hxy-sea.yr.GLB": "Oyr.opottempmint", + "ocean.opottemppadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.opottemppadvect", + "ocean.opottemppmdiff.tavg-ol-hxy-sea.yr.GLB": "Oyr.opottemppmdiff", + "ocean.opottemppsmadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.opottemppsmadvect", + "ocean.opottemprmadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.opottemprmadvect", + "ocean.opottemptend.tavg-ol-hxy-sea.dec.GLB": "Odec.opottemptend", + "ocean.opottemptend.tavg-ol-hxy-sea.yr.GLB": "Oyr.opottemptend", + "ocean.osaltdiff.tavg-ol-hxy-sea.yr.GLB": "Oyr.osaltdiff", + "ocean.osaltpadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.osaltpadvect", + "ocean.osaltpmdiff.tavg-ol-hxy-sea.yr.GLB": "Oyr.osaltpmdiff", + "ocean.osaltpsmadvect.tavg-ol-hxy-sea.mon.GLB": "Emon.osaltpsmadvect", + "ocean.osaltpsmadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.osaltpsmadvect", + "ocean.osaltrmadvect.tavg-ol-hxy-sea.yr.GLB": "Oyr.osaltrmadvect", + "ocean.osalttend.tavg-ol-hxy-sea.yr.GLB": "Oyr.osalttend", + "ocean.pbo.tavg-u-hxy-sea.mon.GLB": "Omon.pbo", + "ocean.pfscint.tavg-op4-hxy-sea.mon.GLB": "Omon.pfscint", + "ocean.phcint.tavg-op4-hxy-sea.mon.GLB": "Omon.phcint", + "ocean.pso.tavg-u-hxy-sea.mon.GLB": "Omon.pso", + "ocean.rsdo.tavg-ol-hxy-sea.day.GLB": "Oday.rsdo", + "ocean.rsdoabsorb.tavg-ol-hxy-sea.yr.GLB": "Oyr.rsdoabsorb", + "ocean.rsds.tavg-u-hxy-ifs.mon.GLB": "Emon.rsdsoni", + "ocean.rsntds.tavg-u-hxy-sea.3hr.GLB": "3hr.rsntds", + "ocean.rsus.tavg-u-hxy-ifs.mon.GLB": "Emon.rsusoni", + "ocean.scint.tavg-op4-hxy-sea.mon.GLB": "Omon.scint", + "ocean.sduo.tavg-u-hxy-sea.mon.GLB": "Omon.sduo", + "ocean.sduo.tpt-u-hxy-sea.3hr.GLB": "3hrPt.sduo", + "ocean.sdvo.tavg-u-hxy-sea.mon.GLB": "Omon.sdvo", + "ocean.sdvo.tpt-u-hxy-sea.3hr.GLB": "3hrPt.sdvo", + "ocean.sf6.tavg-ol-hxy-sea.mon.GLB": "Omon.sf6", + "ocean.sfacrossline.tavg-u-ht-sea.mon.GLB": "Omon.sfacrossline", + "ocean.sfdsi.tavg-u-hxy-sea.3hr.GLB": "3hr.sfdsi", + "ocean.sfdsi.tavg-u-hxy-sea.mon.GLB": "Omon.sfdsi", + "ocean.sfriver.tavg-u-hxy-sea.mon.GLB": "Omon.sfriver", + "ocean.sftof.ti-u-hxy-u.fx.GLB": "Ofx.sftof", + "ocean.sfx.tavg-ol-hxy-sea.mon.GLB": "Omon.sfx", + "ocean.sfx.tavg-u-hxy-sea.mon.GLB": "Omon.sfxint", + "ocean.sfy.tavg-ol-hxy-sea.mon.GLB": "Omon.sfy", + "ocean.sfy.tavg-u-hxy-sea.mon.GLB": "Omon.sfyint", + "ocean.siflfwbot.tavg-u-hxy-sea.mon.GLB": "Omon.fsitherm", + "ocean.sltbasin.tavg-u-hyb-sea.mon.GLB": "Omon.sltbasin", + "ocean.sltovgyre.tavg-u-hyb-sea.mon.GLB": "Omon.sltovgyre", + "ocean.sltovovrt.tavg-u-hyb-sea.mon.GLB": "Omon.sltovovrt", + "ocean.so.tavg-ol-hm-sea.mon.GLB": "Omon.soga", + "ocean.so.tavg-ol-hxy-sea.day.GLB": "Oday.so", + "ocean.so.tavg-ol-hxy-sea.dec.GLB": "Odec.so", + "ocean.so.tavg-ol-hxy-sea.mon.30S-90S": "Omon.soSouth30", + "ocean.so.tavg-ol-hxy-sea.mon.GLB": "Omon.so", + "ocean.sob.tavg-u-hxy-sea.mon.GLB": "Omon.sob", + "ocean.somint.tavg-u-hxy-sea.yr.GLB": "Oyr.somint", + "ocean.sos.tavg-u-hm-sea.mon.30S-90S": "Omon.sosgaSouth30", + "ocean.sos.tavg-u-hm-sea.mon.GLB": "Omon.sosga", + "ocean.sos.tavg-u-hxy-sea.day.GLB": "Oday.sos", + "ocean.sos.tavg-u-hxy-sea.mon.GLB": "Omon.sos", + "ocean.sossq.tavg-u-hxy-sea.mon.GLB": "Omon.sossq", + "ocean.sw17O.tavg-ol-hxy-sea.mon.GLB": "Emon.sw17O", + "ocean.sw18O.tavg-ol-hxy-sea.mon.GLB": "Emon.sw18O", + "ocean.sw2H.tavg-ol-hxy-sea.mon.GLB": "Emon.sw2H", + "ocean.swh.tavg-u-hxy-sea.mon.GLB": "Omon.swh", + "ocean.swh.tpt-u-hxy-sea.3hr.GLB": "3hrPt.swh", + "ocean.swhmax.tmax-u-hxy-sea.mon.GLB": "Omon.swhmax", + "ocean.swhmax.tpt-u-hxy-sea.3hr.GLB": "3hrPt.swhmax", + "ocean.swhswell.tavg-u-hxy-sea.mon.GLB": "Omon.swhswell", + "ocean.swhswell.tpt-u-hxy-sea.3hr.GLB": "3hrPt.swhswell", + "ocean.swhwindsea.tavg-u-hxy-sea.mon.GLB": "Omon.swhwindsea", + "ocean.swhwindsea.tpt-u-hxy-sea.3hr.GLB": "3hrPt.swhwindsea", + "ocean.t17d.tavg-u-hxy-sea.mon.GLB": "Emon.t17d", + "ocean.t20d.tavg-u-hxy-sea.day.GLB": "Eday.t20d", + "ocean.t20d.tavg-u-hxy-sea.mon.GLB": "Emon.t20d", + "ocean.tauuo.tavg-u-hxy-sea.3hr.GLB": "3hr.tauuo", + "ocean.tauuo.tavg-u-hxy-sea.dec.GLB": "Odec.tauuo", + "ocean.tauuo.tavg-u-hxy-sea.mon.GLB": "Omon.tauuo", + "ocean.tauvo.tavg-u-hxy-sea.3hr.GLB": "3hr.tauvo", + "ocean.tauvo.tavg-u-hxy-sea.dec.GLB": "Odec.tauvo", + "ocean.tauvo.tavg-u-hxy-sea.mon.GLB": "Omon.tauvo", + "ocean.thetao.tavg-d2000m-hxy-sea.mon.GLB": "Emon.thetaot2000", + "ocean.thetao.tavg-d300m-hxy-sea.mon.GLB": "Emon.thetaot300", + "ocean.thetao.tavg-d700m-hxy-sea.mon.GLB": "Emon.thetaot700", + "ocean.thetao.tavg-ol-hm-sea.mon.GLB": "Omon.thetaoga", + "ocean.thetao.tavg-ol-hxy-sea.dec.GLB": "Odec.thetao", + "ocean.thetao.tavg-ol-hxy-sea.mon.30S-90S": "Omon.thetaoSouth30", + "ocean.thetao.tavg-ol-hxy-sea.mon.GLB": "Omon.thetao", + "ocean.thetao.tavg-op20bar-hxy-sea.day.GLB": "Oday.thetao200", + "ocean.thetaot.tavg-u-hxy-sea.mon.GLB": "Emon.thetaot", + "ocean.thkcello.tavg-ol-hxy-sea.dec.GLB": "Odec.thkcello", + "ocean.thkcello.tavg-ol-hxy-sea.mon.GLB": "Omon.thkcello", + "ocean.thkcello.ti-ol-hxy-sea.fx.GLB": "Ofx.thkcello", + "ocean.thkcelluo.tavg-ol-hxy-sea.mon.GLB": "Omon.thkcelluo", + "ocean.thkcellvo.tavg-ol-hxy-sea.mon.GLB": "Omon.thkcellvo", + "ocean.tnkebto.tavg-u-hxy-sea.yr.GLB": "Oyr.tnkebto", + "ocean.tnpeo.tavg-u-hxy-sea.yr.GLB": "Oyr.tnpeo", + "ocean.tob.tavg-u-hxy-sea.mon.GLB": "Omon.tob", + "ocean.tos.tavg-u-hm-sea.mon.GLB": "Omon.tosga", + "ocean.tos.tavg-u-hxy-sea.day.GLB": "Oday.tos", + "ocean.tos.tavg-u-hxy-sea.mon.30S-90S": "Omon.tosSouth30", + "ocean.tos.tavg-u-hxy-sea.mon.GLB": "Omon.tos", + "ocean.tos.tpt-u-hxy-sea.3hr.GLB": "3hr.tos", + "ocean.tossq.tavg-u-hxy-sea.day.GLB": "Oday.tossq", + "ocean.tossq.tavg-u-hxy-sea.mon.GLB": "Omon.tossq", + "ocean.umo.tavg-ol-hxy-sea.mon.30S-90S": "Omon.umoSouth30", + "ocean.umo.tavg-ol-hxy-sea.mon.GLB": "Omon.umo", + "ocean.uo.tavg-ol-hxy-sea.mon.30S-90S": "Omon.uoSouth30", + "ocean.uo.tavg-ol-hxy-sea.mon.GLB": "Omon.uo", + "ocean.uos.tavg-u-hxy-sea.day.GLB": "Oday.uos", + "ocean.vmo.tavg-ol-hxy-sea.mon.30S-90S": "Omon.vmoSouth30", + "ocean.vmo.tavg-ol-hxy-sea.mon.GLB": "Omon.vmo", + "ocean.vo.tavg-ol-hxy-sea.mon.30S-90S": "Omon.voSouth30", + "ocean.vo.tavg-ol-hxy-sea.mon.GLB": "Omon.vo", + "ocean.volcello.tavg-ol-hxy-sea.dec.GLB": "Odec.volcello", + "ocean.volcello.tavg-ol-hxy-sea.mon.GLB": "Omon.volcello", + "ocean.volcello.tavg-ol-hxy-sea.yr.GLB": "Oyr.volcello", + "ocean.volcello.ti-ol-hxy-sea.fx.GLB": "Ofx.volcello", + "ocean.volo.tavg-u-hm-sea.dec.GLB": "Odec.volo", + "ocean.volo.tavg-u-hm-sea.mon.GLB": "Omon.volo", + "ocean.vos.tavg-u-hxy-sea.day.GLB": "Oday.vos", + "ocean.vsf.tavg-u-hxy-sea.mon.GLB": "Omon.vsf", + "ocean.vsfcorr.tavg-u-hxy-sea.mon.GLB": "Omon.vsfcorr", + "ocean.vsfevap.tavg-u-hxy-sea.mon.GLB": "Omon.vsfevap", + "ocean.vsfpr.tavg-u-hxy-sea.mon.GLB": "Omon.vsfpr", + "ocean.vsfriver.tavg-u-hxy-sea.mon.GLB": "Omon.vsfriver", + "ocean.vsfsit.tavg-u-hxy-sea.mon.GLB": "Omon.vsfsit", + "ocean.wdir.tavg-u-hxy-sea.mon.GLB": "Omon.wdir", + "ocean.wdir.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wdir", + "ocean.wdirswell.tavg-u-hxy-sea.mon.GLB": "Omon.wdirswell", + "ocean.wdirswell.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wdirswell", + "ocean.wdirwindsea.tavg-u-hxy-sea.mon.GLB": "Omon.wdirwindsea", + "ocean.wdirwindsea.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wdirwindsea", + "ocean.wfcorr.tavg-u-hxy-sea.mon.GLB": "Omon.wfcorr", + "ocean.wfo.tavg-u-hxy-sea.3hr.GLB": "3hr.wfo", + "ocean.wfo.tavg-u-hxy-sea.mon.GLB": "Omon.wfo", + "ocean.wmo.tavg-ol-hxy-sea.mon.30S-90S": "Omon.wmoSouth30", + "ocean.wmo.tavg-ol-hxy-sea.mon.GLB": "Omon.wmo", + "ocean.wo.tavg-ol-hxy-sea.day.GLB": "Oday.wo", + "ocean.wo.tavg-ol-hxy-sea.mon.30S-90S": "Omon.woSouth30", + "ocean.wo.tavg-ol-hxy-sea.mon.GLB": "Omon.wo", + "ocean.wpdir.tavg-u-hxy-sea.mon.GLB": "Omon.wpdir", + "ocean.wpdir.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wpdir", + "ocean.wpdirswell.tavg-u-hxy-sea.mon.GLB": "Omon.wpdirswell", + "ocean.wpdirswell.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wpdirswell", + "ocean.wpdirwindsea.tavg-u-hxy-sea.mon.GLB": "Omon.wpdirwindsea", + "ocean.wpdirwindsea.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wpdirwindsea", + "ocean.wpp.tavg-u-hxy-sea.mon.GLB": "Omon.wpp", + "ocean.wpp.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wpp", + "ocean.wppswell.tavg-u-hxy-sea.mon.GLB": "Omon.wppswell", + "ocean.wppswell.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wppswell", + "ocean.wppwindsea.tavg-u-hxy-sea.mon.GLB": "Omon.wppwindsea", + "ocean.wppwindsea.tpt-u-hxy-sea.3hr.GLB": "3hrPt.wppwindsea", + "ocean.zfullo.tavg-ol-hxy-sea.yr.GLB": "Eyr.zfullo", + "ocean.zos.tavg-u-hxy-sea.day.GLB": "Oday.zos", + "ocean.zos.tavg-u-hxy-sea.mon.30S-90S": "Omon.zosSouth30", + "ocean.zos.tavg-u-hxy-sea.mon.GLB": "Omon.zos", + "ocean.zossq.tavg-u-hxy-sea.mon.GLB": "Omon.zossq", + "ocean.zostoga.tavg-u-hm-sea.day.GLB": "Oday.zostoga", + "ocean.zostoga.tavg-u-hm-sea.mon.GLB": "Omon.zostoga", + "ocnBgchem.arag.tavg-d0m-hxy-sea.mon.GLB": "Omon.aragos", + "ocnBgchem.arag.tavg-ol-hxy-sea.mon.GLB": "Omon.arag", + "ocnBgchem.bacc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.baccos", + "ocnBgchem.calc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.calcosSouth30", + "ocnBgchem.calc.tavg-d0m-hxy-sea.mon.GLB": "Omon.calcos", + "ocnBgchem.calc.tavg-ol-hxy-sea.mon.GLB": "Omon.calc", + "ocnBgchem.chl.tavg-d0m-hxy-sea.day.GLB": "Oday.chlos", + "ocnBgchem.chl.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.chlosSouth30", + "ocnBgchem.chl.tavg-d0m-hxy-sea.mon.GLB": "Omon.chlos", + "ocnBgchem.chl.tavg-ol-hxy-sea.mon.GLB": "Omon.chl", + "ocnBgchem.chl.tavg-op20bar-hxy-sea.day.GLB": "Oday.chl200", + "ocnBgchem.chlcalc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.chlcalcos", + "ocnBgchem.chlcalc.tavg-ol-hxy-sea.mon.GLB": "Omon.chlcalc", + "ocnBgchem.chldiat.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.chldiatos", + "ocnBgchem.chldiat.tavg-ol-hxy-sea.mon.GLB": "Omon.chldiat", + "ocnBgchem.chldiaz.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.chldiazos", + "ocnBgchem.chldiaz.tavg-ol-hxy-sea.mon.GLB": "Omon.chldiaz", + "ocnBgchem.chlmisc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.chlmiscos", + "ocnBgchem.chlmisc.tavg-ol-hxy-sea.mon.GLB": "Omon.chlmisc", + "ocnBgchem.chlpico.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.chlpicoos", + "ocnBgchem.chlpico.tavg-ol-hxy-sea.mon.GLB": "Omon.chlpico", + "ocnBgchem.co3.tavg-d0m-hxy-sea.day.GLB": "Oday.co3os", + "ocnBgchem.co3.tavg-op20bar-hxy-sea.day.GLB": "Oday.co3200", + "ocnBgchem.co3satarag.tavg-d0m-hxy-sea.day.GLB": "Oday.co3sataragos", + "ocnBgchem.co3satarag.tavg-op20bar-hxy-sea.day.GLB": "Oday.co3satarag200", + "ocnBgchem.detoc.tavg-ol-hxy-sea.day.GLB": "Oday.detoc", + "ocnBgchem.detoc.tavg-ol-hxy-sea.mon.GLB": "Omon.detoc", + "ocnBgchem.dfe.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.dfeosSouth30", + "ocnBgchem.dfe.tavg-d0m-hxy-sea.mon.GLB": "Omon.dfeos", + "ocnBgchem.dfe.tavg-ol-hxy-sea.mon.GLB": "Omon.dfe", + "ocnBgchem.dissi13c.tavg-d0m-hxy-sea.mon.GLB": "Omon.dissi13cos", + "ocnBgchem.dissi13c.tavg-ol-hxy-sea.mon.GLB": "Omon.dissi13c", + "ocnBgchem.dissi14c.tavg-ol-hxy-sea.mon.GLB": "Emon.dissi14c", + "ocnBgchem.dissi14cabio.tavg-d0m-hxy-sea.mon.GLB": "Omon.dissi14cabioos", + "ocnBgchem.dissi14cabio.tavg-ol-hxy-sea.mon.GLB": "Omon.dissi14cabio", + "ocnBgchem.dissic.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.dissicos", + "ocnBgchem.dissic.tavg-ol-hxy-sea.mon.GLB": "Omon.dissic", + "ocnBgchem.dissoc.tavg-ol-hxy-sea.day.GLB": "Oday.dissoc", + "ocnBgchem.dissoc.tavg-ol-hxy-sea.mon.GLB": "Omon.dissoc", + "ocnBgchem.dmso.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.dmsosSouth30", + "ocnBgchem.dmso.tavg-d0m-hxy-sea.mon.GLB": "Omon.dmsos", + "ocnBgchem.dmso.tavg-ol-hxy-sea.mon.GLB": "Omon.dmso", + "ocnBgchem.dpco2.tavg-u-hxy-sea.mon.GLB": "Omon.dpco2", + "ocnBgchem.dpo2.tavg-u-hxy-sea.mon.GLB": "Omon.dpo2", + "ocnBgchem.epn.tavg-d100m-hxy-sea.mon.GLB": "Omon.epn100", + "ocnBgchem.epp.tavg-d100m-hxy-sea.mon.GLB": "Omon.epp100", + "ocnBgchem.epsi.tavg-d100m-hxy-sea.mon.GLB": "Omon.epsi100", + "ocnBgchem.exparagob.tavg-u-hxy-sea.mon.GLB": "Omon.exparagob", + "ocnBgchem.expc.tavg-d1000m-hxy-sea.mon.GLB": "Omon.epc1000", + "ocnBgchem.expc.tavg-d100m-hxy-sea.mon.GLB": "Omon.epc100", + "ocnBgchem.expc.tavg-ol-hxy-sea.mon.GLB": "Omon.expc", + "ocnBgchem.expcalc.tavg-d1000m-hxy-sea.mon.GLB": "Omon.epcalc1000", + "ocnBgchem.expcalc.tavg-d100m-hxy-sea.mon.GLB": "Omon.epcalc100", + "ocnBgchem.expcalc.tavg-ol-hxy-sea.mon.GLB": "Emon.expcalc", + "ocnBgchem.expcalcob.tavg-u-hxy-sea.mon.GLB": "Omon.expcalcob", + "ocnBgchem.expcob.tavg-u-hxy-sea.day.GLB": "Oday.expcob", + "ocnBgchem.expcob.tavg-u-hxy-sea.mon.GLB": "Omon.expcob", + "ocnBgchem.expfeob.tavg-u-hxy-sea.mon.GLB": "Omon.expfeob", + "ocnBgchem.expnob.tavg-u-hxy-sea.mon.GLB": "Omon.expnob", + "ocnBgchem.exppob.tavg-u-hxy-sea.mon.GLB": "Omon.exppob", + "ocnBgchem.expsiob.tavg-u-hxy-sea.mon.GLB": "Omon.expsiob", + "ocnBgchem.fg13co2.tavg-u-hxy-sea.mon.GLB": "Omon.fg13co2", + "ocnBgchem.fg14co2abio.tavg-u-hxy-sea.mon.GLB": "Omon.fg14co2abio", + "ocnBgchem.fgco2.tavg-u-hxy-sea.mon.GLB": "Omon.fgco2", + "ocnBgchem.fgdms.tavg-u-hxy-sea.mon.GLB": "Omon.fgdms", + "ocnBgchem.frfe.tavg-u-hxy-sea.mon.GLB": "Omon.frfe", + "ocnBgchem.fric.tavg-u-hxy-sea.mon.GLB": "Omon.fric", + "ocnBgchem.frn.tavg-u-hxy-sea.mon.GLB": "Omon.frn", + "ocnBgchem.froc.tavg-u-hxy-sea.mon.GLB": "Omon.froc", + "ocnBgchem.fsfe.tavg-u-hxy-sea.mon.GLB": "Omon.fsfe", + "ocnBgchem.fsn.tavg-u-hxy-sea.mon.GLB": "Omon.fsn", + "ocnBgchem.graz.tavg-ol-hxy-sea.mon.30S-90S": "Omon.grazSouth30", + "ocnBgchem.graz.tavg-ol-hxy-sea.mon.GLB": "Omon.graz", + "ocnBgchem.icfriver.tavg-u-hxy-sea.mon.GLB": "Omon.icfriver", + "ocnBgchem.intdic.tavg-u-hxy-sea.mon.30S-90S": "Omon.intdic", + "ocnBgchem.intdoc.tavg-u-hxy-sea.mon.30S-90S": "Omon.intdoc", + "ocnBgchem.intparag.tavg-u-hxy-sea.mon.30S-90S": "Omon.intparag", + "ocnBgchem.intpbfe.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpbfe", + "ocnBgchem.intpbn.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpbn", + "ocnBgchem.intpbp.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpbp", + "ocnBgchem.intpbsi.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpbsi", + "ocnBgchem.intpcalcite.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpcalcite", + "ocnBgchem.intpn2.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpn2", + "ocnBgchem.intpoc.tavg-u-hxy-sea.day.GLB": "Oday.intpoc", + "ocnBgchem.intpoc.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpoc", + "ocnBgchem.intpp.tavg-u-hxy-sea.day.GLB": "Oday.intpp", + "ocnBgchem.intpp.tavg-u-hxy-sea.mon.30S-90S": "Omon.intppSouth30", + "ocnBgchem.intpp.tavg-u-hxy-sea.mon.GLB": "Omon.intpp", + "ocnBgchem.intppcalc.tavg-u-hxy-sea.mon.30S-90S": "Omon.intppcalcSouth30", + "ocnBgchem.intppcalc.tavg-u-hxy-sea.mon.GLB": "Omon.intppcalc", + "ocnBgchem.intppdiat.tavg-u-hxy-sea.mon.30S-90S": "Omon.intppdiatSouth30", + "ocnBgchem.intppdiat.tavg-u-hxy-sea.mon.GLB": "Omon.intppdiat", + "ocnBgchem.intppdiaz.tavg-u-hxy-sea.mon.30S-90S": "Omon.intppdiazSouth30", + "ocnBgchem.intppdiaz.tavg-u-hxy-sea.mon.GLB": "Omon.intppdiaz", + "ocnBgchem.intppmisc.tavg-u-hxy-sea.mon.30S-90S": "Omon.intppmiscSouth30", + "ocnBgchem.intppmisc.tavg-u-hxy-sea.mon.GLB": "Omon.intppmisc", + "ocnBgchem.intppnano.tavg-u-hxy-sea.mon.GLB": "Omon.intppnano", + "ocnBgchem.intppnitrate.tavg-u-hxy-sea.mon.30S-90S": "Omon.intppnitrateSouth30", + "ocnBgchem.intppnitrate.tavg-u-hxy-sea.mon.GLB": "Omon.intppnitrate", + "ocnBgchem.intpppico.tavg-u-hxy-sea.mon.30S-90S": "Omon.intpppicoSouth30", + "ocnBgchem.intpppico.tavg-u-hxy-sea.mon.GLB": "Omon.intpppico", + "ocnBgchem.limfecalc.tavg-u-hxy-sea.mon.GLB": "Omon.limfecalc", + "ocnBgchem.limfediat.tavg-u-hxy-sea.mon.GLB": "Omon.limfediat", + "ocnBgchem.limfediaz.tavg-u-hxy-sea.mon.GLB": "Omon.limfediaz", + "ocnBgchem.limfemisc.tavg-u-hxy-sea.mon.GLB": "Omon.limfemisc", + "ocnBgchem.limfepico.tavg-u-hxy-sea.mon.GLB": "Omon.limfepico", + "ocnBgchem.limirrcalc.tavg-u-hxy-sea.mon.GLB": "Omon.limirrcalc", + "ocnBgchem.limirrdiat.tavg-u-hxy-sea.mon.GLB": "Omon.limirrdiat", + "ocnBgchem.limirrdiaz.tavg-u-hxy-sea.mon.GLB": "Omon.limirrdiaz", + "ocnBgchem.limirrmisc.tavg-u-hxy-sea.mon.GLB": "Omon.limirrmisc", + "ocnBgchem.limirrpico.tavg-u-hxy-sea.mon.GLB": "Omon.limirrpico", + "ocnBgchem.limncalc.tavg-u-hxy-sea.mon.GLB": "Omon.limncalc", + "ocnBgchem.limndiat.tavg-u-hxy-sea.mon.GLB": "Omon.limndiat", + "ocnBgchem.limndiaz.tavg-u-hxy-sea.mon.GLB": "Omon.limndiaz", + "ocnBgchem.limnmisc.tavg-u-hxy-sea.mon.GLB": "Omon.limnmisc", + "ocnBgchem.limnpico.tavg-u-hxy-sea.mon.GLB": "Omon.limnpico", + "ocnBgchem.nh4.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.nh4os", + "ocnBgchem.nh4.tavg-ol-hxy-sea.mon.GLB": "Omon.nh4", + "ocnBgchem.no3.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.no3osSouth30", + "ocnBgchem.no3.tavg-d0m-hxy-sea.mon.GLB": "Omon.no3os", + "ocnBgchem.no3.tavg-ol-hxy-sea.mon.GLB": "Omon.no3", + "ocnBgchem.o2.tavg-d0m-hxy-sea.day.GLB": "Oday.o2os", + "ocnBgchem.o2.tavg-d0m-hxy-sea.mon.GLB": "Omon.o2os", + "ocnBgchem.o2.tavg-ol-hxy-sea.mon.GLB": "Omon.o2", + "ocnBgchem.o2.tavg-op20bar-hxy-sea.day.GLB": "Oday.o2200", + "ocnBgchem.o2min.tavg-u-hxy-sea.day.GLB": "Oday.o2min", + "ocnBgchem.o2sat.tavg-ol-hxy-sea.mon.GLB": "Omon.o2sat", + "ocnBgchem.ocfriver.tavg-u-hxy-sea.mon.GLB": "Omon.ocfriver", + "ocnBgchem.ph.tavg-d0m-hxy-sea.day.GLB": "Oday.phos", + "ocnBgchem.ph.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.phos", + "ocnBgchem.ph.tavg-ol-hxy-sea.mon.GLB": "Omon.ph", + "ocnBgchem.ph.tavg-op20bar-hxy-sea.day.GLB": "Oday.ph200", + "ocnBgchem.phyc.tavg-d0m-hxy-sea.day.GLB": "Oday.phycos", + "ocnBgchem.phyc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.phycosSouth30", + "ocnBgchem.phyc.tavg-d0m-hxy-sea.mon.GLB": "Omon.phycos", + "ocnBgchem.phyc.tavg-ol-hxy-sea.mon.GLB": "Omon.phyc", + "ocnBgchem.phyc.tavg-op20bar-hxy-sea.day.GLB": "Oday.phyc200", + "ocnBgchem.phycalc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.phycalcos", + "ocnBgchem.phycalc.tavg-ol-hxy-sea.day.GLB": "Oday.phycalc", + "ocnBgchem.phycalc.tavg-ol-hxy-sea.mon.GLB": "Omon.phycalc", + "ocnBgchem.phydiat.tavg-d0m-hxy-sea.day.GLB": "Oday.phydiatos", + "ocnBgchem.phydiat.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.phydiatos", + "ocnBgchem.phydiat.tavg-ol-hxy-sea.mon.GLB": "Omon.phydiat", + "ocnBgchem.phydiaz.tavg-d0m-hxy-sea.day.GLB": "Oday.phydiazos", + "ocnBgchem.phydiaz.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.phydiazos", + "ocnBgchem.phydiaz.tavg-ol-hxy-sea.mon.GLB": "Omon.phydiaz", + "ocnBgchem.phymisc.tavg-d0m-hxy-sea.day.GLB": "Oday.phymiscos", + "ocnBgchem.phymisc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.phymiscos", + "ocnBgchem.phymisc.tavg-ol-hxy-sea.mon.GLB": "Omon.phymisc", + "ocnBgchem.phynano.tavg-u-hxy-sea.day.GLB": "Oday.phynano", + "ocnBgchem.phypico.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.phypicoos", + "ocnBgchem.phypico.tavg-ol-hxy-sea.day.GLB": "Oday.phypico", + "ocnBgchem.phypico.tavg-ol-hxy-sea.mon.GLB": "Omon.phypico", + "ocnBgchem.po4.tavg-ol-hxy-sea.mon.GLB": "Omon.po4", + "ocnBgchem.pp.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.pposSouth30", + "ocnBgchem.pp.tavg-d0m-hxy-sea.mon.GLB": "Omon.ppos", + "ocnBgchem.pp.tavg-ol-hxy-sea.mon.GLB": "Omon.pp", + "ocnBgchem.si.tavg-d0m-hxy-sea.mon.GLB": "Omon.sios", + "ocnBgchem.si.tavg-ol-hxy-sea.mon.GLB": "Omon.si", + "ocnBgchem.sialgc.tavg-u-hxy-si.mon.GLB": "SImon.sialgc", + "ocnBgchem.sichl.tavg-u-hxy-si.mon.GLB": "SImon.sichl", + "ocnBgchem.sigpp.tavg-u-hxy-si.mon.GLB": "SImon.sigpp", + "ocnBgchem.sino3.tavg-u-hxy-si.mon.GLB": "SImon.sino3", + "ocnBgchem.sisi.tavg-u-hxy-si.mon.GLB": "SImon.sisi", + "ocnBgchem.spco2.tavg-u-hxy-sea.mon.30S-90S": "Omon.spco2South30", + "ocnBgchem.spco2.tavg-u-hxy-sea.mon.GLB": "Omon.spco2", + "ocnBgchem.talk.tavg-ol-hxy-sea.mon.GLB": "Omon.talk", + "ocnBgchem.zmeso.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.zmesoos", + "ocnBgchem.zmeso.tavg-ol-hxy-sea.day.GLB": "Oday.zmeso", + "ocnBgchem.zmeso.tavg-ol-hxy-sea.mon.GLB": "Omon.zmeso", + "ocnBgchem.zmicro.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.zmicroos", + "ocnBgchem.zmicro.tavg-ol-hxy-sea.day.GLB": "Oday.zmicro", + "ocnBgchem.zmicro.tavg-ol-hxy-sea.mon.GLB": "Omon.zmicro", + "ocnBgchem.zmisc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.zmiscos", + "ocnBgchem.zmisc.tavg-ol-hxy-sea.mon.GLB": "Omon.zmisc", + "ocnBgchem.zooc.tavg-d0m-hxy-sea.mon.30S-90S": "Omon.zoocos", + "ocnBgchem.zooc.tavg-ol-hxy-sea.day.GLB": "Oday.zooc", + "ocnBgchem.zooc.tavg-ol-hxy-sea.mon.GLB": "Omon.zooc", + "seaIce.evspsbl.tavg-u-hxy-si.mon.GLB": "SImon.sidmassevapsubl", + "seaIce.prra.tavg-u-hxy-si.mon.GLB": "SImon.sipr", + "seaIce.prsn.tavg-u-hxy-si.mon.GLB": "SImon.sisndmasssnf", + "seaIce.rlds.tavg-u-hxy-si.day.GLB": "SIday.sifllwdtop", + "seaIce.rlds.tavg-u-hxy-si.mon.GLB": "SImon.sifllwdtop", + "seaIce.rlus.tavg-u-hxy-si.day.GLB": "SIday.sifllwutop", + "seaIce.rlus.tavg-u-hxy-si.mon.GLB": "SImon.sifllwutop", + "seaIce.rsds.tavg-u-hxy-si.day.GLB": "SIday.siflswdtop", + "seaIce.rsds.tavg-u-hxy-si.mon.GLB": "SImon.siflswdtop", + "seaIce.rsus.tavg-u-hxy-si.day.GLB": "SIday.siflswutop", + "seaIce.rsus.tavg-u-hxy-si.mon.GLB": "SImon.siflswutop", + "seaIce.sbl.tavg-u-hxy-si.mon.GLB": "SImon.sisndmasssubl", + "seaIce.sfdsi.tavg-u-hxy-si.mon.GLB": "SImon.siflsaltbot", + "seaIce.siage.tavg-u-hxy-si.day.GLB": "SIday.siage", + "seaIce.siage.tavg-u-hxy-si.mon.30S-90S": "SImon.siageSouth30", + "seaIce.siage.tavg-u-hxy-si.mon.GLB": "SImon.siage", + "seaIce.siarea.tavg-u-hm-u.day.NH": "SIday.siarean", + "seaIce.siarea.tavg-u-hm-u.day.SH": "SIday.siareas", + "seaIce.siarea.tavg-u-hm-u.mon.NH": "SImon.siarean", + "seaIce.siarea.tavg-u-hm-u.mon.SH": "SImon.siareas", + "seaIce.siareaacrossline.tavg-u-ht-u.mon.GLB": "SImon.siareaacrossline", + "seaIce.sicompstren.tavg-u-hxy-si.mon.GLB": "SImon.sicompstren", + "seaIce.siconc.tavg-u-hxy-u.day.GLB": "SIday.siconc", + "seaIce.siconc.tavg-u-hxy-u.mon.30S-90S": "SImon.siconcSouth30", + "seaIce.siconc.tavg-u-hxy-u.mon.GLB": "SImon.siconc", + "seaIce.siconca.tavg-u-hxy-u.day.GLB": "SIday.siconca", + "seaIce.siconca.tavg-u-hxy-u.mon.GLB": "SImon.siconca", + "seaIce.sidconcdyn.tavg-u-hxy-sea.mon.GLB": "SImon.sidconcdyn", + "seaIce.sidconcth.tavg-u-hxy-sea.mon.GLB": "SImon.sidconcth", + "seaIce.sidivvel.tpt-u-hxy-si.mon.GLB": "SImon.sidivvel", + "seaIce.sidmassdyn.tavg-u-hxy-si.mon.GLB": "SImon.sidmassdyn", + "seaIce.sidmassgrowthbot.tavg-u-hxy-si.mon.GLB": "SImon.sidmassgrowthbot", + "seaIce.sidmassgrowthsi.tavg-u-hxy-si.mon.GLB": "SImon.sidmassgrowthsi", + "seaIce.sidmassgrowthwat.tavg-u-hxy-si.mon.GLB": "SImon.sidmassgrowthwat", + "seaIce.sidmassmeltbot.tavg-u-hxy-si.mon.GLB": "SImon.sidmassmeltbot", + "seaIce.sidmassmeltlat.tavg-u-hxy-si.mon.GLB": "SImon.sidmassmeltlat", + "seaIce.sidmassmelttop.tavg-u-hxy-si.mon.GLB": "SImon.sidmassmelttop", + "seaIce.sidmassth.tavg-u-hxy-si.mon.GLB": "SImon.sidmassth", + "seaIce.sidmasstranx.tavg-u-hxy-u.mon.GLB": "SImon.sidmasstranx", + "seaIce.sidmasstrany.tavg-u-hxy-u.mon.GLB": "SImon.sidmasstrany", + "seaIce.sidragbot.tavg-u-hxy-si.mon.GLB": "SImon.sidragbot", + "seaIce.sidragtop.tavg-u-hxy-si.mon.GLB": "SImon.sidragtop", + "seaIce.sieqthick.tavg-u-hxy-si.mon.GLB": "SImon.sivol", + "seaIce.siextent.tavg-u-hm-u.day.NH": "SIday.siextentn", + "seaIce.siextent.tavg-u-hm-u.day.SH": "SIday.siextents", + "seaIce.siextent.tavg-u-hm-u.mon.NH": "SImon.siextentn", + "seaIce.siextent.tavg-u-hm-u.mon.SH": "SImon.siextents", + "seaIce.sifb.tavg-u-hxy-si.day.GLB": "SIday.sifb", + "seaIce.sifb.tavg-u-hxy-si.mon.GLB": "SImon.sifb", + "seaIce.siflcondbot.tavg-u-hxy-si.day.GLB": "SIday.siflcondbot", + "seaIce.siflcondbot.tavg-u-hxy-si.mon.GLB": "SImon.siflcondbot", + "seaIce.siflcondtop.tavg-u-hxy-si.day.GLB": "SIday.siflcondtop", + "seaIce.siflcondtop.tavg-u-hxy-si.mon.GLB": "SImon.siflcondtop", + "seaIce.siflfwbot.tavg-u-hxy-si.mon.GLB": "SImon.siflfwbot", + "seaIce.siflfwdrain.tavg-u-hxy-si.mon.GLB": "SImon.siflfwdrain", + "seaIce.sifllattop.tavg-u-hxy-si.day.GLB": "SIday.sifllattop", + "seaIce.sifllattop.tavg-u-hxy-si.mon.GLB": "SImon.sifllattop", + "seaIce.siflsensbot.tavg-u-hxy-si.day.GLB": "SIday.siflsensbot", + "seaIce.siflsensbot.tavg-u-hxy-si.mon.GLB": "SImon.siflsensbot", + "seaIce.siflsenstop.tavg-u-hxy-si.day.GLB": "SIday.siflsenstop", + "seaIce.siflsenstop.tavg-u-hxy-si.mon.GLB": "SImon.siflsenstop", + "seaIce.siflswdbot.tavg-u-hxy-si.day.GLB": "SIday.siflswdbot", + "seaIce.siflswdbot.tavg-u-hxy-si.mon.GLB": "SImon.siflswdbot", + "seaIce.siforcecoriolx.tavg-u-hxy-si.mon.GLB": "SImon.siforcecoriolx", + "seaIce.siforcecorioly.tavg-u-hxy-si.mon.GLB": "SImon.siforcecorioly", + "seaIce.siforceintstrx.tavg-u-hxy-si.mon.GLB": "SImon.siforceintstrx", + "seaIce.siforceintstry.tavg-u-hxy-si.mon.GLB": "SImon.siforceintstry", + "seaIce.siforcetiltx.tavg-u-hxy-si.mon.GLB": "SImon.siforcetiltx", + "seaIce.siforcetilty.tavg-u-hxy-si.mon.GLB": "SImon.siforcetilty", + "seaIce.sihc.tavg-u-hxy-sea.day.GLB": "SIday.sihc", + "seaIce.sihc.tavg-u-hxy-sea.mon.GLB": "SImon.sihc", + "seaIce.siitdconc.tavg-u-hxy-si.day.GLB": "SIday.siitdconc", + "seaIce.siitdconc.tavg-u-hxy-si.mon.GLB": "SImon.siitdconc", + "seaIce.siitdsnconc.tavg-u-hxy-si.day.GLB": "SIday.siitdsnconc", + "seaIce.siitdsnconc.tavg-u-hxy-si.mon.GLB": "SImon.siitdsnconc", + "seaIce.siitdsnthick.tavg-u-hxy-si.day.GLB": "SIday.siitdsnthick", + "seaIce.siitdsnthick.tavg-u-hxy-si.mon.GLB": "SImon.siitdsnthick", + "seaIce.siitdthick.tavg-u-hxy-si.day.GLB": "SIday.siitdthick", + "seaIce.siitdthick.tavg-u-hxy-si.mon.GLB": "SImon.siitdthick", + "seaIce.simass.tavg-u-hxy-si.mon.GLB": "SImon.simass", + "seaIce.simassacrossline.tavg-u-ht-u.mon.GLB": "SImon.simassacrossline", + "seaIce.simpconc.tavg-u-hxy-si.day.GLB": "SIday.simpconc", + "seaIce.simpconc.tavg-u-hxy-si.mon.GLB": "SImon.simpconc", + "seaIce.simpeffconc.tavg-u-hxy-si.day.GLB": "SIday.simpeffconc", + "seaIce.simpeffconc.tavg-u-hxy-si.mon.GLB": "SImon.simpeffconc", + "seaIce.simprefrozen.tavg-u-hxy-simp.day.GLB": "SIday.simprefrozen", + "seaIce.simprefrozen.tavg-u-hxy-simp.mon.GLB": "SImon.simprefrozen", + "seaIce.simpthick.tavg-u-hxy-si.day.GLB": "SIday.simpthick", + "seaIce.simpthick.tavg-u-hxy-simp.mon.GLB": "SImon.simpthick", + "seaIce.sirdgconc.tavg-u-hxy-si.day.GLB": "SIday.sirdgconc", + "seaIce.sirdgconc.tavg-u-hxy-si.mon.GLB": "SImon.sirdgconc", + "seaIce.sisali.tavg-u-hxy-si.day.GLB": "SIday.sisali", + "seaIce.sisali.tavg-u-hxy-si.mon.GLB": "SImon.sisali", + "seaIce.sisaltmass.tavg-u-hxy-si.day.GLB": "SIday.sisaltmass", + "seaIce.sisaltmass.tavg-u-hxy-si.mon.GLB": "SImon.sisaltmass", + "seaIce.sishearvel.tpt-u-hxy-si.mon.GLB": "SImon.sishearvel", + "seaIce.sisndmassdyn.tavg-u-hxy-si.mon.GLB": "SImon.sisndmassdyn", + "seaIce.sisndmasssi.tavg-u-hxy-si.mon.GLB": "SImon.sisndmasssi", + "seaIce.sisndmasswind.tavg-u-hxy-si.mon.GLB": "SImon.sisndmasswind", + "seaIce.sisnhc.tavg-u-hxy-si.day.GLB": "SIday.sisnhc", + "seaIce.sisnhc.tavg-u-hxy-si.mon.GLB": "SImon.sisnhc", + "seaIce.sisnmass.tavg-u-hm-u.day.NH": "SIday.sisnmassn", + "seaIce.sisnmass.tavg-u-hm-u.day.SH": "SIday.sisnmasss", + "seaIce.sisnmass.tavg-u-hm-u.mon.NH": "SImon.sisnmassn", + "seaIce.sisnmass.tavg-u-hm-u.mon.SH": "SImon.sisnmasss", + "seaIce.sisnmassacrossline.tavg-u-ht-u.mon.GLB": "SImon.sisnmassacrossline", + "seaIce.sispeed.tavg-u-hxy-si.day.GLB": "SIday.sispeed", + "seaIce.sispeed.tavg-u-hxy-si.mon.GLB": "SImon.sispeed", + "seaIce.sistressave.tpt-u-hxy-si.mon.GLB": "SImon.sistressave", + "seaIce.sistressmax.tpt-u-hxy-si.mon.GLB": "SImon.sistressmax", + "seaIce.sistrxdtop.tavg-u-hxy-si.mon.GLB": "SImon.sistrxdtop", + "seaIce.sistrxubot.tavg-u-hxy-si.mon.GLB": "SImon.sistrxubot", + "seaIce.sistrydtop.tavg-u-hxy-si.mon.GLB": "SImon.sistrydtop", + "seaIce.sistryubot.tavg-u-hxy-si.mon.GLB": "SImon.sistryubot", + "seaIce.sitempbot.tavg-u-hxy-si.day.GLB": "SIday.sitempbot", + "seaIce.sitempbot.tavg-u-hxy-si.mon.GLB": "SImon.sitempbot", + "seaIce.sitempsnic.tavg-u-hxy-si.day.GLB": "SIday.sitempsnic", + "seaIce.sitempsnic.tavg-u-hxy-si.mon.GLB": "SImon.sitempsnic", + "seaIce.sithick.tavg-u-hxy-si.day.GLB": "SIday.sithick", + "seaIce.sithick.tavg-u-hxy-si.mon.30S-90S": "SImon.sithickSouth30", + "seaIce.sithick.tavg-u-hxy-si.mon.GLB": "SImon.sithick", + "seaIce.sithick.tavg-u-hxy-sir.day.GLB": "SIday.sirdgthick", + "seaIce.sithick.tavg-u-hxy-sir.mon.GLB": "SImon.sirdgthick", + "seaIce.sitimefrac.tavg-u-hxy-sea.day.GLB": "SIday.sitimefrac", + "seaIce.sitimefrac.tavg-u-hxy-sea.mon.30S-90S": "SImon.sitimefracSouth30", + "seaIce.sitimefrac.tavg-u-hxy-sea.mon.GLB": "SImon.sitimefrac", + "seaIce.siu.tavg-u-hxy-si.day.GLB": "SIday.siu", + "seaIce.siu.tavg-u-hxy-si.mon.30S-90S": "SImon.siuSouth30", + "seaIce.siu.tavg-u-hxy-si.mon.GLB": "SImon.siu", + "seaIce.siv.tavg-u-hxy-si.day.GLB": "SIday.siv", + "seaIce.siv.tavg-u-hxy-si.mon.30S-90S": "SImon.sivSouth30", + "seaIce.siv.tavg-u-hxy-si.mon.GLB": "SImon.siv", + "seaIce.sivol.tavg-u-hm-u.day.NH": "SIday.sivoln", + "seaIce.sivol.tavg-u-hm-u.day.SH": "SIday.sivols", + "seaIce.sivol.tavg-u-hm-u.mon.NH": "SImon.sivoln", + "seaIce.sivol.tavg-u-hm-u.mon.SH": "SImon.sivols", + "seaIce.snc.tavg-u-hxy-si.mon.GLB": "SImon.sisnconc", + "seaIce.snd.tavg-u-hxy-sn.day.GLB": "SIday.sisnthick", + "seaIce.snd.tavg-u-hxy-sn.mon.30S-90S": "SImon.sisnthickSouth30", + "seaIce.snd.tavg-u-hxy-sn.mon.GLB": "SImon.sisnthick", + "seaIce.snm.tavg-u-hxy-si.mon.GLB": "SImon.sisndmassmelt", + "seaIce.snw.tavg-u-hxy-si.mon.GLB": "SImon.sisnmass", + "seaIce.ts.tavg-u-hxy-si.day.GLB": "SIday.sitemptop", + "seaIce.ts.tavg-u-hxy-si.mon.30S-90S": "SImon.sitemptopSouth30", + "seaIce.ts.tavg-u-hxy-si.mon.GLB": "SImon.sitemptop" +} \ No newline at end of file diff --git a/src/access_moppy/utilities.py b/src/access_moppy/utilities.py index 9400b95..cab1f1c 100644 --- a/src/access_moppy/utilities.py +++ b/src/access_moppy/utilities.py @@ -1,12 +1,15 @@ import json import warnings from importlib.resources import as_file, files +from pathlib import Path from typing import Dict, List, Optional, Union import numpy as np import pandas as pd import xarray as xr from cftime import num2date +from data_request_api.content import dump_transformation as dt +from data_request_api.query import data_request as dr type_mapping = { "real": np.float32, @@ -1499,3 +1502,324 @@ def validate_and_resample_if_needed( ) return ds_resampled, True + + +def generate_cmip7_to_cmip6_mapping( + version: str = "latest_stable", + output_path: Optional[str] = None +) -> Dict[str, str]: + """ + Generate a mapping from CMIP7 compound names to CMIP6 compound names. + + This function uses the data_request_api to query the latest CMIP7 data request + and creates a mapping between CMIP7 and CMIP6 compound names. The mapping + is optionally saved to a JSON file. + + Note: This function internally calls generate_both_cmip_mappings() for efficiency + and only returns the forward mapping. + + Args: + version: Version of the data request to use (default: "latest_stable") + output_path: Optional path to save the JSON mapping file. If None, + saves to the vocabularies directory within the package. + + Returns: + Dictionary mapping CMIP7 compound names to CMIP6 compound names + + Example: + >>> mapping = generate_cmip7_to_cmip6_mapping() + >>> print(mapping["Amon.tas"]) # Should return corresponding CMIP6 name + """ + # Generate both mappings efficiently and return only the forward mapping + forward_mapping, _ = generate_both_cmip_mappings( + version=version, + forward_output_path=output_path, + reverse_output_path=None # Use default path for reverse mapping + ) + return forward_mapping + + +def load_cmip7_to_cmip6_mapping(mapping_path: Optional[str] = None) -> Dict[str, str]: + """ + Load the CMIP7 to CMIP6 compound name mapping from a JSON file. + + Args: + mapping_path: Optional path to the mapping JSON file. If None, + loads from the default location in the vocabularies directory. + + Returns: + Dictionary mapping CMIP7 compound names to CMIP6 compound names + + Raises: + FileNotFoundError: If the mapping file doesn't exist + json.JSONDecodeError: If the mapping file contains invalid JSON + """ + if mapping_path is None: + # Default to mappings directory within the package + import access_moppy + package_path = Path(access_moppy.__file__).parent + mappings_path = package_path / "mappings" + mapping_path = mappings_path / "cmip7_to_cmip6_compound_name_mapping.json" + else: + mapping_path = Path(mapping_path) + + if not mapping_path.exists(): + raise FileNotFoundError( + f"CMIP7 to CMIP6 mapping file not found: {mapping_path}. " + "Please run generate_cmip7_to_cmip6_mapping() first to create it." + ) + + with open(mapping_path, 'r', encoding='utf-8') as f: + data = json.load(f) + + # Filter out metadata if present + mapping = {k: v for k, v in data.items() if not k.startswith('_')} + + print(f"✓ Loaded mapping for {len(mapping)} variables from: {mapping_path}") + return mapping + + +def generate_cmip6_to_cmip7_mapping( + version: str = "latest_stable", + output_path: Optional[str] = None +) -> Dict[str, str]: + """ + Generate a reverse mapping from CMIP6 compound names to CMIP7 compound names. + + This function uses the data_request_api to query the latest CMIP7 data request + and creates a reverse mapping between CMIP6 and CMIP7 compound names. The mapping + is optionally saved to a JSON file. + + Note: This function internally calls generate_both_cmip_mappings() for efficiency + and only returns the reverse mapping. + + Args: + version: Version of the data request to use (default: "latest_stable") + output_path: Optional path to save the JSON mapping file. If None, + saves to the vocabularies directory within the package. + + Returns: + Dictionary mapping CMIP6 compound names to CMIP7 compound names + + Example: + >>> reverse_mapping = generate_cmip6_to_cmip7_mapping() + >>> print(reverse_mapping["AERmon.abs550aer"]) # Should return corresponding CMIP7 name + """ + # Generate both mappings efficiently and return only the reverse mapping + _, reverse_mapping = generate_both_cmip_mappings( + version=version, + forward_output_path=None, # Use default path for forward mapping + reverse_output_path=output_path + ) + return reverse_mapping + + +def load_cmip6_to_cmip7_mapping(mapping_path: Optional[str] = None) -> Dict[str, str]: + """ + Load the CMIP6 to CMIP7 compound name mapping from a JSON file. + + Args: + mapping_path: Optional path to the mapping JSON file. If None, + loads from the default location in the vocabularies directory. + + Returns: + Dictionary mapping CMIP6 compound names to CMIP7 compound names + + Raises: + FileNotFoundError: If the mapping file doesn't exist + json.JSONDecodeError: If the mapping file contains invalid JSON + """ + if mapping_path is None: + # Default to mappings directory within the package + import access_moppy + package_path = Path(access_moppy.__file__).parent + mappings_path = package_path / "mappings" + mapping_path = mappings_path / "cmip6_to_cmip7_compound_name_mapping.json" + else: + mapping_path = Path(mapping_path) + + if not mapping_path.exists(): + raise FileNotFoundError( + f"CMIP6 to CMIP7 mapping file not found: {mapping_path}. " + "Please run generate_cmip6_to_cmip7_mapping() first to create it." + ) + + with open(mapping_path, 'r', encoding='utf-8') as f: + data = json.load(f) + + # Filter out metadata if present + mapping = {k: v for k, v in data.items() if not k.startswith('_')} + + print(f"✓ Loaded reverse mapping for {len(mapping)} variables from: {mapping_path}") + return mapping + + +def get_cmip_mapping_metadata(mapping_type: str = "forward") -> Dict: + """ + Get metadata about the CMIP7↔CMIP6 compound name mapping files. + + Args: + mapping_type: Either "forward" (CMIP7→CMIP6) or "reverse" (CMIP6→CMIP7) + + Returns: + Dictionary containing metadata about the mapping file + + Raises: + ValueError: If mapping_type is not "forward" or "reverse" + FileNotFoundError: If the mapping file doesn't exist + """ + if mapping_type not in ["forward", "reverse"]: + raise ValueError("mapping_type must be 'forward' or 'reverse'") + + import access_moppy + package_path = Path(access_moppy.__file__).parent + mappings_path = package_path / "mappings" + + if mapping_type == "forward": + mapping_path = mappings_path / "cmip7_to_cmip6_compound_name_mapping.json" + else: + mapping_path = mappings_path / "cmip6_to_cmip7_compound_name_mapping.json" + + if not mapping_path.exists(): + raise FileNotFoundError( + f"Mapping file not found: {mapping_path}. " + f"Please run generate_both_cmip_mappings() first to create it." + ) + + with open(mapping_path, 'r', encoding='utf-8') as f: + data = json.load(f) + + # Extract metadata + metadata = data.get('_metadata', {}) + + if not metadata: + return {"error": "No metadata found in file"} + + return metadata + + +def generate_both_cmip_mappings( + version: str = "latest_stable", + forward_output_path: Optional[str] = None, + reverse_output_path: Optional[str] = None +) -> tuple[Dict[str, str], Dict[str, str]]: + """ + Generate both forward (CMIP7->CMIP6) and reverse (CMIP6->CMIP7) mappings efficiently. + + This function queries the CMIP7 data request API once and generates both mappings + from the same data, which is more efficient than calling the individual functions separately. + + Args: + version: Version of the data request to use (default: "latest_stable") + forward_output_path: Optional path for CMIP7->CMIP6 mapping JSON file + reverse_output_path: Optional path for CMIP6->CMIP7 mapping JSON file + + Returns: + Tuple of (forward_mapping, reverse_mapping) dictionaries + + Example: + >>> forward, reverse = generate_both_cmip_mappings() + >>> cmip6_name = forward["aerosol.abs550aer.tavg-u-hxy-u.mon.GLB"] + >>> cmip7_name = reverse[cmip6_name] + """ + print("Generating both CMIP7<->CMIP6 compound name mappings...") + print("This may take a moment as it queries the CMIP7 data request API...") + + # Use the latest_stable version of the DR content (default) + content_dic = dt.get_transformed_content( + version=version, + force_variable_name="CMIP7 Compound Name" + ) + + # Create DataRequest object from the content + DR = dr.DataRequest.from_separated_inputs(**content_dic) + + # Find all CMIP7 variables + cmip7_variables = DR.find_variables(operation='any', skip_if_missing=True) + + # Create both mapping dictionaries + forward_mapping = {} # CMIP7 -> CMIP6 + reverse_mapping = {} # CMIP6 -> CMIP7 + + for var in cmip7_variables: + if hasattr(var, 'cmip7_compound_name') and hasattr(var, 'cmip6_compound_name'): + if var.cmip7_compound_name and var.cmip6_compound_name: + cmip7_name = var.cmip7_compound_name.name + cmip6_name = var.cmip6_compound_name.name + + # Forward mapping (CMIP7 -> CMIP6) + forward_mapping[cmip7_name] = cmip6_name + + # Reverse mapping (CMIP6 -> CMIP7) - handle potential one-to-many + if cmip6_name in reverse_mapping: + # If CMIP6 name already exists, store as list + if isinstance(reverse_mapping[cmip6_name], str): + reverse_mapping[cmip6_name] = [reverse_mapping[cmip6_name], cmip7_name] + else: + reverse_mapping[cmip6_name].append(cmip7_name) + else: + reverse_mapping[cmip6_name] = cmip7_name + + # Save forward mapping + if forward_output_path is None: + import access_moppy + package_path = Path(access_moppy.__file__).parent + mappings_path = package_path / "mappings" + forward_output_path = mappings_path / "cmip7_to_cmip6_compound_name_mapping.json" + else: + forward_output_path = Path(forward_output_path) + + # Create metadata for the JSON files + from datetime import datetime + metadata = { + "_metadata": { + "description": "CMIP7 to CMIP6 compound name mapping", + "generated_by": "access_moppy.utilities.generate_both_cmip_mappings()", + "source": "CMIP7 Data Request API", + "data_request_version": version, + "generated_on": datetime.now().isoformat(), + "total_mappings": len(forward_mapping), + "usage": "Use access_moppy.utilities.load_cmip7_to_cmip6_mapping() to load this file" + } + } + + reverse_metadata = { + "_metadata": { + "description": "CMIP6 to CMIP7 compound name mapping (reverse of forward mapping)", + "generated_by": "access_moppy.utilities.generate_both_cmip_mappings()", + "source": "CMIP7 Data Request API", + "data_request_version": version, + "generated_on": datetime.now().isoformat(), + "total_mappings": len(reverse_mapping), + "usage": "Use access_moppy.utilities.load_cmip6_to_cmip7_mapping() to load this file", + "note": "Some CMIP6 names may map to multiple CMIP7 names (stored as arrays)" + } + } + + # Combine metadata with mappings + forward_data = {**metadata, **forward_mapping} + reverse_data = {**reverse_metadata, **reverse_mapping} + + forward_output_path.parent.mkdir(parents=True, exist_ok=True) + with open(forward_output_path, 'w', encoding='utf-8') as f: + json.dump(forward_data, f, indent=2, sort_keys=True) + + # Save reverse mapping + if reverse_output_path is None: + import access_moppy + package_path = Path(access_moppy.__file__).parent + mappings_path = package_path / "mappings" + reverse_output_path = mappings_path / "cmip6_to_cmip7_compound_name_mapping.json" + else: + reverse_output_path = Path(reverse_output_path) + + reverse_output_path.parent.mkdir(parents=True, exist_ok=True) + with open(reverse_output_path, 'w', encoding='utf-8') as f: + json.dump(reverse_data, f, indent=2, sort_keys=True) + + print(f"✓ Generated forward mapping for {len(forward_mapping)} variables") + print(f"✓ Saved forward mapping to: {forward_output_path}") + print(f"✓ Generated reverse mapping for {len(reverse_mapping)} variables") + print(f"✓ Saved reverse mapping to: {reverse_output_path}") + + return forward_mapping, reverse_mapping diff --git a/src/access_moppy/vocabularies/CMIP7_CVs b/src/access_moppy/vocabularies/CMIP7_CVs index d57eb4b..1105ce2 160000 --- a/src/access_moppy/vocabularies/CMIP7_CVs +++ b/src/access_moppy/vocabularies/CMIP7_CVs @@ -1 +1 @@ -Subproject commit d57eb4b6bbd7da16313b63fef314f3460a5bc107 +Subproject commit 1105ce21b7aa319ddd39584f3c8dfa98ac64cdba diff --git a/src/access_moppy/vocabulary_processors.py b/src/access_moppy/vocabulary_processors.py index 0f25e23..389479c 100644 --- a/src/access_moppy/vocabulary_processors.py +++ b/src/access_moppy/vocabulary_processors.py @@ -3,6 +3,7 @@ import uuid from datetime import datetime, timezone from importlib.resources import as_file, files +from pathlib import Path from typing import Any, Dict, List, Optional from access_moppy import _creator @@ -477,5 +478,716 @@ def _get_license(self) -> str: return license_text + def build_drs_path(self, drs_root: Path, version_date: str) -> Path: + """ + Build DRS (Data Reference Syntax) path according to CMIP6 specifications. + + Args: + drs_root: Root directory for DRS structure + version_date: Version date in YYYYMMDD format + + Returns: + Complete DRS path following CMIP6 template: + ///////// + """ + # Build DRS components according to CMIP6 template + drs_components = [ + "CMIP6", # mip_era + self._resolve_activity_id(), # activity_id + ",".join(self.source["institution_id"]), # institution_id + self.source_id, # source_id + self.experiment_id, # experiment_id + self.variant_label, # member_id (variant_label in CMIP6) + self.table, # table_id + self.cmor_name, # variable_id + self.grid_label, # grid_label + f"v{version_date}", # version + ] + + return drs_root.joinpath(*drs_components) + def __repr__(self) -> str: return f"" + + +class CMIP7Vocabulary: + cv_dir = "access_moppy.vocabularies.CMIP7_CVs" + table_dir = "access_moppy.vocabularies.cmip7-cmor-tables.tables" + + def __init__( + self, + compound_name: str, + experiment_id: str, + source_id: str, + variant_label: str, + grid_label: str, + activity_id: Optional[str] = None, + parent_info: Optional[Dict[str, Dict[str, Any]]] = None, + ): + self.compound_name = compound_name + self.experiment_id = experiment_id + self.source_id = source_id + self.variant_label = variant_label + self.grid_label = grid_label + self.activity_id = activity_id + self.user_defined_parents = parent_info or {} + + self.experiment: Dict[str, Any] = self._get_experiment() + self.source: Dict[str, Any] = self._get_source() + + # Parse the CMIP7 compound name format + compound_parts = self._parse_compound_name(compound_name) + self.table = compound_parts["table"] + self.physical_parameter = compound_parts["physical_parameter"] + self.processing_info = compound_parts["processing_info"] + self.branded_name = compound_parts["branded_name"] + self.cmor_name = compound_parts["cmor_name"] + self.frequency = compound_parts["frequency"] + self.region = compound_parts["region"] + + self.variable: Dict[str, Any] = self._get_variable_entry() + self.cmip_table: Dict[str, Any] = self._load_table() + self.axes: Dict[str, Any] = self._get_axes() + + def _parse_compound_name(self, compound_name: str) -> Dict[str, str]: + """ + Parse CMIP7 compound name format: table.physical_parameter.processing_info.frequency.region + + Example: atmos.aod550volso4.tavg-u-hxy-u.mon.GLB + - physical_parameter: aod550volso4 + - branded_name: aod550volso4_tavg-u-hxy-u (combination of physical_parameter + processing_info with underscore) + - cmor_name: same as branded_name + + Returns: + Dict with keys: table, physical_parameter, processing_info, branded_name, cmor_name, frequency, region + """ + parts = compound_name.split(".") + + if len(parts) < 2: + raise ValueError( + f"Invalid CMIP7 compound name format: '{compound_name}'. Expected at least 'table.physical_parameter'" + ) + + # Basic format: table.physical_parameter[.processing_info][.frequency][.region] + table = parts[0] + physical_parameter = parts[1] + + # Initialize optional components + processing_info = "" + frequency = "" + region = "" + + # Parse remaining parts based on length + if len(parts) == 2: + # Simple format: table.physical_parameter + pass + elif len(parts) == 3: + # Could be table.physical_parameter.processing_info OR table.physical_parameter.frequency + # We'll assume it's processing_info for now + processing_info = parts[2] + elif len(parts) == 4: + # table.physical_parameter.processing_info.frequency + processing_info = parts[2] + frequency = parts[3] + elif len(parts) == 5: + # Full format: table.physical_parameter.processing_info.frequency.region + processing_info = parts[2] + frequency = parts[3] + region = parts[4] + else: + raise ValueError( + f"Invalid CMIP7 compound name format: '{compound_name}'. Too many parts: {len(parts)}" + ) + + # The branded name is the combination of physical_parameter and processing_info with underscore + if processing_info: + branded_name = f"{physical_parameter}_{processing_info}" + else: + branded_name = physical_parameter + + # CMOR name is essentially the branded name + cmor_name = branded_name + + return { + "table": table, + "physical_parameter": physical_parameter, + "processing_info": processing_info, + "branded_name": branded_name, + "cmor_name": cmor_name, + "frequency": frequency, + "region": region, + } + + def _get_experiment(self) -> Dict[str, Any]: + """Load experiment metadata from individual JSON file""" + try: + experiment_file = ( + files(self.cv_dir) / "experiment" / f"{self.experiment_id}.json" + ) + with as_file(experiment_file) as path: + with open(path, "r", encoding="utf-8") as f: + return json.load(f) + except FileNotFoundError: + raise ValueError( + f"Experiment '{self.experiment_id}' not found in CMIP7 controlled vocabularies." + ) + + def _get_source(self) -> Dict[str, Any]: + """Load source metadata from individual JSON file""" + try: + source_file = files(self.cv_dir) / "source" / f"{self.source_id}.json" + with as_file(source_file) as path: + with open(path, "r", encoding="utf-8") as f: + return json.load(f) + except FileNotFoundError: + raise ValueError( + f"Source '{self.source_id}' not found in CMIP7 controlled vocabularies." + ) + + def get_parent_experiment_attrs(self) -> Dict[str, Any]: + """ + Return and validate parent experiment attributes if required. + """ + parent_attrs = self.user_defined_parents + + # Check if experiment requires parent information + if self.experiment.get("parent_experiment", ["none"])[0] == "none": + return {} + + # Required fields for CMIP7 + required_keys = [ + "parent_experiment_id", + "parent_activity_id", + "parent_mip_era", + "parent_source_id", + "parent_variant_label", + "parent_time_units", + "branch_time_in_child", + "branch_time_in_parent", + "branch_method", + ] + + for key in required_keys: + if key not in parent_attrs: + raise ValueError( + f"Missing required parent key '{key}' for experiment '{self.experiment_id}'" + ) + + # Validate parent experiment exists + try: + parent_exp_file = ( + files(self.cv_dir) + / "experiment" + / f"{parent_attrs['parent_experiment_id']}.json" + ) + with as_file(parent_exp_file) as path: + with open(path, "r", encoding="utf-8") as f: + json.load(f) # Just validate it exists and is valid JSON + except FileNotFoundError: + raise ValueError( + f"Invalid parent_experiment_id: {parent_attrs['parent_experiment_id']}" + ) + + # Validate parent source exists + try: + parent_source_file = ( + files(self.cv_dir) + / "source" + / f"{parent_attrs['parent_source_id']}.json" + ) + with as_file(parent_source_file) as path: + with open(path, "r", encoding="utf-8") as f: + json.load(f) # Just validate it exists and is valid JSON + except FileNotFoundError: + raise ValueError( + f"Invalid parent_source_id: {parent_attrs['parent_source_id']}" + ) + + return parent_attrs + + def _load_table(self) -> Dict[str, Any]: + """Load CMIP7 table file""" + entry = files(self.table_dir) / f"CMIP7_{self.table}.json" + + if not entry.exists(): + raise FileNotFoundError(f"Table file not found: {entry}") + + with as_file(entry) as path: + with open(path, "r", encoding="utf-8") as f: + return json.load(f) + + def _get_variable_entry(self) -> Dict[str, Any]: + """Get variable entry from CMIP7 table""" + try: + table_data = self._load_table() + var_entry = table_data["variable_entry"][self.cmor_name] + + # Ensure fill values are included if present in the CMOR table + for key in ("missing_value", "_FillValue"): + if key in var_entry: + var_entry[key] = var_entry[key] + else: + var_entry[key] = 1e20 # default fallback + + return var_entry + except KeyError: + # Generate helpful suggestions + suggestions = self._get_variable_suggestions() + raise VariableNotFoundError(self.cmor_name, self.table, suggestions) + + def _get_variable_suggestions(self) -> List[str]: + """ + Generate helpful suggestions when a variable is not found in CMIP7. + """ + suggestions = [] + + # Check if variable exists in other CMIP7 tables + common_tables = [ + "atmos", + "ocean", + "land", + "seaIce", + "landIce", + "aerosol", + "atmosChem", + "ocnBgchem", + ] + found_in_tables = [] + + for table in common_tables: + if table == self.table: + continue # Skip current table + + try: + table_file = f"CMIP7_{table}.json" + table_resource = files(self.table_dir) / table_file + + with as_file(table_resource) as table_path: + with open(table_path, "r", encoding="utf-8") as f: + table_data = json.load(f) + + if self.cmor_name in table_data.get("variable_entry", {}): + found_in_tables.append(table) + + except (FileNotFoundError, KeyError): + continue # Table doesn't exist or has no variable_entry + + if found_in_tables: + table_list = ", ".join(found_in_tables) + suggestions.append( + f"Variable '{self.cmor_name}' is available in table(s): {table_list}" + ) + suggestions.append(f"Try using: {found_in_tables[0]}.{self.cmor_name}") + + # Check for similar variable names in current table + try: + current_table_data = self._load_table() + available_vars = list(current_table_data.get("variable_entry", {}).keys()) + + # Find variables with similar names (simple string similarity) + similar_vars = [] + for var in available_vars: + if len(var) > 2 and ( + self.cmor_name.lower() in var.lower() + or var.lower() in self.cmor_name.lower() + or + # Check for common root (first 3 characters) + ( + len(self.cmor_name) >= 3 + and len(var) >= 3 + and self.cmor_name[:3].lower() == var[:3].lower() + ) + ): + similar_vars.append(var) + + if similar_vars: + similar_list = ", ".join(similar_vars[:5]) # Limit to 5 suggestions + suggestions.append( + f"Similar variables in {self.table} table: {similar_list}" + ) + + # Show a sample of available variables if no similar ones found + elif available_vars: + sample_vars = ", ".join(available_vars[:10]) # Show first 10 + total_count = len(available_vars) + if total_count > 10: + sample_vars += f" (and {total_count - 10} more)" + suggestions.append( + f"Available variables in {self.table} table: {sample_vars}" + ) + + except Exception: + pass # Don't fail if we can't load suggestions + + # Add general guidance for CMIP7 + suggestions.append( + "Visit the CMIP7 data request for more information on available variables" + ) + + return suggestions + + def _get_axes(self) -> Dict[str, Any]: + """Get axes information from CMIP7 coordinate table""" + coord_entry = files(self.table_dir) / "CMIP7_coordinate.json" + + with as_file(coord_entry) as path: + with open(path, "r", encoding="utf-8") as f: + axes = json.load(f)["axis_entry"] + + dims = self.variable["dimensions"] + result = {} + + # Handle dimensions (which are now a list in CMIP7) + for dim in dims: + if dim == "olevel": + coord = axes["depth_coord"] + else: + coord = axes.get(dim, {}) + result[dim] = {k: v for k, v in coord.items() if v != ""} + + return result + + def get_variant_components(self) -> Dict[str, int]: + """Parse variant label components (same as CMIP6)""" + pattern = re.compile( + r"r(?P\d+)" + r"i(?P\d+)" + r"p(?P\d+)" + r"f(?P\d+)$" + ) + match = pattern.match(self.variant_label) + if not match: + raise ValueError(f"Invalid variant_label format: {self.variant_label}") + return {k: int(v) for k, v in match.groupdict().items()} + + def _get_external_variables(self) -> Optional[str]: + """ + Derive the list of external variables required for this CMOR variable. + """ + externals: set[str] = set() + + # Known common external vars (similar to CMIP6) + known_external_vars = { + "areacella", + "areacello", + "volcello", + "sftlf", + "sftof", + "deptho", + "orog", + "siconc", + "landMask", + "climofactor", + } + + # 1. From cell_measures + cell_measures = self.variable.get("cell_measures", "") + if cell_measures: + tokens = cell_measures.strip().split() + for i in range(1, len(tokens), 2): + externals.add(tokens[i]) + + # 2. From cell_methods (heuristic) + cell_methods = self.variable.get("cell_methods", "") + for ext in known_external_vars: + if ext in cell_methods: + externals.add(ext) + + # 3. Add known required ones based on variable name (heuristic) + if self.cmor_name in {"evspsbl", "mrro", "mrso"}: + externals.add("sftlf") + if self.cmor_name in {"thetao", "so", "hfds", "ocean_heat_content"}: + externals.update({"areacello", "volcello", "deptho"}) + + return " ".join(sorted(externals)) if externals else None + + def get_required_global_attributes(self) -> Dict[str, Any]: + """Generate CMIP7-compliant global attributes""" + now = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ") + variant = self.get_variant_components() + + attrs = { + "Conventions": self.cmip_table["Header"].get("Conventions"), + "activity_id": self._resolve_activity_id(), + "creation_date": now, + "data_specs_version": self.cmip_table["Header"].get("data_specs_version"), + "experiment_id": self.experiment_id, + "forcing_index": variant["forcing_index"], + "frequency": self.variable["frequency"], + "grid_label": self.grid_label, + "initialization_index": variant["initialization_index"], + "institution_id": ",".join(self.source["institution_id"]), + "license": self._get_license(), + "mip_era": "CMIP7", + "nominal_resolution": self._get_nominal_resolution(), + "physics_index": variant["physics_index"], + "product": self.cmip_table["Header"].get("product"), + "realization_index": variant["realization_index"], + "realm": self.variable["modeling_realm"], + "source_id": self.source_id, + "tracking_id": f"hdl:21.14100/{uuid.uuid4()}", + "variable_id": self.cmor_name, + "variant_label": self.variant_label, + ### Added in CMIP7 + "drs_specs": self._get_drs_specs(), + "horizontal_label": self._get_horizontal_label(), + "vertical_label": self._get_vertical_label(), + "temporal_label": self._get_temporal_label(), + "area_label": self._get_area_label(), + "region": self._get_validated_region(), # Use validated region from CV + } + + # Add parent experiment attributes if needed + parent_attrs = self.get_parent_experiment_attrs() + if parent_attrs: + for k, v in parent_attrs.items(): + attrs[k] = v + + # Add external variables if any + external_vars = self._get_external_variables() + if external_vars: + attrs["external_variables"] = external_vars + + # Add creator information + attrs["creator_name"] = _creator.creator_name + attrs["creator_organisation"] = _creator.organisation + attrs["creator_email"] = _creator.creator_email + attrs["creator_url"] = _creator.creator_url + + return attrs + + def _get_variable_frequency(self) -> str: + """Get variable frequency from CMIP7 table or variable definition""" + # In CMIP7, frequency might be in the variable entry or table header + return self.variable.get( + "frequency", self.cmip_table["Header"].get("frequency", "") + ) + + def _get_nominal_resolution(self) -> Optional[str]: + """Get nominal resolution from source metadata""" + realm = self.variable.get("modeling_realm") + try: + model_components = self.source.get("model_component", {}) + return model_components.get(realm, {}).get("native_nominal_resolution") + except (KeyError, AttributeError): + return None + + def _resolve_activity_id(self) -> str: + """Resolve activity ID from experiment metadata""" + available = self.experiment.get("activity", []) + if len(available) == 1: + return available[0] + if self.activity_id and self.activity_id in available: + return self.activity_id + if available: + return available[0] # Default to first if multiple + raise ValueError( + f"No activity IDs found for experiment '{self.experiment_id}'. " + f"Available: {available}. Please specify one explicitly." + ) + + def _get_sub_experiment_id(self) -> str: + """Get sub-experiment ID (CMIP7 might handle this differently)""" + return self.experiment.get("sub_experiment_id", "none") + + def _get_sub_experiment(self) -> str: + """Get sub-experiment description""" + sub_exp_id = self._get_sub_experiment_id() + return "none" if sub_exp_id == "none" else sub_exp_id + + def _get_source_type(self) -> str: + """Get source type from experiment requirements""" + required = self.experiment.get("model_realms_required", []) + return " ".join(required) + + def _get_institution_name(self) -> str: + """Get institution name from source metadata""" + institution_ids = self.source.get("institution_id", []) + if institution_ids: + # For now, return the first institution ID + # In a full implementation, you'd load institution metadata + return institution_ids[0] + return "" + + def _format_source_string(self) -> str: + """Format source string with model components""" + label = self.source.get("label", "") + components = self.source.get("model_component", {}) + + if not components: + return label + + component_descriptions = [] + for comp, desc in components.items(): + comp_desc = desc.get("description", "none") + component_descriptions.append(f"{comp}: {comp_desc}") + + return f"{label}: \n" + "\n".join(component_descriptions) + + def _get_license(self) -> str: + """ + Get CMIP7 license information from license.json controlled vocabulary. + """ + # Get institution name for license template + institution_ids = self.source.get("institution_id", []) + institution = institution_ids[0] if institution_ids else "" + + # Use the CMIP7 license template + return ( + f"CMIP7 model data produced by {institution} is licensed under a " + "Creative Commons Attribution 4.0 International License " + "(https://creativecommons.org/licenses/by/4.0/). Consult " + "https://pcmdi.llnl.gov/CMIP7/TermsOfUse for terms of use governing " + "CMIP7 output, including citation requirements and proper acknowledgment. " + "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 arising in negligence) are excluded to the fullest " + "extent permitted by law." + ) + + def _load_project_cv(self, cv_name: str) -> Dict[str, Any]: + """Load a project controlled vocabulary JSON file""" + try: + cv_file = files(self.cv_dir) / "project" / f"{cv_name}.json" + with as_file(cv_file) as path: + with open(path, "r", encoding="utf-8") as f: + return json.load(f) + except FileNotFoundError: + raise ValueError( + f"Project CV '{cv_name}' not found in CMIP7 controlled vocabularies." + ) + + def _get_drs_specs(self) -> str: + """Get DRS specifications from CMIP7 controlled vocabularies""" + drs_cv = self._load_project_cv("drs") + drs_specs_list = drs_cv["drs"]["drs_specs"] + return drs_specs_list[0] if drs_specs_list else "MIP-DRS7" + + def _get_horizontal_label(self) -> Optional[str]: + """Extract horizontal label from processing info using CMIP7 controlled vocabulary""" + if not self.processing_info: + return None + + # Load CMIP7 horizontal label controlled vocabulary + horizontal_cv = self._load_project_cv("horizontal_label") + valid_labels = horizontal_cv["horizontal_label"] + + # Check processing_info against valid CMIP7 horizontal labels + processing_lower = self.processing_info.lower() + + for label in valid_labels: + if label.lower() in processing_lower: + return label + + return None + + def _get_vertical_label(self) -> Optional[str]: + """Extract vertical label from processing info using CMIP7 controlled vocabulary""" + if not self.processing_info: + return None + + # For now, there doesn't seem to be a vertical_label.json in the project CVs + # We'll implement this when CMIP7 defines the controlled vocabulary + # Return None until vertical labels are defined in CMIP7 CVs + return None + + def _get_temporal_label(self) -> Optional[str]: + """Extract temporal label from processing info using CMIP7 controlled vocabulary""" + if not self.processing_info: + return None + + # Load CMIP7 temporal label controlled vocabulary + temporal_cv = self._load_project_cv("temporal_label") + valid_labels = temporal_cv["temporal_label"] + + # Check processing_info against valid CMIP7 temporal labels + processing_lower = self.processing_info.lower() + + for label in valid_labels: + if label.lower() in processing_lower: + return label + + return None + + def _get_area_label(self) -> Optional[str]: + """Extract area label from processing info using CMIP7 controlled vocabulary""" + if not self.processing_info: + return None + + # Load CMIP7 area label controlled vocabulary + area_cv = self._load_project_cv("area_label") + valid_labels = area_cv["area_label"] + + # Check processing_info against valid CMIP7 area labels + processing_lower = self.processing_info.lower() + + for label in valid_labels: + if label.lower() in processing_lower: + return label + + return None + + def _get_validated_region(self) -> str: + """Get validated region from CMIP7 controlled vocabulary""" + # Load CMIP7 region controlled vocabulary + region_cv = self._load_project_cv("region") + valid_regions = region_cv["region"] + + # Check if parsed region is valid + if self.region: + region_lower = self.region.lower() + for valid_region in valid_regions: + if valid_region.lower() == region_lower: + return valid_region + + # Default to global if no valid region found + return "glb" + + def build_drs_path(self, drs_root: Path, version_date: str) -> Path: + """ + Build DRS (Data Reference Syntax) path according to CMIP7 specifications. + + Args: + drs_root: Root directory for DRS structure + version_date: Version date in YYYYMMDD format + + Returns: + Complete DRS path following CMIP7 template: + //////////// + """ + # Load DRS template from CMIP7 controlled vocabulary + drs_cv = self._load_project_cv("drs") + drs_spec = drs_cv["drs"] + + # Build DRS components according to CMIP7 template + drs_components = [ + drs_spec["drs_specs"][0], # drs_specs (e.g., "MIP-DRS7") + "CMIP7", # mip_era + self._resolve_activity_id(), # activity_id + ",".join(self.source["institution_id"]), # institution_id + self.source_id, # source_id + self.experiment_id, # experiment_id + self.variant_label, # variant_label + self._get_validated_region(), # region + self.frequency or "fx", # frequency (use "fx" if not specified) + self.cmor_name, # variable_id + # branding_suffix - this might need to be derived from processing_info or other metadata + self._get_branding_suffix(), # branding_suffix + self.grid_label, # grid_label + f"v{version_date}", # version + ] + + return drs_root.joinpath(*drs_components) + + def _get_branding_suffix(self) -> str: + """ + Get branding suffix for CMIP7 DRS structure. + This might be based on processing_info or other CMIP7-specific metadata. + """ + # For now, return empty string - this should be updated based on CMIP7 requirements + # when the branding suffix specification is clarified + return "" + + def __repr__(self) -> str: + return f""