Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

drv_in / lnd_in

I have added a bunch of physics input parameters to the CAM namelist capability in the past. I have always put these in the &camexp section. Currently I am adding one to drv_in/&seq_infodata_inparam and another to lnd_in/&clm_inparam These two have been added to namelist_definitions.xml and a few other files modified to implement the capability. My question is:

Can I just put everything in the &camexp section and it will magically find its way to the right parts of the individual namelist files or do I need to be specific and explicitly place them in their actual namelist sections? I realize I could run some experiments to check this out, but I am not sure if I am missing some fundamental concept(s) with regards to CAM's namelist capabilities?

Thanks,
John
 

eaton

CSEG and Liaisons
I assume that when you say "put everything in the &camexp section" you're talking about user input to the build-namelist command that is specified using either the -infile or the -namelist arguments, both of which require input using valid namelist syntax including a namelist group specifier. For example

% build-namelist -namelist "&camexp var1=val1 /"

The way that build-namelist knows the correct namelist groups for the namelist variables that it writes is because it reads the namelist_definition.xml file in $CAM_ROOT/models/atm/cam/bld/namelist_files/namelist_definition.xml. Part of the definition of every namelist variable is the namelist group that it belongs to. This enables the user interface to:

1) check that any variable specified by the user is valid (i.e., there is an entry for it in the definition file).

2) put the namelist variable in the correct namelist group without requiring the user to know the group. This is part of making the build-namelist interface as user friendly as possible.

So, since the user doesn't need to know what namelist groups the variables belong to, the actual group name specified to build-namelist is ignored. You can specify all your input to build-namelist like this:

% build-namelist -namelist "&xxx var1=val1 var2=val2 ... /"
 
Top