Open PeterCaldwell opened 1 year ago
@PeterCaldwell , since you mentioned the nudging application for stratosphere, it is worth noting the QBO nudging experiments E3SM participated, which requires a function than a real between 0 or 1
for the transition region. This function is available in the Fortran nudging code, so it is straightforward to configure such QBOi simulations. Would be nice to have a similar capability in EAMxx, e.g., having the option to specify a transition function.
The QBOi nudging protocol:
In the face of a concrete example where different nudging strength is needed in the vertical, I propose we just always insist that users supply a 3d weight array. This will simplify the c++ code and maximize generality. @xyuan
In regionally refined runs we often want to nudge the coarse region to reanalysis while we let the fine-resolution region evolve naturally. This is how we turn the RRM into a computationally affordable regional model without needing to build the infrastructure for actually supporting a regional model. It is also sometimes illuminating to nudge one area of the globe (e.g. tropics) while letting other regions evolve on their own.
Our plan for enabling regional nudging in EAMxx is to just read in an array of the same dimensions as the grid we're running on which is 1 where nudging is to be fully applied, 0 where nudging should be ignored, and a real between 0 or 1 if a transition region is desired. This array will be multiplied by the computed nudging tendencies before they are used to update any state variables.
I think the steps for implementing this will be:
if lat>-20 and lat<20 and lon>120 and lon<160 then nudging_weights=0, else nudging_weights=1
). Write that weighting array out to a netcdf file. Save that python code in the scream_docs repo and write confluence documentation for using it.aarondonahue/nudging
branch (unless it is already merged, which will hopefully be the case). This PR is the place to start because it cleans up our nudging implementation.Pinging @paullric, @tangq, @bogensch since I think they have been using regional nudging and might have opinions about whether my approach is dumb. Pinging @AaronDonahue and @rebassoo since they created the nudging code and might be able to correct my mistaken assumptions.