NCAR / NCAR/ccpp-framework

Standardized missing values from CCPP framework to use in CCPP physics

Open
#284 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

capgen enhancement post-capgen-unification
Dominant language
Python
Stars
25
Forks
67
Avg merge
3d 8h
Merged PRs (30d)
2

Description

The CCPP framework should provide missing values that can be used by the CCPP physics.

We will need missing values for every type and kind, i.e. integer(4), integer8, real4, real8, and all kinds defined by CCPP, too: real_kind_phys, ...

Thoughts/Ideas:

  • use standard names such as ccpp_missing_value_real_kind_phys, ccpp_missing_value_real_(star_)4, ... ?
  • should the framework dictate the values or can the host model overwrite them?
  • for integers huge() is the only reasonable value - possibly for others, too
  • the unit conversion tools and other auto-converters need to ignore such values, i.e. should use where (a /= missing_value_for_type_and_kind_of_a) ... endwhere

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the CCPP framework’s handling of Fortran types and kinds, along with the unit conversion tools and other auto-converters mentioned in the issue. Resolve how missing values are named and selected for each type and kind, whether host models can override them, and ensure converters ignore those values when the behavior is defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran, python
Domain
tooling
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.