Open atrayano opened 2 years ago
@atrayano Thanks. Are there things to be done inside MAPL as well? Or do you think the existing alarm situation suffices?
Mentioning @wmputman in case he wants to follow/comment.
I do not think we need to make MAPL changes at this time...
Should we add a new MOIST_DT ? make its default as RUN_DT.
@weiyuan-jiang Yes, I totally forgot about this. Good catch
We should add MOIST_DT entry in AGCM.rc
There is a need to make the clock heartbeat smaller to match the remapping sub-step in FV. Since we cannot afford to run every single gridded component at such smaller time step, we need to design a scheme to run at least some gridded components less frequently. As @wmputman suggested, we will start with Moist.
As @tclune suggested yesterday, here is a list tasks to accomplish this: 1) Check that Moist never gets its DT from the CLOCK. I am nearly 100% sure that the current code is Ok, and Moist gets its DT from the resource RUN_DT. Still this should be double-checked 2) Make sure we export tendencies and not increments (again, I am almost sure this is the case) 3) Create a new alarm in Moist during Initialize. MAPL already creates its own RUN_DT alarm. but that alarm rings at the last step of the RUN_DT interval. The new alarm should ring at the first step of the interval, so that Moist could populate its exports properly. 4) Add logic in the run method to skip the calculations if the alarm is not ringing. All the exports and internal state variables will automatically persist when the component skips the run step. Execute the actual Run method only when the alarm is ringing 5) Double-check the logic that updates in-place some variable (sync T and Q logic)