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
Added additional emergent constraints on ECS #1585
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
c1cc073
to
17b54b3
Compare
17b54b3
to
b0dc200
Compare
b0dc200
to
100f142
Compare
100f142
to
eb321d5
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested this branch and it works. The figures produced look fine. What I find confusing is the need fo a file called "ecs_emergent_constraints.yml in your auxiliary_data_dir". Following the instructions given in this pull request, I created such a file and put it into the auxiliary_data_dir specified in config-user.yml. The recipe then crashed as the file could not be found. When copying it to the ESMValTool base directory, the recipe worked. I then tried to remove the key "read_external_file" from the recipe as the documentation says this would be optional. Again, the recipe crashed.
I would therefore strongly suggest to incorporate the content of "ecs_emergent_constraints.yml" into the main recipe (if possible) or introduce default settings that make providing such a file indeed optional.
If this is not possible, the search path for ecs_emergent_constraints.yml would have to be double-checked and a description of how to create the content of this file would have to be added to the documentation.
provenance_authors: ['schlund_manuel'] | ||
provenance_domains: ['global'] | ||
provenance_realms: ['atmos'] | ||
provenance_references: ['gregory04grl'] | ||
provenance_statistics: ['mean', 'anomaly'] | ||
provenance_themes: ['phys'] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
themes
and realms
is usually included directly under the diagnostic in the recipe, have a look at how it's done in e.g. recipe_perfmetrics_CMIP5.yml or examples/recipe_python.yml. The other attributes are usually set in the code, because they are very closely tied to the diagnostic script.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the diagnostic univariate_constraint.py it does not make sense to hardcode the provenance information in the header of the recipe or the diagnostic script itself, since it is able to handle arbitrary emergent constraints. E.g., realms
could be anything (atmosphere, ocean, land, etc.).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But you will still be the author of the diagnostic script, right?
This comment has been minimized.
This comment has been minimized.
…ol into add_ecs_constraints
@axel-lauer I have added the contents of the external file to the recipe, so the external file is not necessary anymore. I also addressed the other comments by @bouweandela. Please note that this PR needs a new release of ESMValCore to work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested the latest version of recipe_ecs_constraints.yml and recipe_ecs_scatter.yml (as this could have been affected by changes to ecs_scatter.ncl). Looks all good! Thanks for moving the config options from the external file to the recipe.
I get an error in
In the log:
|
Yes, see #1585 (comment) |
@schlunma can you fix this please? |
I tested successfully both recipes. |
The way the provenance and tags are implemented in these diagnostics is different from how it's normally done and I'm not convinced it's the right way to go, see also #1585 (comment). @mattiarighi Do you want to fix this now, or shall we make an issue so @schlunma can fix it when he's back from holiday? |
The problem is that this needs to go in the final release because it's part of @axel-lauer's paper. What about merging it now and opening an issue that @schlunma can take care of when he is back? |
@bouweandela please cherry-pick in |
* Added additional emergent constraints on ECS * Added missing reference * Simplified LTMI calculation using S and D functinos * Fixed codacy issue * Fixed parallel calculation of pressure level widths * Added additional emergent constraints on ECS * Added missing reference * Simplified LTMI calculation using S and D functinos * Fixed codacy issue * Fixed parallel calculation of pressure level widths * Moved additional data from external file to recipe * Add #ESMValTool to header * Fix import path * Fix imports Co-authored-by: Mattia Righi <mattia.righi@dlr.de> Co-authored-by: Bouwe Andela <b.andela@esciencecenter.nl>
Done! |
Add several emergent constraints (including lots of code for general emergent constraints) for ECS, among them the Volodin (2008) constraint necessary for Lauer et al.
Depends on ESMValGroup/ESMValCore#546 and ESMValGroup/ESMValCore#562.
Tasks
yamllint
to check that your YAML files do not contain mistakesNew recipe/diagnostic
doc/sphinx/source/recipes
folder and add a new entry to index.rstCloses #1584.