Comments (14)
@taylor13 That would be a question for @matthew-mizielinski to answer.
from cmor.
Through a combination of setting the default value of product
in CMOR from model_output
to an empty string and removing the product
attribute from the headers of mip-cmor-tables I was able to remove the attribute from the netCDF file.
Is product
an attribute that we plan to keep in the headers of mip-cmor-tables. If not, then removing it will make this part of the task easy. Otherwise, CMOR will need to not set the product
value from the table header if the attribute is not in required_global_attributes
. Do we want attributes that are not required by the CV to not be set even if the tables contain values for them?
from cmor.
product
is meant to distinguish model_output
from, for example, observations
and forcing_dataset
, so I think it should be included as a global attribute in the file and should be harvested by ESGF into its catalog. What would be the rationale for removing it?
from cmor.
Are we all in agreement that further_info_url
is an attribute should not be used beyond CMIP6?
from cmor.
o.k. by me.
from cmor.
@mauzey1 yes, at least for CMIP6Plus, input4MIPs and obs4MIPs this is not supported by the ES-DOC/IS-ENES folks, so we need it removed as a required global attribute. For CMIP7, in a couple of years, it may reappear, but not for the immediate future
from cmor.
product
is meant to distinguishmodel_output
from, for example,observations
andforcing_dataset
, so I think it should be included as a global attribute in the file and should be harvested by ESGF into its catalog. What would be the rationale for removing it?
Thanks for chiming in @taylor13. You make a very good point about having this to delineate between projects (or is it mip_era, or activity_id). We do need to figure out how to manage all this, if we had CVs that captured these options in the mip-cmor-tables (highest level "multi-verse") repo it would make more sense to me - so model-output
, observations
, forcing
which was never defined in the CMIP6_CVs, in input4MIPs and obs4MIPs we have derived
, observations
, reanalysis
from cmor.
Yes, projects/activity_id/mip_era have sometimes been used to indicate something about "project", and under each project we can have multiple output types. (In CMIP5 we distinguished between output1 and output2, but folks found that confusing.). The terms should be clearly defined in CVs, but the allowed values would be project-specific.
from cmor.
@durack1 @taylor13 Can somebody explain the reason behind this section of cmor_setGblAttr?
Lines 3049 to 3056 in c2f7450
The
source_id
and further_info_url
check is done here if the further_info_url value of the dataset isn't an empty string. By default, CMOR sets the the value of further_info_url
to a built-in template value. Unless the user explicitly sets further_info_url
to be an empty string, these checks will happen. Shouldn't the source_id
check happen regardless of what further_info_url
is set to?from cmor.
Yes, I think the check on source_id should always be done. Perhaps it is done elsewhere and then repeated here (for no reason I can think of) when there is a further_info_url
defined. There's no reason to check it twice.
from cmor.
I agree with @taylor13. We might have a further_info_url
in the CMIP7 project, it depends if the ES-Doc folks manage to get supported in time for the specs to be defined. As it is, this would be a relatively trivial additional to the project CVs, but it would be useful to think about what structure we would need to put in place so that such attributes could be validated by CMOR in a generic way - i.e. a template that requires certain info to be defined in the CVs to check against
from cmor.
Yes, each new project (i.e., each CMIP phase, obs4MIPs phase, and input4MIPs phase, where phase implies a new set of required attributes) could "tell" CMOR which of its global attributes are required (and which of those are constrained by CVs or by templates), and then CMOR could check that the attribute had been defined (and that it conformed to the CV or template).
from cmor.
@matthew-mizielinski @wolfiex can you both take a quick pass over the above, just to make sure no obvious issues are not being considered? @mauzey1 is nearing finalizing a CMOR 3.8.0 release, so wanted to double check whether we're good to start testing with the current main
branches in CMIP6Plus_CVs and mip-cmor-tables.
from cmor.
Marking this complete since the automatic creation of the further_info_url
attribute has been removed, and the other attributes listed can be handled by the CV's required_global_attributes
.
from cmor.
Related Issues (20)
- Exposing latest netcdf 4.9.x library functionality: quantize, zstandard HOT 13
- Exposing latest netcdf 4.9.x library functionality: quantize, zstandard HOT 48
- unclear warning... HOT 5
- bounds required on singleton lon and lat? HOT 5
- avoid attributes of bounds of auxilliary coordinates (`vertices_latitudes` / `vertices_longitude`) HOT 5
- Calibrating CMOR3 & 4 forward development plans HOT 7
- CMOR 3.8.0 Release HOT 4
- Update README.md to remove v3.7 reference
- default `realm = "REALM"` is always written although not required by CV HOT 2
- order in `required_global_attributes` matters HOT 1
- input time type as INT HOT 3
- CircleCI current image deprecated HOT 1
- Numpy 2.0 compatibility issue HOT 2
- File output size and chunking HOT 10
- Message Logging generates duplicated output lines
- DESTDIR support HOT 2
- Failure invoking set_deflate HOT 1
- user defined grid mapping
- Add CITATION.cff file HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmor.