Skip to content

Updates to pressure freeze calculations in hydrology model#157

Open
matthewhoffman wants to merge 4 commits into
developfrom
matthewhoffman/mali/hydro-pressure-freeze-fixes
Open

Updates to pressure freeze calculations in hydrology model#157
matthewhoffman wants to merge 4 commits into
developfrom
matthewhoffman/mali/hydro-pressure-freeze-fixes

Conversation

@matthewhoffman
Copy link
Copy Markdown

Adjustments to calculations related to the melting/freezing necessary to keep subglacial water at the pressure-melting temperature.

In progress/testing.

todo:

  • try matching published results with pressurefreeze term
  • retest water pressure smoothing and adjust nl defaults or implementation if needed

@matthewhoffman matthewhoffman added the in progress Still being worked on, don't merge yet! label Nov 20, 2025
@matthewhoffman matthewhoffman force-pushed the matthewhoffman/mali/hydro-pressure-freeze-fixes branch from 62320de to 8a86a39 Compare January 6, 2026 03:34
There is an option to apply the pressure freeze term which limits its
application to the channel opening term.  However, this option logic was
never applied to the mass balance equation, so pressure freeze has
always been included in that equation even whtn pressure freeze is
disabled.  This commit fixes that.
I'm concerned there is a sign bug and combining the sheet and channel
terms together masks that.  Further, it's not obvious that the sheet
flow should be included in the pressure freeze calculation, as in
principle it's meant to be perpendicular to the channel, meaning it
would have a different derivative thatn used here.  The sheet term is
included in Werder et al (2013) but excluded from de Fleurian et al
(2018).
Pw is zero outside the domain, so the gradient is erroneously huge
there.
@matthewhoffman matthewhoffman force-pushed the matthewhoffman/mali/hydro-pressure-freeze-fixes branch from 8a86a39 to 867dd68 Compare January 6, 2026 19:04
@matthewhoffman
Copy link
Copy Markdown
Author

Testing - bug fix

I first tested the bug fix commit b9fa8ad by itself for the 4 standard compass tests that include hydrology using:

compass setup -n 83 84 85 86 -b /pscratch/sd/h/hoffman2/COMPASS/BASELINE -w /pscratch/sd/h/hoffman2/COMPASS/TESTING_b9fa8adb19

Note that the two hydro_radial tests have channels off. The two Humboldt tests have channels on and pressure-freeze off.

landice/humboldt/mesh-3km_decomposition_test/velo-none_calving-none_subglacialhydro
  * step: 1proc_run
  * step: 32proc_run
  test execution:      SUCCESS
  test validation:     PASS
  baseline comparison: FAIL
  see: case_outputs/landice_humboldt_mesh-3km_decomposition_test_velo-none_calving-none_subglacialhydro.log
  test runtime:        00:33
landice/humboldt/mesh-3km_restart_test/velo-none_calving-none_subglacialhydro
  * step: full_run
  * step: restart_run
  test execution:      SUCCESS
  test validation:     PASS
  baseline comparison: FAIL
  see: case_outputs/landice_humboldt_mesh-3km_restart_test_velo-none_calving-none_subglacialhydro.log
  test runtime:        00:26
landice/hydro_radial/decomposition_test
  * step: setup_mesh
  * step: 1proc_run
  * step: visualize_1proc_run
  * step: 3proc_run
  * step: visualize_3proc_run
  test execution:      SUCCESS
  test validation:     PASS
  baseline comparison: PASS
  test runtime:        00:26
landice/hydro_radial/restart_test
  * step: setup_mesh
  * step: full_run
  * step: visualize_full_run
  * step: restart_run
  * step: visualize_restart_run
  test execution:      SUCCESS
  test validation:     PASS
  baseline comparison: PASS
  test runtime:        00:35
Test Runtimes:
00:33 FAIL landice_humboldt_mesh-3km_decomposition_test_velo-none_calving-none_subglacialhydro
00:26 FAIL landice_humboldt_mesh-3km_restart_test_velo-none_calving-none_subglacialhydro
00:26 PASS landice_hydro_radial_decomposition_test
00:35 PASS landice_hydro_radial_restart_test
Total runtime 02:37

Results are as expected - the bug fix has no impact when channels are off but it does change answers for the tests where channels are on but pressure-freeze is set to off.

@matthewhoffman
Copy link
Copy Markdown
Author

Testing: remaining changes when channels are off

I next tested using the standard tests for the head of this branch vs the bug-fix commit. As expected, all tests pass, because pressure-freeze is disabled in these tests and after the bug fix, adjustments to the pressure-freeze calculations should not affect the tests because they all have that option disabled.

These tests were run with:

compass setup -n 83 84 85 86 -b /pscratch/sd/h/hoffman2/COMPASS/TESTING_b9fa8adb19 -w /pscratch/sd/h/hoffman2/COMPASS/TESTING_867dd682f4

@matthewhoffman matthewhoffman added testing needed and removed in progress Still being worked on, don't merge yet! labels Feb 2, 2026
@matthewhoffman matthewhoffman force-pushed the matthewhoffman/mali/hydro-pressure-freeze-fixes branch from 867dd68 to 8d3b9d9 Compare February 13, 2026 04:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant