Skip to content

Add Copernicus Marine backend (GLORYS12, DUACS, WAVERYS for now)#4

Draft
willirath wants to merge 2 commits intoCliDyn:mainfrom
geomar-od:add-cmems
Draft

Add Copernicus Marine backend (GLORYS12, DUACS, WAVERYS for now)#4
willirath wants to merge 2 commits intoCliDyn:mainfrom
geomar-od:add-cmems

Conversation

@willirath
Copy link

@willirath willirath commented Feb 26, 2026

For a quick and dirty MVP, this adds a retrieval tool with a Copernicus Marine backend and unwires ERA5 files. Performance is good and CMEMS provides arco geo and time series datasets. So this may be a good addition. Also, for local testing, I used a pixi env.

willirath and others added 2 commits February 26, 2026 10:27
Replaces the Arraylake/ERA5 retrieval tool with a Copernicus Marine
backend for the MVP. ERA5 files are retained but unwired.

- src/eurus/copernicus.py: core retrieval using copernicusmarine
  toolbox; 16-variable hard-coded catalog (GLORYS12 physics reanalysis,
  DUACS altimetry, WAVERYS waves); local Zarr cache; auto-selects
  arco-time-series vs arco-geo-series based on query shape
- src/eurus/tools/copernicus.py: LangChain StructuredTool wrapper with
  depth_m support for 3-D variables
- tools/__init__.py: swap era5_tool → copernicus_tool
- config.py: update AGENT_SYSTEM_PROMPT with Copernicus variable table
  and depth semantics
- logging_config.py: restore original external-library log levels
- main.py: drop ARRAYLAKE_API_KEY startup check
- pyproject.toml: add copernicus optional dep + pixi environments
- plans/: add copernicus-backend planning docs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previously, omitting depth_m silently defaulted to 0.5 m (surface),
making it impossible to request full water column data. Now depth_m=None
passes no depth bounds to the CMEMS API, returning all depth levels.
Use depth_m=0.5 explicitly to get the surface layer. Also updates the
_surf filename tag to _fullcolumn to match the new semantics.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant