For filters (and for Zarr?) we are using the HDF5_PLUGIN_PATH environment variable to specify where plugins should be found.
But as I just learned today, we can actually set the plugin path programmatically now.
https://docs.hdfgroup.org/hdf5/develop/group___h5_p_l.html#title3
Turns out they have had this capability for years, so we should have known this when we did the compression work. But we did not. I guess there is a good reason to go to workshops in person.
How should we use this?
We could:
- Allow the builder to specify a default plugin path that will always be used whenever netCDF is run. We could do this by calling the appropriate functions on library startup. Then we don't have to care about the environment variable HDF5_PLUGIN_PATH (but would interoperate with it). This is easy and we should do this immediately.
- We could put new functions in the netCDF API to allow the user to directly append to, delete, and inquire the plugin path. This would be maximally flexible. However I don't think this is a good enough reason to extend the API.
So I suggest 1 but not 2. However I defer to @DennisHeimbigner the expert on filters.
For filters (and for Zarr?) we are using the HDF5_PLUGIN_PATH environment variable to specify where plugins should be found.
But as I just learned today, we can actually set the plugin path programmatically now.
https://docs.hdfgroup.org/hdf5/develop/group___h5_p_l.html#title3
Turns out they have had this capability for years, so we should have known this when we did the compression work. But we did not. I guess there is a good reason to go to workshops in person.
How should we use this?
We could:
So I suggest 1 but not 2. However I defer to @DennisHeimbigner the expert on filters.