Skip to content

Conversation

@joshuatorrance
Copy link
Collaborator

@joshuatorrance joshuatorrance commented Oct 6, 2025

As part of the under-development ESM1.6 model output specification I have a new draft of the new schema in a new branch and I'm contemplating adding some more CI checks for the schema.

I'm attempting to draft the new version of the schema with multiple files to hopefully simplify the specification and allow for easy changes in the future.

Still To do:

  • Check relative references/ids work as intended in a github repo particularly with tests etc. (they work locally...)
    • I think this is working, no problems with a couple of validators although may need to specify $id in top level file in some circumstances (e.g. online validator)
  • What should the new version of the schema be? 2-0-0
  • What extra CI can/should be added?
    • json schema metavalidater, linter, formatter, tests
      • I wasn't able to get pre-commit autoformatting working in my initial tests so it's just a CI test at the moment
  • Is there a way to support schema versions using git commits/tags/releases/something rather than duplicate files in the repo?
    • Should the version of the schema be mentioned explicitly in each schema/sub-schema file?
      • Given the number of files this would need to be automated
      • Leave it out for now - add it later if needed
  • Remove title from attributes? Attribute key/name is the same string.
  • details of global metadata schema need reviewing
    • realm should be simplified to a single realm per data file
    • creation_date needs a look (for now follow cmip/cordex)
    • How should id work? experiment_id (CMIP) or just id (ACDD)?
    • Remove _Format & _IsNetCDF4?
    • Do we want to dictate the order of the attributes? There's no way to do this with jsonschema, would need to do it elsewhere.
      • addmeta supports sorting
  • variable metadata
    • Can this be defined with a unknown variable name?
    • Make nothing required since we don't know if a given .nc variable is a coordinate or data?
  • Build auto-generating user docs from schema (likely in this repo)

@access-hive-bot
Copy link

This pull request has been mentioned on ACCESS Hive Community Forum. There might be relevant details there:

https://forum.access-hive.org.au/t/ww3-post-processor-for-cf-compliance/5430/2

@joshuatorrance joshuatorrance marked this pull request as ready for review November 3, 2025 06:01
Copy link
Member

@aidanheerdegen aidanheerdegen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@joshuatorrance joshuatorrance merged commit 6bad732 into main Nov 4, 2025
2 checks passed
@joshuatorrance joshuatorrance deleted the esm16-output-file-schema branch November 4, 2025 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants