Refactor build-namelist to remove most command line options in favor of using XML variables for settings #1763
Labels
code health
improving internal code structure to make easier to maintain (sustainability)
enhancement
new capability or improved behavior of existing capability
We discussed this at more than one CTSM-Software meetings. One of the challenges with the build-namelist system is that we have several different ways to manage namelist settings. Namely
There are advantages and disadvantages of each type. I think we do want to keep more than one method as there are advantages of each and keeping a few would be reasonable. One of the reasons for the first was to provide a way to do the build-namelist outside of CESM case. This was important when running in a CESM case wasn't the only option. Now it's not. And the catch-all nature of the CLM_BLDNML_OPTS option makes it awkward to use and sometimes causes problems. Similarly the CLM_NAMELIST option can cause problems and if we could eliminate it, would be good. The syntax for it is problematic for example.
As such I think we should restructure the build-namelist user-interface to add XML variable options to control it removing most of the build-namelist command line options. The XML variables are better documented in a case and more separable. This does mean there will likely be a much longer list of XML variables, and the list will change in time. An advantage of CLM_BLDNML_OPTS is that it was always backward compatible.
The text was updated successfully, but these errors were encountered: