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

* Enable geothermal heating, stochastic pertubations, 3D KHTR, and MOM6_VERTICAL_GRID #158

Merged
merged 5 commits into from
Apr 1, 2024

Conversation

gustavo-marques
Copy link
Collaborator

Update the workhorse configuration (tx2_3v2) to include geothermal heating, stochastic pertubations, and 3D KHTR. By default, KHTR (mesoscale tracer diffusion) = KHTH (GM coefficient).

These are the changes needed to replicate the latest baselines:

This pull request modifies the answers, and I have confirmed that we can compare it bit-for-bit with 2024.015 without any additional namelist changes.

Set the following when $OCN_GRID == "tx2_3v2": True

STOCH_EOS=True
STANLEY_COEFF=0.5
USE_STANLEY_PGF=True
USE_STANLEY_ML=True
USE_STANLEY_ISO=True
USE_STANLEY_GM=True
NDIFF_TAPERING = True
KHTR_USE_EBT_STRUCT = True ! depth-dependent KHTR

By default, KHTR (mesoscale tracer diffusion) = KHTH (GM coefficient).
A new version of the file was created as a result of this update.
@mnlevy1981
Copy link
Collaborator

(PS: coordinate settings for hycom1 still need to be done manually)

What would you think about adding a MOM_vert_coord to env_run.xml with a default of zstar but allowing hybrid as well? Then we could add defaults to MOM_input.yaml that depend on MOM_vert_coord and all it would take to switch between zstar and hybrid would be an xmlchange call.

It might turn out to be a temporary addition to env_run.xml (if we eventually choose to support one or the other but not both) but I think it would be really useful during this testing phase. We could even use it to support comparing different hybrid coordinates, such as the one proposed by collaborators at U-Miami.

I'm happy to push changes to your branch to test it out.

@mnlevy1981
Copy link
Collaborator

This pull request modifies the answers, and I have confirmed that we can compare it bit-for-bit with NCAR/omwg_dev#14 without any additional namelist changes.

Do we need to set AUTO_MASKTABLE = False to be bit-for-bit?

@gustavo-marques
Copy link
Collaborator Author

This pull request modifies the answers, and I have confirmed that we can compare it bit-for-bit with NCAR/omwg_dev#14 without any additional namelist changes.

Do we need to set AUTO_MASKTABLE = False to be bit-for-bit?

Yes, we do need to set AUTO_MASKTABLE = False to be bit-for-bit. Thank you for asking that.

@gustavo-marques
Copy link
Collaborator Author

(PS: coordinate settings for hycom1 still need to be done manually)

What would you think about adding a MOM_vert_coord to env_run.xml with a default of zstar but allowing hybrid as well? Then we could add defaults to MOM_input.yaml that depend on MOM_vert_coord and all it would take to switch between zstar and hybrid would be an xmlchange call.

It might turn out to be a temporary addition to env_run.xml (if we eventually choose to support one or the other but not both) but I think it would be really useful during this testing phase. We could even use it to support comparing different hybrid coordinates, such as the one proposed by collaborators at U-Miami.

I'm happy to push changes to your branch to test it out.

I think this is a great idea. Thank you for suggesting a solution and offering to implement it.
Here are the changes needed when MOM_vert_coord = hycom1:

NK = 75
REGRIDDING_COORDINATE_MODE = "HYCOM1"
INTERPOLATION_SCHEME = "P1M_H2"
REMAPPING_SCHEME = "PPM_H4"
BOUNDARY_EXTRAPOLATION = True
ALE_COORDINATE_CONFIG = "HYBRID:hybrid_75layer_zstar2.50m-2020-11-23.nc,sigma2,dz"
REGRID_COMPRESSIBILITY_FRACTION = 0.01
MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01"
MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01"
COORD_CONFIG = "ALE"

Please let me know how I can help with implementing or testing this feature.

default is zstar_65L for 2/3 degree grids (zstar_60L for gx1v6 and hycom1 for
quarter degree); MOM_input gets set up correctly for zstar and hycom, so
user_nl_mom changes aren't necessary.
@mnlevy1981
Copy link
Collaborator

@gustavo-marques 663d769 contains the code changes I showed you -- out of the box, tx2_3v2 still has the zstar_65L defaults, but you can run

$ ./xmlchange MOM6_VERTICAL_GRID=hycom1

to switch to hycom. We also talked about you adding hybgen to the valid values section and then updating MOM_input.yaml as appropriate. Lastly, I think I accounted for the tx0.25v1 grid correctly but somebody who actually runs quarter degree should probably verify that it's correct (it sounds like there might be updated tunings for the grid in the works)

@mnlevy1981 mnlevy1981 marked this pull request as draft March 22, 2024 22:35
mnlevy1981 added a commit to mnlevy1981/MOM_interface that referenced this pull request Mar 26, 2024
There will likely be more commits to ESCOMP#158, but this has the
default values for 015 (zstar) and 005 (hycom1) as well as the new
MOM6_VERTICAL_GRID env_run.xml variable to make it easy to switch.

I don't want this merged onto MARBL_support directly because I'll wait until it
comes in via MOM_interface
@mnlevy1981 mnlevy1981 marked this pull request as ready for review March 28, 2024 21:30
@alperaltuntas
Copy link
Member

Looks good to me. Has the aux_mom test suite been run, or should I run it?

@mnlevy1981
Copy link
Collaborator

aux_mom has not been run yet; I think answers will change in all the tests. It might make sense to add a hycom test to the test suite (just add ./xmlchange MOM6_VERTICAL_GRID=hycom1 to shell_commands)

@alperaltuntas alperaltuntas merged commit 3e3b0fb into ESCOMP:main Apr 1, 2024
@gustavo-marques gustavo-marques changed the title * Enable geothermal heating, stochastic pertubations, and 3D KHTR * Enable geothermal heating, stochastic pertubations, 3D KHTR, and MOM6_VERTICAL_GRID Apr 5, 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.

3 participants