MPAS-Dev / MPAS-Tools

MPAS Tools Repository
Other
37 stars 63 forks source link

Add argument to `write_netcdf` for the NetCDF engine #434

Closed xylar closed 3 years ago

xylar commented 3 years ago

Performance for the default netcdf4 engine has found to be poor for large files on Chrysalis and Anvil, and scipy seems to perform better. For now, netcdf4 remains the default but the option to change is now provided.

To aid in this process, default values have been defined in the mpas_tools.io module that can be modified once, rather than each time write_netcdf() is called.

The planar_hex tool and mask creation tools have been modified to take the format and engine as arguments, so that calling code can have more control of these if needed.

xylar commented 3 years ago

Python 3.6 testing is failing because xarray has dropped support. We'll do the same in #435

xylar commented 3 years ago

Testing

As reported here https://github.com/MPAS-Dev/compass/pull/187#issuecomment-888613015, I ran the nightly ocean test suite successfully with this branch and https://github.com/MPAS-Dev/compass/pull/187 on Ubuntu with gnu and Chrysalis with intel, comparing against a baseline of the current master.

The ssh_adjustment step with the SOwISC12to60 mesh now works like a charm, so this does seem to be a good solution to https://github.com/MPAS-Dev/compass/issues/185.

xylar commented 3 years ago

@mark-petersen and @matthewhoffman, I'm going to go ahead and merge this and make an MPAS-Tools release. You can then test these changes as part of reviewing https://github.com/MPAS-Dev/compass/pull/187. It will be tricky to test both this PR and that one at the same time so I'd prefer to do it that way, since I'm pretty confident these changes are working as expected.