Repository navigation
[FEAT] Add the OVIDE MOC-intensity reader, plus a y-axis label-wrap helper - #183
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds OVIDE as a new array: the monthly MOC-intensity time series across the Greenland-Portugal A25 OVIDE line (Mercier et al., SEANOE 10.17882/46445), a satellite-altimetry-plus-Argo estimate. Also adds a small plotting helper that wraps long variable labels so they fit a plot y-axis.
OVIDE reader
ovide, served throughread.ovide()(a blended/estimated product). Source is a single SEANOE netCDF (46195.nc), licence CC-BY-NC-4.0. Reader modelled on the existing single-file altimetry readers.TIMEaxis (the in-situ series is NaN before 2002) rather than carrying two time coordinates.MOC_SIGMA1(in-situ index),MOC_SIGMA1_PROXY(altimetry proxy),MOC_SIGMA1_ERR(ensemble standard deviation). The MOC index is the maximum of the overturning streamfunction in sigma1 space (potential density referenced to 1000 dbar), soMOC_SIGMA1/MOC_SIGMA1_PROXYcarrystandard_name: ocean_meridional_overturning_streamfunctionwithcell_methods: "SIGMA1: maximum"andreference_pressure: 1000; the uncertainty carries no standard_name.metadata/ovide.yml(title, citation, licence, weblink, contributors, institution) passesarray_schema.json. Attribution is verified, not guessed: the three author ORCIDs were confirmed against the ORCID API and added tocontributor_registry.yml, and the institution (Laboratoire d'Oceanographie Physique et Spatiale, LOPS) with EDMO code 4536 was added toinstitution_registry.yml.data_sources/__init__.py,read.py(read.ovide,SUPPORTED_STANDARDIZATION,__all__), anddefaults.py(ARRAY_NAMES+ description). Tests intests/test_ovide.py(fast registration + schema checks; a slow integration test of the two-index merge).Plot label wrapping
plotters._vlabel(label, width=24), which word-wraps a long axis label onto multiple lines at word boundaries (short names are returned unchanged). Wired intoplot_amoc_timeseries, which the report timeseries plots route through, so long standardisedlong_namelabels no longer overflow the y-axis. The docstring notes it can later grow into a registry-based name translator.Verification
429 fast tests pass; the slow OVIDE integration test passes against the downloaded file; ruff and ruff-format clean.
Breaking changes and migration
None. OVIDE is a new array (additive);
_vlabelis an internal plotting helper.