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

Update diag_table #157

Open
wants to merge 3 commits into
base: dev-025deg_jra55do_ryf
Choose a base branch
from

Conversation

minghangli-uni
Copy link

@minghangli-uni minghangli-uni requested a review from aekiss January 17, 2025 01:06
@minghangli-uni
Copy link
Author

Hi @aekiss , can you please review it when you are available?

@anton-seaice
Copy link
Contributor

!test repro

Copy link

❌ The Bitwise Reproducibility Check Failed ❌

When comparing:

  • dev-025deg_jra55do_ryf_iss257 (checksums created using commit 4a663e3), against
  • dev-025deg_jra55do_ryf (checksums in commit f37396e)
Further information

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

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/12822161716/artifacts/2444836580.

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

@anton-seaice
Copy link
Contributor

anton-seaice commented Jan 17, 2025

Hi @minghangli-uni - test run failed with:

FATAL from PE     0: diag_axis_mod::diag_axis_init: num_axis_sets (26) exceeds max_num_axis_sets (25).  Increase max_num_axis_sets via diag_manager_nml.

Looks like it happened on most PEs

@minghangli-uni
Copy link
Author

!test repro

Copy link

✅ The Bitwise Reproducibility Check Succeeded ✅

When comparing:

  • dev-025deg_jra55do_ryf_iss257 (checksums created using commit ccc44fb), against
  • dev-025deg_jra55do_ryf (checksums in commit f37396e)
Further information

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

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/12822441249/artifacts/2444929021.

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

@anton-seaice
Copy link
Contributor

Re-running the CI after #163 means the tests now pass

@aekiss
Copy link
Contributor

aekiss commented Jan 28, 2025

Thanks @minghangli-uni, I think the diag_table_source.yaml that was used should also be part of this PR for provenance and ease of updates.

@minghangli-uni
Copy link
Author

Thanks @aekiss . The diag_table_source.yaml configuration file has been attached.

@anton-seaice
Copy link
Contributor

anton-seaice commented Jan 31, 2025

We could set 'prsn', 'prlq', 'vprec', 'evs', 'fsitherm','friver', 'ficeberg' to save daily output whilst we are confirming the freshwater conservation. Is it ok to do in this PR ?

based on this code snippet

  ! adjust the NET fresh-water flux to zero, if flagged
  if (CS%adjust_net_fresh_water_to_zero) then
    sign_for_net_FW_bug = 1.
    if (CS%use_net_FW_adjustment_sign_bug) sign_for_net_FW_bug = -1.
    do j=js,je ; do i=is,ie
      net_FW(i,j) = US%RZ_T_to_kg_m2s * &
                    (((fluxes%lprec(i,j)   + fluxes%fprec(i,j) + fluxes%seaice_melt(i,j)) + &
                      (fluxes%lrunoff(i,j) + fluxes%frunoff(i,j))) + &
                      (fluxes%evap(i,j)    + fluxes%vprec(i,j)) ) * US%L_to_m**2*G%areaT(i,j)
      net_FW2(i,j) = net_FW(i,j) / (US%L_to_m**2*G%areaT(i,j))
    enddo ; enddo

@minghangli-uni
Copy link
Author

We could set 'prsn', 'prlq', 'vprec', 'evs', 'fsitherm','friver', 'ficeberg' to save daily output whilst we are confirming the freshwater conservation. Is it ok to do in this PR ?

I am not sure. They are mainly for testing freshwater conservation, it may not be necessary for everyone and might impact performance for others using the same configuration. To confirm freshwater conservation, I’d suggest adding these parameters in daily format for your test rather than including them here for general use?

Any thoughts @aekiss ?

@dougiesquire
Copy link
Collaborator

To confirm freshwater conservation, I’d suggest adding these parameters in daily format for your test rather than including them here for general use?

Yeah I think I agree. We can't cater for everyone and I think the list here, which I understand was mostly taken from OM2, was arrived at after iteration with users. It probably provides a pretty good starting point.

@minghangli-uni, could you please rebase this onto the latest dev-025deg_jra55do_ryf?

@minghangli-uni minghangli-uni force-pushed the dev-025deg_jra55do_ryf_iss257 branch from 31497d2 to 60bc213 Compare February 20, 2025 05:24
Comment on lines +192 to +193
uhGM: # Time Mean Diffusive Zonal Thickness Flux
vhGM: # Time Mean Diffusive Meridional Thickness Flux
Copy link
Contributor

Choose a reason for hiding this comment

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

only necessary in configs that have GM

Comment on lines +216 to +226
heat_content_cond: # Heat content (relative to 0degC) of water condensing into ocean
heat_content_evap: # Heat content (relative to 0degC) of water evaporating from ocean
heat_content_fprec: # Heat content (relative to 0degC) of frozen prec entering ocean
heat_content_frunoff: # Heat content (relative to 0C) of solid runoff into ocean
heat_content_lrunoff: # Heat content (relative to 0C) of liquid runoff into ocean
heat_content_lprec: # Heat content (relative to 0degC) of liquid precip entering ocean
heat_content_vprec: # Heat content (relative to 0degC) of virtual precip entering ocean
hfrunoffds: # Heat content (relative to 0C) of liquid+solid runoff into ocean
hfrainds: # Heat content (relative to 0degC) of liquid+frozen precip entering ocean
hfevapds: # Heat content (relative to 0degC) of net mass leaving ocean ocean via evap and ice form heat_content_massout
Heat_PmE: # Heat flux into ocean from mass flux into ocean
Copy link
Contributor

@aekiss aekiss Feb 21, 2025

Choose a reason for hiding this comment

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

some of the above may be zero? if so, delete

hfsso: # Sensible heat flux into ocean sensible
prlq: # Liquid precipitation into ocean lprec
prsn: # Frozen precipitation into ocean fprec
vprec: # Virtual liquid precip into ocean due to SSS restoring
Copy link
Contributor

Choose a reason for hiding this comment

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

aren't we doing SSS restoring via salt flux, rather than water?

file_name_dimension: 2d # descriptor for filename, e.g. 3d, 2d, scalar
reduction_method: max # mean, snap, rms, pow##, min, max, or diurnal##
fields:
mlotst: # Mixed layer depth (delta rho = 0.03) MLD_003
Copy link
Contributor

@aekiss aekiss Feb 21, 2025

Choose a reason for hiding this comment

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

Suggested change
mlotst: # Mixed layer depth (delta rho = 0.03) MLD_003
mlotst: # Mixed layer depth (delta rho = 0.03) MLD_003
sos: # Sea Surface Salinity
tos: # Sea Surface Temperature
SSH: # Sea Surface Height

min and max sos, tos, SSH may be helpful for spotting locations of instability

file_name_dimension: 2d # descriptor for filename, e.g. 3d, 2d, scalar
reduction_method: min # mean, snap, rms, pow##, min, max, or diurnal##
fields:
tos: # Sea Surface Temperature
Copy link
Contributor

@aekiss aekiss Feb 21, 2025

Choose a reason for hiding this comment

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

Suggested change
tos: # Sea Surface Temperature
mlotst: # Mixed layer depth (delta rho = 0.03) MLD_003
sos: # Sea Surface Salinity
tos: # Sea Surface Temperature
SSH: # Sea Surface Height

- output_freq_units
- file_name_date
output_freq_units: days # time units for output: years, months, days, hours, minutes, or seconds
reduction_method: mean # mean, snap, rms, pow##, min, max, or diurnal##
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
reduction_method: mean # mean, snap, rms, pow##, min, max, or diurnal##
reduction_method: snap # mean, snap, rms, pow##, min, max, or diurnal##

snapshots of global integrals will probably give better parallel performance than averages, as they don't require collectives and synchronisation of all MPI ranks every timestep

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! Just a few suggested changes to make before merging.

# A separator is not used prior to the first item.
- file_name_prefix
- file_name_dimension
reduction_method: snap # mean, snap, rms, pow##, min, max, or diurnal##
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
reduction_method: snap # mean, snap, rms, pow##, min, max, or diurnal##
packing: 1 # double precision
reduction_method: snap # mean, snap, rms, pow##, min, max, or diurnal##

probably a good idea to have double precision grid data

- output_freq
- '':
- output_freq_units
- file_name_date
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- file_name_date
- reduction_method
- file_name_date

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