Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New floating land ice variables #512

Merged
merged 17 commits into from
Apr 17, 2023
Merged

Conversation

cbegeman
Copy link
Collaborator

@cbegeman cbegeman commented Jan 25, 2023

This PR adds new variables to represent floating land ice in a manner that is consistent with E3SM-Ocean-Discussion/E3SM#38

Checklist

  • User's Guide has been updated
  • Developer's Guide has been updated
  • Documentation has been built locally and changes look as expected
  • The E3SM-Project submodule has been updated with relevant E3SM changes
  • Document (in a comment titled Testing in this PR) any testing that was used to verify the changes

@cbegeman cbegeman marked this pull request as draft January 25, 2023 22:27
@cbegeman cbegeman added ocean in progress This PR is not ready for review or merging labels Jan 25, 2023
@cbegeman
Copy link
Collaborator Author

@xylar This is for you to peruse.

@xylar
Copy link
Collaborator

xylar commented Jan 31, 2023

@cbegeman, I think I might need to fix something in the preprocess_geom step. I think we need both a land and a land-ice fraction, and some of the workflow is confusing because that isn't being done right now. More soon...

@cbegeman
Copy link
Collaborator Author

@cbegeman, I think I might need to fix something in the preprocess_geom step. I think we need both a land and a land-ice fraction, and some of the workflow is confusing because that isn't being done right now. More soon...

@xylar That seems reasonable. The renaming here led me to believe that all landFraction corresponded to grounded land ice.

'groundedMask': 'landFraction',

@xylar
Copy link
Collaborator

xylar commented Jan 31, 2023

Yes, you're right. But with the thin film case, we need those to be distinct concepts and there's just not the right hooks for that right now. So I'll maybe fiddle around a bit and add a commit to this branch if you don't mind.

@cbegeman
Copy link
Collaborator Author

@xylar Sounds good. Thanks!

@cbegeman cbegeman force-pushed the ocn-new-floatingIce-vars branch 2 times, most recently from 51ad833 to d5cba56 Compare February 10, 2023 00:17
@cbegeman
Copy link
Collaborator Author

Testing

See E3SM-Ocean-Discussion/E3SM#38 (comment)

@cbegeman cbegeman added E3SM PR required and removed in progress This PR is not ready for review or merging labels Feb 10, 2023
@cbegeman cbegeman force-pushed the ocn-new-floatingIce-vars branch from d5cba56 to 2e403c3 Compare February 10, 2023 00:46
@cbegeman cbegeman marked this pull request as ready for review February 10, 2023 00:47
@cbegeman
Copy link
Collaborator Author

Noting that I have set the thin film cells to the local freezing point based on landIcePressure 2e403c3. No land ice fluxes occur in the thin film region, but it could be important to have a cold thin film to have small land ice fluxes once the grounding line retreats over the thin film region.

image

@xylar xylar self-assigned this Mar 29, 2023
@xylar xylar mentioned this pull request Apr 13, 2023
1 task
Copy link
Collaborator

@xylar xylar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cbegeman, now that the E3SM PR has been merged, this will need a rebase and for the submodule to point to the merge commit for E3SM-Project/E3SM#5464 (see comment below). I tried to do the rebase myself but I was unsure about some of the changes. If you want, we can talk it over at our meeting today and I can take care of it after that.

E3SM-Project Show resolved Hide resolved
@xylar
Copy link
Collaborator

xylar commented Apr 14, 2023

I need to run the test cases with ice-shelf cavities and cache new initial conditions. The pr suite won't pass until I do that. I'll push a commit with the update json files here.

@xylar
Copy link
Collaborator

xylar commented Apr 14, 2023

@cbegeman, are baseline comparison failures to be expected for isomip_plus/planar/2km/z-star/Ocean0/performance/? I'm seeing differences that seem related to mask values.

temperature          Time index: 0
0:  l1: 2.01000000000000e+36  l2: 1.41774468787578e+35  linf: 1.00000000000000e+34
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
salinity             Time index: 0
0:  l1: 2.01000000000000e+36  l2: 1.41774468787578e+35  linf: 1.00000000000000e+34
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
layerThickness       Time index: 0
0:  l1: 1.71275683826742e+03  l2: 4.29110699098227e+01  linf: 4.93110370111077e+00
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
normalVelocity       Time index: 0
0:  l1: 2.65609756560299e+00  l2: 1.02996075384310e-02  linf: 5.42084105418639e-04
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/output.nc
ssh                  Time index: 0
0:  l1: 2.61530437009919e+03  l2: 2.57703523574899e+02  linf: 5.05229606109830e+01
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIcePressure      Time index: 0
0:  l1: 2.63512368118332e+07  l2: 2.59667481625214e+06  linf: 5.09134584743942e+05
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceDraft         Time index: 0
0:  l1: 2.61527189257109e+03  l2: 2.57708573923089e+02  linf: 5.05229141464238e+01
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceFraction      Time index: 0
0:  l1: 1.20000000000000e+01  l2: 2.44948974278318e+00  linf: 5.00000000000000e-01
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceMask          Time index: 0
0:  l1: 2.40000000000000e+01  l2: 4.89897948556636e+00  linf: 1.00000000000000e+00
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceFrictionVelocity Time index: 0
0:  l1: 6.27367512079434e-05  l2: 2.42610923808226e-06  linf: 3.95205439162574e-07
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
topDrag              Time index: 0
0:  l1: 1.18629815639586e-04  l2: 3.33317097650298e-06  linf: 4.29547541199604e-07
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
topDragMagnitude     Time index: 0
0:  l1: 5.76257011841789e-05  l2: 2.51240456806372e-06  linf: 4.05872348312677e-07
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceFreshwaterFlux Time index: 0
0:  l1: 1.75059644718559e-03  l2: 2.55802754902692e-04  linf: 8.53168905098751e-05
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceHeatFlux      Time index: 0
0:  l1: 5.94328380662200e+02  l2: 8.68718607778382e+01  linf: 2.89703705666510e+01
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
heatFluxToLandIce    Time index: 0
0:  l1: 5.10512983603324e+00  l2: 7.59813334592879e-01  linf: 2.51438820030747e-01
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceBoundaryLayerTemperature Time index: 0
0:  l1: 1.04344345749964e+01  l2: 1.02978829208814e+00  linf: 2.03783059613048e-01
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceBoundaryLayerSalinity Time index: 0
0:  l1: 3.23485151095952e+00  l2: 3.19272288590973e-01  linf: 6.33303532128551e-02
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceHeatTransferVelocity Time index: 0
0:  l1: 1.21709297343404e-06  l2: 4.70665192187946e-08  linf: 7.66698551975459e-09
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceSaltTransferVelocity Time index: 0
0:  l1: 3.47740846863869e-08  l2: 1.34475768156796e-09  linf: 2.19056727442114e-10
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceInterfaceTemperature Time index: 0
0:  l1: 1.20466323155088e+00  l2: 1.30289464136724e-01  linf: 2.77528121956663e-02
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
landIceInterfaceSalinity Time index: 0
0:  l1: 5.55891381157572e+01  l2: 5.73195210948367e+00  linf: 1.10617932138258e+00
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
accumulatedLandIceMass Time index: 0
0:  l1: 6.32189990030781e+00  l2: 9.22447149145781e-01  linf: 3.07608238093593e-01
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
accumulatedLandIceHeat Time index: 0
0:  l1: 1.84412065359824e+04  l2: 2.73900070787323e+03  linf: 9.06228843790250e+02
  FAIL /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_float_land_ice_vars/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
       /lcrc/group/e3sm/ac.xylar/compass_1.2/chrysalis/test_20230414/pr_step_job_scripts/ocean/isomip_plus/planar/2km/z-star/Ocean0/performance/land_ice_fluxes.nc
Baseline validation failed

@xylar
Copy link
Collaborator

xylar commented Apr 14, 2023

The plots look fine...

@xylar
Copy link
Collaborator

xylar commented Apr 14, 2023

Oh, no! I'm seeing this error in init mode, too:

CRITICAL ERROR: landIceFloatingMask contains the default value which likely indicates that this field is missing in the initial condition file (e.g. because it is meant for an older E3SM version).

I believe this is happening before we have a chance so set values for landIceFloatingMask. Presumably, we only wanted this error message to happen in forward mode?

@xylar
Copy link
Collaborator

xylar commented Apr 14, 2023

I'll make a bugfix PR for this shortly.

@xylar
Copy link
Collaborator

xylar commented Apr 14, 2023

As we discussed on Slack, this was my mistake. I tried to save myself some trouble with caching by using a cached mesh test case but in fact we need to update the land_ice_mask.nc in the mesh step as well. Sorry for the confusion.

@xylar
Copy link
Collaborator

xylar commented Apr 14, 2023

With the new cache files, the pr test suite is passing just fine. A baseline comparison with the previous QUwISC cache file doesn't pass but that appears to be for reasons unrelated to this PR because a comparison with a non-cached QUwISC using master and its E3SM-Project submodule is bfb.

So as far as I'm concerned, the only loose end is ISOMIP+.

@cbegeman cbegeman force-pushed the ocn-new-floatingIce-vars branch from 2a38bb4 to 221e20f Compare April 17, 2023 17:44
@cbegeman
Copy link
Collaborator Author

@xylar I pushed two bugfixes that much reduce the diffs, though not to 0 because there are intentional differences in the landIceMask. It's ready for your rereview.

@xylar
Copy link
Collaborator

xylar commented Apr 17, 2023

@cbegeman, okay, that's fine. I knew there might be differences but I was a little concerned they were larger than expected. Let me test again.

Copy link
Collaborator

@xylar xylar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cbegeman, yep the differences look reasonable to me. Thanks for working so hard on this!

@xylar xylar merged commit 3b4fec8 into MPAS-Dev:main Apr 17, 2023
@cbegeman
Copy link
Collaborator Author

@xylar Thanks for your review!

@cbegeman cbegeman deleted the ocn-new-floatingIce-vars branch August 24, 2023 18:59
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.

2 participants