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

Tool for interpolating MPAS-Ocean output to MALI for forcing standalone simulations #577

Open
wants to merge 29 commits into
base: master
Choose a base branch
from

Conversation

matthewhoffman
Copy link
Member

@matthewhoffman matthewhoffman commented Jul 29, 2024

Script to interpolate existing MPAS-Ocean output files to a MALI mesh to be used to force standalone MALI simulations.

[details to be filled out]

To do

  • add z_bounds array
  • add 3d mask
  • fix xtime

alexolinhager and others added 26 commits May 6, 2024 14:19
Creates new script that interpolates MPAS-Ocean thermal forcing and sub
ice shelf melt rates to a MALI mesh for one way coupling. Still a work
in progress at this point
Implements the thermal forcing calculation, as well as reorganizes
script to object oriented. Further work is labeled with "<< TO DO >>:"
Finishes to-do list of interpolation script. Script capabilities are
now all complete, but script still needs to be tested and likely debugged
Two changes to get xtime written correctly:
* when the char array is generated, pad it to 64 characters
* fix a bug in that the return code to encoding.update was being
  assigned to xtime
Previous code was giving an error when landIceFreshwaterFlux exists.
minLevelCell does not exist in older meshes, which assumed it was 1.
…al attr

The global attribute version could sometimes have the value 'file'.
… files

There will likely be other files in output directories, so ensure we are
only working with the relevant ones.
* introduce start and end year options
* add time loop to main function
* create get_data function to retrieve needed data for each year
* adjust remap_mpas_to_mali to handle a year argument

A few comments:
* I’ve commented out writing of the mesh fields to keep file size down.
  This is unrelated to the handling of years and perhaps should be a command line option
* I had to adjust handling of various details of xarray data types to get this to work
* creation of the mapping file should be moved out of the time loop so it only occurs once!
This only needs to happen once.  This commit also changes some variable
names to be more precise.
This commit creates 2 masks about the extent of ocean data and moves
them to before interpolation so that MALI has access to the interpolated
mask values, rather than trying to construct them after the fact.  The
masks get interpolated in a separate file from the TF/melt data.

It is not yet clear if there will be a single mask definition that is
appropriate for all applications, so this approach forces the MALI user
to make a conscious decision about how to define the mask.

The two masks are:
* the entire ocean domain
* the open ocean
We want to do ver. before horiz interp to avoid any horiz/vert "mixing" due to
potential mpas-ocean hybrid coordinate.  Also, this should speed up ncremap
because the number of ismip6 vert levels is less than most ocean meshes.
After this change, “scalloping” in the open ocean is gone.
As this required substantial refactoring, there are a lot of related changes to
file handling and xarray objects.
@matthewhoffman
Copy link
Member Author

This is a replacement to #568 after branches diverged.

matthewhoffman and others added 2 commits July 30, 2024 10:57
Previous results had the vertical coordinate upside down.  These changes
correct that and are more careful about indexing conventions.
They had been reversed.

Co-authored-by: Alexander Hager <ahager@lanl.gov>
This allows locations inside the ice shelf or below the bathymetry to be
identified on the MALI mesh.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants