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

Ocean side mesh: Eddy regime / non-eddy / Transition Ocean Mesh #149

Open
Tracked by #165
saeed-moghimi-noaa opened this issue May 9, 2024 · 7 comments
Open
Tracked by #165
Assignees

Comments

@saeed-moghimi-noaa
Copy link

No description provided.

@felicio93
Copy link
Collaborator

felicio93 commented May 17, 2024

Eddying Regime

Information from Joseph's "Mesh generation for Eddying and Transitional Regime" (MSCI602) class:

  • Eddying regime: weakly forced, mostly balanced (geostrophic)
    • For 3D model, the mesh transition should be gradual and smoother in eddying and transition regimes
    • Most challenging situation is where the transitional regime is very tight (e.g., steep slopes)

Why?:

  • Mesh generation for eddying regime therefore should strive to preserve this balance by using gradually varying resolution
    • This is also because the bathymetric variation in the deep ocean is negligible
    • Sharp transition would distort or create spurious eddying processes (Wang and Danilov 2013)
    • Simplicity in mesh design here is a virtue: do not over-constrain the mesh unnecessarily in eddying regime
    • Use auxiliary arcs to avoid excessive resolution in deep water (hydrostatic assumption)
    • Horizontal Resolution >> Vertical Depth

The mesh should be "featureless" (do not follow the bathymetry), e.g.:

Image

Non-Eddying Regime

Image

  • Note that:
    • The recommendation is to keep the mesh the mesh "featureless" even in areas close to sharp slope transitions (no smoothing in the deep)
    • In areas of high slopes (>45 degrees), i.e. non-eddying, take full advantage of polymorphism, irregular elements, lsc2m etc.

Result:

Image

Transition Zone

Information from Joseph's "Mesh generation for Eddying and Transitional Regime" (MSCI602) class:

  • Particularly challenging is narrow transitional regime between eddying and non-eddying regimes, e.g. near those tiny islands sitting on very steep bottom slope
    • Stick to the ‘simplicity’ rule, and only add auxiliary arcs to enforce proper resolution in deep water
    • You’ll know if you are successful by looking for spurious ‘upwelling’ (very cold water) near islands:
      • If you are not successful in during the Island meshgen you will see this in the SST (upwelling):

Image

  • Rule of thumb
    • ~3 km resolution at islands: OK #Horizontal Resolution >> Vertical Resolution, DO NOT OVER-REFINE ISLANDS IF YOU DON'T HAVE TO
    • 1-3 km at islands: probably OK
    • <1 km resolution: you may have a problem if slope is steep, and may need to add auxiliary arcs to enforce coarser resolution in adjacent deep ocean (always avoid high-res in the deep), e.g.:

Image

  • Vertical grid (LSC2) can help to some extent, but not a panacea

Example:

Image

Non-Eddying Regime
From a mesh gen perspective these nearshore areas can be treated as overland areas (i.e. resolution can vary with slope, channels, depth, etc.)

@felicio93
Copy link
Collaborator

tagging @feiye-vims in case he has any other requirement

@felicio93
Copy link
Collaborator

Here is an updated on a first idea of how this could work

In summary:

  1. eddy-regime zones: should be featureless with horizontal resolution >> depth
  2. non-eddy regime zones: for meshing purposes it can be treated as overland (i.e., variable resolution as a function of depth/slope/channels/etc.)
  3. transition zones: between eddy and non-eddy, usually high slope, usually narrow.
  • The first goal is to be able to delineate these zones

With this in mind I started to put together some simple functions based on the DEM/Slope:
Image

Delineating non-eddy-regime zones:
Using rasterio (see #164), I can convert the DEM to a shapefile of contourline polygons (let's say every 10 m). Then with rasterstats I can extract extract raster statistics to each polygon (e.g. mean, max, min, median, etc). So at the end I have a geopandas dataframe that has polygon of contourlines (every 10 m), and at each polygon I have slope info (e.g. means slope). I can also calcualte the area of each polygon

So, with this dataframe I can find an inflection point where slopes start to get step or the areas start to become small. Here are two examples criteria:

  • non-eddy zone = mean slope inflection point VS. non-eddy zone= contour polygon area inflection point:
    Image

  • These different criteria results in the non-eddy zones:
    Image

Delineating eddy-regime zones:
I tried different things for delineating eddy-regime zones, but it seems that the simplest approach is to define eddy-regime zones based on a threshold depth and then the eddy regime mesh resolution on a simple multiplication that ensures that the horizontal resolution will be >> than the depth (e.g. depth * 10). So, let's say I want a open ocean mesh with a featureless 5km resolution, I would define the >-500 isobath as the threshold. This is how this would look like:
Image

Delineating transition zones:
In this case the transition zones would be the difference between eddy and non-eddy:
Image

The final product would be something like:
Image

These different polygons could then be taken by OCSMesh to create 3 different meshes following the mesh criteria for each zone.

@felicio93
Copy link
Collaborator

@feiye-vims and @josephzhang8 do you think this makes sense? I put some time on it as I waited for the next steps on the STOFS 3D setup for the paper. I will go back to it now that Fei added more steps.

This is just a first idea, please let me know what you think.

@feiye-vims
Copy link

This looks really good. Previously, we've been relying on visual inspection to manually delineate the interface between eddying and non-eddying regimes. Automating this step is a big advance and the different zones identified by your algorithm look very reasonable.

Of course, we need to put into to test in a 3D model and make adjustment in the parameterization if necessary. But I see no obvious problems.

@felicio93 felicio93 changed the title Ocean side mesh: Eddy regime / non-eddy regime requirements Ocean side mesh: Eddy regime / non-eddy / Transition Ocean Mesh Oct 30, 2024
@josephzhang8
Copy link

Thx @felicio93; this is a good first step for 3D meshing.
I usually use a threshold depth with visual inspection of steep slopes to delineate the regimes. Your auto method may generate too many fragmented zones around islands - a good and rigorous tests would be in Pacific Ocean where there are many tiny islands. The most challenging part is the transition regime when it's highly compressed. I'm not sure how well your algo can handle that, so you'll need to test.

@saeed-moghimi-noaa
Copy link
Author

@felicio93 Good progress! Thanks

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

No branches or pull requests

4 participants