-
Notifications
You must be signed in to change notification settings - Fork 16
Parameter updates for improved stability in 25 km configuration #556
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
Conversation
bfc7fe0 to
9bb88ab
Compare
|
It is confirmed that a test run using the MOM parameters in this PR reproduces the results of the long-running control simulation (upto 49 years) |
|
The parameter differences compared to the latest GFDL OM5 settings are documented here, https://github.com/minghangli-uni/access-om3-doc/blob/main/tables/MOM_comparison/GFDL-OM5_ACCESS-OM3_25km_nml_diff.md |
|
For the vertex shear model, the following three parameters were not included in this PR, as they are not yet available in the current source. They will be incorporated once the corresponding PR from GFDL is merged. |
|
We may consider turning off |
|
For reference: changes relative to current |
| MAX_P_SURF = 0.0 ! [Pa] default = -1.0 | ||
| ! The maximum surface pressure that can be exerted by the atmosphere and | ||
| ! floating sea-ice or ice shelves. This is needed because the FMS coupling | ||
| ! structure does not limit the water that can be frozen out of the ocean and the | ||
| ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a | ||
| ! negative value is used. | ||
| USE_RIGID_SEA_ICE = True ! [Boolean] default = False | ||
| ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that | ||
| ! resist vertical motion. | ||
| SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 | ||
| ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit | ||
| ! rigidity | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these needed for coupled ice-ocean stability (damping gravity waves in ice-covered regions), or can they be deleted (together with DYNAMIC_SURFACE_PRESSURE above)? Maybe GFDL need this for stability because they're not coupling OM5 every timestep...?
| MAX_P_SURF = 0.0 ! [Pa] default = -1.0 | |
| ! The maximum surface pressure that can be exerted by the atmosphere and | |
| ! floating sea-ice or ice shelves. This is needed because the FMS coupling | |
| ! structure does not limit the water that can be frozen out of the ocean and the | |
| ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a | |
| ! negative value is used. | |
| USE_RIGID_SEA_ICE = True ! [Boolean] default = False | |
| ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that | |
| ! resist vertical motion. | |
| SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 | |
| ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit | |
| ! rigidity |
| DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False | ||
| ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this? It seems to be useful only for a dynamic ice shelf, which we don't have (yet).
I'm imagine "dynamic pressure" here is akin to that defined in Fig 1 here. I guess turning this off would also require USE_RIGID_SEA_ICE = False? See comment on lines +665 to +677 below.
| DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False | |
| ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@claireyung should the ice shelf be hydrostatic, rigid, or dynamically relax from rigid to hydrostatic over some timescale?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This parameter is for damping waves under ice shelves, even when a static ice shelf is used (it's in the barotropic solver part of the code). Of course it's not doing anything without an ice shelf but I will want it set to True when I add ice shelves. I haven't explored varying the lengthscales of this parameterisation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, so assuming it has no stability or performance penalties we can just leave it on even in the configs without ice shelves.
| ! scaled viscosity, the Smagorinsky and Leith viscosities, and AH. | ||
| SMAGORINSKY_AH = True ! [Boolean] default = False | ||
| ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity. | ||
| SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
access-om2 used k_smag_iso=2.0, but SMAG_BI_CONST is different notation specifying the same thing. k_smag_iso is C in Griffies & Hallberg 2000. Comparing MOM5 and MOM6 it seems that SMAGORINSKY_AH is equivalent (if we neglect grid anisotropy) to 0.125*(k_smag_iso/pi)**2, which equals 0.05066 in the access-om2 case with k_smag_iso=2.0. If this interpretation is correct, then our om3 viscosity is about the same (slightly larger) than in om2. So I'm happy with that.
| ! The background biharmonic horizontal viscosity. | ||
| LEITH_AH = True ! [Boolean] default = False | ||
| ! If true, use a biharmonic Leith nonlinear eddy viscosity. | ||
| AH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy with this, but FYI ACCESS-OM2 used vel_micom_iso=0 for 0.25° and 0.1°, and 0.04 ms−1 for 1°
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may make OM3 0.25° more viscous than access-om2-025 in regions where this term dominates the viscosity (ie exceeds Smagorinsky).
| ! total tolerance for SSH is 4 times this value. The default is | ||
| ! 0.5*NK*ANGSTROM, and this should not be set less than about | ||
| ! 10^-15*MAXIMUM_DEPTH. | ||
| VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting that GFDL are only checking ETA_TOLERANCE (via default ETA_TOLERANCE = 1.0E-06), not VELOCITY_TOLERANCE. This seems potentially risky - is there any harm in retaining VELOCITY_TOLERANCE = 1.0E-04 ?
aekiss
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving, on the assumption that these are an improvement over the previous parameters. But we should return to this and give a careful check that we're happy with these parameters.
9bb88ab to
f3b449b
Compare
|
!test repro commit |
|
❌ The Bitwise Reproducibility Check Failed ❌ When comparing:
🔧 The new checksums will be committed to this PR, if they differ from what is on this branch. Further informationThe experiment can be found on Gadi at The checksums generated by this The checksums compared against are found here https://github.com/ACCESS-NRI/access-om3-configs/tree/44d7453b92323f930131485cab8f43910f872c10/testing/checksum |
|
❌ |
|
Here comes the error message
This occurs during the restart write and is due to the current CI runlength is 3hrs, which is not an integer multiple of the tracer timestep (7200s). specifically 10800/7200=1.5, so the thermo cycle is only half way completed and its fluxes are still partially unapplied, hence MOM aborts this intentially to preserve conservation. Changing the runlength to a multiple of DT_THERM, eg 2hrs, 4hrs resolves the issue. |
|
!test repro commit |
|
❌ The Bitwise Reproducibility Check Failed ❌ When comparing:
🔧 The new checksums will be committed to this PR, if they differ from what is on this branch. Further informationThe experiment can be found on Gadi at The checksums generated by this The checksums compared against are found here https://github.com/ACCESS-NRI/access-om3-configs/tree/44d7453b92323f930131485cab8f43910f872c10/testing/checksum |
|
Sorry @aekiss could you please review it again? I also ping @dougiesquire and @anton-seaice here if you are happy for a look? |
aekiss
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approved, assuming checksums are the only change since my last review
1. MOM_input: DT=900s, DT_THERM=7200s, DTBT=-0.9; 2. nuopc.runseq: 900s; 3. nuopc.runconfig: ocn_cpl_dt = 900.
Update MEKE module MOM_thickness_diffuse no GM parameterisation
Update horizontal mixing coefficients
Update background viscosity to 0
VELOCITY_TOLERANCE set to default
Disable Leith and enable biharmonic Smagorinsky eddy viscosity
Change to Bodner et al. 2023 formulation of the restratifying mixed-layer restratification parameterisation. module MOM_diabatic_driver Implicit energetics PBL scheme to determine diffusivity and viscosity in the PBL module MOM_CVMix_KPP Disabled module MOM_CVMix_conv Disabled module MOM_CVMix_shear Disabled module MOM_CVMix_ddiff Disabled module MOM_kappa_shear Jackson's shear-driven turbulence module MOM_energetic_PBL Enable ePBL and disable KPP
Add SIMPLE_TKE_TO_KD, but can not be used reliably with USE_REGRIDDING? Reduce BBL_EFFIC from default 0.2 to 0.01
Add background KD, KD_MIN, Henyey_igw_background latitude scaling for near surface background diffusivity Add double diffusion
Remove KHTR_MIN & Remove MAX_TR_DIFFUSION_CFL
Disable nuetral diffusion
Disable horizontal diffusion of tracers near boundaries
Reduce SEA_ICE_RIGID_MASS from 1000 to 100 Enable max limit of surface pressure Remove constant unresolved background gust for ustar
Disable surface pressure in EOS
Enable a dynamic pressure due to viscous ice shelves
548b621 to
7addf36
Compare
|
My apologies @aekiss , I just made a small update to the comment for DTBT_RESET_PERIOD = 0.0 ! [s] default = 7200.0 |
1. Summary:
Update
MOM_inputparameters to closely follow the latest settings from GFDL OM5, which have been shown to support stable long-term runs.What has changed?
MOM_inputnuopc.runseqnuopc.runconfigdocsWhy was this done?
stable long-term control runs without truncation errors.
2. Issues Addressed:
3. Depedencies (e.g. on payu, model or om3-scripts)
This change requires changes to (note required version where true):
4. Ad-hoc Testing
What ad-hoc testing was done? How are you convinced this change is correct (plots are good)?
Answers are not changed compared to the stable long run.
ocean.statsin this PRocean.statsin the stable long run5. CI Testing
!test reprohas been run6. Reproducibility
Is this reproducible with the previous commit? (If not, why not?)
!test repro commithas been run.7. Documentation
The docs folder has been updated with output from running the model?
A PR has been created for updating the documentation?
8. Formatting
Changes to MOM_input have been copied from model output in docs/MOM_parameter_docs.short?
9. Merge Strategy