Data Recipes#
OceanVal provides built-in recipes for many popular observational datasets. Downloading and storing data can be annoying and tedious, and recipes take care of it for you.
Recipes are available for gridded data. Use the recipe argument with
oceanval.add_gridded_comparison() and provide the model variable that
should be compared with the observation.
We can illustrate how they work with an example.
The following call asks OceanVal to compare the model’s thetao variable with the COBE2 temperature dataset. The recipe dictionary
{"temperature": "cobe2"} tells OceanVal to use the COBE2 recipe for the temperature variable.
oceanval.add_gridded_comparison(
name="temperature", # <--- report name
model_variable="thetao", # <--- model NetCDF variable
recipe={"temperature": "cobe2"}, # <--- observation recipe
climatology=True, # <--- climatological comparison
)
The parts of the call mean:
nameis the short name OceanVal uses in reports.model_variableis the variable name in the model NetCDF output.recipeis a dictionary that must contain one variable and source identifier. For example,{"temperature": "woa23"}selects temperature from WOA23.climatologyis a boolean that sets whether to compare climatological means or all available years. Setclimatology=Truefor a climatological comparison, orclimatology=Falseto compare all available years.
How are recipes processed?#
OceanVal will automatically download the observational data when the
oceanval.matchup() function is called. In most cases this happens via
THREDDS servers, which makes things efficient: OceanVal only downloads what
is needed. Once the data is downloaded, the model and observations are
regridded to a common spatial grid, and model and observational data are
averaged per month and year, where appropriate.
What recipes are available?#
Global datasets#
Region |
Variable |
Recipe |
Dataset |
Water-column |
Example |
|---|---|---|---|---|---|
Global |
Alkalinity |
|
No |
||
Global |
Chlorophyll |
|
No |
||
Global |
KD490 |
|
No |
||
Global |
Nitrate |
|
Yes |
||
Global |
Oxygen |
|
Yes |
||
Global |
pH |
|
No |
||
Global |
Phosphate |
|
Yes |
||
Global |
Salinity |
|
Yes |
||
Global |
Silicate |
|
Yes |
||
Global |
Temperature |
|
No |
||
Global |
Temperature |
|
Yes |
The recipe dictionary must contain one variable and source identifier. For
example, {"temperature": "woa23"} selects temperature from WOA23.
Northwest European Shelf datasets#
The nsbc recipe provides North Sea Biogeochemical Climatology data for
chlorophyll, nitrate, phosphate, silicate, oxygen, temperature, and salinity.
Region |
Variable |
Recipe |
Dataset |
Water-column |
Example |
|---|---|---|---|---|---|
Northwest European Shelf |
Ammonium |
|
North Sea Biogeochemical Climatology |
Yes |
|
Northwest European Shelf |
Chlorophyll |
|
North Sea Biogeochemical Climatology |
Yes |
|
Northwest European Shelf |
Nitrate |
|
North Sea Biogeochemical Climatology |
Yes |
|
Northwest European Shelf |
Oxygen |
|
North Sea Biogeochemical Climatology |
Yes |
|
Northwest European Shelf |
Phosphate |
|
North Sea Biogeochemical Climatology |
Yes |
|
Northwest European Shelf |
Salinity |
|
North Sea Biogeochemical Climatology |
Yes |
|
Northwest European Shelf |
Silicate |
|
North Sea Biogeochemical Climatology |
Yes |
|
Northwest European Shelf |
Temperature |
|
North Sea Biogeochemical Climatology |
Yes |
Each Example link opens a separate page containing the corresponding call.
Dataset notes#
Always check the dataset units and climatology period before comparing the result with model output. See How to use OceanVal for matching and time-resolution guidance.