-
Notifications
You must be signed in to change notification settings - Fork 0
Couple MALI calving flux to MPAS-Seaice through Fixx_rofi #133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Couple MALI calving flux to MPAS-Seaice through Fixx_rofi #133
Conversation
This moves the calving flux from being passed to the ocean to being passed to sea ice.
The Fixx_rofi solid runoff flux has existed in the coupler for some time, but it had not been attached to MPAS-Seaice. This commit adds the connection to MPAS-Seaice in the ice_comp_mct import routine. The Fixx_rofi flux is passed to bergFreshwaterFlux. bergLatentHeatFlux is then calculated using ice temperature specified by config_iceberg_temperature. This commit also changes ice_export_mct so that Fioi_bergw/h are always exported - they will now either come from the coupler or from data.
With Fixx_rofi now being coupled to ice, the berg variables will be used all the time when running in E3SM, as opposed to just when data icebergs are active. Note that this is unlikely to be the most desirable solution; the berg variables would ideally be disabled for standalone MPAS-Seaice, but with this change they will always be allocated. I could not find an obvious way to make the package conditional on MPAS-Seaice being run within E3SM, which I think would be the preferred criterion. Also, if the solution of having the berg variables be always allocated is acceptable, then there is no longer a need for the berg package and it could be fully removed. So either way, this commit will need to be revisited.
This coupler flag is what tells the coupler to send rofi fluxes from ROF and GLC to ICE. This will allow seaice to act as a pass-through for rofi fluxes to the ocean. When an iceberg model is eventually added to MPAS-Seaice, it can redistribute icebergs before they are passed on to the ocean.
Fixx_rofi had been specified in this list when Fixx_rofi coupling was partially implemented (but not tested) years ago. However, that is the wrong variable at this point in the coupling chain - Figg_rofi is the field that needs to be remapped at this stage. Note that usually a previously defined list of variables is used at this stage, as opposed to hardcoding a variable name/list, but I am modifying the existing implementation and not changing that here.
This commit adds mapping file specifications needed to run a LR G-case. This commit should be followed up with a more complete addition for other grids.
Would it be sufficient to use a new config option like |
|
I discussed this PR with @darincomeau today, and we came to a similar conclusion. We decided a few design principles for this PR. Make the iceberg coupling only apply for compsets with MALI active. In other words, do not enable this iceberg coupling for compsets withotu MALI as part of this PR. Enabling iceberg coupling of rofi from ROF would break current standard compsets. Moving ROF rofi to go through sea ice instead of straight to ocean can be explored later, perhaps as part of v4. As such, setting iceberg_prognostic to true, as well as the iceberg package management, should be controlled by CIME variables indicating if MALI is active or not. We also discussed the possibility of eliminating ROF2ICE_RMAPNAME and having that coupling stream use the existing ROF2OCN_ICE_RMAPNAME. We agreed that would be a good long-term solution, but we tentatively decided to leave it in the code for now, because we possibly could imagine situations where we want them both to exist (in order to have different mappings for different compsets during a transition time between implementation). |
This PR introduces iceberg coupling by attaching MALI's calving flux to Figg_rofi and attaching Fixx_rofi to MPAS-Seaice on the other side. This iceberg coupling had been partly implemented a number of years back by Jeremy Fyke but at the time neither component model was ready to send/receive the coupling field, so it was never finished or tested. As such, in addition to attaching the coupling field to the component models, this branch addresses a number of loose ends that had not been implemented.
The coupling pathway is that MALI sends its calving flux to Figg_rofi (which had previously been connected directly to the ocean via Fogg_rofi). This fields is remapped to the seaice/ocean grid and added to Firr_rofi (solid runoff from the runoff model, currently not hooked up) in the coupler to create Fixx_rofi, which is the fields passed to MPAS-Seaice.
Two issues may require further attention before finalizing this PR: