Skip to content
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

Differences between AMF standard versions 1 and 2 causing issues when making specs #28

Closed
4 tasks
joshua-hampton opened this issue Jun 21, 2023 · 1 comment · Fixed by #50
Closed
4 tasks

Comments

@joshua-hampton
Copy link
Collaborator

joshua-hampton commented Jun 21, 2023

There are a number of differences between NCAS-AMF-1.0 and NCAS-AMF-2.0.0 that cause a few problems for checksit

  • the version number for version 1 is two part, while the tagged release in AMF_CVs is three part (1.0 compared to 1.0.0)
    • when checksit is looking for the standard version, it takes what it can find in the conventions attribute. For the automatic downloading and creation of specs, it then looks for a tag in the AMF_CVs repo with the same version number - in this case it does not exist
  • there are a number of json files that are present in version 2.0.0 but not in 1.0 that make_specs.py was expecting - this includes AMF_product.json and AMF_product_common_global-attributes_<deployment_mode>.json
    • some checking for file existence should be included in make_specs.py, however it also used the list of products in the product json file to know which specs to then make
  • checksit expects there to be a global attributes spec file, but without the global attributes json files this doesn't exist. However, check.py is still putting it in as a spec to use
    • maybe there needs to be some spec existence checking done at that stage too

Slightly related although not yet important:

  • the common global attributes for all deployment modes in v2.0.0 are the same, and so only one spec is made (based of the json file for land). This could theoretically change going forward.

I think there are a couple of things that need doing in response:

  • the specs for NCAS-AMF-1.0 will need to be made semi-manually and added to checksit
  • changes to the make_specs.py functions and defining required specs in check.py are needed to check for file existence
  • some sort of guidance or requirements to be put in toward future NCAS-GENERAL-3 development to make sure some files will exist
  • make sure tags in AMF_CVs repo match the standard version number as in the conventions attribute
@joshua-hampton
Copy link
Collaborator Author

Returning to this after a while...
For make_specs.py to work:

  • download tsv files
  • in _common/global-attributes.tsv:
    • change "Vocabulary - AS & JS to populate" to "Vocabulary"
    • remove fixed value for deployment_mode
  • rename _vocabularies/instrument-name-and-descriptors.tsv to _vocabularies/ncas-instrument-name-and-descriptors.tsv

Most json files will now be using the create-cvs command, with the exception of community instruments (any community instruments are included in the list for ncas instruments, v1 makes no distinction) and voc-concentration, which has a "wildcard" variable.

After jsons are made, need to change the "compliance_checking_rules" for deployment_mode in the global-attrs json files to "one of: land, sea, air", and remove any "null" values.

make_specs.py should now work with these json files to create specs for ncas-amof-1.0.0

@joshua-hampton joshua-hampton linked a pull request Oct 1, 2024 that will close this issue
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 a pull request may close this issue.

1 participant