Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
d28af3b
refactoring the code and cleaning up
thomaskroi1996 Oct 27, 2025
0c39a5a
add reference
thomaskroi1996 Oct 27, 2025
7bf3acd
add jones93ijc.bibtex
thomaskroi1996 Oct 28, 2025
0c2f5f9
added dashed unerline
thomaskroi1996 Oct 28, 2025
8fecb2c
changed docstring format
thomaskroi1996 Oct 28, 2025
57aad29
Merge branch 'main' into weathertyping_wegc
thomaskroi1996 Oct 30, 2025
99ac970
Merge branch 'main' into weathertyping_wegc
thomaskroi1996 Nov 4, 2025
ce833be
using less locals, refactoring weathertyping.py
thomaskroi1996 Nov 4, 2025
65402ba
less locals, use function for driver string
thomaskroi1996 Nov 4, 2025
57e5dea
refactor calc_wt_means, calc_wt_std, calc_wt_anomaly
thomaskroi1996 Nov 4, 2025
174126e
docstrings
thomaskroi1996 Nov 4, 2025
a13c034
doc
thomaskroi1996 Nov 4, 2025
d4a0374
doc
thomaskroi1996 Nov 4, 2025
0523ccb
update
thomaskroi1996 Nov 28, 2025
3ac9810
Merge branch 'main' into weathertyping_wegc
thomaskroi1996 Nov 28, 2025
b6ac979
update
thomaskroi1996 Nov 28, 2025
5b538d1
Merge branch 'weathertyping_wegc' of https://github.com/ESMValGroup/E…
thomaskroi1996 Nov 28, 2025
236cd79
minor codacy issues
thomaskroi1996 Nov 28, 2025
793c016
minor codacy issues
thomaskroi1996 Nov 28, 2025
d1fb4f8
minor codacy issues
thomaskroi1996 Nov 28, 2025
216ed8f
minor codacy issues
thomaskroi1996 Nov 28, 2025
04dd54f
some medium issues
thomaskroi1996 Dec 1, 2025
3b71b37
some medium issues
thomaskroi1996 Dec 1, 2025
e8df48b
refactor wt_algorithm
thomaskroi1996 Dec 1, 2025
24527f3
Merge branch 'main' of https://github.com/ESMValGroup/ESMValTool into…
thomaskroi1996 Dec 1, 2025
e2b5013
magic values
thomaskroi1996 Dec 1, 2025
899aca1
minor
thomaskroi1996 Dec 1, 2025
b18c427
refactor plot_maps
thomaskroi1996 Dec 1, 2025
3273db4
refactor plot_maps
thomaskroi1996 Dec 1, 2025
ed31fdb
minor
thomaskroi1996 Dec 1, 2025
3d551da
minor changes for provenance handling
thomaskroi1996 Dec 4, 2025
d8128c6
trailing comma
thomaskroi1996 Dec 4, 2025
52e7e59
.
thomaskroi1996 Dec 4, 2025
4405f42
rm copilot and codacy-cli files, rm comments for imports
thomaskroi1996 Dec 9, 2025
1ae08c6
change docstrings to numpy style
thomaskroi1996 Dec 9, 2025
a4c476d
change docstrings to numpy style
thomaskroi1996 Dec 9, 2025
81ec1bd
add blank lines
thomaskroi1996 Dec 9, 2025
18e109c
latest review fixes/changes
thomaskroi1996 Dec 11, 2025
1335bdc
trailing comma
thomaskroi1996 Dec 11, 2025
5829002
Merge branch 'main' into weathertyping_wegc
thomaskroi1996 Dec 11, 2025
d91df50
Update esmvaltool/references/maraun21jgr.bibtex
thomaskroi1996 Dec 17, 2025
dc7e954
Update doc/sphinx/source/recipes/recipe_weathertyping.rst
thomaskroi1996 Dec 17, 2025
70d34e4
Update esmvaltool/config-references.yml
thomaskroi1996 Dec 17, 2025
f46b7f6
Update esmvaltool/references/jones93ijc.bibtex
thomaskroi1996 Dec 17, 2025
5000633
Update esmvaltool/recipes/recipe_weathertyping_CMIP6.yml
thomaskroi1996 Dec 17, 2025
7e06bc4
Update esmvaltool/recipes/recipe_weathertyping_CMIP6.yml
thomaskroi1996 Dec 17, 2025
1c0d8a6
Update esmvaltool/config-references.yml
thomaskroi1996 Dec 17, 2025
23ecceb
Update esmvaltool/diag_scripts/weathertyping/plot_utils.py
thomaskroi1996 Dec 17, 2025
fca1031
Update esmvaltool/diag_scripts/weathertyping/plot_utils.py
thomaskroi1996 Dec 17, 2025
242d774
Update esmvaltool/diag_scripts/weathertyping/plot_utils.py
thomaskroi1996 Dec 17, 2025
302f1a7
Update esmvaltool/diag_scripts/weathertyping/wt_utils.py
thomaskroi1996 Dec 17, 2025
f5b3935
Update esmvaltool/diag_scripts/weathertyping/wt_utils.py
thomaskroi1996 Dec 17, 2025
f2579c3
Update esmvaltool/recipes/recipe_weathertyping_CMIP6.yml
thomaskroi1996 Dec 17, 2025
835fcf1
Update esmvaltool/recipes/recipe_weathertyping_CMIP6.yml
thomaskroi1996 Dec 17, 2025
79844d3
Update esmvaltool/recipes/recipe_weathertyping_CMIP6.yml
thomaskroi1996 Dec 17, 2025
76e1ff6
Merge branch 'main' into weathertyping_wegc
thomaskroi1996 Dec 17, 2025
9d42982
Merge branch 'main' into weathertyping_wegc
thomaskroi1996 Jan 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,7 @@ esmvaltool/utils/testing/regression/.service/

# Temporary imagehash files
imagehashes_*.yml


#Ignore vscode AI rules
.github/instructions/codacy.instructions.md
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions doc/sphinx/source/recipes/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ Atmosphere
recipe_radiation_budget
recipe_aod_aeronet_assess
recipe_surface_trace_gas
recipe_weathertyping

Climate metrics
^^^^^^^^^^^^^^^
Expand Down
114 changes: 114 additions & 0 deletions doc/sphinx/source/recipes/recipe_weathertyping.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
.. _recipes_weathertyping:

Lamb Weathertypes
===================

Overview
--------

A diagnostic to calculate Lamb weathertypes over a given region. Furthermore,
correlations between weathertypes and precipitation patterns over a given area can be calculated
and 'combined' or 'simplified' weathertypes can be derived. Additionally, mean fields, as well as
anomalies and standard deviations can be plotted.


Available recipes and diagnostics
---------------------------------

Recipes are stored in esmvaltool/recipes/

* recipe_weathertyping.yml

Diagnostics are stored in esmvaltool/diag_scripts/weathertyping/

* weathertyping.py: calculate lamb and simplified WT, plot mean, anomalies and std for each WT for psl, tas, pr
Copy link
Contributor

Choose a reason for hiding this comment

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

Have you thought about adding your scripts to the API documentation? You could add the settings in the header of the files and then link to them from here. Just a thought.



User settings in recipe
-----------------------

#. weathertyping.py

*Required settings for script*

*Optional settings for script*

* correlation_threshold: correlation threshold for selecting similar WT pairs, only needed if automatic_slwt==True and predefined_slwt==False. default=0.9
* rmse_threshold: rmse threshold for selecting similar WT pairs, only needed if automatic_slwt==True and predefined_slwt==False. default=0.002
* plotting: if true, create plots of means, anomalies and std for psl, tas, prcp
* automatic_slwt: if true, automatically combine WT with similar precipitation patterns over specified area (via thresholds of correlation and rmse OR via predefined_slwt)
* predefined_slwt: dictionary of mappings between weathertypes

.. note::

predefined_slwt can be a dictionary where keys are slwt and the values are arrays of lwt OR where keys are lwt and values are slwt

*Required settings for variables*

*Optional settings for variables*

*Required settings for preprocessor*

*Optional settings for preprocessor*

*Color tables*


Variables
---------

* psl (atmos, day, time longitude latitude)
* tas (atmos, day, time longitude latitude)
* tp (atmos, day, time longitude latitude)
* pr (atmos, day, time longitude latitude)


Observations and reformat scripts
---------------------------------

*Note: (1) obs4MIPs data can be used directly without any preprocessing;
(2) see headers of reformat scripts for non-obs4MIPs data for download
instructions.*

* E-OBS: European Climate Assessment & Dataset gridded daily precipitation sum
* ERA5: ECMWF reanalysis

References
----------

* Maraun, D., Truhetz, H., & Schaffer, A. (2021). Regional climate model biases, their dependence on synoptic circulation biases and the potential for bias adjustment: A process-oriented evaluation of the Austrian regional climate projections. Journal of Geophysical Research: Atmospheres, 126, e2020JD032824. https://doi.org/10.1029/2020JD032824

* Jones, P.D., Hulme, M. and Briffa, K.R. (1993), A comparison of Lamb circulation types with an objective classification scheme. Int. J. Climatol., 13: 655-663. https://doi.org/10.1002/joc.3370130606

Example plots
-------------

.. _fig_weathertyping_1:
.. figure:: /recipes/figures/weathertyping/lwt_1_ERA5__psl_mean_1958-2014.png
:align: center

PSL mean map of Lamb WT 1 for ERA5.

.. _fig_weathertyping_2:
.. figure:: /recipes/figures/weathertyping/lwt_1_TaiESM1_r1i1p1f1_psl_mean_1950-2014.png
:align: center

PSL mean map of Lamb WT 1 for TaiESM1.

.. _fig_weathertyping_3:
.. figure:: /recipes/figures/weathertyping/slwt_EOBS_4_ERA5__psl_mean_1958-2014.png
:align: center

PSL mean map of slwt_EOBS 4 for ERA5 (in this case combined Lamb WT 24 and 23).

.. _fig_weathertyping_4:
.. figure:: /recipes/figures/weathertyping/correlation_matrix_E-OBS_1958-2014.png
:align: center

Heatmap of correlation values for Lamb WTs 1-27.

.. _fig_weathertyping_5:
.. figure:: /recipes/figures/weathertyping/ERA5__lwt_rel_occurrence_1958-2014.png
:align: center

Stackplot of seasonal relative occurrences of each WT for ERA5.
11 changes: 11 additions & 0 deletions esmvaltool/config-references.yml
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,10 @@ authors:
name: Juckes, Martin
institute: BADC, UK
orcid:
jury_martin:
name: Jury, Martin
institute: WEGC, Austria
orcid: https://orcid.org/0000-0003-0590-7843
kadygrov_nikolay:
name: Kadygrov, Nikolay
institute: IPSL, France
Expand Down Expand Up @@ -355,6 +359,11 @@ authors:
name: Krasting, John
institute: NOAA, USA
orcid: https://orcid.org/0000-0002-4650-9844
kroissenbrunner_thomas:
name: Kroissenbrunner, Thomas
institute: WEGC, Austria
github: thomaskroi1996
orcid:
kuehbacher_birgit:
name: Kuehbacher, Birgit
institute: DLR, Germany
Expand Down Expand Up @@ -881,13 +890,15 @@ projects:
ipcc_ar6: IPCC AR6 WG1 contributions
isenes3: EU H2020 Infrastructure for the European Network for Earth System Modelling - Phase 3
primavera: EU H2020 project PRIMAVERA
preval: PREVAL ÖKS
qa4ecv: QA4ECV
russell_project: US Clivar, Ocean Carbon Biogeochemistry, ESGF, NOAA, NSF, NASA, US Antarctic program
trr181: DFG Project TRR-181, Energy transfers in Atmosphere and Ocean
ukesm: UKESM, UK Earth System Model project (NERC)
usmile: ERC Synergy Grant USMILE



realms:
aerosol: aerosol
atmos: atmosphere
Expand Down
1 change: 1 addition & 0 deletions esmvaltool/diag_scripts/weathertyping/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Initialize the ESMValTool weathertyping package."""
Loading