Skip to content

Support "NETCDF4_CLASSIC" format with engine h5netcdf #10676

@aulemahal

Description

@aulemahal

Is your feature request related to a problem?

My problem is that netcdf4-python is much more buggy than h5netcdf, so I would really like to stick to that. However, some user of the data I generate can't read non-classic netcdf4 feature (for example vlen strings).

Describe the solution you'd like

I would like to be able to call ds.to_netcdf([...], format="NETCDF4_CLASSIC", engine="h5netcdf"). I.e. avoid using netcdf4-python and its C components when writing a netcdf file that would be valid with applications that don't support the "new" (2008) features of NETCDF4.

Describe alternatives you've considered

Writing with netcdf4-python. I routinely encounter issues, especially on one of the HPC where I work (and don't have full control of the environment). Mostly compiler and dependencies issues, but sometimes segfaults with no meaningful error messages (for some reason these happen more on github's CI ???).

Another alternative is to write with h5netcdf and then pass ncks -7 in out, but this is terribly slow.

Additional context

I first opened an issue on h5netcdf, but maybe no changes are needed there ? Would it just be a matter of encoding variables and attributes with the netcdf3 backend while still writing them with h5netcdf?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions