Skip to content

Build-namelist logic to find the finidat file is fragile and needs to be redone #2169

@ekluzek

Description

@ekluzek

In working on #2008 I'm finding that the logic to fine the finidat file is: complex, hard to understand, fragile, and will require a bunch of duplication. This is another reason for doing #585 which is the long term solution. Although there we should make sure the redesign in python has a better method of getting the finidat files.

This is similar to #549, but slightly different and focussed on just the namelist logic and the namelist default settings for: use_init_interp and init_interp_attributes. This is also related to #2149, as we need to have duplicated lnd_tuning_mode options for all the different clm physics options, as well as the cam options. Right now this is going to require a bunch of duplication.

Definition of Done:

  • Improve the error message so it at least gives you a clue on what's wrong...
  • Add testing for finidat files to the build-namelist unit tester
  • Fix case of finidat files with do_transient_pfts=.true. (example 1979 or 2000 files) so that use_init_interp doesn't need to be true
  • Reduce the required attributes to specify each file (see below)
  • Implement a better solution inside of the current buildnml or build-namelist?
  • Long term: Reimplement build-namelist as in Move CLMBuildNamelist.pm perl code into the python buildnml #585

Sub-issues

Metadata

Metadata

Assignees

Labels

bfbbit-for-bitcode healthimproving internal code structure to make easier to maintain (sustainability)enhancementnew capability or improved behavior of existing capabilitypriority: highHigh priority to fix/merge soon, e.g., because it is a problem in important configurations

Type

No type

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions