In standard configurations both CTSM and the ocean model need to have Nitrogen-deposition used. The system is currently configured so that CTSM and POP assume that they have to provide ndep, but in some cases CAM sends ndep down to them (when WACCM is being used) -- and when it does they use it rather than providing it themselves. However, at the script level they don't know that it's being sent down so normally will abort if they don't have a file to read ndep setup. In the case when CAM IS sending ndep to the surface components they don't need to abort, and we'd like a way for them to know they don't need to abort when setting up their namelists. The other bad thing about the current situation is that the surface components will set control variables for the ndep file -- that won't actually be used. In this setup they are dummy variables that a user might think matters -- but actually doesn't. So it's bad behavior (to abort) and it's bad documentation of the case. The surface components could query the compset -- but since whether ndep is sent is a run-time configurable variable for CAM -- that's NOT a good solution.
The long term best answer to this to ALWAYS send ndep down to the surface components from CAM. When WACCM is on it'll be prognostic, but for other configuration's it'll be prescribed from datasets coming from previous simulations.
Note this relates to: #102
CTSM issue that relates to this: ESCOMP/CTSM#946
In standard configurations both CTSM and the ocean model need to have Nitrogen-deposition used. The system is currently configured so that CTSM and POP assume that they have to provide ndep, but in some cases CAM sends ndep down to them (when WACCM is being used) -- and when it does they use it rather than providing it themselves. However, at the script level they don't know that it's being sent down so normally will abort if they don't have a file to read ndep setup. In the case when CAM IS sending ndep to the surface components they don't need to abort, and we'd like a way for them to know they don't need to abort when setting up their namelists. The other bad thing about the current situation is that the surface components will set control variables for the ndep file -- that won't actually be used. In this setup they are dummy variables that a user might think matters -- but actually doesn't. So it's bad behavior (to abort) and it's bad documentation of the case. The surface components could query the compset -- but since whether ndep is sent is a run-time configurable variable for CAM -- that's NOT a good solution.
The long term best answer to this to ALWAYS send ndep down to the surface components from CAM. When WACCM is on it'll be prognostic, but for other configuration's it'll be prescribed from datasets coming from previous simulations.
Note this relates to: #102
CTSM issue that relates to this: ESCOMP/CTSM#946