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

Changing default NetCDF format to CDF5 and updating SCORPIO to v1.6.5 #6525

Merged
merged 2 commits into from
Aug 6, 2024

Conversation

jayeshkrishna
Copy link
Contributor

@jayeshkrishna jayeshkrishna commented Jul 24, 2024

The CDF5/64bit_data format gets rid of limitations (for all practical
purposes) on NetCDF variable size imposed by the older
CDF2/64bit_offset file format.

Also updating SCORPIO to v1.6.5

[BFB]
[NML]

Changing the default NetCDF file format from CDF2 (64bit_offset)
to CDF5 (64bit_data).

The CDF5 format gets rid of limitations (for all practical
purposes) on NetCDF variable size imposed by the older CDF2
file format. Also note that all E3SM run scripts already
explicitly set the NetCDF file format to CDF5/64bit_data for all
production runs.
@jayeshkrishna jayeshkrishna added BFB PR leaves answers BFB SCORPIO The E3SM I/O library (derived from PIO) labels Jul 24, 2024
@jayeshkrishna jayeshkrishna requested a review from dqwu July 24, 2024 23:17
@jayeshkrishna jayeshkrishna self-assigned this Jul 24, 2024
jayeshkrishna added a commit that referenced this pull request Jul 29, 2024
…(PR #6525)

The CDF5/64bit_data format gets rid of limitations (for all practical
purposes) on NetCDF variable size imposed by the older
CDF2/64bit_offset file format.

[BFB]

* jayeshkrishna/driver/change_default_to_cdf5:
  Changing default NetCDF format to CDF5
@jayeshkrishna
Copy link
Contributor Author

  • This PR assumes that all machines and tools (like cprnc) have support for PnetCDF or NetCDF (> 4.4.0). The cprnc tool on Anvil was re-built by @amametjanov with the latest modules to add support for CDF5.
  • This PR also causes runtime issues (when writing large variables) with SCORPIO version < 1.6.5 on machines that do not support PnetCDF (e.g. mappy)

SCORPIO v1.6.5 includes the following changes/fixes,

* Fix to support CDF5 file format when PnetCDF is not available

This upgrade fixes runtime issues when writing large variables
using the CDF5 file format on machines (like mappy) that do not
have support for PnetCDF
@jayeshkrishna jayeshkrishna requested review from rljacob and dqwu August 2, 2024 03:03
Copy link
Member

@rljacob rljacob left a comment

Choose a reason for hiding this comment

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

Update the title and description to mention that SCORPIO is also updated.

jayeshkrishna added a commit that referenced this pull request Aug 2, 2024
…(PR #6525)

Re-merging branch to fix nightly test fails on mappy.

The CDF5/64bit_data format gets rid of limitations (for all practical
purposes) on NetCDF variable size imposed by the older
CDF2/64bit_offset file format.

Also updating SCORPIO to v1.6.5

[BFB]
[NML]

* jayeshkrishna/driver/change_default_to_cdf5:
  Upgrading to SCORPIO v1.6.5
@jayeshkrishna jayeshkrishna changed the title Changing default NetCDF format to CDF5 Changing default NetCDF format to CDF5 and updating SCORPIO to v1.6.5 Aug 2, 2024
Copy link

github-actions bot commented Aug 2, 2024

PR Preview Action v1.4.7
🚀 Deployed preview to https://E3SM-Project.github.io/E3SM/pr-preview/pr-6525/
on branch gh-pages at 2024-08-02 03:42 UTC

Copy link
Contributor

@mahf708 mahf708 left a comment

Choose a reason for hiding this comment

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

This change necessitates NetCDF-Fortran of a specific minimum, as per internal discussion. To avoid problems for users debugging missing symbols, could this PR be updated with a build-time check in the SCORPIO submodule for said specific minimum? Shouldn't be too hard to check this in the cmake logic.

@mahf708
Copy link
Contributor

mahf708 commented Aug 6, 2024

The following line should be edited in scorpio submod (potentially with a patch release or something?)
https://github.com/E3SM-Project/scorpio/blob/db9ea40da9fed50c8cdf6a7fa7f1a4d8e5aa1b00/CMakeLists.txt#L317

@jayeshkrishna
Copy link
Contributor Author

The following line should be edited in scorpio submod (potentially with a patch release or something?) https://github.com/E3SM-Project/scorpio/blob/db9ea40da9fed50c8cdf6a7fa7f1a4d8e5aa1b00/CMakeLists.txt#L317

The next release of SCORPIO will include the version check for the NetCDF fortran library (it already includes the check for the NetCDF library) - to verify that it supports CDF5
FYI, this support has been around for a while and all E3SM machines should have a version of NetCDF library that supports CDF5

@jayeshkrishna jayeshkrishna requested a review from mahf708 August 6, 2024 14:23
Copy link
Contributor

@mahf708 mahf708 left a comment

Choose a reason for hiding this comment

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

Sounds good to delay the check for the next release! Thanks!

@jayeshkrishna jayeshkrishna merged commit ebbf745 into master Aug 6, 2024
21 checks passed
@jayeshkrishna jayeshkrishna deleted the jayeshkrishna/driver/change_default_to_cdf5 branch August 6, 2024 14:57
@jayeshkrishna
Copy link
Contributor Author

This PR introduces NML changes for the tests since it changes the default I/O type in the nameless,

Comparison failed between 'xxx_modelio.nml' with 'xxx_modelio.nml'
  BASE: pio_netcdf_format = '64bit_offset'
  COMP: pio_netcdf_format = '64bit_data'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BFB PR leaves answers BFB NML SCORPIO The E3SM I/O library (derived from PIO)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants