Skip to content

Conversation

@minghangli-uni
Copy link
Collaborator

@minghangli-uni minghangli-uni commented May 15, 2025

1. Summary:
Tidal dissipation parameterisation

What has changed?
config.yaml
manifests/input.yaml
testing/checksum/historical-3hr-checksum.json
MOM_input
I’ll update the files in docs/ after #556 and ACCESS-NRI/om3-scripts#53 have been merged.

Why was this done?
Ensures physically realistic deep ocean mixing, supports overturning circulation, and enhances model fidelity in long-term coupled simulations.

2. Issues Addressed:

3. Depedencies (e.g. on payu, model or om3-scripts)

This change requires changes to (note required version where true):

  • payu:
  • access-om3:
  • om3-scripts:

4. Ad-hoc Testing

What ad-hoc testing was done? How are you convinced this change is correct (plots are good)?

5. CI Testing

  • !test repro has been run

6. Reproducibility

Is this reproducible with the previous commit? (If not, why not?)

  • Yes
  • No - !test repro commit has been run.

7. Documentation

The docs folder has been updated with output from running the model?

  • Yes
  • N/A

A PR has been created for updating the documentation?

  • Yes:
  • N/A

8. Formatting

Changes to MOM_input have been copied from model output in docs/MOM_parameter_docs.short?

  • Yes
  • N/A

9. Merge Strategy

  • Merge commit
  • Rebase and merge
  • Squash

@aekiss
Copy link
Contributor

aekiss commented Jun 4, 2025

This matches GFDL-OM5 except that these non-default values are missing:

BBL_EFFIC = 0.01                !   [nondim] default = 0.2
                                ! The efficiency with which the energy extracted by bottom drag drives BBL
                                ! diffusion.  This is only used if BOTTOMDRAGLAW is true.
BBL_MIXING_AS_MAX = False       !   [Boolean] default = True
                                ! If true, take the maximum of the diffusivity from the BBL mixing and the other
                                ! diffusivities. Otherwise, diffusivity from the BBL_mixing is simply added.
USE_LOTW_BBL_DIFFUSIVITY = True !   [Boolean] default = False
                                ! If true, uses a simple, imprecise but non-coordinate dependent, model of BBL
                                ! mixing diffusivity based on Law of the Wall. Otherwise, uses the original BBL
                                ! scheme.
SIMPLE_TKE_TO_KD = True         !   [Boolean] default = False
                                ! If true, uses a simple estimate of Kd/TKE that will work for arbitrary
                                ! vertical coordinates. If false, calculates Kd/TKE and bounds based on exact
                                ! energetics for an isopycnal layer-formulation.

@aekiss
Copy link
Contributor

aekiss commented Jun 4, 2025

Ignore my previous comment - these are set in #556

aekiss
aekiss previously approved these changes Jun 4, 2025
Copy link
Contributor

@aekiss aekiss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @minghangli-uni

@minghangli-uni
Copy link
Collaborator Author

Thanks @aekiss ! Once the tidal forcing PR is merged, I’ll update config.yaml to include the tidal forcings as well. I’ll request another review tomorrow morning.

@minghangli-uni minghangli-uni self-assigned this Jun 5, 2025
@minghangli-uni minghangli-uni marked this pull request as ready for review June 5, 2025 00:39
@minghangli-uni minghangli-uni force-pushed the 457-tide-parameterisation branch from 478ebe3 to 82391a2 Compare June 5, 2025 01:15
@minghangli-uni
Copy link
Collaborator Author

!test repro commit

@github-actions
Copy link

github-actions bot commented Jun 5, 2025

❌ The Bitwise Reproducibility Check Failed ❌

When comparing:

  • 457-tide-parameterisation (checksums created using commit 82391a2), against
  • dev-MC_25km_jra_ryf (checksums in commit 44d7453)

🔧 The new checksums will be committed to this PR, if they differ from what is on this branch.

Further information

The experiment can be found on Gadi at /scratch/tm70/repro-ci/experiments/access-om3-configs/82391a2034ebe54e568c88100ec78e60dc92695d, and the test results at https://github.com/ACCESS-NRI/access-om3-configs/runs/43509448898.

The checksums generated by this !test command are found in the testing/checksum directory of https://github.com/ACCESS-NRI/access-om3-configs/actions/runs/15456307844/artifacts/3264050232.

The checksums compared against are found here https://github.com/ACCESS-NRI/access-om3-configs/tree/44d7453b92323f930131485cab8f43910f872c10/testing/checksum

aekiss
aekiss previously approved these changes Jun 5, 2025
@dougiesquire
Copy link
Collaborator

!test repro commit

@dougiesquire
Copy link
Collaborator

(Regenerating checksums with the new 6 hour run length)

@github-actions
Copy link

github-actions bot commented Jun 5, 2025

!test Command Failed ❌ See https://github.com/ACCESS-NRI/access-om3-configs/actions/runs/15457391027

@minghangli-uni
Copy link
Collaborator Author

❌ !test Command Failed ❌ See https://github.com/ACCESS-NRI/access-om3-configs/actions/runs/15457391027

Gadi is down unexpectedly....

@dougiesquire
Copy link
Collaborator

!test repro commit

@github-actions
Copy link

github-actions bot commented Jun 5, 2025

❌ The Bitwise Reproducibility Check Failed ❌

When comparing:

  • 457-tide-parameterisation (checksums created using commit 13fc8d9), against
  • dev-MC_25km_jra_ryf (checksums in commit 44d7453)

🔧 The new checksums will be committed to this PR, if they differ from what is on this branch.

Further information

The experiment can be found on Gadi at /scratch/tm70/repro-ci/experiments/access-om3-configs/13fc8d94e95b9aa6bf83cfe46be7dfd5b6056c6c, and the test results at https://github.com/ACCESS-NRI/access-om3-configs/runs/43513618115.

The checksums generated by this !test command are found in the testing/checksum directory of https://github.com/ACCESS-NRI/access-om3-configs/actions/runs/15457830432/artifacts/3264505121.

The checksums compared against are found here https://github.com/ACCESS-NRI/access-om3-configs/tree/44d7453b92323f930131485cab8f43910f872c10/testing/checksum

Copy link
Collaborator

@dougiesquire dougiesquire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @minghangli-uni. Can you confirm that the bottom_roughness.nc and tideamp.nc are correct for this bathymetry:

/g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.25km/2025.05.15

@dougiesquire
Copy link
Collaborator

Also, I get U and V velocity truncations within the first month. Is that expected?

@minghangli-uni
Copy link
Collaborator Author

Thanks @minghangli-uni. Can you confirm that the bottom_roughness.nc and tideamp.nc are correct for this bathymetry:
/g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.25km/2025.05.15

From the histories, yes.

2025.05.15]$ ncdump -h bottom_roughness.nc 
netcdf bottom_roughness {
dimensions:
        yh = 1142 ;
        xh = 1440 ;
variables:
        float h2(yh, xh) ;
                h2:_FillValue = NaNf ;
                h2:long_name = "Polynomial-fit bottom roughness squared (h^2) per model grid cell following Jayne & Laurent (2001)" ;
                h2:units = "m^2" ;
        double lon(yh, xh) ;
                lon:_FillValue = NaN ;
                lon:long_name = "Longitude" ;
                lon:units = "degrees_east" ;
        double lat(yh, xh) ;
                lat:_FillValue = NaN ;
                lat:long_name = "Latitude" ;
                lat:units = "degrees_north" ;

// global attributes:
                :history = "Created by ml0072 (minghangli-uni) on 2025-06-05, using https://github.com/COSIMA/om3-scripts/blob/ac71efbe8bcf9aa9dd9608c5361bfb86f9110693/external_tidal_generation/generate_bottom_roughness_polyfit.py: mpirun -n $PBS_NCPUS python3 generate_bottom_roughness_polyfit.py --topo-file=/g/data/ik11/inputs/SYNBATH/SYNBATH.nc --hgrid-file=/g/data/vk83/prerelease/configurations/inputs/access-om3/mom/grids/mosaic/global.25km/2025.05.15/ocean_hgrid.nc --mask-file=/g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.25km/2025.05.15/ocean_mask.nc --chunk-lat=800 --chunk-lon=1600 --output=/g/data/vk83/prerelease/configurations/inputs/access-om3/mom/tidal_external_files/global.25km/2025.05.15/bottom_roughness.nc" ;
2025.05.15]$ ncdump -h tideamp.nc 
netcdf tideamp {
dimensions:
        yh = 1142 ;
        xh = 1440 ;
variables:
        double lon(yh, xh) ;
                lon:_FillValue = NaN ;
                lon:long_name = "Longitude" ;
                lon:units = "degrees_east" ;
        double lat(yh, xh) ;
                lat:_FillValue = NaN ;
                lat:long_name = "Latitude" ;
                lat:units = "degrees_north" ;
        float tideamp(yh, xh) ;
                tideamp:_FillValue = NaNf ;
                tideamp:regrid_method = "conservative_normed" ;
                tideamp:long_name = "Tidal velocity amplitude" ;
                tideamp:units = "m/s" ;
                tideamp:coordinates = "lat lon" ;

// global attributes:
                :history = "Created by ml0072 (minghangli-uni) on 2025-06-05, using https://github.com/COSIMA/om3-scripts/blob/b232b52b300e51e8d560be0345051083aa6f7fa0/external_tidal_generation/generate_tide_amplitude.py: python3 generate_tide_amplitude.py --hgrid-file=/g/data/vk83/prerelease/configurations/inputs/access-om3/mom/grids/mosaic/global.25km/2025.05.15/ocean_hgrid.nc --mask-file=/g/data/vk83/prerelease/configurations/inputs/access-om3/share/grids/global.25km/2025.05.15/ocean_mask.nc --method=conservative_normed --data-path=/g/data/ik11/inputs/TPXO10_atlas_v2 --output=/g/data/vk83/prerelease/configurations/inputs/access-om3/mom/tidal_external_files/global.25km/2025.05.15/tideamp.nc " ;

@minghangli-uni
Copy link
Collaborator Author

Also, I get U and V velocity truncations within the first month. Is that expected?

Did that occur on the second day? That should be fine though. Also you are using greater timesteps in this PR.

@dougiesquire
Copy link
Collaborator

dougiesquire commented Jun 5, 2025

Did that occur on the second day? That should be fine though.

I'll didn't check the day sorry (and I've since cleaned up the test run)

dougiesquire
dougiesquire previously approved these changes Jun 5, 2025
Copy link
Collaborator

@dougiesquire dougiesquire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @minghang!

@minghangli-uni minghangli-uni merged commit c33a731 into dev-MC_25km_jra_ryf Jun 5, 2025
11 checks passed
@minghangli-uni minghangli-uni deleted the 457-tide-parameterisation branch June 5, 2025 08:16
minghangli-uni added a commit that referenced this pull request Sep 22, 2025
…erisation

100km ryf config: Add parameterisations for tidal dissipation (#562)
minghangli-uni added a commit that referenced this pull request Sep 23, 2025
…erisation-iaf

100km iaf config: Add parameterisations for tidal dissipation (#562)
dougiesquire added a commit that referenced this pull request Sep 24, 2025
100km RYF+WOMBATlite: Add parameterisations for tidal dissipation (#562)
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.

4 participants