The changes to how flowParamA is depth-averaged in components/mpas-albany-landice/src/mode_forward/mpas_li_velocity.F in commit 0f37741 led to the landice/humboldt/mesh-3km_restart_test/velo-fo_calving-von_mises_stress_damage-threshold_faceMelting test, and the depth-integrated solver variant, failing restart validation. When changing the method of depth-averaging flowA so it is valid everywhere and not just where thickness>0 in commit b233bd4, the restart validation passes.
This is suspicious, because presumably flowA would not be used where ice does not exist. This suggests perhaps there is a subtle bug that the original code and second commit described above are hiding. It could be related to the velocity field, and therefore the strain rates, being defined on the Albany extended cell, but it's unclear exactly how that would work because it's not clear how flowA would be defined where thickness is zero. The other possibility is that flowA and thickness are inconsistent at this point in the code, but that doesn't make sense as flowParamA is only calculated where thickness>0 in li_calculate_flowParamA which is called as part of the affected code.
The changes to how
flowParamAis depth-averaged incomponents/mpas-albany-landice/src/mode_forward/mpas_li_velocity.Fin commit 0f37741 led to thelandice/humboldt/mesh-3km_restart_test/velo-fo_calving-von_mises_stress_damage-threshold_faceMeltingtest, and the depth-integrated solver variant, failing restart validation. When changing the method of depth-averaging flowA so it is valid everywhere and not just wherethickness>0in commit b233bd4, the restart validation passes.This is suspicious, because presumably flowA would not be used where ice does not exist. This suggests perhaps there is a subtle bug that the original code and second commit described above are hiding. It could be related to the velocity field, and therefore the strain rates, being defined on the Albany extended cell, but it's unclear exactly how that would work because it's not clear how flowA would be defined where thickness is zero. The other possibility is that flowA and thickness are inconsistent at this point in the code, but that doesn't make sense as flowParamA is only calculated where thickness>0 in
li_calculate_flowParamAwhich is called as part of the affected code.