Skip to content

Provide additional SIMA input parameter (namelist) checking and testing? #463

@nusbaume

Description

@nusbaume

What is the feature/what would you like to discuss?

There are a very large number of input namelist parameters that CAM-SIMA needs when running with a dycore and full-complexity physics suite, all of which should be defined in various namelist definition XML files. This can result in a large number of possible parameter combinations, not all of them scientifically-valid, that can be difficult to fully test using standard regression-testing techniques. To help with this problem, it might be beneficial to implement some new capabilities in CAM-SIMA, specifically the following two features:

  1. A new namelist definition element which describes various in-valid namelist combinations, for example a namelist parameter which states that an input is time-varying, and a parameter that provides a constant value for that forcing. This could catch potential namelist errors before the model is submitted to a job-queue, and could remove runtime checks that currently live in the lower-level Fortran code.

  2. A snapshot-like test of various physics schemes, but where all the namelist values are modified (e.g. all logicals are flipped to their opposite value, assuming it doesn't violate combinational logic rules as described in 1 above). Creating actual snapshot files for every combination would likely be impossible, but one could at least make sure that the physics scheme builds and runs without error.

Note that either of these features would likely take a noticeable amount of work, and it's not clear if it's worth devoting the limited resources we have to them. However, this issue provides a forum to discuss this and other namelist or input parameter-related capabilities in CAM-SIMA

Is there anyone in particular you want to be part of this conversation?

No response

Will this change (regression test) answers?

No

Will you be implementing this enhancement yourself?

Any Software Engineer can do this

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionIssue used to generate a discussion amongst users/developers.enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions