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

Update global ocean init mode for meshes with ice-shelf cavities #90

Conversation

xylar
Copy link
Collaborator

@xylar xylar commented Apr 9, 2024

This merge updates MPAS-Ocean init mode for global_ocean in several ways that are critical for initialization that is compatible with planned coupling to MALI.

The fields landIcePressure, landIceDraft and ssh are now read from a topography file. This means that landIcePressure is no longer computed based on the density at the ocean surface in init mode. Similarly, ssh is not required to be the same as landIceDraft.

Support is removed for reading land-ice topography fields from a dataset on a lat-lon grid. We no longer use this capability and maintaining it is not worth the effort.

The land-ice topography data set is now required to have landIceFloatingFracObserved as a field, and this is used to set landIceFloatingFraction. Previously, landIceFracObserved was being used to compute both landIceFraction and landIceFloatingFraction (assuming no grounded ice in the domain).

@xylar
Copy link
Collaborator Author

xylar commented Apr 9, 2024

This merge works in tandem with MPAS-Dev/compass#813.

Comment on lines +521 to +523
call ocn_equation_of_state_density(statePool, meshPool, tracersSurfaceValue, &
nCells, 0, 'relative', density, iErr, &
timeLevelIn=1)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Am I right in thinking that this density calculation doesn't use land ice pressure (atm pressure everywhere)? So as far as this calculation is concerned, ice shelf cavities don't exist yet (ssh = 0)?

Copy link
Collaborator Author

@xylar xylar Apr 12, 2024

Choose a reason for hiding this comment

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

It uses a reference pressure profile that doesn't vary at all with space. It doesn't even use atmospheric pressure. (It's really kind of an embarrassment.)

landIcePressure(:) = 0.0_RKIND
modifyLandIcePressureMask(:) = 0
Copy link
Collaborator

Choose a reason for hiding this comment

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

It would be nice if this were called sshAdjustmentMask since we're not always modifying landIcePressure, but it's up to you if you want to bother.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Sure, this will require changes outside of global_ocean but I'm okay with that.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I have done this both here and in MPAS-Dev/compass#813

@xylar xylar force-pushed the ocn/init-land-ice-pressure-from-topo branch from cea5af4 to d9cb98e Compare April 14, 2024 15:46
@xylar
Copy link
Collaborator Author

xylar commented Apr 14, 2024

@cbegeman, can you let me know if you think this is ready for E3SM-Project/E3SM yet?

@cbegeman
Copy link
Collaborator

@xylar Would you like me to do any testing? If so, are there machines/compilers you haven't tried yet? If not, then feel free to move to E3SM. Thanks for addressing my comments!

@xylar
Copy link
Collaborator Author

xylar commented Apr 15, 2024

I've only run with Intel on Chrysalis so it wouldn't hurt to run a test elsewhere. I wouldn't try anything higher rest than IcoswISC and IcoswISC240 might even be sufficient. But I'd certainly appreciate some testing if you're up for it.

Copy link
Collaborator

@cbegeman cbegeman left a comment

Choose a reason for hiding this comment

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

I ran IcoswISC on perlmutter-cpu, mpich. The max SSH adjustment at the last (10th) iteration was 0.05m, which seems reasonable.

Thanks @xylar for making this change!

We do not use this mode anymore and it is too difficult to maintain.
This merge uses the `landIceDraftObserved`, `landIcePressureObserved`
and `landIceFloatingFracObserved` to initialize the corresponding
MPAS-Ocean variables.  Previously, the `landIcePressure` was being
computed in a subroutine and the `landIceFloatingFraction` was
required to be identical to `landIceFraction`.

This merge also removes the unused variable
`landIceGroundedFracObserved`
Instead, it will be read in from the topography file directly,
meaning it can be updated (e.g. from ssh adjustment).
@xylar
Copy link
Collaborator Author

xylar commented Apr 29, 2024

Closed in favor of E3SM-Project#6375

@xylar xylar closed this Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants