nextsimhub / nextsimdg

neXtSIM_DG : next generation sea-ice model with DG
https://nextsim-dg.readthedocs.io/en/latest/?badge=latest
Apache License 2.0
10 stars 13 forks source link

Issue538 seasurfaceheight #662

Closed einola closed 1 month ago

einola commented 3 months ago

Add sea-surface height

Fixes #538

Task List


Change Description

This PR adds the contribution of the sea-surface-height gradient to both the mEVP and BBM codes (through VPCGDynamicsKernel and BrittleDynamicsKernel). SSH is read in from IOceanBoundary and passed to the dynamical core. It can also be output through ConfigOutput as "ssh".


Test Description

No unit test was implemented for this feature, and no quantitative test exists. Qualitative testing shows that setting a fixed sea-surface-height gradient gives drift speed close to back-of-the-envelope estimates (13 cm/s modelled, 20 cm/s from back-of-the-envelope).


Documentation Impact

None


Other Details

None


Pre-Request Checklist

winzerle commented 1 month ago

It should be a variable like H and A, so HField appears good.

On 1. Oct 2024, at 16:42, Tim Spain @.***> wrote:

@timspainNERSC requested changes on this pull request. Just one small change. I am assuming that the sea-surface gradient calculation code is correct.In physics/src/modules/include/IOceanBoundary.hpp:

@@ -86,6 +89,7 @@ class IOceanBoundary : public ModelComponent { HField cpml; // Heat capacity of the mixed layer, J K⁻¹ m² UField u; // x(east)-ward ocean current, m s⁻¹ VField v; // y(north)-ward ocean current, m s⁻¹

  • VField ssh; // sea surface height, m

This should be an HField, I believe. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were assigned.Message ID: @.***>