diff --git a/docs/recipe_user_guide/recipes.md b/docs/recipe_user_guide/recipes.md
index dbc52321..b6582183 100644
--- a/docs/recipe_user_guide/recipes.md
+++ b/docs/recipe_user_guide/recipes.md
@@ -91,7 +91,7 @@ Many of these options are explored further in the {doc}`../tutorials/index`.
.. autoclass:: pangeo_forge_recipes.recipes.XarrayZarrRecipe
```
-### Reference HDF Recipe
+### HDF Reference Recipe
Like the `XarrayZarrRecipe`, this recipe allows us to more efficiently access data from a bunch of NetCDF / HDF files.
However, this recipe does not actually copy the original source data.
@@ -106,5 +106,5 @@ There is currently one tutorial for this recipe:
```{eval-rst}
-.. autoclass:: pangeo_forge_recipes.recipes.ReferenceHDFRecipe
+.. autoclass:: pangeo_forge_recipes.recipes.HDFReferenceRecipe
```
diff --git a/docs/tutorials/hdf_reference/reference_cmip6.ipynb b/docs/tutorials/hdf_reference/reference_cmip6.ipynb
index 67587023..9e823519 100644
--- a/docs/tutorials/hdf_reference/reference_cmip6.ipynb
+++ b/docs/tutorials/hdf_reference/reference_cmip6.ipynb
@@ -7,7 +7,7 @@
"source": [
"# HDF Reference Recipe for CMIP6\n",
"\n",
- "This example illustrates how to create a {class}`pangeo_forge_recipes.recipes.ReferenceHDFRecipe`.\n",
+ "This example illustrates how to create a {class}`pangeo_forge_recipes.recipes.HDFReferenceRecipe`.\n",
"This recipe does not actually copy the original source data.\n",
"Instead, it generates metadata files which reference and index the original data, allowing it to be accessed more efficiently.\n",
"For more background, see [this blog post](https://medium.com/pangeo/fake-it-until-you-make-it-reading-goes-netcdf4-data-on-aws-s3-as-zarr-for-rapid-data-access-61e33f8fe685).\n",
@@ -106,8 +106,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "CPU times: user 3.7 s, sys: 622 ms, total: 4.32 s\n",
- "Wall time: 28.4 s\n"
+ "CPU times: user 2.02 s, sys: 440 ms, total: 2.46 s\n",
+ "Wall time: 33 s\n"
]
},
{
@@ -491,7 +491,7 @@
" variable_id: thetao\n",
" variant_info: N/A\n",
" references: see further_info_url attribute\n",
- " variant_label: r1i1p1f1
Model data on the 1x1 grid includes values in all cells for which any ocean exists on the native grid. For mapping purposes, we recommend using a land mask such as World Ocean Atlas to cover these areas of partial land. For calculating approximate integrals, we recommend multiplying by cell volume (volcello).
Model data on the 1x1 grid includes values in all cells for which any ocean exists on the native grid. For mapping purposes, we recommend using a land mask such as World Ocean Atlas to cover these areas of partial land. For calculating approximate integrals, we recommend multiplying by cell volume (volcello).
\n",
"
\n",
"
\n",
"
\n",
@@ -844,7 +844,7 @@
"\n",
" \n",
" \n",
- "
title :
NOAA GFDL GFDL-CM4 model output prepared for CMIP6 OMIP experiment forced by CORE Inter-Annual Forcing (CIAF) version 2.0 and initialized with observed physical and biogeochemical ocean data
history :
File was processed by fremetar (GFDL analog of CMOR). TripleID: [exper_id_TFN7SZc1yU,realiz_id_HX30DNwWjL,run_id_aOuCxFhBdP]
external_variables :
areacello volcello
table_id :
Omon
activity_id :
OMIP
branch_method :
none provided
branch_time_in_child :
[0.]
comment :
Experiment name = OM4p25_IAF_BLING_csf_rerun\n",
+ "
title :
NOAA GFDL GFDL-CM4 model output prepared for CMIP6 OMIP experiment forced by CORE Inter-Annual Forcing (CIAF) version 2.0 and initialized with observed physical and biogeochemical ocean data
history :
File was processed by fremetar (GFDL analog of CMOR). TripleID: [exper_id_TFN7SZc1yU,realiz_id_HX30DNwWjL,run_id_aOuCxFhBdP]
external_variables :
areacello volcello
table_id :
Omon
activity_id :
OMIP
branch_method :
none provided
branch_time_in_child :
[0.]
comment :
Experiment name = OM4p25_IAF_BLING_csf_rerun\n",
"For more information please refer to the\n",
"<a href="https://github.com/NOAA-GFDL/MOM6-examples/wiki"> MOM6 Wiki. </a>
contact :
gfdl.climate.model.info@noaa.gov
Conventions :
CF-1.7 CMIP-6.0 UGRID-1.0
creation_date :
2019-06-04T20:37:54Z
data_specs_version :
01.00.27
experiment :
OMIP experiment forced by CORE Inter-Annual Forcing (CIAF) version 2.0 and initialized with observed physical and biogeochemical ocean data
ocean data regridded from tripolar - nominal 0.25 deg latitude/longitude to 180,360; interpolation method: conserve_order1
grid_label :
gr
initialization_index :
[1]
institution :
National Oceanic and Atmospheric Administration, Geophysical Fluid Dynamics Laboratory, Princeton, NJ 08540, USA
institution_id :
NOAA-GFDL
license :
CMIP6 model data produced by NOAA-GFDL is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (https://creativecommons.org/licenses/). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file). The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.
mip_era :
CMIP6
nominal_resolution :
1x1 degree
parent_activity_id :
no parent
parent_experiment_id :
no parent
parent_mip_era :
no parent
parent_source_id :
no parent
parent_variant_label :
no parent
physics_index :
[1]
product :
model-output
realization_index :
[1]
realm :
ocean
source :
GFDL-CM4 (2018): \n",
"aerosol: interactive\n",
@@ -953,7 +953,7 @@
{
"data": {
"text/plain": [
- "ReferenceHDFRecipe(file_pattern=, output_json_fname='reference.json', output_intake_yaml_fname='reference.yaml', target=None, metadata_cache=None, netcdf_storage_options={}, inline_threshold=500, output_storage_options={}, template_count=20, xarray_open_kwargs={'decode_coords': 'all'}, xarray_concat_args={})"
+ "HDFReferenceRecipe(file_pattern=, output_json_fname='reference.json', output_intake_yaml_fname='reference.yaml', target=None, metadata_cache=None, netcdf_storage_options={}, inline_threshold=500, output_storage_options={}, template_count=20, xarray_open_kwargs={'decode_coords': 'all'}, xarray_concat_args={})"
]
},
"execution_count": 5,
@@ -962,9 +962,9 @@
}
],
"source": [
- "from pangeo_forge_recipes.recipes.reference_hdf_zarr import ReferenceHDFRecipe\n",
+ "from pangeo_forge_recipes.recipes.reference_hdf_zarr import HDFReferenceRecipe\n",
"\n",
- "rec = ReferenceHDFRecipe(\n",
+ "rec = HDFReferenceRecipe(\n",
" pattern,\n",
" xarray_open_kwargs={\"decode_coords\": \"all\"}\n",
")\n",
diff --git a/pangeo_forge_recipes/recipes/__init__.py b/pangeo_forge_recipes/recipes/__init__.py
index fe6e64df..1a257e38 100644
--- a/pangeo_forge_recipes/recipes/__init__.py
+++ b/pangeo_forge_recipes/recipes/__init__.py
@@ -1,4 +1,4 @@
-from .reference_hdf_zarr import ReferenceHDFRecipe
+from .reference_hdf_zarr import HDFReferenceRecipe
from .xarray_zarr import XarrayZarrRecipe
-__all__ = ["XarrayZarrRecipe", "ReferenceHDFRecipe"]
+__all__ = ["XarrayZarrRecipe", "HDFReferenceRecipe"]
diff --git a/pangeo_forge_recipes/recipes/reference_hdf_zarr.py b/pangeo_forge_recipes/recipes/reference_hdf_zarr.py
index 59364851..f83d37ea 100644
--- a/pangeo_forge_recipes/recipes/reference_hdf_zarr.py
+++ b/pangeo_forge_recipes/recipes/reference_hdf_zarr.py
@@ -22,14 +22,14 @@ def no_op(*_, **__) -> None:
@dataclass
-class ReferenceHDFRecipe(BaseRecipe):
+class HDFReferenceRecipe(BaseRecipe):
"""
Generates reference files for each input netCDF, then combines
into one ensemble output
Currently supports concat or merge along a single dimension.
- See fsspec-reference-maker and fsspec's ReferenceFileSystem
+ See fsspec-reference-maker and fsspec's ReferenceFileSystem.
To use this class, you must have fsspec-reference-maker, ujson,
xarray, fsspec, zarr, h5py and ujson in your recipe's requirements.
diff --git a/tests/test_references.py b/tests/test_references.py
index a71d99d8..8d65bec5 100644
--- a/tests/test_references.py
+++ b/tests/test_references.py
@@ -10,7 +10,7 @@
pytest.importorskip("fsspec_reference_maker")
intake = pytest.importorskip("intake")
reference_hdf_zarr = pytest.importorskip("pangeo_forge_recipes.recipes.reference_hdf_zarr")
-ReferenceHDFRecipe = reference_hdf_zarr.ReferenceHDFRecipe
+HDFReferenceRecipe = reference_hdf_zarr.HDFReferenceRecipe
@pytest.mark.parametrize("with_intake", [True, False])
@@ -20,7 +20,7 @@ def test_single(netcdf_local_paths, tmpdir, with_intake):
expected = xr.open_dataset(path, engine="h5netcdf")
file_pattern = pattern_from_file_sequence([path], "time")
- recipe = ReferenceHDFRecipe(file_pattern)
+ recipe = HDFReferenceRecipe(file_pattern)
# make sure assigning storage later works
out_target = FSSpecTarget(fs=fsspec.filesystem("file"), root_path=str(tmpdir))
@@ -52,7 +52,7 @@ def test_multi(netcdf_local_paths, tmpdir, with_intake):
expected = xr.open_mfdataset(paths, engine="h5netcdf")
file_pattern = pattern_from_file_sequence(paths, "time")
- recipe = ReferenceHDFRecipe(file_pattern)
+ recipe = HDFReferenceRecipe(file_pattern)
# make sure assigning storage later works
out_target = FSSpecTarget(fs=fsspec.filesystem("file"), root_path=str(tmpdir))