-
Notifications
You must be signed in to change notification settings - Fork 6
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
nwdFracLut
cmorized files broken
#503
Comments
To clarify some questions that appeared offline in e-mails: An example file from IPSL is available. An except from its
|
According to the global attributes it was
|
Hi, For comparison, I have uploaded 3 files to with bold dimensions being categorical dimensions and are created in lpjg2cmor.py in execute_single_task(...). I hope anyone can make some sense of this. Thanks, |
@zklaus : It's probably the way they are created. As in your post from IPSL-data above it seems that there is a way. |
Oh yeah, my question to @treerink was basically; What is the line number in ece2cmor? |
In # if this is a land use variable create cmor land use axis
if "landUse" in outdims.split():
create_landuse_axis(task, lpjgfile, freq)
# if this is a pft variable (e.g. landCoverFrac) create cmor vegtype axis
if "vegtype" in outdims.split():
create_vegtype_axis(task, lpjgfile, freq)
# if this variable has the soil depth dimension sdepth
# (NB! not sdepth1 or sdepth10) create cmor sdepth axis
if "sdepth" in outdims.split():
create_sdepth_axis(task, lpjgfile, freq)
# if this variable has one or more "singleton axes" (i.e. axes
# of length 1) which can be those dimensions
# named "type*", these will be created here
for lpjgcol in outdims.split():
if lpjgcol.startswith("type"):
# THIS SHOULD BE LINKED TO CIP6_coordinate.json!
if lpjgcol == "typenwd":
singleton_value = "herbaceous_vegetation"
elif lpjgcol == "typepasture":
singleton_value = "pastures"
else:
continue
create_singleton_axis(task, lpjgfile, str(lpjgcol), singleton_value)
# cmorize the current task (variable)
execute_single_task(dataset, task) See also In From the tables
|
The Problem
This might be related to #469.
We could cmorize
nwdFracLut
, but the result is broken.Here is an excerpt from
ncdump -h nwdFracLut_Emon_EC-Earth3-Veg_historical_r1i1p1f1_gr_185001-185012.nc
from
ncdump -v type nwdFracLut_Emon_EC-Earth3-Veg_historical_r1i1p1f1_gr_185001-185012.nc
we getand from
ncdump -v sector nwdFracLut_Emon_EC-Earth3-Veg_historical_r1i1p1f1_gr_185001-185012.nc
This has at least two problems:
sector
is not linked tonwdFracLut
type
claims to depend ontime
, but offers no data at all.Figuring out what this should look like is much more difficult, and judging from the currently available data on ESGF isn't really understood uniformly in the community. Perhaps clarification with an example from LUMIP would be nice.
Suggested Changes
Nevertheless, somewhat following IPSLs lead, I suggest to change this as follows:
type
into a scalar variable by removing thetime
dependence, adding a dependence onstrlen
and giving it the valueherbaceous_vegetation
as given in CMIP6_coordinate.jsonsector
to thecoordinates
attribute ofnwdFracLut
so that it reads"type sector"
Similar Variables are OK
Similar corrections for other variables dealing with
area_type
s seem not to be necessary.Upon closer inspection of the other type related
Emon
variables, it seems they are ok, including a correct relationship withsector
. The difference is thatnwdFracLut
seems to be the only one that has an explicit type coordinate and, as far as I can tell, that is because in the data request it was determined that there is no "non-woody"area_type
in the official CFarea_type
s and hence there was a perceived need to provide that information in this scalar coordinate.What do the domain experts think? @etiennesky @nierad
The text was updated successfully, but these errors were encountered: