Skip to content

Commit 001842a

Browse files
author
Jeff Whitaker
authored
Merge pull request #1159 from Unidata/v1.6.0rel
prepare for v1.6.0 release
2 parents c274b30 + 9dc076e commit 001842a

19 files changed

+730
-127
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
runs-on: ubuntu-latest
77
env:
88
PNETCDF_VERSION: 1.12.1
9-
NETCDF_VERSION: 4.8.0
9+
NETCDF_VERSION: 4.9.0
1010
NETCDF_DIR: ${{ github.workspace }}/..
1111
NETCDF_EXTRA_CONFIG: --enable-pnetcdf
1212
CC: mpicc.mpich
@@ -26,7 +26,7 @@ jobs:
2626
- name: Install Ubuntu Dependencies
2727
run: |
2828
sudo apt-get update
29-
sudo apt-get install mpich libmpich-dev libhdf5-mpich-dev libcurl4-openssl-dev
29+
sudo apt-get install mpich libmpich-dev libhdf5-mpich-dev libcurl4-openssl-dev bzip2 libsnappy-dev libblosc-dev libzstd-dev
3030
echo "Download and build PnetCDF version ${PNETCDF_VERSION}"
3131
wget https://parallel-netcdf.github.io/Release/pnetcdf-${PNETCDF_VERSION}.tar.gz
3232
tar -xzf pnetcdf-${PNETCDF_VERSION}.tar.gz
@@ -36,7 +36,7 @@ jobs:
3636
make install
3737
popd
3838
echo "Download and build netCDF version ${NETCDF_VERSION}"
39-
wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-c-${NETCDF_VERSION}.tar.gz
39+
wget https://downloads.unidata.ucar.edu/netcdf-c/4.9.0/netcdf-c-${NETCDF_VERSION}.tar.gz
4040
tar -xzf netcdf-c-${NETCDF_VERSION}.tar.gz
4141
pushd netcdf-c-${NETCDF_VERSION}
4242
export CPPFLAGS="-I/usr/include/hdf5/mpich -I${NETCDF_DIR}/include"
@@ -61,6 +61,7 @@ jobs:
6161
- name: Install netcdf4-python
6262
run: |
6363
export PATH=${NETCDF_DIR}/bin:${PATH}
64+
export NETCDF_PLUGIN_DIR=${{ github.workspace }}/netcdf-c-${NETCDF_VERSION}/plugins/plugindir
6465
python setup.py install
6566
- name: Test
6667
run: |

.github/workflows/build_master.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Install Ubuntu Dependencies
2424
run: |
2525
sudo apt-get update
26-
sudo apt-get install mpich libmpich-dev libhdf5-mpich-dev libcurl4-openssl-dev
26+
sudo apt-get install mpich libmpich-dev libhdf5-mpich-dev libcurl4-openssl-dev bzip2 libsnappy-dev libblosc-dev libzstd-dev
2727
echo "Download and build netCDF github master"
2828
git clone https://github.com/Unidata/netcdf-c
2929
pushd netcdf-c
@@ -50,17 +50,18 @@ jobs:
5050
- name: Install netcdf4-python
5151
run: |
5252
export PATH=${NETCDF_DIR}/bin:${PATH}
53+
export NETCDF_PLUGIN_DIR=${{ github.workspace }}/netcdf-c/plugins/plugindir
5354
python setup.py install
5455
- name: Test
5556
run: |
5657
export PATH=${NETCDF_DIR}/bin:${PATH}
58+
#export HDF5_PLUGIN_PATH=${NETCDF_DIR}/plugins/plugindir
5759
python checkversion.py
5860
# serial
5961
cd test
6062
python run_all.py
6163
# parallel
6264
cd ../examples
63-
python bench_compress4.py
6465
mpirun.mpich -np 4 python mpi_example.py
6566
if [ $? -ne 0 ] ; then
6667
echo "hdf5 mpi test failed!"

.github/workflows/miniconda.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ jobs:
7878
export PATH="${CONDA_PREFIX}/bin:${CONDA_PREFIX}/Library/bin:$PATH"
7979
which mpirun
8080
mpirun --version
81-
mpirun -np 4 --oversubscribe python mpi_example.py
81+
#mpirun -np 4 --oversubscribe python mpi_example.py # for openmpi
82+
mpirun -np 4 python mpi_example.py
8283
if [ $? -ne 0 ] ; then
8384
echo "hdf5 mpi test failed!"
8485
exit 1

Changelog

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
version 1.6.0 (not yet released)
2-
=================================
3-
* add support for new quantization functionality in netcdf-c 4.8.2 via "signficant_digits"
1+
version 1.6.0 (tag v1.6.0rel)
2+
==============================
3+
* add support for new quantization functionality in netcdf-c 4.9.0 via "signficant_digits"
44
and "quantize_mode" kwargs in Dataset.createVariable. Default quantization_mode is "BitGroom",
55
but alternate methods "BitRound" and GranularBitRound" also supported.
66
* opening a Dataset in append mode (mode = 'a' or 'r+') creates a Dataset
@@ -11,10 +11,18 @@
1111
names in "dimensions" tuple kwarg (issue #1145).
1212
* remove all vestiges of python 2 in _netCDF4.pyx and set cython language_level
1313
directive to 3 in setup.py.
14-
* add 'compression' kwarg to createVariable. Only 'None' and 'zlib' currently
15-
allowed (compression='zlib' is equivalent to zlib=True), but allows
16-
for new compression algorithms to be added when they become available
17-
in netcdf-c. The 'zlib' kwarg is now deprecated.
14+
* add 'compression' kwarg to createVariable to enable new compression
15+
functionality in netcdf-c 4.9.0. 'None','zlib','szip','zstd','bzip2'
16+
'blosc_lz','blosc_lz4','blosc_lz4hc','blosc_zlib' and 'blosc_zstd'
17+
are currently supported. 'blosc_shuffle',
18+
'szip_mask' and 'szip_pixels_per_block' kwargs also added.
19+
compression='zlib' is equivalent to (the now deprecated) zlib=True.
20+
If the environment variable NETCDF_PLUGIN_DIR is set to point to the
21+
directory with the compression plugin lib__nc* files, then the compression plugins will
22+
be installed within the package and be automatically available (the binary
23+
wheels have this). Otherwise, the environment variable HDF5_PLUGIN_PATH
24+
needs to be set at runtime to point to plugins in order to use the new compression
25+
options.
1826
* MFDataset did not aggregate 'name' variable attribute (issue #1153).
1927
* issue warning instead of raising an exception if missing_value or
2028
_FillValue can't be cast to the variable type when creating a

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ include src/netCDF4/__init__.py
1313
include src/netCDF4/_netCDF4.pyx
1414
exclude src/netCDF4/_netCDF4.c
1515
include src/netCDF4/utils.py
16+
include src/netCDF4/plugins/empty.txt
1617
include include/netCDF4.pxi
1718
include include/mpi-compat.h
1819
include include/membuf.pyx

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@
1010
## News
1111
For details on the latest updates, see the [Changelog](https://github.com/Unidata/netcdf4-python/blob/master/Changelog).
1212

13+
??/??/2022: Version [1.6.0](https://pypi.python.org/pypi/netCDF4/1.6.0) released. Support
14+
for quantization (bit-grooming and bit-rounding) functionality in netcdf-c 4.9.0 which can
15+
dramatically improve compression. Dataset.createVariable now accepts dimension instances (instead
16+
of just dimension names). 'compression' kwarg added to Dataset.createVariable to support szip as
17+
well as new compression algorithms available in netcdf-c 4.9.0 through compression plugins (such
18+
as zstd, bzip2 and blosc). Working arm64 wheels for Apple M1 Silicon now available on pypi.
19+
1320
10/31/2021: Version [1.5.8](https://pypi.python.org/pypi/netCDF4/1.5.8) released. Fix Enum bug, add binary wheels for aarch64 and python 3.10.
1421

1522
6/22/2021: Version [1.5.7](https://pypi.python.org/pypi/netCDF4/1.5.7) released.

0 commit comments

Comments
 (0)