foua-pps / level1c4pps

module to create level1c input files to PPS using satpy
GNU General Public License v3.0
3 stars 11 forks source link

Seviri2pps fails with h5netcdf backend #51

Closed sfinkens closed 2 years ago

sfinkens commented 3 years ago

seviri2pps fails to write output with the h5netcdf backend. The netcdf4 backend works fine. I'm using the latest master of level1c4pps with satpy-0.24.0 and h5netcdf-0.8.1. Could also be a problem with Satpy's CF writer.

To reproduce:

$ seviri2pps.py /data/seviri_l1b_hrit/*20190409* -o /tmp

level1c4pps INFO: |09:19:23|: Saving datasets to NetCDF4/CF.
Traceback (most recent call last):
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/bin/seviri2pps.py", line 7, in <module>
    exec(compile(f.read(), __file__, 'exec'))
  File "/cmsaf/nfshome/sfinkens/software/devel/level1c4pps/level1c4pps/bin/seviri2pps.py", line 58, in <module>
    engine=options.nc_engine)
  File "/cmsaf/nfshome/sfinkens/software/devel/level1c4pps/level1c4pps/level1c4pps/seviri2pps_lib.py", line 461, in process_one_scan
    exclude_attrs=['raw_metadata'])
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/satpy/scene.py", line 1373, in save_datasets
    return writer.save_datasets(datasets, compute=compute, **save_kwargs)
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/satpy/writers/cf_writer.py", line 717, in save_datasets
    **other_to_netcdf_kwargs)
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/xarray/core/dataset.py", line 1567, in to_netcdf
    invalid_netcdf=invalid_netcdf,
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/xarray/backends/api.py", line 1082, in to_netcdf
    dataset, store, writer, encoding=encoding, unlimited_dims=unlimited_dims
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/xarray/backends/api.py", line 1128, in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/xarray/backends/common.py", line 255, in store
    variables, check_encoding_set, writer, unlimited_dims=unlimited_dims
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/xarray/backends/common.py", line 293, in set_variables
    name, v, check, unlimited_dims=unlimited_dims
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/xarray/backends/h5netcdf_.py", line 288, in prepare_variable
    **kwargs,
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/h5netcdf/core.py", line 501, in create_variable
    fillvalue, **kwargs)
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/h5netcdf/core.py", line 481, in _create_child_variable
    **kwargs)
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/h5py/_hl/group.py", line 148, in create_dataset
    dsid = dataset.make_new_dset(group, shape, dtype, data, name, **kwds)
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/h5py/_hl/dataset.py", line 110, in make_new_dset
    maxshape, scaleoffset, external, allow_unknown_filter)
  File "/cmsaf/cmsaf-ops3/sfinkens/conda/envs/level1c4pps/lib/python3.7/site-packages/h5py/_hl/filters.py", line 249, in fill_dcpl
    plist.set_chunk(chunks)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5p.pyx", line 448, in h5py.h5p.PropDCID.set_chunk
ValueError: chunksize must be a tuple.
sfinkens commented 2 years ago

Closing, netcdf4 backend works fine.