This PR adds the ability for icebergs to occupy space in the sea ice grid so that the grid cell concentrations of sea ice + icebergs + open water = 1. openWaterArea is recalculated at the end of the iceberg timestep, and if this fraction sums to more than 1, than the excess over 1 is stored in a variable bergDisplacedArea. Currently this is just a storage variable, but a later PR will add capability for sea ice to ridge in order to free up this area to restore the sum to 1. This variable is initialized at the beginning of the iceberg timestep in a new cice_run_berg_predynamics wrapper routine, as a later PR will also adjust this variable at other times in the iceberg timestep.
This PR also has some minor cleanup.
mpas_cice_berg_decay: The check for the iceberg decay flag (config_use_berg_decay) has been moved from the iceberg decay module to the main mpas_cice_bergs module to be consistent with other flag checks.
mpas_cice_berg_velocity_solver: The iceberg velocity solver module merges the pre-subcycle and subcycle routines and removes reference to subcycling, since dynamics subcycling has been moved outside of this module. Iceberg momentum coefficients are also re-initialized at the beginning of the velocity solver.
configurations/icebergs/streams.cice: Three iceberg variables (bergAreaCell, bergFreshwaterFluxCell, bergMassCell) have been added to the stream timeSeriesStatsMonthlyOutput to facilitate use with upcoming planned MPAS-Analysis tasks specific to icebergs.
New namelist option config_berg_update_open_water, which is a flag for the open water calculation with iceberg area.
BFB when config_use_bergs = false. Ran for 7.5 years on LANL IC with all iceberg flags turned on.
This PR adds the ability for icebergs to occupy space in the sea ice grid so that the grid cell concentrations of sea ice + icebergs + open water = 1. openWaterArea is recalculated at the end of the iceberg timestep, and if this fraction sums to more than 1, than the excess over 1 is stored in a variable bergDisplacedArea. Currently this is just a storage variable, but a later PR will add capability for sea ice to ridge in order to free up this area to restore the sum to 1. This variable is initialized at the beginning of the iceberg timestep in a new cice_run_berg_predynamics wrapper routine, as a later PR will also adjust this variable at other times in the iceberg timestep.
This PR also has some minor cleanup. mpas_cice_berg_decay: The check for the iceberg decay flag (config_use_berg_decay) has been moved from the iceberg decay module to the main mpas_cice_bergs module to be consistent with other flag checks. mpas_cice_berg_velocity_solver: The iceberg velocity solver module merges the pre-subcycle and subcycle routines and removes reference to subcycling, since dynamics subcycling has been moved outside of this module. Iceberg momentum coefficients are also re-initialized at the beginning of the velocity solver. configurations/icebergs/streams.cice: Three iceberg variables (bergAreaCell, bergFreshwaterFluxCell, bergMassCell) have been added to the stream timeSeriesStatsMonthlyOutput to facilitate use with upcoming planned MPAS-Analysis tasks specific to icebergs.
New namelist option config_berg_update_open_water, which is a flag for the open water calculation with iceberg area.
BFB when config_use_bergs = false. Ran for 7.5 years on LANL IC with all iceberg flags turned on.