Tool to homogenize netCDF files to CF standard
Project description
Homogenize NetCDF files to CF standard: pyhomogenize
Versions |
|
Documentation and Support |
|
Open Source |
|
Coding Standards |
|
Development Status |
Tool to homogenize netCDF to CF standard files using xarray
Documentation
The official documentation is at https://pyhomogenize.readthedocs.io/
Features
some useful functions to read and write large netCDF files
basics: This class creates a fixed frequency CFTimeIndex from user-given start and end dates. You can manipulate the CFTimeIndex and crop it to user-specific conditions.
netcdf_basics: This class opens one or multiple netCDF files by calling the class. You can manipulate the netCDF attributes and write it to a new file.
time_control: This class is a time checker for NetCDF files following CF Metadata Conventions. It is based on pyhomogenize’s netcdf_basics class. Thus it opens the netCDF files by calling the class.
time_compare: This class compares the time axes of list entires of multiple xr.datasets, netCDF files and/or time_control objects.
Installation
You can install the package directly with pip:
pip install pyhomogenize
If you want to contribute, I recommend cloning the repository and installing the package in development mode, e.g.
git clone https://github.com/ludwiglierhammer/pyhomogenize.git
cd pyhomogenize
pip install -e .
This will install the package but you can still edit it and you don’t need the package in your PYTHONPATH
Requirements
python3.6 or higher
cftime
dask
iteration_utilities
xarray
Contact
In cases of any problems, needs or wishes do not hesitate to contact:
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.1.0 (2020-11-12)
First release on PyPI.
0.1.1 (2022-06-24)
Fixed bug in setup.py version number
0.1.2 (2022-06-24)
pre-commit.ci bug fixed
0.1.3 (2022-06-24)
Read version number from __init__
0.1.4 (2022-06-24)
Expand HISTORY.rst
0.2.0 (2022-06-30)
Outsource useful functions for reading and writing large netCDF files.
Use those functiosn directly from pyhomogenize.
Calling pyhomogenize classes is not needed.
0.2.1 (2022-07-01)
rename save_to_netcdf to save_xrdataset
write input files to ds attributes
0.2.2 (2022-07-05)
create chunks if not already existing
0.2.3 (2022-07-11)
write CF variables to dataset while calling open_xrdataset
0.2.4 (2022-07-12)
add data via pip install
0.2.5 (2023-01-04)
precise mid of time range
add more dependencies (cftime, netcdf4, h5netcdf)
0.2.6 (2023-01-24)
add decode_times and combine as keyword argumnets to open_xrdataset
set default value of parallel in open_xrdataset to False
0.2.7 (2023-02-03)
save_xrdataset is now working if Dataset does not include time
0.2.8 (2023-02-13)
convert time axis to CFTimeIndex
0.2.9 (2023-02-16)
set proleptic_gregorian to standard calendar
0.3.0 (2023-02-22)
calculate time_bnds and add them to dataset
0.3.1 (2023-03-16)
get CF_variables
0.3.2 (2023-03-22)
read and write data with length of time axis is 1
add time bounds with length of time axis is 1
drop coordinates from non CF variables
0.3.3 (2023-03-23)
testing for python version 3.8, 3.9 and 3.10
0.4.0 (2023-03-23)
published on zenodo
0.5.0 (2023-06-13)
add time bounds if length of time axis is 1
convert np.datetime64 object to CFTimeIndex
0.5.1 (2023-06-14
fixing v0.5.1
0.5.2 (2023-06-30)
convert time axis to cftime.datetime object
open_xrdataset: set decode_cf to parameters
0.5.3 (2023-07-19)
some restructuring in _convert_time
0.5.4 (2023-08-02)
use unlimied_dims only if dimension name in ds.coords when saving dataset as netcdf file
0.6.0 (2023-09-14)
remove Sphinx from requirements_dev.txt
new frequency time2: YY1-07-01 - YY2-06-30
convert time_ranges to CFTimeIndex
make time_control more flexible
new frequency: yearAC (yyyy1-07-01 to yyyy2-06-30)
new_frequency: yearHydro (yyyy1-09-01 to yyyy2-08-31)
0.6.1 (2023-10-04)
add time bounds for daily data
testing python versions 3.9 to 3.11
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyhomogenize-0.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd6d4c861439a07d0d4ee642fabf9ba41de87380408a824caf6751954b3f4463 |
|
MD5 | a98ff68738f46aadc442f6767af6b284 |
|
BLAKE2b-256 | fd7666d7797fe139ee323ab392c73a04d26cb3d9582be813be58c8da50f11b6d |