fixed missing frequency for cmip6 cmor checks#985
Conversation
|
The problem with |
|
Blast! lwcre is custom (derived) right? Ill have a look at the custom
loader/checker. Can you test with say tas see if it works for standard
variables at least?
Dr Valeriu Predoi.
Computational scientist
NCAS-CMS
University of Reading
Department of Meteorology
Reading RG6 6BB
United Kingdom
…On Wed, 20 Mar 2019, 09:39 Mattia Righi, ***@***.***> wrote:
The problem with obs4mips persists (tried with dataset CERES-EBAF and
variable lwcre).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#985 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AbpCow2_18hwM_HyYoFI89fiCWzjSgYVks5vYgG_gaJpZM4b9Nf1>
.
|
|
With |
|
Awesome, cheers for testing, Mattia! on my way to work and will have a look
at the derived case right away
Dr Valeriu Predoi.
Computational scientist
NCAS-CMS
University of Reading
Department of Meteorology
Reading RG6 6BB
United Kingdom
…On Wed, 20 Mar 2019, 10:32 Mattia Righi, ***@***.***> wrote:
With hus (non-derived) and AIRS it works!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#985 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AbpCo3QEFnBZrNV5_T6u5gDSyOgtZt2Wks5vYg4lgaJpZM4b9Nf1>
.
|
|
ok @mattiarighi now it should work for any derived variable (with base CMIP5, 6 or any other) - I tested with a synthetic derived variable since I don't have CMIP6 data and it works. Note that you need to add |
|
guys, pls have a test or two and let me know if all works so I can fix the test that's failing (keeping that at the very end); also, it would be very useful, now that @jvegasbsc has gone on daddy leave, to ask @sloosvel to double check these changes when she got time (we should probably merge if all works fine, but keep that in mind) - I really am not a CMORChecks expert at all 😈 |
|
Now I get a different error for |
|
you need to add |
|
Ok, but how? As an additional variable attribute or at the top of the table? |
|
The frequency is also not unique for the custom variables, since sometimes the same table is used for |
|
it's a variable attribute just like units etc; in that case we're kinda screwed since we need to create separate files for different frequencies; the code needs that frequency from the CMOR table in light of the new CMIP6 CMOR table structure |
|
I also found this discrepancy between CMIP5 and 6 standard names: do we have a strategy for these cases yet? |
It's still not clear to me how this affects |
Not yet, as far as I know @jvegasbsc only implemented a fix for the |
|
|
|
Should we try to update the |
|
As a quick solution, can we revert the CMIP6 tables to the previous version until this is solved? |
|
OK so here's the status:
|
|
there are small differences if we want to use CMIP5 CMOR tables for CMIP6 data eg: but these shouldn't bite us too badly |
But they don't, and adding it would mean redesigning the way the custom tables are defined (i.e., group them by mip) and regenerate our obs data pool again (including also adjusting most of the cmorizers).
Isn't this also controlling the table format (plain text in CMIP5 vs json in CMIP6)?
It still looks the quickest way out to me, at least until we have a clean solution for the issues you mentioned (which may be some work). |
|
using cmor_type: CMIP5 for anything CMIP6 including CMIP6 data works fine no problemo, what you mean by "Isn't this also controlling the table format (plain text in CMIP5 vs json in CMIP6)?" - it just loads different CMOR tables and applies the same checks and cmorization, no worries about tables' format |
That would probably not work for those variables with a different |
|
also if you temporarily just add |
yesh indeed, but those are not on any ESGF node yet anyway so people can keep their CMIP5 names 😁 |
The CMIP6 data are flowing right now and people are start working with them. |
|
I have been trying to say that myself since March 🤣 - I was thinking about adding the frequency info in the custom var based on all the component variables in an automatic way (and not by hand in the custom table) but I had left it for you to review and decide - it shouldn't be too hard since all the component vars should have consistent frequencies no? |
|
Some use |
|
I am counting the frequency and assigning the max value |
|
Just tested recipe_ecs_scatter_cmip6.yml successfully. |
| from collections import Counter | ||
| var_freqs = (var.frequency for var in table.values()) | ||
| table_freq, _ = Counter(var_freqs).most_common(1)[0] | ||
| table.frequency = table_freq |
There was a problem hiding this comment.
Boss! I like it - I tested with a whole bunch of tables and the closest one I got was this one:
Counter(freqs).most_common(2)
[(' "yr"', 10), (' "yrPt"', 9)]
for Eyr
|
Mattia, can you test again? Now custom vars will be assigned the table frequency, so I expect this will fix your issue |
|
Thanks, I will test asap. |
|
I can't test anything until #1097 is solved. 😭 |
|
Tested successfully! |
|
@mattiarighi @jvegasbsc shall we merge then? awesome work guys 🍺 |
|
Please re-open this pull request in the ESMValTool Core repository. You can do so by pushing this branch to that repository, using the following instructions. First add the repository with git remote add esmvalcore git@github.com:esmvalgroup/esmvalcoreor git remote add esmvalcore https://github.com/esmvalgroup/esmvalcoreif you're not using ssh to connect to GitHub. Next upload the branch with and open a pull request here |
|
sorry I did not mean to close that :/ |
|
@valeriupredoi is this still relevant? |
|
still is, somewhat relevant albeit the code is starting to become obsolete, see the discussion here ESMValGroup/ESMValCore#158 |
|
ie the code = CMOR tables which are even more modern in ESMValGroup/ESMValCore#158 |
|
But shouldn't it be moved to Core? |
|
yes, I believe @jvegasbsc is cherrypicking the changes in that Core PR, no? |
|
I will close this when the pull requests is created for the core |
|
Ported to /ESMValGroup/ESMValCore#158 |
should solve #981