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

Netcdf quantize #32

Merged
merged 13 commits into from
Jul 10, 2024
Merged

Netcdf quantize #32

merged 13 commits into from
Jul 10, 2024

Conversation

harry-shepherd
Copy link
Collaborator

@harry-shepherd harry-shepherd commented Jun 21, 2024

Add the testing of the C interface to the NetCDF quantize functionality. Examples of compressed data are show for the three quantize methods:

  • Bit Grooming
  • Granular bit rounding
  • Bit rounding
    along with two further examples:
  • Compressed data without quantization
  • Uncompressed data

We quantize to 3 significant figures in the Bit grooming, and granular bit round case, or 10 bits in the bit rounding case. (These should give similar behavior).

The examples shown use an analytic function, which will probably flatter the quantization slightly. Additionally as these examples are serial, we include independent timers around nc_put_var_float() and nc_close(), to understand overhead made by quantizing, compressing (or deflating) and writing this data. The nuances of the timings are not yet fully understood, but hopefully they are enough to allow us to inform some decisions and approaches to further work.

The test is run using a similar approach to the XIOS tests (although much simpler). The python unit test framework is again used, and an additional .yml workflow file run_netcdf_test.yml has been added. The unit test discover mechanism has been used (again), so should help with the addition of further tests.

@harry-shepherd harry-shepherd linked an issue Jun 21, 2024 that may be closed by this pull request
@harry-shepherd harry-shepherd requested a review from TeranIvy June 21, 2024 10:51
@mo-marqh mo-marqh merged commit e370d06 into MetOffice:main Jul 10, 2024
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.

NetCDF test for quantization and compression
2 participants