ESCOMP / ESCOMP/CAM-SIMA

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

Open
#463 0 comments 0 reactions 0 assignees View on GitHub
discussion enhancement
Dominant language
No language data
Stars
9
Forks
22
Avg merge
8d 5h
Merged PRs (30d)
4

Description

### 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

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the namelist definition XML files and the lower-level Fortran checks mentioned in the issue. Determine whether the proposed invalid-combination validation or physics-scheme snapshot testing has a defined entry point and feasible scope. Done would require an agreed design plus implementation and tests, but the issue does not specify exact files, tests, or acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran
Domain
testing-qa
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.