Skip to content

Additional fields in diag_table and turn off RESTART_CHECKSUMS_REQUIRED for non-test runs #241

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

Merged
merged 3 commits into from
Apr 22, 2025

Conversation

alperaltuntas
Copy link
Member

@alperaltuntas alperaltuntas commented Apr 16, 2025

  • "add KPP_QminusSW, KPP_netSalt, KPP_NLT_dTdt, KPP_NLT_dSdT, KPP_NLT_temp_budget, and KPP_NLT_saln_budget to the diag table with TEST=TRUE
  • Add "e" into the rho2 file.
  • Add "rhopot2" into the z and native files.
  • Add total vertical viscosity and diffusivity in the z and native files.
  • Add bottom stress terms in the native file.
  • Add _GLC terms in the native file (only in B compsets).

Also, turn off RESTART_CHECKSUMS_REQUIRED for non-test runs.

Copy link
Collaborator

@mnlevy1981 mnlevy1981 left a comment

Choose a reason for hiding this comment

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

Two comments (these are both things I did in #104 that you've copied over, but now I'm wondering if I did them wrong):

  1. The kpp_test variables are a mix of 2D and 3D fields: KPP_QminusSW and KPP_netSalt are 2D, but KPP_NLT_dTdt, KPP_NLT_dSdt, KPP_NLT_temp_budget, and KPP_NLT_saln_budget are 3D. Should those last four be duplicated in a separate kpp_test_z list and added to hist_z_space? That would be in line with prognostic and prognostic_z.

  2. Are these files case sensitive? Because you have KPP_NLT_dSdT instead of KPP_NLT_dSdt (last character should be lowercase)

@alperaltuntas
Copy link
Member Author

@mnlevy1981 I'll update KPP_NLT_dSdT to KPP_NLT_dSdt. As for (1), I'll split kpp_test to kpp_aux_2d and kpp_aux_3d. I'll add kpp_aux_2d to the sfc stream, and kpp_aux_3d to the native stream. Do you suggest adding kpp_aux_3d to both z and native streams? Since we have daily outputs for test runs, adding duplicates of 3d fields will degrade the performance, so I'd prefer to add kpp_aux_3d to just one of those streams.

@klindsay28
Copy link
Collaborator

I question the need to have these 3d fields duplicated in a z stream in testing. Having the 3d fields in a native stream verifies that the diagnostic computation is preserved in PRs. Duplicating the fields in a z stream would vet the regridding to z. However, the infrastructure of regridding to z is already being exercised with other fields in z streams.

@mnlevy1981
Copy link
Collaborator

As for (1), I'll split kpp_test to kpp_aux_2d and kpp_aux_3d. I'll add kpp_aux_2d to the sfc stream, and kpp_aux_3d to the native stream. Do you suggest adding kpp_aux_3d to both z and native streams? Since we have daily outputs for test runs, adding duplicates of 3d fields will degrade the performance, so I'd prefer to add kpp_aux_3d to just one of those streams.

@klindsay28 raises a good point -- prognostic and prognostic_z are separate lists because we want science runs to have some fields in both the native vertical coordinate and interpolated to specific levels... but kpp_test is strictly for testing, and the test suite won't provide us any new information by adding the fields to both streams. So for my review, getting the case correct for KPP_NLT_dSdt will suffice (and then I'll run the test suite to ensure cprnc is picking up all the new fields we are expecting)

@alperaltuntas
Copy link
Member Author

I just corrected KPP_NLT_dSdt and also turned on the sfc stream for test runs. Not sure why it was turned off before. I also turned of RESTART_CHECKSUMS_REQUIRED for non-test runs as per #221 (I was planning to submit a separate PR for it but my changes in MOM_input.json got inadvertently added to the previous commit, so might as well ...)

@alperaltuntas alperaltuntas changed the title Additional fields in diag_table Additional fields in diag_table and turn off RESTART_CHECKSUMS_REQUIRED for non-test runs Apr 17, 2025
@mnlevy1981
Copy link
Collaborator

I ran into #242 while testing this... but comparing the unresolved diag tables looks like there are 19 new variables being output:

$ diff Buildconf/momconf/diag_table.unresolved ../../alpha06e_update_mi/SMS.TL319_t232.G1850MARBL_JRA.derecho_intel.C.20250417_155035_42i9b2/Buildconf/momconf/
24a25
> "ocean_model_rho2", "e",       "e",       "${CASE}.mom6.h.rho2%4yr-%2mo-%2dy", "all", "mean", "none", 1
60a62,68
> "ocean_model", "rhopot2",      "rhopot2",      "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "difvho",       "difvho",       "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "difvso",       "difvso",       "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "Kv_u",         "Kv_u",         "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "Kv_v",         "Kv_v",         "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "taux_bot",     "taux_bot",     "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "tauy_bot",     "tauy_bot",     "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
112a121,126
> "ocean_model", "KPP_QminusSW", "KPP_QminusSW", "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "KPP_netSalt",  "KPP_netSalt",  "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "KPP_NLT_dTdt", "KPP_NLT_dTdt", "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "KPP_NLT_dSdT", "KPP_NLT_dSdT", "${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "KPP_NLT_temp_budget","KPP_NLT_temp_budget","${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model", "KPP_NLT_saln_budget","KPP_NLT_saln_budget","${CASE}.mom6.h.native%4yr-%2mo-%2dy", "all", "mean", "none", 1
122a137,141
> "ocean_model_z", "rhopot2", "rhopot2", "${CASE}.mom6.h.z%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model_z", "difvho",  "difvho",  "${CASE}.mom6.h.z%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model_z", "difvso",  "difvso",  "${CASE}.mom6.h.z%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model_z", "Kv_u",    "Kv_u",    "${CASE}.mom6.h.z%4yr-%2mo-%2dy", "all", "mean", "none", 1
> "ocean_model_z", "Kv_v",    "Kv_v",    "${CASE}.mom6.h.z%4yr-%2mo-%2dy", "all", "mean", "none", 1

This matches my expectation: 6 new KPP variables, e, rhopot2 in 2 files, difvho, difvso, KV_u, and KV_u each in 2 files, taux_bot, and tauy_bot. I think I'm a commit or two behind, because I still have the capital T in KPP_NLT_dSdT but I can see that's fixed on the branch

Copy link
Collaborator

@mnlevy1981 mnlevy1981 left a comment

Choose a reason for hiding this comment

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

I finally got the test suite results I was looking for:

FAIL SMS.TL319_t232.G1850MARBL_JRA.derecho_intel BASELINE alpha06e_control4: MULTIPLE ISSUES: field lists differ and some baseline files were missing

With

==> mom6.h.native.0001-01-05.nc.cprnc.out <==
SUMMARY of cprnc:
 A total number of    112 fields were compared
          of which      0 had non-zero differences
               and      0 had differences in fill patterns
               and      0 had different dimension sizes
               and      0 had different data types
 A total number of      0 fields could not be analyzed
 A total number of     13 time-varying fields on file 1 were not found on file 2.
 A total number of      0 time-constant fields on file 1 were not found on file 2.
 A total number of      0 time-varying fields on file 2 were not found on file 1.
 A total number of      0 time-constant fields on file 2 were not found on file 1.
  diff_test: the two files DIFFER only in their field lists


==> mom6.h.rho2.0001-01-05.nc.cprnc.out <==
SUMMARY of cprnc:
 A total number of     23 fields were compared
          of which      0 had non-zero differences
               and      0 had differences in fill patterns
               and      0 had different dimension sizes
               and      0 had different data types
 A total number of      0 fields could not be analyzed
 A total number of      1 time-varying fields on file 1 were not found on file 2.
 A total number of      0 time-constant fields on file 1 were not found on file 2.
 A total number of      0 time-varying fields on file 2 were not found on file 1.
 A total number of      0 time-constant fields on file 2 were not found on file 1.
  diff_test: the two files DIFFER only in their field lists


==> mom6.h.z.0001-01-05.nc.cprnc.out <==
SUMMARY of cprnc:
 A total number of     32 fields were compared
          of which      0 had non-zero differences
               and      0 had differences in fill patterns
               and      0 had different dimension sizes
               and      0 had different data types
 A total number of      0 fields could not be analyzed
 A total number of      5 time-varying fields on file 1 were not found on file 2.
 A total number of      0 time-constant fields on file 1 were not found on file 2.
 A total number of      0 time-varying fields on file 2 were not found on file 1.
 A total number of      0 time-constant fields on file 2 were not found on file 1.
  diff_test: the two files DIFFER only in their field lists

The some baseline files were missing refers to the mom6.h.sfc stream, which was not generated in the control run because of the missing %

@alperaltuntas alperaltuntas merged commit c1583bc into main Apr 22, 2025
5 checks passed
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