E3SM-Project / E3SM-Project/scream

I/O: Add standard name metadata to all output variables - Re: CF-Compliance

Open
#2,937 1 comment 0 reactions 0 assignees View on GitHub
I/O priority:medium
Dominant language
No language data
Stars
79
Forks
54
PR merge metrics
No merged PRs in 30d

Description

We have been talking about making our output CF-Compliant for awhile. I'm adding this Issue so we can track that effort.

My understanding is that we simply need to add the `standard_name` metadata to a variable to make it CF-Compliant. The trick is that we would want to ensure that every variable has the correct "standard name" according to the CF guidlines, see https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html

Ideas we have considered:
- Add a "standard_name" internal variable to the `field` class that can be set by `add_field`
- Have a lookup dictionary available to I/O that will check an EAMxx field name for a predefined standard name.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the field class, add_field, and the I/O path that writes output variables. Compare the EAMxx field names with the CF standard-name table and determine whether field metadata or an I/O lookup dictionary fits. Done means every output variable has the correct standard_name metadata and the mapping is validated.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.