MPAS-Dev / MPAS

Repository for private MPAS development prior to the MPAS v6.0 release.
Other
4 stars 0 forks source link

Adds calculations for iceberg/sea ice dynamic interaction #1509

Closed darincomeau closed 6 years ago

darincomeau commented 6 years ago

This PR builds on the branch update_open_water, and has all changes from that branch.

Calculations are added for iceberg/sea ice dynamic interaction, but are not yet actually used. The main subroutines are in mpas_cice_berg_velocity_solver.F (because a local routine in this module is used). The main subroutine for calculating the interaction is cice_berg_forcing_for_ice, called in cice_run_berg_postdynamics, and turned on/off by the namelist option config_berg_seaice_interaction.

The type of interaction is determined by the relative velocity of sea ice and icebergs - if the two are moving in the same direction, then an area of displaced sea ice is calculated and added to the variable bergDisplacedArea:

A_d = \frac{W+L}{2}\delta t|\vec{u}_b - \vec{u}_i|

If the two are moving in opposing directions, then an additional term is calculated for the sea ice momentum equation of the form:

\vec{F}_{b} = \frac{1}{2}\rho_ic_iA_b|\vec{u}_b - \vec{u}_i|(\vec{u}_b - \vec{u}_i)

The above is stored in the variable bergStressU, bergStressV, intended for the right side of the sea ice momentum equation. Note bergStressU, bergStressU are in units of force, not stress.

There are comments in the subroutine berg_displaced_area_for_sea_ice that are meant to clarify the calculation, but can be removed before merging.

New namelist option and Registry options.

BFB when config_use_bergs = false.

darincomeau commented 6 years ago

@akturner can you add yourself as a reviewer and the relevant tags?