Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMIP6 climate patterns #2785

Merged
merged 84 commits into from
Jun 20, 2024
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
e242a9c
Added recipe file, climate patterns only, no EBM parameter script
mo-gregmunday Sep 1, 2022
fa45e83
adding rest of files
mo-gregmunday Sep 1, 2022
ca5cc12
Brought everything from only branch
mo-gregmunday Sep 1, 2022
378b91e
Quick fix of sub_functions.py
mo-gregmunday Sep 1, 2022
51c9ac5
blacked all my files
mo-gregmunday Sep 1, 2022
1e422f6
testing documentation fix
mo-gregmunday Sep 1, 2022
da9c7c2
another docstring test
mo-gregmunday Sep 1, 2022
a8ead28
climate_patterns.py docstring fixes
mo-gregmunday Sep 1, 2022
b9dd91d
more docstring fixes
mo-gregmunday Sep 1, 2022
3219b20
cp_plotting.py docstring fixes
mo-gregmunday Sep 1, 2022
151d1ab
rest of docstring fixes
mo-gregmunday Sep 1, 2022
4449a7d
more Codacy induced fixes
mo-gregmunday Sep 1, 2022
435409f
more Codacy induced fixes
mo-gregmunday Sep 1, 2022
1c7b621
more Codacy fixes
mo-gregmunday Sep 2, 2022
4f24e68
Add `.yml` extension to recipe filename
Jon-Lillis Sep 8, 2022
2fe7db1
Enable metric to run with parallelise flag set to False
Jon-Lillis Sep 8, 2022
b501286
Add maintainer to recipe file
Jon-Lillis Sep 8, 2022
c765763
Correct use of whitespace
Jon-Lillis Sep 8, 2022
eccc492
Some fixes/improvements, and recipe fix
mo-gregmunday Oct 7, 2022
5624018
Merge branch 'climate_patterns_only' of github.com:ESMValGroup/ESMVal…
mo-gregmunday Oct 7, 2022
7b9376d
Added models, added land warming switch
mo-gregmunday Jul 7, 2023
ff87f3a
Merge branch 'main' into climate_patterns_only
mo-gregmunday Jul 7, 2023
1da7deb
Fixed flake8 issues
mo-gregmunday Jul 7, 2023
db241f1
Fixed more flake8 issues
mo-gregmunday Jul 7, 2023
dd2b03c
More flake8 fixes
mo-gregmunday Jul 7, 2023
983a7ad
More codacy fixes
mo-gregmunday Jul 10, 2023
a7a3173
Style fix
mo-gregmunday Jul 10, 2023
d7190b9
Refactoring
mo-gregmunday Feb 8, 2024
b599bdc
flake8 fixes
mo-gregmunday Feb 8, 2024
48c04e3
more fixes
mo-gregmunday Feb 8, 2024
a06502e
Multiprocessing change
mo-gregmunday Feb 8, 2024
c527989
Codacy fixes
mo-gregmunday Feb 8, 2024
e8f5ee5
Broke up plotting function
mo-gregmunday Feb 8, 2024
271dad7
Codacy fixes
mo-gregmunday Feb 8, 2024
8a4c30a
Couple of fixes
mo-gregmunday Feb 9, 2024
53f502c
Fixed mkdir bug
mo-gregmunday Feb 9, 2024
d9ca55e
Removed scores, refactored
mo-gregmunday Feb 13, 2024
08f9397
Codacy fix
mo-gregmunday Feb 13, 2024
e60fa73
Updated docs and smol fix
mo-gregmunday Feb 13, 2024
20d7f6d
Merge branch 'main' into climate_patterns_only
mo-gregmunday Apr 10, 2024
c1a14e8
Updated reference and citation files
mo-gregmunday Apr 10, 2024
9f5af8c
Merge with main
mo-gregmunday Apr 10, 2024
fc5bb31
Addressing some requested changes
mo-gregmunday Apr 10, 2024
605467f
Added references
mo-gregmunday Apr 10, 2024
efa3e03
Addressed yamllint output
mo-gregmunday Apr 10, 2024
ed97fa2
Turned some "real" operations lazy
mo-gregmunday Apr 10, 2024
120cef2
Added lazy operation
mo-gregmunday Apr 10, 2024
edc29b8
Removed unnecessary .copy()s
mo-gregmunday Apr 10, 2024
bc486dc
Merge branch 'main' into climate_patterns_only
mo-gregmunday Apr 10, 2024
cbd0916
Merge branch 'main' into climate_patterns_only
mo-gregmunday May 7, 2024
e434cf1
Merge branch 'main' into climate_patterns_only
mo-gregmunday May 13, 2024
769bfc6
Merge branch 'main' into climate_patterns_only
mo-gregmunday May 13, 2024
5381ea0
Merge branch 'main' into climate_patterns_only
mo-gregmunday May 15, 2024
4d2a2ec
Fixed/updated recipe file for land only runs
mo-gregmunday May 24, 2024
354aaf9
Merge branch 'climate_patterns_only' of github.com:ESMValGroup/ESMVal…
mo-gregmunday May 24, 2024
8519e56
Land warming fix
mo-gregmunday May 24, 2024
4b377ba
Update recipe file
mo-gregmunday May 24, 2024
f8bc37b
Flake8 fixes
mo-gregmunday May 24, 2024
e1a263b
Review fixes
mo-gregmunday May 24, 2024
d6d4bc6
Added reference
mo-gregmunday May 24, 2024
621f561
imogen_mode --> jules_mode
mo-gregmunday May 24, 2024
6aacddf
Updated switches + doc
mo-gregmunday May 24, 2024
0c3ae70
Updated with preprocessors
mo-gregmunday May 24, 2024
1c61312
Updated docs
mo-gregmunday May 24, 2024
d560d6e
Prov update
mo-gregmunday May 24, 2024
3657844
Flake8
mo-gregmunday May 24, 2024
cfd3e53
Reducing local vars...
mo-gregmunday May 24, 2024
e7e6c21
Codacy style fix
mo-gregmunday May 24, 2024
4d0b9ba
Refactored rename_variables.py
mo-gregmunday May 24, 2024
0b3d877
Quick fix
mo-gregmunday May 24, 2024
f5bb5b6
Update docstring
mo-gregmunday May 24, 2024
16b03e9
Codacy fix
mo-gregmunday May 30, 2024
3b1ab49
Fixed memory bug
mo-gregmunday Jun 3, 2024
26f337a
Codacy fix
mo-gregmunday Jun 3, 2024
8df4001
Codacy fix
mo-gregmunday Jun 3, 2024
f38a925
Merge branch 'main' into climate_patterns_only
mo-gregmunday Jun 3, 2024
78f409b
Improved plotting.py
mo-gregmunday Jun 3, 2024
2db111f
Merge branch 'climate_patterns_only' of github.com:ESMValGroup/ESMVal…
mo-gregmunday Jun 3, 2024
be3d521
Merge branch 'main' into climate_patterns_only
mo-gregmunday Jun 4, 2024
30bf0d7
Merge branch 'main' into climate_patterns_only
mo-gregmunday Jun 14, 2024
3a8dda5
Update esmvaltool/diag_scripts/climate_patterns/sub_functions.py
mo-gregmunday Jun 19, 2024
8eb09dd
Docstring corrections and recipe correction
mo-gregmunday Jun 19, 2024
dfb6e70
Line too long fix
mo-gregmunday Jun 19, 2024
f4bab69
Updated recipe default
mo-gregmunday Jun 19, 2024
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
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 @@ -31,6 +31,7 @@ Atmosphere
:maxdepth: 1

recipe_miles
recipe_climate_patterns
recipe_clouds
recipe_cmug_h2o
recipe_crem
Expand Down
115 changes: 115 additions & 0 deletions doc/sphinx/source/recipes/recipe_climate_patterns.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
.. _recipes_climate_patterns:

Generating Climate Patterns from CMIP6 Models
=============================================

Overview
--------

The recipe recipe_climate_patterns generates climate patterns from CMIP6 model
datasets.

.. note::
The regrid setting in the recipe is set to a 2.5x3.75 grid. This is done to
match the current resolution in the IMOGEN-JULES framework, but can be
adjusted with no issues for a finer/coarser patterns grid.


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

Recipes are stored in esmvaltool/recipes/

* recipe_climate_patterns.yml

Diagnostics are stored in esmvaltool/diag_scripts/climate_patterns/

* climate_patterns.py: generates climate patterns from input datasets
* rename_variables.py: renames variables depending on user specifications
* sub_functions.py: set of sub functions to assist with driving scripts
* plotting.py: contains all plotting functions for driving scripts
mo-gregmunday marked this conversation as resolved.
Show resolved Hide resolved


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

#. Script climate_patterns.py

*Required settings for script*

None

*Optional settings for script*

* grid: whether you want to remove Antarctic latitudes or not
* imogen_mode: output imogen-specific var names + .nc files
* output_r2_scores: output measures of pattern robustness (adds runtime)
* parallelise: parallelise over models or not
* parallel_threads: if you want to paralellise, how many threads you want

*Required settings for variables*

* short_name
* additional_datasets

*Optional settings for variables*

None

*Required settings for preprocessor*

* monthly_statistics: converts data to mean monthly data

*Optional settings for preprocessor*

* regrid: regrids data


Variables
---------

#. Script climate_patterns.py

* tasmax (atmos, monthly, longitude latitude time)
* tasmin (atmos, monthly, longitude latitude time)
* tas (atmos, monthly, longitude latitude time)
* hurs (atmos, monthly, longitude latitude time)
mo-gregmunday marked this conversation as resolved.
Show resolved Hide resolved
* huss (atmos, monthly, longitude latitude time)
* pr (atmos, monthly, longitude latitude time)
* sfcWind (atmos, monthly, longitude latitude time)
* ps (atmos, monthly, longitude latitude time)
* rsds (atmos, monthly, longitude latitude time)
* rlds (atmos, monthly, longitude latitude time)


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

None

References
----------

* Huntingford, C., Cox, P. An analogue model to derive additional climate
change scenarios from existing GCM simulations.
Climate Dynamics 16, 575–586 (2000). https://doi.org/10.1007/s003820000067
mo-gregmunday marked this conversation as resolved.
Show resolved Hide resolved

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

.. _fig_climate_patterns_2:
.. figure:: /recipes/figures/climate_patterns/patterns.png
:align: center
:width: 80%

Patterns generated for CMIP6 models, gridded view. Patterns are shown per
variable, for the month of January.

.. _fig_climate_patterns_3:
.. figure:: /recipes/figures/climate_patterns/score_timeseries.png
:align: center
:width: 80%

R2 scores of patterns fitting per variable. Diversity of scores sits in the
literatures' range: with temperature, specific humidity and longwave
downwelling radiation being the most robust fits.
5 changes: 5 additions & 0 deletions esmvaltool/config-references.yml
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,11 @@ authors:
institute: BSC, Spain
orcid:
github: emchamarro
munday_gregory:
name: Munday, Gregory
institute: MetOffice, UK
orcid:
github: mo-gregmunday
nikulin_grigory:
name: Nikulin, Grigory
institute: SMHI, Sweden
Expand Down
Loading