Quickstart tutorial#

The basic functionality of the catalog is demonstrated in this tutorial. If you haven’t already read the What is it section, you may find it helpful to do so before progressing with this tutorial. You can download the Jupyter notebook rendered below from here and run it yourself in an NCI ARE instance.

import warnings

warnings.filterwarnings("ignore") # Suppress warnings for these docs

Import the catalog#

We’ll start by importing the catalog and getting a feel for what it contains.

import intake

catalog = intake.cat.access_nri

Optionally, you can add a version keyword argument to access a particular version of the catalog:

catalog = intake.cat.access_nri(version="v2024-11-01")

Catalogs are versioned with the date of their creation, i.e., vYYYY-MM-DD.

With that, we can now use catalog to search and load ~3 PB of data without having to know where the data is or how it’s structured.

The catalog includes a wide variety of climate data products. The “name” column gives the name of the data product and the other columns provide additional metadata associated with each product. As we’ll demonstrate below, you can search on metadata in these columns to filter for data products that may be of interest to you. Scroll through the products below and get an idea for what each product is by looking at the entry in the description column.

catalog

access_nri catalog with 94 source(s) across 2272 rows:

model description realm frequency variable
name
01deg_jra55v13_ryf9091 {ACCESS-OM2} {0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {3hr, 3mon, 1mon, 1day, fx} {geolat_c, pme_river, lw_heat, wfimelt, pme_net, temp, passive_ross, passive_prydz, buoyfreq2_wt, total_ocean_runoff, pot_rho_1, alvdf_ai_m, surface_temp, bih_fric_v, sea_level, ANGLE, total_ocean...
01deg_jra55v140_iaf {ACCESS-OM2} {Cycle 1 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, wfimelt, pme_net, temp, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, surface_temp, bih_fric_v, sea_level, vvel, ANGLE, total_ocean_m...
01deg_jra55v140_iaf_cycle2 {ACCESS-OM2} {Cycle 2 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, meltb, pme_river, hs, lw_heat, wfimelt, pme_net, temp, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, surface_temp, Tinz, bih_fric_v, sea_level, vvel, ANGLE, ...
01deg_jra55v140_iaf_cycle3 {ACCESS-OM2} {Cycle 3 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, meltb, pme_river, hs, lw_heat, wfimelt, pme_net, temp, passive_ross, passive_prydz, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, Tinz, vvel, sea_level, ANGL...
01deg_jra55v140_iaf_cycle4 {ACCESS-OM2} {Cycle 4 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {3hr, 6hr, 1mon, 1day, fx} {temp, adic_int100, total_ocean_runoff, alvdf_ai_m, no3_xflux_adv, ml_Nit_m, adic, aice_m, aice_h, pot_rho_2, ke_tot, meltl_m, src10, temp_xflux_adv_int_z, uvel_m, kmu, hu, bottom_temp_max, adic_x...
01deg_jra55v140_iaf_cycle4_jra55v150_extension {ACCESS-OM2} {Extensions of cycle 4 of 0.1 degree ACCESS-OM2 + WOMBAT BGC global model configuration with JRA55-do v1.5.0 and v1.5.0.1 interannual forcing} {seaIce, ocean} {subhr, 1mon, 1day, fx} {sea_level_sq, geolat_c, algal_N_m, meltb, pme_river, hs, lw_heat, wfimelt, pme_net, temp, alk, adic_int100, src06, dic_yflux_adv, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, surfa...
01deg_jra55v150_iaf_cycle1 {ACCESS-OM2} {Cycle 1 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.5.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, lw_heat, wfimelt, pme_net, temp, time_bnds, sea_level, aice_m, TLAT, pot_rho_2, eta_t, tx_trans, time_bounds, eta_nonbouss, temp_xflux_adv_int_z, kmu, swflx, ta...
025deg_era5_iaf {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with ERA5 interannual\nforcing (1980-2021)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
025deg_era5_ryf {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with ERA5 RYF9091 repeat\nyear forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
025deg_jra55_iaf_era5comparison {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with JRA55-do v1.5.0\ninterannual forcing (1980-2019)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, snoice, albsno_m, snow_ai_m, strtlty_m, time_bnd...
025deg_jra55_iaf_omip2_cycle1 {ACCESS-OM2} {Cycle 1/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle2 {ACCESS-OM2} {Cycle 1/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle3 {ACCESS-OM2} {Cycle 3/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle4 {ACCESS-OM2} {Cycle 4/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle5 {ACCESS-OM2} {Cycle 5/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle6 {ACCESS-OM2} {Cycle 6/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_ryf9091_gadi {ACCESS-OM2} {0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {fx, 1mon, 1yr} {geolat_c, pme_river, strtltx_m, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, alvdf_ai_m, albsno_m, snow_ai_m, strtlty_m, sea_level, ANGLE, total_ocean_melt, aice_m, congel_m, salt_surface_ave, ...
025deg_jra55_ryf_era5comparison {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0\nRYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
1deg_era5_iaf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with ERA5 interannual\nforcing (1960-2019)} {seaIce, ocean} {1mon, 1day, fx} {tau_x_min, sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, alb...
1deg_era5_ryf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with ERA5 RYF9091 repeat\nyear forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, time_bnds, vv...
1deg_jra55_iaf_era5comparison {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0\ninterannual forcing (1960-2019)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow...
1deg_jra55_iaf_omip2_cycle1 {ACCESS-OM2} {Cycle 1/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle2 {ACCESS-OM2} {Cycle 2/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle3 {ACCESS-OM2} {Cycle 3/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle4 {ACCESS-OM2} {Cycle 4/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle5 {ACCESS-OM2} {Cycle 5/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle6 {ACCESS-OM2} {Cycle 6/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2spunup_cycle1 {ACCESS-OM2} {Cycle 1/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle10 {ACCESS-OM2} {Cycle 10/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle11 {ACCESS-OM2} {Cycle 11/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle12 {ACCESS-OM2} {Cycle 12/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle13 {ACCESS-OM2} {Cycle 13/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle14 {ACCESS-OM2} {Cycle 14/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle15 {ACCESS-OM2} {Cycle 15/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle16 {ACCESS-OM2} {Cycle 16/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle17 {ACCESS-OM2} {Cycle 17/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle18 {ACCESS-OM2} {Cycle 18/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle19 {ACCESS-OM2} {Cycle 19/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle2 {ACCESS-OM2} {Cycle 2/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle20 {ACCESS-OM2} {Cycle 20/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle21 {ACCESS-OM2} {Cycle 21/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle22 {ACCESS-OM2} {Cycle 22/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle23 {ACCESS-OM2} {Cycle 23/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle24 {ACCESS-OM2} {Cycle 24/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle25 {ACCESS-OM2} {Cycle 25/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle26 {ACCESS-OM2} {Cycle 26/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle27 {ACCESS-OM2} {Cycle 27/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle28 {ACCESS-OM2} {Cycle 28/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle29 {ACCESS-OM2} {Cycle 29/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle3 {ACCESS-OM2} {Cycle 3/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle30 {ACCESS-OM2} {Cycle 30/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle31 {ACCESS-OM2} {Cycle 31/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle32 {ACCESS-OM2} {Cycle 32/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle33 {ACCESS-OM2} {Cycle 33/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle34 {ACCESS-OM2} {Cycle 34/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle35 {ACCESS-OM2} {Cycle 35/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle36 {ACCESS-OM2} {Cycle 36/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle37 {ACCESS-OM2} {Cycle 37/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle38 {ACCESS-OM2} {Cycle 38/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle39 {ACCESS-OM2} {Cycle 39/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle4 {ACCESS-OM2} {Cycle 4/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle40 {ACCESS-OM2} {Cycle 40/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle41 {ACCESS-OM2} {Cycle 41/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle42 {ACCESS-OM2} {Cycle 42/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle43 {ACCESS-OM2} {Cycle 43/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle44 {ACCESS-OM2} {Cycle 44/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle45 {ACCESS-OM2} {Cycle 45/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle5 {ACCESS-OM2} {Cycle 5/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle6 {ACCESS-OM2} {Cycle 6/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle7 {ACCESS-OM2} {Cycle 7/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1day, 1yr} {hs, strtltx_m, temp, alk, fsurfn_ai_m, Tair_m, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, vvel, sea_level, ANGLE, adic, aice_m, congel_m, salt_surface_ave, TLAT, opening_m, hs_m, t...
1deg_jra55_iaf_omip2spunup_cycle8 {ACCESS-OM2} {Cycle 8/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle9 {ACCESS-OM2} {Cycle 9/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_ryf9091_gadi {ACCESS-OM2} {1 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {fx, 1mon, 1yr} {geolat_c, pme_river, temp_vdiffuse_diff_cbt_kppish_on_nrho, ty_trans_rho_gm, strtltx_m, temp, mixdownslope_temp, fsurfn_ai_m, temp_xflux_submeso_on_nrho, Tair_m, total_ocean_runoff, alvdf_ai_m, t...
1deg_jra55v14_ryf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 RYF9091\nrepeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, vvel, sea_lev...
HI_CN_05 {ACCESS-ESM1-5} {Historical run using same configuration as CMIP6 ACCESS-ESM1.5 historical r1i1p1f1, but with phosphorus limitation disabled within CASA-CNP} {seaIce, atmos, ocean} {3hr, 6hr, 1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, fld_s03i903, fld_s03i913, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_c...
HI_C_05_r1 {ACCESS-ESM1-5} {Historical run using same configuration as CMIP6 ACCESS-ESM1.5 historical r1i1p1f1, but with nitrogen and phosphorus limitations disabled within CASA-CNP} {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, fld_s03i903, fld_s03i913, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_c...
HI_nl_C_05_r1 {ACCESS-ESM1-5} {Historical run using same configuration as CMIP6 ACCESS-ESM1.5 historical r1i1p1f1, but with nitrogen and phosphorus limitations disabled within CASA-CNP, and land-use change disabled} {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, fld_s03i903, fld_s03i913, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_c...
HI_noluc_CN_05 {ACCESS-ESM1-5} {Historical run using same configuration as CMIP6 ACCESS-ESM1.5 historical r1i1p1f1, but with phosphorus limitation disabled within CASA-CNP, and land-use change disabled} {seaIce, atmos, ocean} {3hr, 6hr, 1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, fld_s03i903, fld_s03i913, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_c...
PI_GWL_B2035 {ACCESS-ESM1-5} {Climate stabilization run at different global warming levels with zero C02 emissions and pre-industrial aerosols, starting in 2035 } {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_co2, temp_merid_flux_over_g...
PI_GWL_B2040 {ACCESS-ESM1-5} {Climate stabilization run at different global warming levels with zero C02 emissions and pre-industrial aerosols, starting in 2040} {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_co2, temp_merid_flux_over_g...
PI_GWL_B2045 {ACCESS-ESM1-5} {Climate stabilization run at different global warming levels with zero C02 emissions and pre-industrial aerosols, starting in 2045} {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_co2, temp_merid_flux_over_g...
PI_GWL_B2050 {ACCESS-ESM1-5} {Climate stabilization run at different global warming levels with zero C02 emissions and pre-industrial aerosols, starting in 2050} {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_co2, temp_merid_flux_over_g...
PI_GWL_B2055 {ACCESS-ESM1-5} {Climate stabilization run at different global warming levels with zero C02 emissions and pre-industrial aerosols, starting in 2055} {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_co2, temp_merid_flux_over_g...
PI_GWL_B2060 {ACCESS-ESM1-5} {Climate stabilization run at different global warming levels with zero C02 emissions and pre-industrial aerosols, starting in 2060} {seaIce, atmos, ocean} {1mon, 1day, 1yr} {salt_calvingmix, shear, fmelttn_ai, fld_s00i433, mld_min, temp, fld_s03i824, phyn_raw, total_ocean_runoff, salt_merid_flux_over_atlantic, fld_s03i234, fld_s30i406, atm_co2, temp_merid_flux_over_g...
bx944 {ACCESS-CM2} {Standard CMIP6 historical simulation, control experiment for by473 pacemaker experiment (948d8676-2c56-49db-8ea1-b80572b074c8)} {seaIce, atmos, ocean} {1mon, 1day} {salt_calvingmix, fld_s00i433, temp, fld_s03i824, total_ocean_runoff, sidmassevapsubl, fld_s05i269, fld_s03i234, salt_merid_flux_over_atlantic, fld_s01i501, fld_s30i406, temp_merid_flux_over_globa...
by473 {ACCESS-CM2} {Pacemaker variation of CMIP6 historical simulation, Topical Atlantic region replaced with fixed SSTs from observations} {seaIce, atmos, ocean} {1mon, 1day} {salt_calvingmix, fld_s00i433, temp, fld_s03i824, total_ocean_runoff, sidmassevapsubl, fld_s05i269, fld_s03i234, salt_merid_flux_over_atlantic, fld_s01i501, fld_s30i406, temp_merid_flux_over_globa...
by578 {ACCESS-CM2} {Pacemaker variation of CMIP6 ssp245 simulation with Tropical Atlantic region replaced with fixed SSTs from observations} {seaIce, atmos, ocean} {1mon, 1day} {salt_calvingmix, fld_s00i433, temp, fld_s03i824, total_ocean_runoff, sidmassevapsubl, fld_s05i269, fld_s03i234, salt_merid_flux_over_atlantic, fld_s01i501, fld_s30i406, temp_merid_flux_over_globa...
by647 {ACCESS-CM2} {Standard CMIP6 ssp245 simulation, control experiment for by578 pacemaker experiment (1fd9e682-d393-4b17-a9cd-934c3a48a1f8)} {seaIce, atmos, ocean} {1mon, 1day} {salt_calvingmix, fld_s00i433, temp, fld_s03i824, total_ocean_runoff, sidmassevapsubl, fld_s05i269, fld_s03i234, salt_merid_flux_over_atlantic, fld_s01i501, fld_s30i406, temp_merid_flux_over_globa...
bz687 {ACCESS-CM2} {ACCESS-CM2 CMIP6 with 1 degree ocean. Present day atmospheric forcing with 1985-2014 mean GHG, aerosol emissions etc.} {seaIce, atmos, ocean} {1mon, 1day} {salt_calvingmix, fld_s00i433, temp, fld_s03i824, total_ocean_runoff, sidmassevapsubl, fld_s05i269, fld_s03i234, salt_merid_flux_over_atlantic, fld_s01i501, fld_s30i406, temp_merid_flux_over_globa...
cj877 {ACCESS-CM2} {ACCESS-CM2 with COSIMA OM2 0.25 degree ocean configuration. Present day atmospheric forcing with 1985-2014 mean GHG, aerosol emissions etc.} {seaIce, atmos, ocean} {1mon, 1day, fx} {fld_s00i433, temp, fld_s03i824, total_ocean_runoff, sidmassevapsubl, fld_s05i269, fld_s03i234, fld_s01i501, fld_s30i406, sisnthick, fld_s03i217, fld_s08i229, sifllwdtop, pot_rho_2, fld_s03i383, k...
cmip5_al33 {MRI-AGCM3-2S, CMCC-CM, GFDL-CM2p1, GFDL-CM3, HadGEM2-ES, CESM1-CAM5, CESM1-FASTCHEM, CESM1-CAM5-1-FV2, GISS-E2-H, ICHEC-EC-EARTH, MIROC5, GEOS-5, gfdl-esm2m, GISS-E2-R, bcc-csm1-1-m, GFDL-HIRAM-C... {Replicated CMIP5-era datasets catalogued by NCI} {atmos, land, seaIce, ocean, landIce, none, ocnBgchem, aerosol} {3hr, 1yr, subhr, 6hr, 1mon, 1day, fx} {tnscliricl, rlus, ua200, cLitterBelow, vsi, cProduct, htovovrt, pastureFrac, burntArea, pfull, epsi100, rlds, zostoga, sconcpoa, tnhus, tnsclids, cSoilMedium, n2oglobal, vsfevap, mrlsl, treeFrac,...
cmip5_rr3 {CSIRO-BOM-ACCESS1-3, MIROC5, bcc-csm1-1-m, CNRM-CERFACS-CNRM-CM5, CSIRO-Mk3L-1-2, MRI-CGCM3, HadGEM2-CC, IPSL-CM5A-LR, MPI-ESM-MR, MIROC-ESM-CHEM, ECMWF-ERAINT, NOAA-GFDL-GFDL-CM3, MIROC-ESM, MPI... {Australian CMIP5-era datasets catalogued by NCI} {atmos, land, seaIce, ocean, landIce, none, aerosol} {3hr, 6hr, 1hr, 3mon, 1mon, 1day, fx} {mrsofc, zg900, ua, rlus, uas, ua200, vsi, sfcWindmaxmax, treeFracPrimEver, hus850, mlotst, snm, hus200, prsn, pfull, tos, rlds, tauu, evs, zostoga, sconcpoa, loadpoa, grFrazil, wfo, snd, zmla, ms...
cmip6_fs38 {ACCESS-OM2-025, ACCESS-OM2, ACCESS-CM2, ACCESS-ESM1-5} {Australian CMIP6-era datasets catalogued by NCI} {atmos, land, seaIce, ocean, landIce, ocnBgchem, aerosol} {3hr, 1yr, 6hr, 1mon, 1day, fx} {osaltdiff, rlus, htovovrt, cProduct, pfull, fNleach, rlds, mmroa, zostoga, sidmassevapsubl, sisnthick, cSoilMedium, grassFracC4, sifllwdtop, treeFrac, hfevapds, areacello, fNgas, mrro, sndmassdyn...
cmip6_oi10 {GISS-E2-2-G, CESM2-WACCM-FV2, ICON-ESM-LR, CESM2-FV2, ACCESS-OM2, CESM1-CAM5-SE-HR, MIROC-ES2L, CESM1-CAM5-SE-LR, CESM2, NICAM16-8S, EC-Earth3-CC, GISS-E2-1-G, E3SM-1-1-ECA, CNRM-ESM2-1, NorESM1-... {Replicated CMIP6-era datasets catalogued by NCI} {atmos, land, atmosChem, seaIce, ocean, landIce, ocnBgchem, aerosol} {3hr, 1yr, subhr, 6hr, 1hr, 1mon, 1day, fx} {osaltdiff, rlus, htovovrt, cLitterBelow, pastureFrac, cProduct, fNleach, rlds, zostoga, sidmassevapsubl, mrsoLut, fracOutLut, sisnthick, cSoilMedium, cLitterCwd, toz, fFireAll, grassFracC4, treeF...

Using the catalog#

Each entry (row) in the catalog describes a data product comprising many datasets spread across many files (a “dataset” here is a set of files that can be readily opened and combined for analysis using xarray - more on this later). For example, in a given ACCESS-CM2 product, there may be a dataset of ocean variables at monthly frequency, atmospheric variables at monthly frequency etc. Each entry in the catalog has a corresponding Intake-ESM datastore that can be used to filter for datasets of interest based on metadata in the datastore and then to open those datasets using xarray.

The general process for using the catalog is as follows:

  1. Search the ACCESS-NRI catalog for data products that are of interest to you.

  2. Open the Intake-ESM datastore(s) for the product(s) of interest.

  3. Search the Intake-ESM datastore(s) for the datasets within each product that are of interest to you.

  4. Open the datasets of interest as xarray Dataset(s).

  5. Perform some analysis on the xarray Dataset(s).

This process is illustrated in the schematic below. Pink text indicates the methods used to perform each task.

Alternative text

Filtering the catalog#

We can search on the columns in the ACCESS-NRI catalog. For example, we could search for all products that use the model ACCESS-OM2. The search method returns another catalog object with entries that satisfy our search criteria.

catalog_filtered = catalog.search(model="ACCESS-OM2")
catalog_filtered

Intake dataframe catalog with 76 source(s) across 334 rows:

model description realm frequency variable
name
01deg_jra55v13_ryf9091 {ACCESS-OM2} {0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {3hr, 3mon, 1mon, 1day, fx} {geolat_c, pme_river, lw_heat, wfimelt, pme_net, temp, passive_ross, passive_prydz, buoyfreq2_wt, total_ocean_runoff, pot_rho_1, alvdf_ai_m, surface_temp, bih_fric_v, sea_level, ANGLE, total_ocean...
01deg_jra55v140_iaf {ACCESS-OM2} {Cycle 1 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, wfimelt, pme_net, temp, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, surface_temp, bih_fric_v, sea_level, vvel, ANGLE, total_ocean_m...
01deg_jra55v140_iaf_cycle2 {ACCESS-OM2} {Cycle 2 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, meltb, pme_river, hs, lw_heat, wfimelt, pme_net, temp, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, surface_temp, Tinz, bih_fric_v, sea_level, vvel, ANGLE, ...
01deg_jra55v140_iaf_cycle3 {ACCESS-OM2} {Cycle 3 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, meltb, pme_river, hs, lw_heat, wfimelt, pme_net, temp, passive_ross, passive_prydz, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, Tinz, vvel, sea_level, ANGL...
01deg_jra55v140_iaf_cycle4 {ACCESS-OM2} {Cycle 4 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {seaIce, ocean} {3hr, 6hr, 1mon, 1day, fx} {temp, adic_int100, total_ocean_runoff, alvdf_ai_m, no3_xflux_adv, ml_Nit_m, adic, aice_m, aice_h, pot_rho_2, ke_tot, meltl_m, src10, temp_xflux_adv_int_z, uvel_m, kmu, hu, bottom_temp_max, adic_x...
01deg_jra55v140_iaf_cycle4_jra55v150_extension {ACCESS-OM2} {Extensions of cycle 4 of 0.1 degree ACCESS-OM2 + WOMBAT BGC global model configuration with JRA55-do v1.5.0 and v1.5.0.1 interannual forcing} {seaIce, ocean} {subhr, 1mon, 1day, fx} {sea_level_sq, geolat_c, algal_N_m, meltb, pme_river, hs, lw_heat, wfimelt, pme_net, temp, alk, adic_int100, src06, dic_yflux_adv, buoyfreq2_wt, total_ocean_runoff, uvel, alvdf_ai_m, snoice, surfa...
01deg_jra55v150_iaf_cycle1 {ACCESS-OM2} {Cycle 1 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.5.0 OMIP2 interannual forcing} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, lw_heat, wfimelt, pme_net, temp, time_bnds, sea_level, aice_m, TLAT, pot_rho_2, eta_t, tx_trans, time_bounds, eta_nonbouss, temp_xflux_adv_int_z, kmu, swflx, ta...
025deg_era5_iaf {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with ERA5 interannual\nforcing (1980-2021)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
025deg_era5_ryf {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with ERA5 RYF9091 repeat\nyear forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
025deg_jra55_iaf_era5comparison {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with JRA55-do v1.5.0\ninterannual forcing (1980-2019)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, snoice, albsno_m, snow_ai_m, strtlty_m, time_bnd...
025deg_jra55_iaf_omip2_cycle1 {ACCESS-OM2} {Cycle 1/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle2 {ACCESS-OM2} {Cycle 1/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle3 {ACCESS-OM2} {Cycle 3/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle4 {ACCESS-OM2} {Cycle 4/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle5 {ACCESS-OM2} {Cycle 5/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_iaf_omip2_cycle6 {ACCESS-OM2} {Cycle 6/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, meltb, mld_min, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice...
025deg_jra55_ryf9091_gadi {ACCESS-OM2} {0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {fx, 1mon, 1yr} {geolat_c, pme_river, strtltx_m, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, alvdf_ai_m, albsno_m, snow_ai_m, strtlty_m, sea_level, ANGLE, total_ocean_melt, aice_m, congel_m, salt_surface_ave, ...
025deg_jra55_ryf_era5comparison {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0\nRYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
1deg_era5_iaf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with ERA5 interannual\nforcing (1960-2019)} {seaIce, ocean} {1mon, 1day, fx} {tau_x_min, sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, alb...
1deg_era5_ryf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with ERA5 RYF9091 repeat\nyear forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, time_bnds, vv...
1deg_jra55_iaf_era5comparison {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0\ninterannual forcing (1960-2019)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, buoyfreq2_wt, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow...
1deg_jra55_iaf_omip2_cycle1 {ACCESS-OM2} {Cycle 1/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle2 {ACCESS-OM2} {Cycle 2/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle3 {ACCESS-OM2} {Cycle 3/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle4 {ACCESS-OM2} {Cycle 4/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle5 {ACCESS-OM2} {Cycle 5/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2_cycle6 {ACCESS-OM2} {Cycle 6/6 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, bih_fric_v, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, b...
1deg_jra55_iaf_omip2spunup_cycle1 {ACCESS-OM2} {Cycle 1/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle10 {ACCESS-OM2} {Cycle 10/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle11 {ACCESS-OM2} {Cycle 11/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle12 {ACCESS-OM2} {Cycle 12/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle13 {ACCESS-OM2} {Cycle 13/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle14 {ACCESS-OM2} {Cycle 14/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle15 {ACCESS-OM2} {Cycle 15/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle16 {ACCESS-OM2} {Cycle 16/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle17 {ACCESS-OM2} {Cycle 17/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle18 {ACCESS-OM2} {Cycle 18/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle19 {ACCESS-OM2} {Cycle 19/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle2 {ACCESS-OM2} {Cycle 2/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle20 {ACCESS-OM2} {Cycle 20/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle21 {ACCESS-OM2} {Cycle 21/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle22 {ACCESS-OM2} {Cycle 22/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle23 {ACCESS-OM2} {Cycle 23/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle24 {ACCESS-OM2} {Cycle 24/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle25 {ACCESS-OM2} {Cycle 25/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle26 {ACCESS-OM2} {Cycle 26/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle27 {ACCESS-OM2} {Cycle 27/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle28 {ACCESS-OM2} {Cycle 28/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle29 {ACCESS-OM2} {Cycle 29/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle3 {ACCESS-OM2} {Cycle 3/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle30 {ACCESS-OM2} {Cycle 30/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle31 {ACCESS-OM2} {Cycle 31/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle32 {ACCESS-OM2} {Cycle 32/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle33 {ACCESS-OM2} {Cycle 33/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle34 {ACCESS-OM2} {Cycle 34/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle35 {ACCESS-OM2} {Cycle 35/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle36 {ACCESS-OM2} {Cycle 36/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle37 {ACCESS-OM2} {Cycle 37/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle38 {ACCESS-OM2} {Cycle 38/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle39 {ACCESS-OM2} {Cycle 39/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle4 {ACCESS-OM2} {Cycle 4/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {mld_min, strtltx_m, temp, total_ocean_runoff, alvdf_ai_m, strtlty_m, temp_vdiffuse_k33, adic, aice_m, pot_rho_2, ke_tot, meltl_m, temp_xflux_adv_int_z, tx_trans_gm, uvel_m, kmu, hu, pco2, total_o...
1deg_jra55_iaf_omip2spunup_cycle40 {ACCESS-OM2} {Cycle 40/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle41 {ACCESS-OM2} {Cycle 41/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle42 {ACCESS-OM2} {Cycle 42/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle43 {ACCESS-OM2} {Cycle 43/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle44 {ACCESS-OM2} {Cycle 44/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle45 {ACCESS-OM2} {Cycle 45/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle5 {ACCESS-OM2} {Cycle 5/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle6 {ACCESS-OM2} {Cycle 6/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {fx, 1mon, 1day, 1yr} {sea_level_sq, salt_sigma_diff, geolat_c, mld_min, pme_river, ty_trans_rho_gm, temp_yflux_sigma, lw_heat, wfimelt, pme_net, temp, alk, mixdownslope_temp, buoyfreq2_wt, total_ocean_runoff, alvdf_ai...
1deg_jra55_iaf_omip2spunup_cycle7 {ACCESS-OM2} {Cycle 7/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1day, 1yr} {hs, strtltx_m, temp, alk, fsurfn_ai_m, Tair_m, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, vvel, sea_level, ANGLE, adic, aice_m, congel_m, salt_surface_ave, TLAT, opening_m, hs_m, t...
1deg_jra55_iaf_omip2spunup_cycle8 {ACCESS-OM2} {Cycle 8/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_iaf_omip2spunup_cycle9 {ACCESS-OM2} {Cycle 9/45 of 1 degree ACCESS-OM2-BGC global configuration with JRA55-do v1.4 OMIP2 spunup interannual forcing (1958-2018)} {seaIce, ocean} {1mon, 1yr} {phy, vatm_m, alvdr_ai_m, aicen_m, temp, alk, ULAT, ANGLET, NCAT, uarea, ULON, no3, alvdf_ai_m, dic, HTN, o2, zoo, temp_global_ave, sss, age_global, average_DT, sea_level, dyt, uatm_m, fe, ANGLE, ...
1deg_jra55_ryf9091_gadi {ACCESS-OM2} {1 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {fx, 1mon, 1yr} {geolat_c, pme_river, temp_vdiffuse_diff_cbt_kppish_on_nrho, ty_trans_rho_gm, strtltx_m, temp, mixdownslope_temp, fsurfn_ai_m, temp_xflux_submeso_on_nrho, Tair_m, total_ocean_runoff, alvdf_ai_m, t...
1deg_jra55v14_ryf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 RYF9091\nrepeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, vvel, sea_lev...
cmip6_fs38 {ACCESS-OM2} {Australian CMIP6-era datasets catalogued by NCI} {seaIce, atmos, ocean, ocnBgchem} {fx, 1mon, 1day, 1yr} {osaltdiff, mlotst, msftyrho, prsn, tos, evs, zostoga, wfo, siextentn, umo, tauvo, sisnmass, sosga, dissic, ocontemppmdiff, simass, opottempmint, fsitherm, mfo, hfevapds, ocontempdiff, fgco2nat, w...
cmip6_oi10 {ACCESS-OM2} {Replicated CMIP6-era datasets catalogued by NCI} {ocean} {1mon} {uo, sos, so, vo, tos, thetao, zos}

We can also combine queries in a search. For example, below we search for all products that use the model ACCESS-OM2 and contain the variable wdet100 at daily frequency.

catalog.search(model="ACCESS-OM2", frequency="1day", variable="wdet100")

Intake dataframe catalog with 2 source(s) across 2 rows:

model description realm frequency variable
name
01deg_jra55v140_iaf_cycle4 {ACCESS-OM2} {Cycle 4 of 0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 OMIP2 interannual forcing} {ocean} {1day} {wdet100}
01deg_jra55v140_iaf_cycle4_jra55v150_extension {ACCESS-OM2} {Extensions of cycle 4 of 0.1 degree ACCESS-OM2 + WOMBAT BGC global model configuration with JRA55-do v1.5.0 and v1.5.0.1 interannual forcing} {ocean} {1day} {wdet100}

Note

Note, metadata in the realm and frequency columns of the ACCESS-NRI catalog follow a standard vocabulary that is very similar to CMIP6 (but slightly more general):

  • realm may be one of:

    • aerosol,

    • atmos,

    • atmosChem,

    • land,

    • landIce,

    • none,

    • ocean,

    • ocnBgchem,

    • seaIce,

    • unknown

  • frequency may be one of (where <int> is an integer):

    • fx

    • subhr

    • <int>hr

    • <int>day

    • <int>mon

    • <int>yr

    • <int>dec

Some attempt has been made to use consistent model names in the model column (e.g. always use “ACCESS-OM2” for ACCESS-OM2), but model naming is not enforced. The variable names in the variable column are whatever they’re called in the associated data product.

Data discovery#

The catalog search method is a powerful data-discovery tool.

For example, the ACCESS-NRI catalog includes as entries the CMIP5 and CMIP6 Intake-ESM datastores managed by NCI. These datastores contain a very large number of models and variables. It can be difficult to work out what variables are available for what models and what frequencies. The ACCESS-NRI catalog can help with this.

As an example let’s look at the cmip6_oi10 datastore, which comprises a very large number of models and variables.

catalog.search(name="cmip6_oi10")

Intake dataframe catalog with 1 source(s) across 935 rows:

model description realm frequency variable
name
cmip6_oi10 {GISS-E2-2-G, CESM2-WACCM-FV2, ICON-ESM-LR, CESM2-FV2, ACCESS-OM2, CESM1-CAM5-SE-HR, MIROC-ES2L, CESM1-CAM5-SE-LR, CESM2, NICAM16-8S, EC-Earth3-CC, GISS-E2-1-G, E3SM-1-1-ECA, CNRM-ESM2-1, NorESM1-... {Replicated CMIP6-era datasets catalogued by NCI} {atmos, land, atmosChem, seaIce, ocean, landIce, ocnBgchem, aerosol} {3hr, 1yr, subhr, 6hr, 1hr, 1mon, 1day, fx} {osaltdiff, rlus, htovovrt, cLitterBelow, pastureFrac, cProduct, fNleach, rlds, zostoga, sidmassevapsubl, mrsoLut, fracOutLut, sisnthick, cSoilMedium, cLitterCwd, toz, fFireAll, grassFracC4, treeF...

Say we are specifically interested in the variable burntFractionAll. Searching on this variable, we can easily see that this is only available in one model (EC-Earth3-Veg) at one frequency (1mon).

catalog.search(name="cmip6_oi10", variable="burntFractionAll")

Intake dataframe catalog with 1 source(s) across 1 rows:

model description realm frequency variable
name
cmip6_oi10 {EC-Earth3-Veg} {Replicated CMIP6-era datasets catalogued by NCI} {land} {1mon} {burntFractionAll}

We can also use regex strings in our searches. For example, we could search for variables containing the substrings "burnt" and "Fire". We can see that there are five variables, all with monthly frequency, across a large number of models that satisfy this criteria.

catalog.search(name="cmip6_oi10", variable=[".*burnt.*", ".*Fire.*"])

Intake dataframe catalog with 1 source(s) across 18 rows:

model description realm frequency variable
name
cmip6_oi10 {CNRM-ESM2-1, MPI-ESM-1-2-HAM, EC-Earth3-Veg, E3SM-1-1, CESM2-WACCM-FV2, SAM0-UNICON, CESM2, MRI-ESM2-0, CESM2-WACCM, NorCPM1, NorESM2-LM, MPI-ESM1-2-LR, NorESM2-MM, E3SM-1-1-ECA, AWI-ESM-1-1-LR, ... {Replicated CMIP6-era datasets catalogued by NCI} {land} {1mon} {fFireAll, fFire, burntFractionAll, cTotFireLut, fFireNat}

Or we might want to look for a particular substring in the description (although this is probably not a good idea in general as we can’t always rely on descriptions to be written/formatted in a consistent way).

catalog.search(description=".*RYF9091.*")

Intake dataframe catalog with 7 source(s) across 34 rows:

model description realm frequency variable
name
01deg_jra55v13_ryf9091 {ACCESS-OM2} {0.1 degree ACCESS-OM2 global model configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {3hr, 3mon, 1mon, 1day, fx} {geolat_c, pme_river, lw_heat, wfimelt, pme_net, temp, passive_ross, passive_prydz, buoyfreq2_wt, total_ocean_runoff, pot_rho_1, alvdf_ai_m, surface_temp, bih_fric_v, sea_level, ANGLE, total_ocean...
025deg_era5_ryf {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with ERA5 RYF9091 repeat\nyear forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
025deg_jra55_ryf9091_gadi {ACCESS-OM2} {0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {fx, 1mon, 1yr} {geolat_c, pme_river, strtltx_m, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, alvdf_ai_m, albsno_m, snow_ai_m, strtlty_m, sea_level, ANGLE, total_ocean_melt, aice_m, congel_m, salt_surface_ave, ...
025deg_jra55_ryf_era5comparison {ACCESS-OM2} {0.25 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0\nRYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, ty_trans_rho_gm, lw_heat, hs, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty...
1deg_era5_ryf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with ERA5 RYF9091 repeat\nyear forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, time_bnds, vv...
1deg_jra55_ryf9091_gadi {ACCESS-OM2} {1 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.3 RYF9091 repeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {fx, 1mon, 1yr} {geolat_c, pme_river, temp_vdiffuse_diff_cbt_kppish_on_nrho, ty_trans_rho_gm, strtltx_m, temp, mixdownslope_temp, fsurfn_ai_m, temp_xflux_submeso_on_nrho, Tair_m, total_ocean_runoff, alvdf_ai_m, t...
1deg_jra55v14_ryf {ACCESS-OM2} {1 degree ACCESS-OM2 global model configuration with JRA55-do v1.4.0 RYF9091\nrepeat year forcing (May 1990 to Apr 1991)} {seaIce, ocean} {1mon, 1day, fx} {sea_level_sq, geolat_c, pme_river, hs, lw_heat, strtltx_m, wfimelt, pme_net, temp, fsurfn_ai_m, Tair_m, total_ocean_runoff, uvel, alvdf_ai_m, snoice, albsno_m, snow_ai_m, strtlty_m, vvel, sea_lev...

Loading Intake sources#

Remember that each entry in the catalog has an associated Intake-ESM datastore that keeps track of all the files in that product and how they fit together into datasets. Once we’ve sufficiently refined our catalog search, we can load the Intake-ESM datastore(s) for our remaining products. If there is only one product remaining, we can use to_source() which returns the Intake-ESM datastore for that product. If there are multiple products remaining, we can use to_source_dict(), which returns a dictionary of Intake-ESM datastores with the product names as keys.

For example, if we know the name of the product we’re interested in, we could just search on that and then call to_source().

esm_datastore = catalog.search(name="025deg_jra55_iaf_omip2_cycle1").to_source()

esm_datastore

025deg_jra55_iaf_omip2_cycle1 catalog with 8 dataset(s) from 1830 asset(s):

unique
path 1830
realm 2
variable 296
frequency 4
start_date 855
end_date 854
variable_long_name 271
variable_standard_name 57
variable_cell_methods 6
variable_units 63
filename 1470
file_id 8
derived_variable 0

This will look familiar to you if you’ve use Intake-ESM datastores before. If not, you can read the Intake-ESM documentation here and we’ll go through a basic introduction below.

Note, in this example case we knew the name of the product we wanted in the ACCESS-NRI catalog. Instead of searching on the “name” column and calling to_source, we could also have opened the datastore by accessing it directly as an attribute or key on the catalog instance (the former only works if the catalog name comprises only letters, numbers and underscores). For example, the following cell does the same thing as the previous.

esm_datastore = catalog["025deg_jra55_iaf_omip2_cycle1"]

Each Intake-ESM datastore has its own .metadata attribute that contains additional information about that experiment.

esm_datastore.metadata
{'contact': 'Ryan Holmes',
 'created': '2020-11-03',
 'description': 'Cycle 1/6 of 0.25 degree ACCESS-OM2 physics-only global configuration with JRA55-do v1.4 OMIP2 interannual forcing (1958-2019)',
 'email': 'ryan.holmes@bom.gov.au',
 'experiment_uuid': '22b73436-9de6-450d-a7ef-3bde5219f19b',
 'keywords': ['quarter',
  'cosima',
  'access-om2-025',
  'jra55-do-v1.4.0',
  'iaf',
  'omip2'],
 'license': None,
 'long_description': '0.25 degree ACCESS-OM2 global model configuration under interannual forcing. ACCESS-OM2-025 physics-only contribution to the CMIP6 Ocean Model Intercomparison Program project phase 2 (OMIP-2), as discussed by Tsujino et al. (2020, GMD, https://doi.org/10.5194/gmd-2019-363). The configuration is based on that described in Kiss et al. (2020), https://doi.org/10.5194/gmd-13-401-2020, but with many improvements. Initial conditions are WOA13v2 potential temperature and practical salinity. However, the WOA potential temperature field is converted to Conservative Temperature for the initical condition unlike earlier versions of ACCESS-OM2. The topography has also been updated (see https://github.com/COSIMA/access-om2/issues/158). Run with JRA55-do v1.4.0 interannually-varying forcing with all solid runoff converted to liquid runoff with no heat transfer. The OMIP-2 protocol consists of six consecutive cycles of the 61-year period starting on 1 Jan 1958 and finishing on 1 Jan 2019. To avoid issues with leap years and calendars, each cycle is run as a separate "ensemble" experiment - and thus each has the same time/calendar vector. The configuration files used for this simulation are on github in the repository https://github.com/rmholmes/025deg_jra55_iaf. Each cycle is under a different branch listed as omip_amoctopo_cycle[1-6].',
 'model': ['ACCESS-OM2'],
 'name': '025deg_jra55_iaf_omip2_cycle1',
 'nominal_resolution': ['0.25 degrees'],
 'notes': 'Output diagnostics are extensive based on the CMIP6 OMIP diagnostics request listed in Griffies et al (2016, https://doi.org/10.5194/gmd-9-3231-2016), including many budget diagnostics.',
 'parent_experiment': None,
 'reference': None,
 'related_experiments': ['d7f8f39a-025a-4d13-9d70-72103c42e962',
  'bc006074-1c81-4573-b964-32145791a831',
  'd5de91ef-1ad8-43c1-aa01-1ca402cd9717',
  '5d6dbb78-b0f9-40d9-b4ca-c70e48d3fa21',
  '7ff56950-944e-446b-8cc4-0d662aa1acba'],
 'url': 'https://github.com/rmholmes/025deg_jra55_iaf/tree/omip_amoctopo_cycle1',
 'version': 1,
 'catalog_dir': ''}

Using an Intake-ESM datastore#

Intake-ESM documentation can be found here. Be aware that in the Intake-ESM documentation, Intake-ESM datastores are also often referred to as Intake-ESM “catalogs”. We only use the former terminology to avoid confusion with the ACCESS-NRI catalog.

We’ll demonstrate the basic steps involved in searching for and opening some data using an Intake-ESM datastore. We can see what datasets are available within a datastore by looking at the output of the .keys() method. Here, a “dataset” is a set of files (usually continuous in time) that can be readily opened and combined for analysis using xarray.

esm_datastore.keys()
['iceh_XXXX_XX.1mon',
 'iceh_XXXX_XX_daily.1day',
 'ocean_budget.1yr',
 'ocean_daily.1day',
 'ocean_grid.fx',
 'ocean_month.1mon',
 'ocean_scalar.1mon',
 'ocean_scalar_snapshot.1day']

For most of the products in the ACCESS-NRI catalog, dataset keys are constructed from a file id and frequency. The file id is parsed from the filenames. The “X”s are there in place of time stamps that were included in the filenames for the ice output in this product. You can see there are a range of datasets available containing ice and ocean data with fixed, daily, monthly and annual frequencies.

We can search on this Intake-ESM datastore in a similar way as we did on the ACCESS-NRI catalog. Note, however, that there are more/different metadata to search on than was available in the catalog. We can look at what metadata can be searched on in our Intake-ESM datastore by looking at the .df atrribute, which is a table of all files in the datastore and associated metadata.

esm_datastore.df.head()
path realm variable frequency start_date end_date variable_long_name variable_standard_name variable_cell_methods variable_units filename file_id
0 /g/data/ik11/outputs/access-om2-025/025deg_jra55_iaf_omip2_cycle1/output000/ice/OUTPUT/iceh.1958-01-daily.nc seaIce [time_bounds, TLON, TLAT, ULON, ULAT, NCAT, tmask, blkmask, tarea, uarea, dxt, dyt, dxu, dyu, HTN, HTE, ANGLE, ANGLET, hi, hs, aice, uvel, vvel, frzmlt, congel, frazil, snoice, meltt, melts, meltb... 1day 1958-01-01, 00:00:00 1958-02-01, 00:00:00 [boundaries for time-averaging interval, T grid center longitude, T grid center latitude, U grid center longitude, U grid center latitude, category maximum thickness, ocean grid mask, ice grid blo... [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] [, , , , , , , , , , , , , , , , , , time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, tim... [days since 1958-01-01 00:00:00, degrees_east, degrees_north, degrees_east, degrees_north, m, , , m^2, m^2, m, m, m, m, m, m, radians, radians, m, m, 1, m/s, m/s, W/m^2, cm/day, cm/day, cm/day, cm... iceh.1958-01-daily.nc iceh_XXXX_XX_daily
1 /g/data/ik11/outputs/access-om2-025/025deg_jra55_iaf_omip2_cycle1/output000/ice/OUTPUT/iceh.1958-01.nc seaIce [time_bounds, TLON, TLAT, ULON, ULAT, NCAT, tmask, blkmask, tarea, uarea, dxt, dyt, dxu, dyu, HTN, HTE, ANGLE, ANGLET, hi_m, hs_m, Tsfc_m, aice_m, uvel_m, vvel_m, uatm_m, vatm_m, sice_m, fswdn_m, ... 1mon 1958-01-01, 00:00:00 1958-02-01, 00:00:00 [boundaries for time-averaging interval, T grid center longitude, T grid center latitude, U grid center longitude, U grid center latitude, category maximum thickness, ocean grid mask, ice grid blo... [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] [, , , , , , , , , , , , , , , , , , time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, tim... [days since 1958-01-01 00:00:00, degrees_east, degrees_north, degrees_east, degrees_north, m, , , m^2, m^2, m, m, m, m, m, m, radians, radians, m, m, C, 1, m/s, m/s, m/s, m/s, ppt, W/m^2, W/m^2, W... iceh.1958-01.nc iceh_XXXX_XX
2 /g/data/ik11/outputs/access-om2-025/025deg_jra55_iaf_omip2_cycle1/output000/ice/OUTPUT/iceh.1958-02-daily.nc seaIce [time_bounds, TLON, TLAT, ULON, ULAT, NCAT, tmask, blkmask, tarea, uarea, dxt, dyt, dxu, dyu, HTN, HTE, ANGLE, ANGLET, hi, hs, aice, uvel, vvel, frzmlt, congel, frazil, snoice, meltt, melts, meltb... 1day 1958-02-01, 00:00:00 1958-03-01, 00:00:00 [boundaries for time-averaging interval, T grid center longitude, T grid center latitude, U grid center longitude, U grid center latitude, category maximum thickness, ocean grid mask, ice grid blo... [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] [, , , , , , , , , , , , , , , , , , time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, tim... [days since 1958-01-01 00:00:00, degrees_east, degrees_north, degrees_east, degrees_north, m, , , m^2, m^2, m, m, m, m, m, m, radians, radians, m, m, 1, m/s, m/s, W/m^2, cm/day, cm/day, cm/day, cm... iceh.1958-02-daily.nc iceh_XXXX_XX_daily
3 /g/data/ik11/outputs/access-om2-025/025deg_jra55_iaf_omip2_cycle1/output000/ice/OUTPUT/iceh.1958-02.nc seaIce [time_bounds, TLON, TLAT, ULON, ULAT, NCAT, tmask, blkmask, tarea, uarea, dxt, dyt, dxu, dyu, HTN, HTE, ANGLE, ANGLET, hi_m, hs_m, Tsfc_m, aice_m, uvel_m, vvel_m, uatm_m, vatm_m, sice_m, fswdn_m, ... 1mon 1958-02-01, 00:00:00 1958-03-01, 00:00:00 [boundaries for time-averaging interval, T grid center longitude, T grid center latitude, U grid center longitude, U grid center latitude, category maximum thickness, ocean grid mask, ice grid blo... [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] [, , , , , , , , , , , , , , , , , , time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, tim... [days since 1958-01-01 00:00:00, degrees_east, degrees_north, degrees_east, degrees_north, m, , , m^2, m^2, m, m, m, m, m, m, radians, radians, m, m, C, 1, m/s, m/s, m/s, m/s, ppt, W/m^2, W/m^2, W... iceh.1958-02.nc iceh_XXXX_XX
4 /g/data/ik11/outputs/access-om2-025/025deg_jra55_iaf_omip2_cycle1/output000/ice/OUTPUT/iceh.1958-03-daily.nc seaIce [time_bounds, TLON, TLAT, ULON, ULAT, NCAT, tmask, blkmask, tarea, uarea, dxt, dyt, dxu, dyu, HTN, HTE, ANGLE, ANGLET, hi, hs, aice, uvel, vvel, frzmlt, congel, frazil, snoice, meltt, melts, meltb... 1day 1958-03-01, 00:00:00 1958-04-01, 00:00:00 [boundaries for time-averaging interval, T grid center longitude, T grid center latitude, U grid center longitude, U grid center latitude, category maximum thickness, ocean grid mask, ice grid blo... [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] [, , , , , , , , , , , , , , , , , , time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, time: mean, tim... [days since 1958-01-01 00:00:00, degrees_east, degrees_north, degrees_east, degrees_north, m, , , m^2, m^2, m, m, m, m, m, m, radians, radians, m, m, 1, m/s, m/s, W/m^2, cm/day, cm/day, cm/day, cm... iceh.1958-03-daily.nc iceh_XXXX_XX_daily

Let’s search for datasets in this product that contain the variable temp_global_ave.

esm_datastore_filtered = esm_datastore.search(variable="temp_global_ave")

esm_datastore_filtered.keys()
['ocean_scalar.1mon', 'ocean_scalar_snapshot.1day']

We can see that there are two datasets that satisfy this search: scalar ocean datasets at monthly and daily frequencies.

Let’s pretend that these are the datasets we’ve been looking for. Before loading them and performing our analysis, it’s worth reiterating the steps we used to get here. It may have felt complicated, but we’ve really only run three lines of code:

  • opened the ACCESS-NRI catalog:

    catalog = intake.cat.access_nri
    
  • opened the Intake-ESM datastore for our product of interest:

    esm_datastore = catalog["025deg_jra55_iaf_omip2_cycle1"]
    
  • filtered this datastore to only include datasets containing our variable of interest

    esm_datastore_filtered = esm_datastore.search(variable="temp_global_ave")
    

To load and analyse our datasets, we’ll first start a dask cluster.

from distributed import Client

client = Client(threads_per_worker=1)
client.dashboard_link
'/proxy/8787/status'

Hint

If you’re actually running this tutorial, it is very helpful to monitor the dask dashboard when working with dask. Click on the dask icon on the far left of the screen (three orange and red squares) and enter the text output by the previous cell in the search bar. Each of the different orange panels is a different dashboard that you can use to monitor what dask is doing. If you don’t know which to choose, the “Task Stream”, “Progress”, “CPU” and “Workers Memory” diagnostics are a good start. Click on these, and drag the windows to where ever you want them in your JupyterLab.

Intake-ESM datastores have a method called to_dataset_dict for opening multiple datasets into a dictionary of xarray Datasets. If you aren’t familiar with xarray, check out the excellent xarray tutorial webpage.

dataset_dict = esm_datastore_filtered.to_dataset_dict(progressbar=False)

Now that we have our datasets, we can do our “analysis”, which here is to simply plot the timeseries. Note that at this point, we still haven’t actually loaded any product data into memory. Our datasets are dask-backed xarray Dataset objects that will only be evaluated when required (or computed explicitly), for example when we try to plot our data:

import matplotlib.pyplot as plt

dataset_dict["ocean_scalar_snapshot.1day"]["temp_global_ave"].plot(label="daily")
dataset_dict["ocean_scalar.1mon"]["temp_global_ave"].plot(label="monthly")

plt.title("")
plt.legend()
plt.grid()
../_images/471d448697285f05d6909b74aa7a3804ab9891ee7c4fa239a459a0ed3e088f4d.png

Note, when there is only one dataset in an Intake-ESM datastore, it can be opened into an xarray Dataset using the to_dask method. For example, below we filter our datastore further to only include the monthly dataset and then open this using to_dask.

dataset = esm_datastore_filtered.search(frequency="1mon").to_dask(progressbar=False)

dataset
<xarray.Dataset> Size: 79kB
Dimensions:                (scalar_axis: 1, time: 732, nv: 2)
Coordinates:
  * scalar_axis            (scalar_axis) float64 8B 0.0
  * time                   (time) datetime64[ns] 6kB 1958-01-14T12:00:00 ... ...
  * nv                     (nv) float64 16B 1.0 2.0
Data variables: (12/19)
    total_mass_seawater    (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    total_volume_seawater  (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    eta_adjust             (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    pbot_adjust            (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    rhoave                 (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    eta_global             (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    ...                     ...
    total_ocean_heat       (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    total_net_sfc_heating  (time, scalar_axis) float32 3kB dask.array<chunksize=(1, 1), meta=np.ndarray>
    average_T1             (time) datetime64[ns] 6kB dask.array<chunksize=(12,), meta=np.ndarray>
    average_T2             (time) datetime64[ns] 6kB dask.array<chunksize=(12,), meta=np.ndarray>
    average_DT             (time) timedelta64[ns] 6kB dask.array<chunksize=(12,), meta=np.ndarray>
    time_bounds            (time, nv) timedelta64[ns] 12kB dask.array<chunksize=(1, 2), meta=np.ndarray>
Attributes: (12/16)
    filename:                                 ocean_scalar.nc
    title:                                    ACCESS-OM2
    grid_type:                                mosaic
    grid_tile:                                1
    intake_esm_vars:                          ['total_mass_seawater', 'total_...
    intake_esm_attrs:realm:                   ocean
    ...                                       ...
    intake_esm_attrs:variable_cell_methods:   time: mean,time: mean,time: mea...
    intake_esm_attrs:variable_units:          kg,m^3,m,dbar,kg/m^3,meter,deg_...
    intake_esm_attrs:filename:                ocean_scalar.nc
    intake_esm_attrs:file_id:                 ocean_scalar
    intake_esm_attrs:_data_format_:           netcdf
    intake_esm_dataset_key:                   ocean_scalar.1mon

Passing a catalog query on to an Intake-ESM datastore#

A common workflow when using the ACCESS-NRI catalog is to execute the same search on the ACCESS-NRI catalog and the resulting Intake-ESM datastores. For example, we might want to search for products containing a particular variable in the ACCESS-NRI catalog and then open datasets containing that variable from the resulting product datastore(s). To avoid code duplication in this case, the catalog to_source and to_source_dict methods accept an argument pass_query which if True tries to pass the most recent query on the ACCESS-NRI catalog on to the datastore(s).

For example, let’s search for all ACCESS-OM2 products with the variable temp_global_ave at monthly frequency and get the datastores for all the resulting products. Each datastore in esm_datastore_dict comprises multiple datasets, most of which don’t include the variable we’re interested in.

%%time

catalog_filtered2 = catalog.search(model="ACCESS-OM2", frequency="1mon", variable="temp_global_ave")

esm_datastore_dict = catalog_filtered2.to_source_dict()

esm_datastore_dict
CPU times: user 2min 32s, sys: 7.07 s, total: 2min 40s
Wall time: 2min 35s
{'025deg_jra55_iaf_omip2_cycle4': <025deg_jra55_iaf_omip2_cycle4 catalog with 8 dataset(s) from 1830 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle4': <1deg_jra55_iaf_omip2spunup_cycle4 catalog with 11 dataset(s) from 1989 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle4': <1deg_jra55_iaf_omip2_cycle4 catalog with 11 dataset(s) from 2013 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle44': <1deg_jra55_iaf_omip2spunup_cycle44 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle12': <1deg_jra55_iaf_omip2spunup_cycle12 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle7': <1deg_jra55_iaf_omip2spunup_cycle7 catalog with 5 dataset(s) from 927 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle16': <1deg_jra55_iaf_omip2spunup_cycle16 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle34': <1deg_jra55_iaf_omip2spunup_cycle34 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle5': <1deg_jra55_iaf_omip2spunup_cycle5 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle1': <1deg_jra55_iaf_omip2spunup_cycle1 catalog with 11 dataset(s) from 2013 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle3': <025deg_jra55_iaf_omip2_cycle3 catalog with 9 dataset(s) from 1869 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle28': <1deg_jra55_iaf_omip2spunup_cycle28 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle1': <1deg_jra55_iaf_omip2_cycle1 catalog with 11 dataset(s) from 2013 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle41': <1deg_jra55_iaf_omip2spunup_cycle41 catalog with 4 dataset(s) from 4575 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle15': <1deg_jra55_iaf_omip2spunup_cycle15 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle3': <1deg_jra55_iaf_omip2_cycle3 catalog with 11 dataset(s) from 2013 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle9': <1deg_jra55_iaf_omip2spunup_cycle9 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle31': <1deg_jra55_iaf_omip2spunup_cycle31 catalog with 4 dataset(s) from 915 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle6': <025deg_jra55_iaf_omip2_cycle6 catalog with 8 dataset(s) from 1830 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle25': <1deg_jra55_iaf_omip2spunup_cycle25 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle39': <1deg_jra55_iaf_omip2spunup_cycle39 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle37': <1deg_jra55_iaf_omip2spunup_cycle37 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle3': <1deg_jra55_iaf_omip2spunup_cycle3 catalog with 11 dataset(s) from 2013 asset(s)>,
 '025deg_jra55_ryf9091_gadi': <025deg_jra55_ryf9091_gadi catalog with 6 dataset(s) from 8951 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle33': <1deg_jra55_iaf_omip2spunup_cycle33 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle38': <1deg_jra55_iaf_omip2spunup_cycle38 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle45': <1deg_jra55_iaf_omip2spunup_cycle45 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle13': <1deg_jra55_iaf_omip2spunup_cycle13 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle36': <1deg_jra55_iaf_omip2spunup_cycle36 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle40': <1deg_jra55_iaf_omip2spunup_cycle40 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle24': <1deg_jra55_iaf_omip2spunup_cycle24 catalog with 4 dataset(s) from 915 asset(s)>,
 '01deg_jra55v13_ryf9091': <01deg_jra55v13_ryf9091 catalog with 34 dataset(s) from 11947 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle26': <1deg_jra55_iaf_omip2spunup_cycle26 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle29': <1deg_jra55_iaf_omip2spunup_cycle29 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle8': <1deg_jra55_iaf_omip2spunup_cycle8 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle11': <1deg_jra55_iaf_omip2spunup_cycle11 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle20': <1deg_jra55_iaf_omip2spunup_cycle20 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle14': <1deg_jra55_iaf_omip2spunup_cycle14 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle23': <1deg_jra55_iaf_omip2spunup_cycle23 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle43': <1deg_jra55_iaf_omip2spunup_cycle43 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_ryf9091_gadi': <1deg_jra55_ryf9091_gadi catalog with 9 dataset(s) from 9677 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle5': <1deg_jra55_iaf_omip2_cycle5 catalog with 11 dataset(s) from 2013 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle21': <1deg_jra55_iaf_omip2spunup_cycle21 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle30': <1deg_jra55_iaf_omip2spunup_cycle30 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle2': <1deg_jra55_iaf_omip2_cycle2 catalog with 11 dataset(s) from 2013 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle22': <1deg_jra55_iaf_omip2spunup_cycle22 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle35': <1deg_jra55_iaf_omip2spunup_cycle35 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle6': <1deg_jra55_iaf_omip2spunup_cycle6 catalog with 10 dataset(s) from 1281 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle2': <1deg_jra55_iaf_omip2spunup_cycle2 catalog with 11 dataset(s) from 2013 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle5': <025deg_jra55_iaf_omip2_cycle5 catalog with 8 dataset(s) from 1830 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle27': <1deg_jra55_iaf_omip2spunup_cycle27 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle19': <1deg_jra55_iaf_omip2spunup_cycle19 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle32': <1deg_jra55_iaf_omip2spunup_cycle32 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle17': <1deg_jra55_iaf_omip2spunup_cycle17 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle18': <1deg_jra55_iaf_omip2spunup_cycle18 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle42': <1deg_jra55_iaf_omip2spunup_cycle42 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle10': <1deg_jra55_iaf_omip2spunup_cycle10 catalog with 4 dataset(s) from 915 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle6': <1deg_jra55_iaf_omip2_cycle6 catalog with 11 dataset(s) from 2013 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle2': <025deg_jra55_iaf_omip2_cycle2 catalog with 8 dataset(s) from 1830 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle1': <025deg_jra55_iaf_omip2_cycle1 catalog with 8 dataset(s) from 1830 asset(s)>}

So to load the data we want we need to execute essentially the same search again (now on each of the datastores) to filter for only the datasets containing temp_global_ave at monthly frequency.

esm_datastore_dict_filtered = {
    name: datastore.search(frequency="1mon", variable="temp_global_ave")
    for name, datastore in esm_datastore_dict.items()
}

esm_datastore_dict_filtered
{'025deg_jra55_iaf_omip2_cycle4': <025deg_jra55_iaf_omip2_cycle4 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle4': <1deg_jra55_iaf_omip2spunup_cycle4 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle4': <1deg_jra55_iaf_omip2_cycle4 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle44': <1deg_jra55_iaf_omip2spunup_cycle44 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle12': <1deg_jra55_iaf_omip2spunup_cycle12 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle7': <1deg_jra55_iaf_omip2spunup_cycle7 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle16': <1deg_jra55_iaf_omip2spunup_cycle16 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle34': <1deg_jra55_iaf_omip2spunup_cycle34 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle5': <1deg_jra55_iaf_omip2spunup_cycle5 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle1': <1deg_jra55_iaf_omip2spunup_cycle1 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle3': <025deg_jra55_iaf_omip2_cycle3 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle28': <1deg_jra55_iaf_omip2spunup_cycle28 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle1': <1deg_jra55_iaf_omip2_cycle1 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle41': <1deg_jra55_iaf_omip2spunup_cycle41 catalog with 1 dataset(s) from 305 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle15': <1deg_jra55_iaf_omip2spunup_cycle15 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle3': <1deg_jra55_iaf_omip2_cycle3 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle9': <1deg_jra55_iaf_omip2spunup_cycle9 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle31': <1deg_jra55_iaf_omip2spunup_cycle31 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle6': <025deg_jra55_iaf_omip2_cycle6 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle25': <1deg_jra55_iaf_omip2spunup_cycle25 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle39': <1deg_jra55_iaf_omip2spunup_cycle39 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle37': <1deg_jra55_iaf_omip2spunup_cycle37 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle3': <1deg_jra55_iaf_omip2spunup_cycle3 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_ryf9091_gadi': <025deg_jra55_ryf9091_gadi catalog with 1 dataset(s) from 325 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle33': <1deg_jra55_iaf_omip2spunup_cycle33 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle38': <1deg_jra55_iaf_omip2spunup_cycle38 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle45': <1deg_jra55_iaf_omip2spunup_cycle45 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle13': <1deg_jra55_iaf_omip2spunup_cycle13 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle36': <1deg_jra55_iaf_omip2spunup_cycle36 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle40': <1deg_jra55_iaf_omip2spunup_cycle40 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle24': <1deg_jra55_iaf_omip2spunup_cycle24 catalog with 1 dataset(s) from 61 asset(s)>,
 '01deg_jra55v13_ryf9091': <01deg_jra55v13_ryf9091 catalog with 1 dataset(s) from 1116 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle26': <1deg_jra55_iaf_omip2spunup_cycle26 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle29': <1deg_jra55_iaf_omip2spunup_cycle29 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle8': <1deg_jra55_iaf_omip2spunup_cycle8 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle11': <1deg_jra55_iaf_omip2spunup_cycle11 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle20': <1deg_jra55_iaf_omip2spunup_cycle20 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle14': <1deg_jra55_iaf_omip2spunup_cycle14 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle23': <1deg_jra55_iaf_omip2spunup_cycle23 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle43': <1deg_jra55_iaf_omip2spunup_cycle43 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_ryf9091_gadi': <1deg_jra55_ryf9091_gadi catalog with 1 dataset(s) from 78 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle5': <1deg_jra55_iaf_omip2_cycle5 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle21': <1deg_jra55_iaf_omip2spunup_cycle21 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle30': <1deg_jra55_iaf_omip2spunup_cycle30 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle2': <1deg_jra55_iaf_omip2_cycle2 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle22': <1deg_jra55_iaf_omip2spunup_cycle22 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle35': <1deg_jra55_iaf_omip2spunup_cycle35 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle6': <1deg_jra55_iaf_omip2spunup_cycle6 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle2': <1deg_jra55_iaf_omip2spunup_cycle2 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle5': <025deg_jra55_iaf_omip2_cycle5 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle27': <1deg_jra55_iaf_omip2spunup_cycle27 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle19': <1deg_jra55_iaf_omip2spunup_cycle19 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle32': <1deg_jra55_iaf_omip2spunup_cycle32 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle17': <1deg_jra55_iaf_omip2spunup_cycle17 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle18': <1deg_jra55_iaf_omip2spunup_cycle18 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle42': <1deg_jra55_iaf_omip2spunup_cycle42 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle10': <1deg_jra55_iaf_omip2spunup_cycle10 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle6': <1deg_jra55_iaf_omip2_cycle6 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle2': <025deg_jra55_iaf_omip2_cycle2 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle1': <025deg_jra55_iaf_omip2_cycle1 catalog with 1 dataset(s) from 61 asset(s)>}

To avoid this sort of code duplication, we could instead use the pass_query argument when we call to_source_dict to pass the catalog query on to the search method of Intake-ESM datastores.

esm_datastore_dict2 = catalog_filtered2.to_source_dict(pass_query=True)

esm_datastore_dict2
{'025deg_jra55_iaf_omip2_cycle4': <025deg_jra55_iaf_omip2_cycle4 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle4': <1deg_jra55_iaf_omip2spunup_cycle4 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle4': <1deg_jra55_iaf_omip2_cycle4 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle44': <1deg_jra55_iaf_omip2spunup_cycle44 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle12': <1deg_jra55_iaf_omip2spunup_cycle12 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle7': <1deg_jra55_iaf_omip2spunup_cycle7 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle16': <1deg_jra55_iaf_omip2spunup_cycle16 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle34': <1deg_jra55_iaf_omip2spunup_cycle34 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle5': <1deg_jra55_iaf_omip2spunup_cycle5 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle1': <1deg_jra55_iaf_omip2spunup_cycle1 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle3': <025deg_jra55_iaf_omip2_cycle3 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle28': <1deg_jra55_iaf_omip2spunup_cycle28 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle1': <1deg_jra55_iaf_omip2_cycle1 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle41': <1deg_jra55_iaf_omip2spunup_cycle41 catalog with 1 dataset(s) from 305 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle15': <1deg_jra55_iaf_omip2spunup_cycle15 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle3': <1deg_jra55_iaf_omip2_cycle3 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle9': <1deg_jra55_iaf_omip2spunup_cycle9 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle31': <1deg_jra55_iaf_omip2spunup_cycle31 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle6': <025deg_jra55_iaf_omip2_cycle6 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle25': <1deg_jra55_iaf_omip2spunup_cycle25 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle39': <1deg_jra55_iaf_omip2spunup_cycle39 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle37': <1deg_jra55_iaf_omip2spunup_cycle37 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle3': <1deg_jra55_iaf_omip2spunup_cycle3 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_ryf9091_gadi': <025deg_jra55_ryf9091_gadi catalog with 1 dataset(s) from 325 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle33': <1deg_jra55_iaf_omip2spunup_cycle33 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle38': <1deg_jra55_iaf_omip2spunup_cycle38 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle45': <1deg_jra55_iaf_omip2spunup_cycle45 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle13': <1deg_jra55_iaf_omip2spunup_cycle13 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle36': <1deg_jra55_iaf_omip2spunup_cycle36 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle40': <1deg_jra55_iaf_omip2spunup_cycle40 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle24': <1deg_jra55_iaf_omip2spunup_cycle24 catalog with 1 dataset(s) from 61 asset(s)>,
 '01deg_jra55v13_ryf9091': <01deg_jra55v13_ryf9091 catalog with 1 dataset(s) from 1116 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle26': <1deg_jra55_iaf_omip2spunup_cycle26 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle29': <1deg_jra55_iaf_omip2spunup_cycle29 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle8': <1deg_jra55_iaf_omip2spunup_cycle8 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle11': <1deg_jra55_iaf_omip2spunup_cycle11 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle20': <1deg_jra55_iaf_omip2spunup_cycle20 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle14': <1deg_jra55_iaf_omip2spunup_cycle14 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle23': <1deg_jra55_iaf_omip2spunup_cycle23 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle43': <1deg_jra55_iaf_omip2spunup_cycle43 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_ryf9091_gadi': <1deg_jra55_ryf9091_gadi catalog with 1 dataset(s) from 78 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle5': <1deg_jra55_iaf_omip2_cycle5 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle21': <1deg_jra55_iaf_omip2spunup_cycle21 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle30': <1deg_jra55_iaf_omip2spunup_cycle30 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle2': <1deg_jra55_iaf_omip2_cycle2 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle22': <1deg_jra55_iaf_omip2spunup_cycle22 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle35': <1deg_jra55_iaf_omip2spunup_cycle35 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle6': <1deg_jra55_iaf_omip2spunup_cycle6 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle2': <1deg_jra55_iaf_omip2spunup_cycle2 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle5': <025deg_jra55_iaf_omip2_cycle5 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle27': <1deg_jra55_iaf_omip2spunup_cycle27 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle19': <1deg_jra55_iaf_omip2spunup_cycle19 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle32': <1deg_jra55_iaf_omip2spunup_cycle32 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle17': <1deg_jra55_iaf_omip2spunup_cycle17 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle18': <1deg_jra55_iaf_omip2spunup_cycle18 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle42': <1deg_jra55_iaf_omip2spunup_cycle42 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2spunup_cycle10': <1deg_jra55_iaf_omip2spunup_cycle10 catalog with 1 dataset(s) from 61 asset(s)>,
 '1deg_jra55_iaf_omip2_cycle6': <1deg_jra55_iaf_omip2_cycle6 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle2': <025deg_jra55_iaf_omip2_cycle2 catalog with 1 dataset(s) from 61 asset(s)>,
 '025deg_jra55_iaf_omip2_cycle1': <025deg_jra55_iaf_omip2_cycle1 catalog with 1 dataset(s) from 61 asset(s)>}

Note

If we hadn’t suppressed warnings at the start of this notebook, we’d see a bunch of warnings from the previous cell telling us that the query on model was not passed on because there is no column “model” in the Intake-ESM datastores. The other queries on “variable” and “frequency” were passed on successfully so we’re left with only one dataset in each datastore.

Now that we have our appropriately filtered datastores, we can easily open and plot the data. There’s data from 60 different ACCESS-OM2 model runs in the following plot.

colors = {
    "01deg_jra55v13_ryf9091": "C0",
    "025deg_jra55_iaf_omip2": "C1",
    "025deg_jra55_ryf9091_gadi": "C2",
    "1deg_jra55_iaf_omip2": "C3",
    "1deg_jra55_iaf_omip2spunup": "C4",
    "1deg_jra55_ryf9091_gadi": "C5",
}

for idx, name in enumerate(sorted(esm_datastore_dict2.keys())):
    label = name.split("_cycle")[0]
    data = esm_datastore_dict2[name].to_dask(
        progressbar=False, xarray_open_kwargs=dict(use_cftime=True),
    )
    data["temp_global_ave"].plot(color=colors[label], label=label)

plt.title("")
plt.grid()

# Remove duplicates in legend
handles, labels = plt.gca().get_legend_handles_labels()
by_label = dict(zip(labels, handles))
plt.legend(by_label.values(), by_label.keys())
<matplotlib.legend.Legend at 0x14ef94c847d0>
../_images/7739a515ee16a5738a78854a9ee82c62240c09c52479f3c504b592da76ccfbcc.png

A multi-model example#

As another simple example, let’s use the ACCESS-NRI catalog to carry out an analysis comparing the SST climatology in the Nino-3.4 region from three data products:

  • An ACCESS-OM2 experiment: 1deg_jra55_iaf_omip2_cycle1

  • An ACCESS-ESM1.5 experiment: HI_C_05_r1

  • An ACCESS-CM2 experiment: bx944

First we’ll search directly for the products by their names and get the Intake-ESM datastores for those experiments. Here we use the to_source_dict method to load the datastores because there is more than one of them.

esm_datastore_dict3 = catalog.search(
    name=[
        "1deg_jra55_iaf_omip2_cycle1",
        "HI_C_05_r1",
        "bx944"
    ]
).to_source_dict()

Now we’ll search on monthly SST within each datastore and open each monthly SST dataset as an xarray Dataset (here we use the to_dask method because there is only one dataset remaining in the Intake-ESM datastore after the search is applied). We also rename the xt_ocean and yt_ocean to longitude and latitude which isn’t correct globally, but xt_ocean and yt_ocean can be interpretted as longitudes and latitudes in the region we’re interested in. The renaming is done simply to make things a little more convenient later on.

# Some useful keyword arguments to make opening with xarray faster
xarray_combine_by_coords_kwargs = dict(
    compat="override",
    data_vars="minimal",
    coords="minimal",
)
xarray_open_kwargs = dict(
    use_cftime=True,
)

dataset_dict = {
    name: datastore.search(
        realm="ocean",
        variable="sst",
        frequency="1mon"
    ).to_dask(
        xarray_open_kwargs=xarray_open_kwargs,
        xarray_combine_by_coords_kwargs=xarray_combine_by_coords_kwargs
    ).rename({"xt_ocean": "longitude", "yt_ocean": "latitude"})
    for name, datastore in esm_datastore_dict3.items()
}

Now we can do our analysis on these data. To do this, we use two functions: the first computes the monthly climatological mean in the Nino-3.4 region over 1971-2000; and the second wraps the first to compute and plot the climatological mean for a dictionary of datasets containing the variable sst.

def compute_nino34_clim(sst):
    """
    Compute the monthly climatological mean in the Nino-3.4 region over 1971-2000
    """
    sst = sst.sel(time=slice("1971", "2000"))

    sst = sst.assign_coords(
        {"longitude": (sst["longitude"] + 360) % 360}
    )

    # NOTE: really, this should be area weighted
    sst_nino34 = sst.where(
        (sst.latitude < 5) &
        (sst.latitude > -5) &
        (sst.longitude > 190) &
        (sst.longitude < 240),
        drop=True
    ).mean(
        set(sst.latitude.dims + sst.longitude.dims)
    ).compute()

    return sst_nino34.groupby("time.month").mean("time")

def plot_nino34_clim(dataset_dict):
    """
    Plot the monthly climatological mean of SST in the Nino-3.4 region over 1971-2000
    """
    for idx, (name, ds) in enumerate(dataset_dict.items()):
        nino34_clim = compute_nino34_clim(ds)["sst"]

        # NOTE: there're better ways to deal with units, but this will do for this demo
        if (nino34_clim > 273.15).any().item():
            nino34_clim -= 273.15

        nino34_clim.plot.line(x="month", color=f"C{idx}", add_legend=False, label=name)

    plt.title("SST climatology in Nino-3.4 region")
    plt.ylabel("SST")
    plt.grid()

    # Remove duplicates in legend
    handles, labels = plt.gca().get_legend_handles_labels()
    by_label = dict(zip(labels, handles))
    plt.legend(by_label.values(), by_label.keys())
plot_nino34_clim(dataset_dict)
../_images/dd16717d500a73e8e08f30745fa22d4877106937631f96e4b6642e976b6658f6.png

Maybe we’d also like to add some ACCESS-ESM1-5 CMIP6 data to our plot? That’s easy because the NCI CMIP6 Intake-ESM datastores are included in the ACCESS-NRI catalog.

cmip6_datastore = catalog.search(name="cmip6.*", model="ACCESS-ESM1-5").to_source()

Let’s search for and load the ACCESS-ESM1-5 historical run. In this Intake-ESM datastore (which was generated by NCI), each of the 40 ACCESS-ESM1-5 ensemble members are considered separate datasets. We’ll open them using to_dataset_dict and concantenate them into a single dataset.

cmip6_datastore_filtered = cmip6_datastore.search(
    source_id="ACCESS-ESM1-5",
    table_id="Omon",
    variable_id="tos",
    experiment_id="historical",
    file_type="f"
)

cmip6_datastore_filtered

cmip6-fs38 catalog with 40 dataset(s) from 40 asset(s):

unique
path 40
file_type 1
realm 1
frequency 1
table_id 1
project_id 1
institution_id 1
source_id 1
experiment_id 1
member_id 40
variable_id 1
grid_label 1
version 9
time_range 1
derived_variable_id 0
import xarray as xr

ds = xr.concat(
    cmip6_datastore_filtered.to_dataset_dict(progressbar=False).values(),
    dim="member"
)

Now we can add the CMIP6 ACCESS-ESM1-5 ensemble to our plot. Perhaps unsurprisingly, the added climatologies look very similar to the HI_C_05_r1 climatology (which uses the same model).

dataset_dict["CMIP6 ACCESS-ESM1.5 historical"] = ds.rename({"tos": "sst"})

plot_nino34_clim(dataset_dict)
../_images/a65f6a7825bb0e2ae16020887270c3582ffbd704031ae7e1099add6385bf886b.png
client.close()