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

MOST --> SurfaceLayer #2216

Open
wants to merge 32 commits into
base: development
Choose a base branch
from
Open

Conversation

AMLattanzi
Copy link
Collaborator

@AMLattanzi AMLattanzi commented Mar 25, 2025

NOTE: THIS PR BREAKS BACKWARDS COMPATIBILITY FOR MOST BCs!

This PR overhauls the ERF_ABLMost.H/cpp implementation and renames it ERF_SurfaceLayer.H/cpp.

The following paradigm is adopted:

  1. SurfaceLayer class only provides subgrid diffusive fluxes, it does NOT touch ghost cells
  2. With surface_layer BC type, the lateral velocities and scalars are set to HOEXTRAP so as to preserve their gradient as we go into ghost cells below klo. The normal velocity is set to 0 with a Dirichlet condition. This allows us to NOT need special stencils with MOST since we will for example recover the same d_z u as a one-sided diff and ensure d_x w = 0 at the bottom surface.
  3. There is no longer an explicit most option, we always write into the diffusive flux structures

Things to be done:

  • Verify with ABL MOST simulation
  • Re-run GABLS case
  • Re-run Bomex case
  • Fix ctests where needed
  • Update docs
  • Update inputs in Exec
  • Test on Hurricane Henri case
  • Clean up naming conventions
  • Test cmake compilation

@AMLattanzi AMLattanzi changed the title MOST --> SGSDiff MOST --> SGSDiff (WIP) Mar 26, 2025
@AMLattanzi AMLattanzi marked this pull request as ready for review March 26, 2025 18:38
@AMLattanzi
Copy link
Collaborator Author

The ABL_MYNN25 case confirms that the new SGSDiff method captures the appropriate diffusive flux while the development branch does not. The development branch yields an incorrect diffusive flux due to the averaging of mu_turb(k) and mu_turb(k-1) when computing the stress (MOST doesn't do this averaging).

At early times, the diffusive flux is under-predicted by 2X.

@AMLattanzi
Copy link
Collaborator Author

@ewquon here are the GABLS results with SGSDiff:
image
image
image

@AMLattanzi
Copy link
Collaborator Author

For simplicity, the SatAdj moisture model was utilized with the SGSDiff PR for Bomex. The mean qc profile looks very reasonable and inline with the variations we have seen. This did not impact the 500 m cloud height that seems to be a tad off.
image

@AMLattanzi AMLattanzi changed the title MOST --> SGSDiff (WIP) MOST --> SGSDiff Apr 2, 2025
@AMLattanzi AMLattanzi changed the title MOST --> SGSDiff MOST --> SurfaceLayer Apr 2, 2025
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