Skip to content

Conversation

@hanellis
Copy link

@hanellis hanellis commented Sep 9, 2025

Description

Adds support for EN4 monthly ocean data to ESMValTool.
Currently, ESMValTool lacks monthly 3D observational datasets for ocean temperature and salinity. This addition fills that gap by integrating EN4 monthly data, enabling more comprehensive ocean diagnostics and evaluations.


Before you get started

Checklist

It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

New or updated data reformatting script


To help with the number of pull requests:

@hanellis hanellis marked this pull request as ready for review September 15, 2025 12:46
@hanellis hanellis requested a review from a team as a code owner September 15, 2025 12:46
@hanellis
Copy link
Author

Hi, is there someone who could review this PR please? I have a few failing tests so any help would be much appreciated!

Copy link
Contributor

@valeriupredoi valeriupredoi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @hanellis there seems to be an issue with one of the yaml files, maybe a bit of a bad formatting (looks like an extra empty space), could you please check them? 🍺

Copy link
Contributor

@valeriupredoi valeriupredoi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, many thanks @hanellis - just one obesrvation about missing tos and sos 🍺

Copy link
Contributor

@valeriupredoi valeriupredoi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very many thanks @hanellis 🍺 One of you good folks could do a scientific review, when you have a minute, please? @axel-lauer @jlenh @LisaBock - cheers!

@jlenh
Copy link
Contributor

jlenh commented Oct 29, 2025

very many thanks @hanellis 🍺 One of you good folks could do a scientific review, when you have a minute, please? @axel-lauer @jlenh @LisaBock - cheers!

Sorry, completely missed that! I can have a look at it later today!

Copy link
Contributor

@jlenh jlenh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot Hannah, it looks good! I have only a few comments, notably regarding the cmorized variables like V already suggested 🤓 The outputs look good!

On a technical note, I have managed to run the cmorizer but only for a few years on a simple computer, otherwise I get some HDF5 errors. I am in the process of running the whole thing with a computing node on Levante though.
Can you think of a better way to handle the many opened data files here @valeriupredoi maybe? It seems to crash for me when writing the data.

Eventually we will need somebody (@axel-lauer ?) to transfer the data to the OBS data pool on Levante once it is fully processed (I will send you the file paths by email once it's good to go).

Comment on lines +335 to +348
EN4:
tier: 2
source: "https://www.metoffice.gov.uk/hadobs/en4/download-en4-2-2.html"
last_access: 2025-06-13
info: |
EN4: quality controlled subsurface ocean temperature and salinity objective analyses.
Script tested using analyses with Gouretski and Reseghetti (2010) XBT corrections
and Gouretski and Cheng (2020) MBT corrections applied.
To download data:
- Edit the text file for your chosen years, https://www.metoffice.gov.uk/hadobs/en4/EN.4.2.2.analyses.g10.download-list.txt
- Save .txt file in directory for data to be downloaded to.
- Run 'wget -i EN.4.2.2.profiles.g10.download-list.txt' in same directory.
- Unzip files prior to running the cmorizer script.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can transfer this below the E-OBS entry for consistency please :)

Comment on lines +157 to +167
EN4:
description: EN4 check
variables:
thetao:
tos:
so:
sos:
additional_datasets:
- {dataset: EN4, project: OBS6, mip: Omon, type: reanaly,
version: 4.2.2, tier: 2, start_year: 1900, end_year: 2024}
scripts: null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And similarly to the datasets.yml entry, if you can have this after the E-OBS entry :)

Comment on lines +160 to +163
thetao:
tos:
so:
sos:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you consistently add these variables too to input.rst, EN4.yml, or delete tos and sos here as per V's comment? https://github.com/ESMValGroup/ESMValTool/pull/4193/files#r2359790298

Copy link
Contributor

@jlenh jlenh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And forgot the Codacy issues that can be fixed

Comment on lines +107 to +109
"""
CMORization main function call.
"""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"""
CMORization main function call.
"""
"""Cmorization main function call."""

iris.cube.Cube
The prepared data cube.
"""

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

EN4 CMORizer

3 participants