scream
scream copied to clipboard
Tool to query number of total subcycles for a process using `atmquery`
I was explaining how to determine the number of subcycles a specific process is running in EAMxx to someone and it occurred to me that it would be nice to be able to see the tree of subcycle levels with just one atmquery. For example, if you wanted to know how many times SHOC was subcycled you would need to check number_of_subcycles
for
-
shoc
-
mac_aero_mic
-
physics
And then know to multiply these together to get the effective SHOC timestep. If we had a way to do./atmquery shoc::number_of_subcycles
and have it return not only that entry inshoc
but also in all parent groups that would be useful. So for example if it returned something like
namelist_defaults::atmosphere_processes::physics::number_of_subcycles:1
namelist_defaults::atmosphere_processes::physics::mac_aero_mic::number_of_subcycles:12
namelist_defaults::atmosphere_processes::physics::mac_aero_mic::shoc::number_of_subcycles:1
then a user would have one command, all the info, and wouldn't need to know ahead of time that they should check parent groups too. Maybe the option could be an arg, like ./atmquery shoc::number_of_subcyles --robust_tree
Interesting scenario. I'll think about a solution that is robust and self-explanatory.
Side topic: the fact that some process may be subcycled but "indirectly" (that is, it is not subcycled, but a group containing it is) is probably also causing wrong tendencies to be computed. Namely, I suspect that the tend we get in the output file for shoc (as an example) is only the tend from the last subcycle of mac_aero_mic.
The nesting of atm procs requires some care when making assumptions about subcycling...