From de3aa756173847d2dfe0d768144832bc8b88d0b8 Mon Sep 17 00:00:00 2001 From: Eleanor Frajka-Williams Date: Thu, 12 Feb 2026 06:40:14 +0100 Subject: [PATCH 1/4] fix metadata wh41n --- amocatlas/metadata/wh41n.yml | 6 +++--- docs/source/reports/wh41n_report.rst | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/amocatlas/metadata/wh41n.yml b/amocatlas/metadata/wh41n.yml index ac553cb0..dfbff18f 100644 --- a/amocatlas/metadata/wh41n.yml +++ b/amocatlas/metadata/wh41n.yml @@ -5,7 +5,7 @@ metadata: weblink: https://doi.org/10.5281/zenodo.8170365 comment: Dataset accessed and processed via http://github.com/AMOCcommunity/amocatlas citation: > - Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170366. + Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170365. license: CC-BY-4.0 # Based on feedback from Josh Willis on 2026-02-10 Conventions: CF-1.8, ACDD-1.3 platform_type: Argo floats @@ -23,7 +23,7 @@ files: "Ekman (Sv)": TRANS_EKMAN "Geos (Sv)": TRANS_GEO "MOC (Sv)": MOC - "MHT (PW)": MHT + "MOC (PW)": MHT original_variable_metadata: "Ekman (Sv)": long_name: "Ekman" @@ -40,7 +40,7 @@ files: description: "Meridional Overturning Volume Transport" units: Sverdrup standard_name: ocean_meridional_overturning_transport - "MHT (PW)": + "MOC (PW)": long_name: "MHT" description: "Meridional Overturning Heat Transport" units: PW diff --git a/docs/source/reports/wh41n_report.rst b/docs/source/reports/wh41n_report.rst index ece8c2b3..7b56869f 100644 --- a/docs/source/reports/wh41n_report.rst +++ b/docs/source/reports/wh41n_report.rst @@ -22,7 +22,7 @@ Dataset Overview **Citation:** - Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170366. + Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170365. Dataset Visualization ^^^^^^^^^^^^^^^^^^^^^ @@ -83,6 +83,13 @@ along with key statistics for each variable. - Min Value - Max Value - Missing % + * - *MOC (PW)* → **MHT** + - Meridional Overturning Heat Transport + - PW + - (288,) + - -0.04 + - 0.94 + - 0.0% * - *MOC (Sv)* → **MOC** - **MOC_z**: Meridional Overturning Volume Transport - Sverdrup @@ -90,13 +97,6 @@ along with key statistics for each variable. - 2.47 - 19.98 - 0.0% - * - **MOC (PW)** - - No description available - - unknown - - (288,) - - -0.04 - - 0.94 - - 0.0% * - *Ekman (Sv)* → **TRANS_EKMAN** - **Ekman**: Ekman Volume Transport - Sverdrup @@ -145,9 +145,9 @@ The following metadata provides comprehensive information about this dataset: - **Processing Software**: http://github.com/AMOCcommunity/amocatlas - **Processing Version**: v0.3.0 - **Processing Datasource\***: wh41n -- **Variable Mapping\***: {'Ekman (Sv)': 'TRANS_EKMAN', 'Geos (Sv)': 'TRANS_GEO', 'MOC (Sv)': 'MOC', 'MHT (PW)': 'MHT'} +- **Variable Mapping\***: {'Ekman (Sv)': 'TRANS_EKMAN', 'Geos (Sv)': 'TRANS_GEO', 'MOC (Sv)': 'MOC', 'MOC (PW)': 'MHT'} - **Original Variable Metadata\***: [Complex metadata structure - 4 items] -- **Applied Variable Mapping**: {'Ekman (Sv)': 'TRANS_EKMAN', 'Geos (Sv)': 'TRANS_GEO', 'MOC (Sv)': 'MOC'} +- **Applied Variable Mapping**: {'Ekman (Sv)': 'TRANS_EKMAN', 'Geos (Sv)': 'TRANS_GEO', 'MOC (Sv)': 'MOC', 'MOC (PW)': 'MHT'} - **Version\***: v5 - **Comment\***: (Note: date_modified has been set to a canonical value for documentation generation to avoid git churn) @@ -171,7 +171,7 @@ Dataset Overview **Citation:** - Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170366. + Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170365. Dataset Visualization ^^^^^^^^^^^^^^^^^^^^^ @@ -335,7 +335,7 @@ Dataset Overview **Citation:** - Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170366. + Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset accessed at 10.5281/zenodo.8170365. Dataset Visualization ^^^^^^^^^^^^^^^^^^^^^ From 62764ef0ec332e88603e687f6745aa97e0a9d673 Mon Sep 17 00:00:00 2001 From: Eleanor Frajka-Williams Date: Thu, 12 Feb 2026 06:44:25 +0100 Subject: [PATCH 2/4] Cross-link to other AMOC resources --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index a2b67c38..beab8504 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,11 @@ This is a work in progress, all contributions welcome! | **CALAFAT2025** | Atlantic | Bayesian estimates of Atlantic meridional heat transport spanning latitudes | `read.calafat2025()` | | **ZHENG2024** | Atlantic | Observation-based Atlantic meridional freshwater transport spanning latitudes | `read.zheng2024()` | +For more detail on the AMOC and observing arrays, see: + + - UCAR overview: https://climatedataguide.ucar.edu/climate-data/observations-atlantic-meridional-overturning-circulation-amoc + - AtlantOS/OceanSITES: https://www.ocean-ops.org/oceansites/tma/index.html + ## Installation ### From PyPI (Recommended) From 13cebe0297268f281aa8120a01c95f2345ed52da Mon Sep 17 00:00:00 2001 From: Eleanor Frajka-Williams Date: Thu, 12 Feb 2026 07:09:23 +0100 Subject: [PATCH 3/4] update move license, calafat coords --- amocatlas/data_sources/calafat2025.py | 16 +++++++++- amocatlas/data_sources/wh41n.py | 2 -- amocatlas/metadata/calafat2025.yml | 6 ++++ amocatlas/metadata/move16n.yml | 6 ++-- amocatlas/report.py | 2 +- .../_static/reports/rapid_timeseries.png | Bin 0 -> 79179 bytes docs/source/reports/calafat2025_report.rst | 19 +++++++---- docs/source/reports/dso_report.rst | 2 +- docs/source/reports/mocha_report.rst | 2 +- docs/source/reports/move_report.rst | 30 +++++++++--------- docs/source/reports/wh41n_report.rst | 4 +-- 11 files changed, 57 insertions(+), 32 deletions(-) create mode 100644 docs/source/_static/reports/rapid_timeseries.png diff --git a/amocatlas/data_sources/calafat2025.py b/amocatlas/data_sources/calafat2025.py index c82b7ce3..0042bd1f 100644 --- a/amocatlas/data_sources/calafat2025.py +++ b/amocatlas/data_sources/calafat2025.py @@ -98,7 +98,7 @@ def read_calafat2025( log.info("Starting to read CALAFAT2025 dataset") # Load YAML metadata with fallback - global_metadata, yaml_file_metadata = ReaderUtils.load_array_metadata_with_fallback( + _, yaml_file_metadata = ReaderUtils.load_array_metadata_with_fallback( DATASOURCE_ID, CALAFAT2025_METADATA ) @@ -260,6 +260,20 @@ def read_calafat2025( } ) + # Add coordinate for posterior distribution samples + if "posterior_samples" in ds.dims: + import numpy as np + + # Create coordinate from posterior_samples dimension + # Metadata will be applied from YAML during standardization + n_samples = ds.sizes["posterior_samples"] + sample_indices = np.arange(n_samples) + ds = ds.assign_coords(posterior_samples=sample_indices) + + log_info( + f"Added posterior_samples coordinate with {n_samples} samples" + ) + # Use ReaderUtils for consistent metadata attachment file_metadata = CALAFAT2025_FILE_METADATA.get(nc_file, {}) diff --git a/amocatlas/data_sources/wh41n.py b/amocatlas/data_sources/wh41n.py index 2adb219c..42c2f5d3 100644 --- a/amocatlas/data_sources/wh41n.py +++ b/amocatlas/data_sources/wh41n.py @@ -38,9 +38,7 @@ "project": "Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations", "weblink": "https://zenodo.org/records/18238115", "comment": "Dataset accessed and processed via http://github.com/AMOCcommunity/amocatlas", - "acknowledgement": "This study has been conducted using E.U. Copernicus Marine Service Information; https://doi.org/10.48670/moi-00149 and https://doi.org/10.48670/moi-00148. These data were collected and made freely available by the International Argo Program and the national programs that contribute to it. (https://argo.ucsd.edu, https://www.ocean-ops.org). The Argo Program is part of the Global Ocean Observing System.", "doi": "10.5281/zenodo.8170365", - "paper": "Willis, J. K., and Hobbs, W. R., Atlantic Meridional Overturning Circulation Near 41N from Altimetry and Argo Observations. Dataset access [2025-05-27] at 10.5281/zenodo.8170366.", } A41N_FILE_METADATA = { diff --git a/amocatlas/metadata/calafat2025.yml b/amocatlas/metadata/calafat2025.yml index 7eb1059c..853546f3 100644 --- a/amocatlas/metadata/calafat2025.yml +++ b/amocatlas/metadata/calafat2025.yml @@ -29,7 +29,13 @@ files: "latitude": LATITUDE "mht": MHT "htc": HTC + "posterior_samples": N_ENSEMBLE original_variable_metadata: + posterior_samples: + long_name: realization + description: "Posterior samples of the spatiotemporal Bayesian hierarchical model used to estimate MHT. Point estimates can be calculated as the mean of the samples, while uncertainty can be quantified as the standard deviation of the samples (1 sigma) or the 5–95% credible interval (i.e. the 5th–95th percentiles)." + units: 1 + standard_name: realization time: long_name: "Time" description: "Time in decimal years" diff --git a/amocatlas/metadata/move16n.yml b/amocatlas/metadata/move16n.yml index 1d08d63a..556012da 100644 --- a/amocatlas/metadata/move16n.yml +++ b/amocatlas/metadata/move16n.yml @@ -5,9 +5,8 @@ metadata: weblink: https://mooring.ucsd.edu/move/ comment: Dataset accessed and processed via http://github.com/AMOCcommunity/amocatlas acknowledgement: > - The MOVE project is made possible with funding from the NOAA Climate Program Office under award NA15OAR4320071 and carried out by principal investigators Uwe Send and Matthias Lankhorst. Initial funding came from the German Bundesministerium fuer Bildung und Forschung. MOVE data are made freely available through the international OceanSITES program. - license: > - Data freely available. User assumes all risk for use of data. Please give due credit to the authors, project, and funding sources when using these data, e.g. by including the 'citation' text provided here. + MOVE was supported by the U.S. NOAA's Global Ocean Monitoring and Observing (GOMO) program under award NA20OAR4320278 and earlier awards. Initially, MOVE was funded by the German BMBF. + license_overwrite: CC-BY-4.0 # Based on feedback from Lankhorst on 2026-02-12 institution: Scripps Institution of Oceanography citation: > Send, U., Lankhorst, M., Kanzow, T.: Observation of decadal change in the Atlantic Meridional Overturning Circulation @@ -20,6 +19,7 @@ metadata: time_coverage_end: "2018-06-30" date_created: "2019-01-30T18:13:16Z" platform_type: Mooring array + references: https://dods.ndbc.noaa.gov/thredds/catalog/oceansites/DATA_GRIDDED/MOVE/catalog.html source: > Derived using the following files: OceanSITES file OS_MOVE_MULTISITE_GRIDDED_TS.nc, created 2019-01-30T18:11:12Z diff --git a/amocatlas/report.py b/amocatlas/report.py index 772acf10..6bb6d7f4 100644 --- a/amocatlas/report.py +++ b/amocatlas/report.py @@ -737,7 +737,7 @@ def create_varcoord_table( # Create display description: prioritize description, then add long_name in bold if description: - if long_name and long_name != item_name and long_name != description: + if long_name and long_name != description: display_description = f"**{long_name}**: {description}" else: display_description = description diff --git a/docs/source/_static/reports/rapid_timeseries.png b/docs/source/_static/reports/rapid_timeseries.png new file mode 100644 index 0000000000000000000000000000000000000000..23fddaadd0d22c8c2f113d5d7a046e79daa70c02 GIT binary patch literal 79179 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

EVHI2e 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 Date: Thu, 12 Feb 2026 07:22:12 +0100 Subject: [PATCH 4/4] update demo for calafat --- notebooks/demo.ipynb | 79 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 64 insertions(+), 15 deletions(-) diff --git a/notebooks/demo.ipynb b/notebooks/demo.ipynb index 25a8551f..e47ac19a 100644 --- a/notebooks/demo.ipynb +++ b/notebooks/demo.ipynb @@ -391,7 +391,7 @@ "source": [ "### Load Calafat2025\n", "\n", - "Meridional heat transport from a Bayesian method to produce a North Atlantic heat budget is also available. However, it has 4000 realisations of the time series (from which uncertainties can be estimated), so is less straightforward to plot." + "Meridional heat transport from a Bayesian method to produce a North Atlantic heat budget is also available. However, it has 4000 realisations of the time series (from which uncertainties can be estimated), so is less straightforward to plot. See below for an average across the realisations." ] }, { @@ -402,27 +402,76 @@ "outputs": [], "source": [ "standardCALAFAT2025 = read.calafat2025()\n", - "\n", - "# declare latitude index (between 1 and 11)\n", + "standardCALAFAT2025" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5503c4a", + "metadata": {}, + "outputs": [], + "source": [ + "def create_ensemble_mean_dataset(ds):\n", + " \"\"\"Create a new dataset with ensemble means, removing N_ENSEMBLE dimension.\n", + " \n", + " This function takes the mean across the N_ENSEMBLE dimension for all variables\n", + " that have it, creating a dataset suitable for standard plotting functions.\n", + " \n", + " Parameters\n", + " ----------\n", + " ds : xarray.Dataset\n", + " Input dataset with N_ENSEMBLE dimension\n", + " \n", + " Returns\n", + " -------\n", + " xarray.Dataset\n", + " Dataset with ensemble means, N_ENSEMBLE dimension removed\n", + " \"\"\"\n", + " # Create a copy of the dataset\n", + " ds_mean = ds.copy()\n", + "\n", + " # For each data variable, take the mean across N_ENSEMBLE if it has that dimension\n", + " for var_name in ds.data_vars:\n", + " var = ds[var_name]\n", + " if 'N_ENSEMBLE' in var.dims:\n", + " # Take mean across N_ENSEMBLE dimension (point estimate)\n", + " ds_mean[var_name] = var.mean(dim='N_ENSEMBLE')\n", + "\n", + " # Remove N_ENSEMBLE coordinate since no variables use it anymore\n", + " if 'N_ENSEMBLE' in ds_mean.coords:\n", + " ds_mean = ds_mean.drop_vars('N_ENSEMBLE')\n", + "\n", + " return ds_mean\n", + "\n", + "# Create the ensemble-averaged dataset\n", + "calafat_mean = create_ensemble_mean_dataset(standardCALAFAT2025)\n", + "\n", + "# Now your original plotting code will work:\n", "lat_idx = 5\n", - "lat_val = standardCALAFAT2025['LATITUDE'].values[lat_idx]\n", + "lat_val = calafat_mean['LATITUDE'].values[lat_idx]\n", "\n", "if lat_val<0:\n", " title_str = f'CALAFAT2025 (lat = {-lat_val:.2f}°S)'\n", "else:\n", " title_str = f'CALAFAT2025 (lat = {lat_val:.2f}°N)'\n", "\n", - "plotters.plot_amoc_timeseries(\n", - "data=[standardCALAFAT2025],\n", - "varnames=[\"MHT\"],\n", - "labels=[\"\"],\n", - "colors=[\"darkred\"],\n", - "resample_monthly=True,\n", - "plot_raw=True,\n", - "lat_idx=lat_idx,\n", - "ylabel='MHT (PW)',\n", - "title=title_str\n", - ")" + " # Plot the 2D MHT data\n", + "fig, ax = plotters.plot_amoc_2d_data(\n", + " data=calafat_mean,\n", + " varname=\"MHT\",\n", + " title=\"CALAFAT2025 Meridional Heat Transport\",\n", + " ylabel=\"Latitude (°N)\",\n", + " figsize=(12, 6),\n", + " colormap=\"RdBu_r\", # Red-blue colormap, good for heat transport\n", + " # vmin=-1.0, # Optional: set color scale limits\n", + " # vmax=1.0,\n", + ")\n", + "\n", + "# Add colorbar label\n", + "cbar = fig.get_axes()[1] if len(fig.get_axes()) > 1 else None\n", + "if cbar:\n", + " cbar.set_ylabel('MHT (PW)', rotation=270, labelpad=20)" ] }, {