Closed pgierz closed 5 days ago
This pull request includes several changes to the CI configuration, documentation, and the pymorize
application code. The most important changes focus on adding support for HDF5 and NetCDF4, updating documentation, and enhancing the configuration management within pymorize
.
.github/workflows/CI-test.yaml
)..github/workflows/CI-test.yaml
).everett.sphinxext
and everett
intersphinx mapping to the Sphinx configuration (doc/conf.py
). [1] [2]pymorize
configuration in the documentation (doc/index.rst
, doc/pymorize_configuration.rst
). [1] [2]PymorizeConfigManager
for managing configuration with everett
(src/pymorize/config.py
).pymorize
code to utilize PymorizeConfigManager
for configuration handling (src/pymorize/cmorizer.py
). [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]everett[yaml]
and h5netcdf
to setup.py
.load_mfdataset
function (src/pymorize/gather_inputs.py
).
The CI on GitHub Actions runs in Ubuntu, which by default installs a weird NetCDF+HDF5 combination, leading to segfaults. This is now fixed by forcing the
h5netcdf
engine in xarray when in CI mode (yes, the "lets swap out the library specifically for CI" fix is horrible, but, it works)Additionally, I rewired the configuration of the tool itself to use the library
everett
library. There is some documentation in the newconfig.py
module. As a nice bonus, configurable options are auto-magically tabulated in the handbook.Last failure in CI:
Related to #61