-
Notifications
You must be signed in to change notification settings - Fork 371
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'matthewhoffman/coupler/iceshelf_ocean_coupling_Fyke2_cl…
…eaned' (PR #2726) Add first stage of ocean/ice shelf coupling This merge introduces coupler changes to allow coupling between the ocean model and ice shelves within the GLC model. As part of model coupling necessary for Antarctic simulations, ice shelf melt fluxes due to (primarily) ocean temperatures must be calculated. These melt fluxes correspond to oceanic heat and moisture fluxes at the upper ocean surface, and ice sheet heat and ice column thickness changes. Coupling is characterized by 1) calculations carried out by "subroutine compute_melt_fluxes" on the GLC grid, but 2) on the OCN coupling timestep (<GLC coupling timestep). This is why these fluxes cannot be calculated in either component and are done here in the coupler itself. These factors result in 1) frequent OCN2GLC remapping that is not associated with a GLC run step and 2) accumulation of GLC-bound "subroutine compute_melt_fluxes" output fields, but no equivalent accumulation of OCN-bound outputs. Inputs to the flux calculations (all mapped to GLC grid): From OCN: * oceanTemperature(:) -> o2x_gx%rAttr(index_o2x_So_blt,:) * oceanSalinity(:) -> o2x_gx(1)%rAttr(index_o2x_So_bls,:) * oceanHeatTransferVelocity(:) -> o2x_gx(1)%rAttr(index_o2x_So_htv,:) * oceanSaltTransferVelocity(:) -> o2x_gx(1)%rAttr(index_o2x_So_hsv,:) From GLC: * interfacePressure(:) -> o2x_gx(1)%rAttr(index_o2x_So_phieff,:) * iceTemperature(:) -> g2x_gx%rAttr(index_g2x_Sg_tbot,:) * iceTemperatureDistance(:) -> g2x_gx%rAttr(index_g2x_Sg_dztbot,:) * iceFloatingMask(:) -> g2x_gx%rAttr(index_g2x_Sg_icemask_floating,:) Outputs from flux calculations (all calculated natively on GLC grid): To OCN: * g2x_gx%rAttr(index_g2x_Sg_blis,:) -> outInterfaceSalinity(:) * g2x_gx%rAttr(index_g2x_Sg_blit,:) -> outInterfaceTemperature(:) * g2x_gx%rAttr(index_g2x_Fogx_qiceho,:) -> outOceanHeatFlux(:) * g2x_gx%rAttr(index_g2x_Fogx_qicelo,:) -> outFreshwaterFlux(:) TO GLC: * x2g_gx%rAttr(index_x2g_Fogx_qicehi,:) -> outIceHeatFlux(:) * x2g_gx%rAttr(index_x2g_Fogx_qiceli,:) -> -1*outFreshwaterFlux(:) These changes also include necessary driver and build script changes and a new compset "GMPAS-MALI-DIB-IAF-ISMF" that includes active MPAS-Ocean and MPAS-Albany-Land-Ice (as well as active MPAS-Sea-Ice). In this compset, MPAS-Albany-Land-Ice is configured in a "static" mode where ice sheet geometry and temperature do not evolve. [NML] [BFB] for all previously existing compsets
- Loading branch information
Showing
11 changed files
with
1,240 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.