Skip to content

Commit 59af905

Browse files
Merge branch 'main' into python3.14
2 parents ebb27c0 + 74d7837 commit 59af905

8 files changed

Lines changed: 136 additions & 101 deletions

File tree

.circleci/config.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,11 @@ jobs:
200200
# https://docs.esmvaltool.org/en/latest/quickstart/installation.html#install-from-source
201201
. /opt/conda/etc/profile.d/conda.sh
202202
mkdir /logs
203-
# Temporarily install intake-esgf here until it is an ESMValCore dependency in v2.14.
204-
echo " - intake-esgf" >> environment.yml
205203
conda env create -n esmvaltool -f environment.yml --verbose
206204
conda activate esmvaltool
205+
# Temporarily install intake-esgf here until there is a new release
206+
# that includes https://github.com/esgf2-us/intake-esgf/pull/160.
207+
pip install git+https://github.com/esgf2-us/intake-esgf@main
207208
mamba list >> /logs/conda.txt
208209
pip install --no-deps --editable .[develop]
209210
git clone https://github.com/ESMValGroup/ESMValCore $HOME/ESMValCore
@@ -215,7 +216,13 @@ jobs:
215216
command: |
216217
. /opt/conda/etc/profile.d/conda.sh
217218
conda activate esmvaltool
218-
esmvaltool config copy data-esmvalcore-esgf.yml
219+
esmvaltool config copy data-intake-esgf.yml
220+
python -c '
221+
import intake_esgf
222+
intake_esgf.conf["solr_indices"]["esgf.ceda.ac.uk"] = True
223+
intake_esgf.conf["solr_indices"]["esgf-data.dkrz.de"] = True
224+
intake_esgf.conf.save()
225+
'
219226
for recipe in esmvaltool/recipes/testing/recipe_*.yml; do
220227
esmvaltool run --max-parallel-tasks=2 "$recipe"
221228
done

conda-linux-64.lock

Lines changed: 92 additions & 74 deletions
Large diffs are not rendered by default.

esmvaltool/cmorizers/data/cmor_config/WOA.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,29 @@ attributes:
1313
# source: 'https://www.ncei.noaa.gov/data/oceans/woa/WOA13/DATAv2/'
1414
# reference: 'woa2013v2'
1515

16-
# WOA18
16+
# WOA23
1717
project_id: OBS6
18-
short_name: woa18
19-
version: '2018'
20-
source: 'https://www.ncei.noaa.gov/data/oceans/woa/WOA18/DATA/'
21-
reference: 'woa2018'
18+
short_name: woa23
19+
version: '2023'
20+
source: 'https://www.ncei.noaa.gov/data/oceans/woa/WOA23/DATA/'
21+
reference: 'woa2023'
2222

2323
comment: ''
2424

2525
# Variables to cmorize (here use only filename prefix)
26-
# Temperature and salinity from 1981-2010 climatology (81B0)
26+
# decav seven decadal means 1955 - 2022 # WOA23 update
2727
variables:
2828
thetao:
2929
mip: Omon
3030
raw_var: t_an
3131
name: temperature
32-
file: decav81B0_t
32+
file: decav_t
3333
srf_var: tos
3434
so:
3535
mip: Omon
3636
raw_var: s_an
3737
name: salinity
38-
file: decav81B0_s
38+
file: decav_s
3939
srf_var: sos
4040
o2:
4141
mip: Oyr
@@ -61,4 +61,4 @@ variables:
6161
# Custom dictionary for this cmorizer
6262
custom:
6363
reference_year: 2000
64-
resolution: '1.00'
64+
resolution: '1.00' # 0.25 or 1.00 available for temperature and salinity

esmvaltool/cmorizers/data/downloaders/datasets/woa.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,17 @@ def download_dataset(
4343

4444
def download(file):
4545
downloader.download_file(
46-
"https://www.ncei.noaa.gov/data/oceans/woa/WOA18/DATA/" + file,
46+
"https://www.ncei.noaa.gov/data/oceans/woa/WOA23/DATA/" + file,
4747
wget_options=[],
4848
)
4949

5050
data_paths = [
51-
"nitrate/netcdf/all/1.00/woa18_all_n00_01.nc",
52-
"oxygen/netcdf/all/1.00/woa18_all_o00_01.nc",
53-
"phosphate/netcdf/all/1.00/woa18_all_p00_01.nc",
54-
"salinity/netcdf/decav81B0/1.00/woa18_decav81B0_s00_01.nc",
55-
"silicate/netcdf/all/1.00/woa18_all_i00_01.nc",
56-
"temperature/netcdf/decav81B0/1.00/woa18_decav81B0_t00_01.nc",
51+
"nitrate/netcdf/all/1.00/woa23_all_n00_01.nc",
52+
"oxygen/netcdf/all/1.00/woa23_all_o00_01.nc",
53+
"phosphate/netcdf/all/1.00/woa23_all_p00_01.nc",
54+
"salinity/netcdf/decav/1.00/woa23_decav_s00_01.nc",
55+
"silicate/netcdf/all/1.00/woa23_all_i00_01.nc",
56+
"temperature/netcdf/decav/1.00/woa23_decav_t00_01.nc",
5757
]
5858

5959
for source_file in data_paths:

esmvaltool/cmorizers/data/formatters/datasets/woa.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
Tier 2: other freely-available dataset.
55
66
Source
7+
WOA23: https://www.ncei.noaa.gov/data/oceans/woa/WOA23/DATA
78
WOA18: https://www.ncei.noaa.gov/data/oceans/woa/WOA18/DATA
89
WOA13: https://www.ncei.noaa.gov/data/oceans/woa/WOA13/DATAv2
910
@@ -24,6 +25,7 @@
2425
2526
2627
Modification history
28+
20230213-chun_felicity: WOA23 update
2729
20210311-lovato_tomas: handle WOA18/WOA13, raw data download, use OBS6
2830
20200911-bock_lisa: extend to WOA18
2931
20190328-lovato_tomas: cmorizer revision
@@ -53,7 +55,7 @@ def _fix_data(cube, var, version):
5355
"""Specific data fixes for different variables."""
5456
logger.info("Fixing data ...")
5557

56-
if version == "2018":
58+
if version in ["2018", "2023"]:
5759
with constant_metadata(cube):
5860
if var in ["o2", "po4", "si", "no3"]:
5961
cube /= 1000.0 # Convert from umol/kg to mol/m^3

esmvaltool/recipes/examples/recipe_check_obs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1179,7 +1179,7 @@ diagnostics:
11791179
mip: Oyr
11801180
additional_datasets:
11811181
- {dataset: WOA, project: OBS6, tier: 2,
1182-
type: clim, version: 2018, start_year: 2000, end_year: 2000}
1182+
type: clim, version: 2023, start_year: 2000, end_year: 2000}
11831183
- {dataset: WOA, project: OBS, tier: 2,
11841184
type: clim, version: 2013v2, start_year: 2000, end_year: 2000}
11851185
scripts: null
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@misc{https://doi.org/10.25921/va26-hv25,
2+
doi = {10.25921/VA26-HV25},
3+
url = {https://www.ncei.noaa.gov/archive/accession/NCEI-WOA23},
4+
author = {Reagan, James R. and Boyer, Tim P. and García, Hernán E. and Locarnini, Ricardo A. and Baranova, Olga K. and Bouchard, Courtney and Cross, Scott L. and Mishonov, Alexey V. and Paver, Christopher R. and Seidov, Dan and Wang, Zhankun and Dukhovskoy, Dmitry},
5+
title = {World Ocean Atlas 2023},
6+
publisher = {NOAA National Centers for Environmental Information},
7+
year = {2023}
8+
}

tests/integration/test_cmorizer.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ def put_dummy_data(data_path: Path) -> None:
8787
"""Create a small dummy netCDF file to be cmorized."""
8888
data_info = [
8989
# dir_name, file_name_prefix, var_name
90-
("temperature", "woa18_decav81B0_t", "t_an"),
91-
("salinity", "woa18_decav81B0_s", "s_an"),
92-
("oxygen", "woa18_all_o", "o_an"),
93-
("nitrate", "woa18_all_n", "n_an"),
94-
("phosphate", "woa18_all_p", "p_an"),
95-
("silicate", "woa18_all_i", "i_an"),
90+
("temperature", "woa23_decav_t", "t_an"),
91+
("salinity", "woa23_decav_s", "s_an"),
92+
("oxygen", "woa23_all_o", "o_an"),
93+
("nitrate", "woa23_all_n", "n_an"),
94+
("phosphate", "woa23_all_p", "p_an"),
95+
("silicate", "woa23_all_i", "i_an"),
9696
]
9797

9898
for dir_name, file_name_prefix, var_name in data_info:

0 commit comments

Comments
 (0)