Code Monkey home page Code Monkey logo

Comments (11)

durack1 avatar durack1 commented on July 20, 2024

Conversation with @sashakames noted that in order for PrePARE to currently validate data, we need to match the data_specs_version attribute to the cmip6-cmor-tables version that CMOR (or other software) used in to generate the file(s). We hit an issue with INM data where version 01.00.29 was used to create, but PrePARE 01.00.33 (latest) was used to validate and a single issue appeared.

It would be great if CMOR checked out the appropriate version when it first encounters this data_specs_version identifier, then keeps this available to the software if there is a next time that this version is required during publication/PrePARE checking.

We can obviously roll this forward in PCMDI/mip-cmor-tables#3

from cmor.

taylor13 avatar taylor13 commented on July 20, 2024

We might assume that the tables are backward compatible (with only new variables added, but not changes to old variables). Any info. on the single issue raised by PrePARE?

from cmor.

durack1 avatar durack1 commented on July 20, 2024

@sashakames it seems we've solved the seats issue, so tagging you here - which will likely require @mauzey1 at some stage

from cmor.

sashakames avatar sashakames commented on July 20, 2024

Here's the issue raised if that's what you are after:

Your file contains "standard_name":"effective_radius_of_cloud_liquid_water_parti
cle_at_liquid_water_cloud_top" and
CMIP6 tables requires "standard_name":"effective_radius_of_cloud_liquid_water_pa
rticles_at_liquid_water_cloud_top".

from cmor.

mauzey1 avatar mauzey1 commented on July 20, 2024

@durack1 So we want PrePARE to warn users that the data_specs_version of a file doesn't match the one in the tables being used by PrePARE? Should that just be a warning, or an error?

from cmor.

durack1 avatar durack1 commented on July 20, 2024

@mauzey1 that would be a nice addition, as a warning.

Thinking about this, ideally, it would be great to always check against the latest version of the tables, so that at no point in time do we allow issues that are known (and fixed in the latest tables) to be published.

The checkout of the latest table versions by PrePARE/CMOR install/runtime was the original focus of this issue.

from cmor.

taylor13 avatar taylor13 commented on July 20, 2024

thanks, @sashakames for the error message. "Your table" has a typo ("particle" instead of "particles").
Since this involves a standard_name (which must be found at http://cfconventions.org/Data/cf-standard-names/79/build/cf-standard-name-table.html , I think an "error" should be raised. The table with the error should be corrected before proceeding (even if it is the "master" table that's wrong).

from cmor.

durack1 avatar durack1 commented on July 20, 2024

@taylor13 just circling around on this. The issue was that the tables that the original data was written with included the error, and so they had created CMOR and cmip6-cmor-table validated data. The issue was when PrePARE was used to validate the data during publishing, and an updated and corrected version of the tables was used - so that was why I was suggesting a warning rather than an error and exit

from cmor.

taylor13 avatar taylor13 commented on July 20, 2024

Got it. You suggest we not burden users with fixing a problem that was only recently discovered (between the time they wrote the data with CMOR and the time it was checked by PrePARE. There might be at least 2 cases when we might not want to be that lenient:

  1. When a user has prepared output without using the CMOR tables and without CMOR, and has made an error in defining the standard_name.
  2. When a user has been lazy and not obtained the latest CMOR table before writing output. (The table used might be one made available when the data request was still evolving, long before the time that the user is writing data.) When publishing that data, the updated tables are applied and the error is discovered. Shouldn't we object for such sloppy application of CMOR and require the data be rewritten?

All that being said, I wouldn't strongly object to making this a warning (rather than an error) since it doesn't involve the DRS (i.e., the attributes that determine unique file names and directory structures).

from cmor.

sashakames avatar sashakames commented on July 20, 2024

My thought on the warning message would be that PrePARE would include a check of the table version against the global attribute found in the file. If there is a mismatch then warn the user in addition to any errors encountered as a result of the mismatch. I agree that PrePARE shouldn't pass data where there are errors as there is no distinction between a minor error like a typo in the above example versus something where the cf name was completely garbled.

Additionally, we had the notion of a minimum data_spec_version. While this is something that would be helpful to have in the publisher (on the client side) ultimately it is better to enforce server side. I'll raise this when requirements for publication services are discussed.

Following the warning the users may have the opportunity to downgrade their table version (provided it is still valid, meets the minimum) and publish.

from cmor.

durack1 avatar durack1 commented on July 20, 2024

It would be useful to consider this alongside the future CMOR4 release - as we are standardizing on the mip-cmor-tables across projects, certainly makes sense to "ship" CMOR with the inputs it requires to run

from cmor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.