xcube-cci 0.11.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- xcube_cci-0.11.3/.github/workflows/publish_pypi.yml +35 -0
- xcube_cci-0.11.3/.gitignore +132 -0
- xcube_cci-0.11.3/CHANGES.md +181 -0
- xcube_cci-0.11.3/LICENSE +21 -0
- xcube_cci-0.11.3/MANIFEST.in +4 -0
- xcube_cci-0.11.3/PKG-INFO +135 -0
- xcube_cci-0.11.3/README.md +81 -0
- xcube_cci-0.11.3/appveyor.yml +62 -0
- xcube_cci-0.11.3/environment.yml +18 -0
- xcube_cci-0.11.3/examples/notebooks/Ex0-DCFS-Setup.ipynb +87 -0
- xcube_cci-0.11.3/examples/notebooks/Ex1a-DCFS-CCI_access.ipynb +2090 -0
- xcube_cci-0.11.3/examples/notebooks/Ex1b-DCFS-CCI_access.ipynb +1381 -0
- xcube_cci-0.11.3/pyproject.toml +63 -0
- xcube_cci-0.11.3/setup.cfg +4 -0
- xcube_cci-0.11.3/setup.py +53 -0
- xcube_cci-0.11.3/test/__init__.py +0 -0
- xcube_cci-0.11.3/test/open_all.py +260 -0
- xcube_cci-0.11.3/test/resources/ESACCI-OZONE-L3-NP-MERGED-KNMI-199701-fv0002.nc.das +137 -0
- xcube_cci-0.11.3/test/resources/test_req.json +27 -0
- xcube_cci-0.11.3/test/test_cciodp.py +561 -0
- xcube_cci-0.11.3/test/test_chunkstore.py +218 -0
- xcube_cci-0.11.3/test/test_dataaccess.py +949 -0
- xcube_cci-0.11.3/test/test_dataframeaccess.py +21 -0
- xcube_cci-0.11.3/test/test_kcaccess.py +121 -0
- xcube_cci-0.11.3/test/test_normalize.py +56 -0
- xcube_cci-0.11.3/test/test_plugin.py +40 -0
- xcube_cci-0.11.3/test/test_timeutil.py +32 -0
- xcube_cci-0.11.3/test/test_zarraccess.py +114 -0
- xcube_cci-0.11.3/xcube_cci/__init__.py +23 -0
- xcube_cci-0.11.3/xcube_cci/cciodp.py +2354 -0
- xcube_cci-0.11.3/xcube_cci/chunkstore.py +1061 -0
- xcube_cci-0.11.3/xcube_cci/constants.py +174 -0
- xcube_cci-0.11.3/xcube_cci/data/__init__.py +0 -0
- xcube_cci-0.11.3/xcube_cci/data/dataset_states.json +7661 -0
- xcube_cci-0.11.3/xcube_cci/data/excluded_data_sources +0 -0
- xcube_cci-0.11.3/xcube_cci/data/kc_refs.json +119377 -0
- xcube_cci-0.11.3/xcube_cci/data/stores.yml +39 -0
- xcube_cci-0.11.3/xcube_cci/data/zarr_to_dsrids +41 -0
- xcube_cci-0.11.3/xcube_cci/dataaccess.py +949 -0
- xcube_cci-0.11.3/xcube_cci/dataframeaccess.py +252 -0
- xcube_cci-0.11.3/xcube_cci/kcaccess.py +41 -0
- xcube_cci-0.11.3/xcube_cci/normalize.py +99 -0
- xcube_cci-0.11.3/xcube_cci/plugin.py +157 -0
- xcube_cci-0.11.3/xcube_cci/timerangegetter.py +187 -0
- xcube_cci-0.11.3/xcube_cci/timeutil.py +37 -0
- xcube_cci-0.11.3/xcube_cci/vdcaccess.py +149 -0
- xcube_cci-0.11.3/xcube_cci/version.py +22 -0
- xcube_cci-0.11.3/xcube_cci/zarraccess.py +98 -0
- xcube_cci-0.11.3/xcube_cci.egg-info/PKG-INFO +135 -0
- xcube_cci-0.11.3/xcube_cci.egg-info/SOURCES.txt +52 -0
- xcube_cci-0.11.3/xcube_cci.egg-info/dependency_links.txt +1 -0
- xcube_cci-0.11.3/xcube_cci.egg-info/entry_points.txt +2 -0
- xcube_cci-0.11.3/xcube_cci.egg-info/requires.txt +12 -0
- xcube_cci-0.11.3/xcube_cci.egg-info/top_level.txt +2 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# This workflows will upload a Python Package using Twine when a release is created
|
|
2
|
+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
|
|
3
|
+
|
|
4
|
+
# This workflows uses actions that are not certified by GitHub.
|
|
5
|
+
# They are provided by a third-party and are governed by
|
|
6
|
+
# separate terms of service, privacy policy, and support
|
|
7
|
+
# documentation.
|
|
8
|
+
|
|
9
|
+
name: publish to PyPI
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
release:
|
|
13
|
+
types: [published]
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
deploy:
|
|
17
|
+
name: Publish to PyPI
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: '3.x'
|
|
26
|
+
- name: Install dependencies
|
|
27
|
+
run: |
|
|
28
|
+
python -m pip install --upgrade pip
|
|
29
|
+
pip install build
|
|
30
|
+
- name: Build package
|
|
31
|
+
run: python -m build
|
|
32
|
+
- name: Publish to PyPI
|
|
33
|
+
run: |
|
|
34
|
+
pip install twine
|
|
35
|
+
python -m twine upload --username __token__ --password ${{ secrets.PYPI_API_TOKEN }} dist/*
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# IntelliJ / PyCharm
|
|
2
|
+
.idea
|
|
3
|
+
|
|
4
|
+
# Byte-compiled / optimized / DLL files
|
|
5
|
+
__pycache__/
|
|
6
|
+
*.py[cod]
|
|
7
|
+
*$py.class
|
|
8
|
+
|
|
9
|
+
# C extensions
|
|
10
|
+
*.so
|
|
11
|
+
|
|
12
|
+
# Distribution / packaging
|
|
13
|
+
.Python
|
|
14
|
+
build/
|
|
15
|
+
develop-eggs/
|
|
16
|
+
dist/
|
|
17
|
+
downloads/
|
|
18
|
+
eggs/
|
|
19
|
+
.eggs/
|
|
20
|
+
lib/
|
|
21
|
+
lib64/
|
|
22
|
+
parts/
|
|
23
|
+
sdist/
|
|
24
|
+
var/
|
|
25
|
+
wheels/
|
|
26
|
+
pip-wheel-metadata/
|
|
27
|
+
share/python-wheels/
|
|
28
|
+
*.egg-info/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg
|
|
31
|
+
MANIFEST
|
|
32
|
+
|
|
33
|
+
# PyInstaller
|
|
34
|
+
# Usually these files are written by a python script from a template
|
|
35
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
36
|
+
*.manifest
|
|
37
|
+
*.spec
|
|
38
|
+
|
|
39
|
+
# Installer logs
|
|
40
|
+
pip-log.txt
|
|
41
|
+
pip-delete-this-directory.txt
|
|
42
|
+
|
|
43
|
+
# Unit test / coverage reports
|
|
44
|
+
htmlcov/
|
|
45
|
+
.tox/
|
|
46
|
+
.nox/
|
|
47
|
+
.coverage
|
|
48
|
+
.coverage.*
|
|
49
|
+
.cache
|
|
50
|
+
nosetests.xml
|
|
51
|
+
coverage.xml
|
|
52
|
+
*.cover
|
|
53
|
+
*.py,cover
|
|
54
|
+
.hypothesis/
|
|
55
|
+
.pytest_cache/
|
|
56
|
+
|
|
57
|
+
# Translations
|
|
58
|
+
*.mo
|
|
59
|
+
*.pot
|
|
60
|
+
|
|
61
|
+
# Django stuff:
|
|
62
|
+
*.log
|
|
63
|
+
local_settings.py
|
|
64
|
+
db.sqlite3
|
|
65
|
+
db.sqlite3-journal
|
|
66
|
+
|
|
67
|
+
# Flask stuff:
|
|
68
|
+
instance/
|
|
69
|
+
.webassets-cache
|
|
70
|
+
|
|
71
|
+
# Scrapy stuff:
|
|
72
|
+
.scrapy
|
|
73
|
+
|
|
74
|
+
# Sphinx documentation
|
|
75
|
+
docs/_build/
|
|
76
|
+
|
|
77
|
+
# PyBuilder
|
|
78
|
+
target/
|
|
79
|
+
|
|
80
|
+
# Jupyter Notebook
|
|
81
|
+
.ipynb_checkpoints
|
|
82
|
+
|
|
83
|
+
# IPython
|
|
84
|
+
profile_default/
|
|
85
|
+
ipython_config.py
|
|
86
|
+
|
|
87
|
+
# pyenv
|
|
88
|
+
.python-version
|
|
89
|
+
|
|
90
|
+
# pipenv
|
|
91
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
92
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
93
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
94
|
+
# install all needed dependencies.
|
|
95
|
+
#Pipfile.lock
|
|
96
|
+
|
|
97
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
98
|
+
__pypackages__/
|
|
99
|
+
|
|
100
|
+
# Celery stuff
|
|
101
|
+
celerybeat-schedule
|
|
102
|
+
celerybeat.pid
|
|
103
|
+
|
|
104
|
+
# SageMath parsed files
|
|
105
|
+
*.sage.py
|
|
106
|
+
|
|
107
|
+
# Environments
|
|
108
|
+
.env
|
|
109
|
+
.venv
|
|
110
|
+
env/
|
|
111
|
+
venv/
|
|
112
|
+
ENV/
|
|
113
|
+
env.bak/
|
|
114
|
+
venv.bak/
|
|
115
|
+
|
|
116
|
+
# Spyder project settings
|
|
117
|
+
.spyderproject
|
|
118
|
+
.spyproject
|
|
119
|
+
|
|
120
|
+
# Rope project settings
|
|
121
|
+
.ropeproject
|
|
122
|
+
|
|
123
|
+
# mkdocs documentation
|
|
124
|
+
/site
|
|
125
|
+
|
|
126
|
+
# mypy
|
|
127
|
+
.mypy_cache/
|
|
128
|
+
.dmypy.json
|
|
129
|
+
dmypy.json
|
|
130
|
+
|
|
131
|
+
# Pyre type checker
|
|
132
|
+
.pyre/
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
## Changes in 0.11.3
|
|
2
|
+
* Fixed retrieval of data sets with unsigned data types
|
|
3
|
+
(this affected SNOW datasets)
|
|
4
|
+
* Increased list of supported kerchunk datasets
|
|
5
|
+
|
|
6
|
+
## Changes in 0.11.2
|
|
7
|
+
* Fixed retrieval of time steps of BIOMASS datasets
|
|
8
|
+
|
|
9
|
+
## Changes in 0.11.1
|
|
10
|
+
* Improved support of vector data cubes
|
|
11
|
+
* Improved support of FIRE ECV datasets
|
|
12
|
+
|
|
13
|
+
## Changes in 0.11
|
|
14
|
+
|
|
15
|
+
* Migrated code from `ESA CCI Toolbox`. This encompasses the following changes:
|
|
16
|
+
* Added store aliases `esa-cdc` and `esa-climate-data-centre`, `esa-cci`
|
|
17
|
+
and `esa-cci-zarr`
|
|
18
|
+
* Added new data store `esa-cci-kc`
|
|
19
|
+
(and corresponding xcube data store `esa-cci-kc`) that allows performant
|
|
20
|
+
accessing of selected datasets of the ESA Climate Data Centre using a
|
|
21
|
+
Zarr view of the original NetCDF files. This approach is made possible by
|
|
22
|
+
using the [kerchunk](https://fsspec.github.io/kerchunk/) package. Also
|
|
23
|
+
added new Notebook that demonstrates usage of the new data store.
|
|
24
|
+
* Added opener `"datafame:geojson:esa-cdc"` to open data as data frames
|
|
25
|
+
* Added opener `"vectordatacube::esa-cdc"` to open data as vector data cubes
|
|
26
|
+
* Updated list of dataset states
|
|
27
|
+
* Set up pipeline to publish package on pypi
|
|
28
|
+
|
|
29
|
+
## Changes in 0.10.2
|
|
30
|
+
|
|
31
|
+
* Fixed support for climatology datasets
|
|
32
|
+
|
|
33
|
+
## Changes in 0.10.1
|
|
34
|
+
|
|
35
|
+
* Fixed support for SST climatology dataset
|
|
36
|
+
|
|
37
|
+
## Changes in 0.10
|
|
38
|
+
|
|
39
|
+
* Support Climatology Datasets
|
|
40
|
+
* Ensure compatiblity with Python versions > 3.10. This concerns the way
|
|
41
|
+
new event loops are created within threads. A deprecated event loop
|
|
42
|
+
policy has been removed.
|
|
43
|
+
Solves issues [#61](https://github.com/dcs4cop/xcube-cci/issues/61)
|
|
44
|
+
and [#64](https://github.com/dcs4cop/xcube-cci/issues/64)
|
|
45
|
+
|
|
46
|
+
## Changes in 0.9.9
|
|
47
|
+
|
|
48
|
+
* Removed cache
|
|
49
|
+
* Pinned pydap version
|
|
50
|
+
* Improved determination of CCI data chunks
|
|
51
|
+
|
|
52
|
+
## Changes in 0.9.8
|
|
53
|
+
|
|
54
|
+
* Consider environment parameter `READ_CEDA_CATALOGUE` to trigger whether
|
|
55
|
+
metadata from the ceda catalogue shall be read. Enabled by default.
|
|
56
|
+
* Updated list of supported datasets.
|
|
57
|
+
No odp-provided datasets are excluded anymore.
|
|
58
|
+
|
|
59
|
+
## Changes in 0.9.7
|
|
60
|
+
|
|
61
|
+
* Zarr Datastore reads data ids from json file if provided
|
|
62
|
+
* Updated CCI Store to set zarr store (from here on, xcube 0.12.1 is required)
|
|
63
|
+
[#62](https://github.com/dcs4cop/xcube-cci/issues/62)
|
|
64
|
+
|
|
65
|
+
## Changes in 0.9.6
|
|
66
|
+
|
|
67
|
+
* Updated Example Notebooks
|
|
68
|
+
* Extended support of datasets. Previously, datasets which had a chunking of
|
|
69
|
+
the time dimension larger than one were not handled properly. This affected
|
|
70
|
+
OZONE in a monthly resolution, SEALEVEL in a monthly resolution, and several
|
|
71
|
+
ICESHEETS datasets. [#12](https://github.com/dcs4cop/xcube-cci/issues/12)
|
|
72
|
+
* Chunk sizes may now also be decreased, in order to achieve optimal chunkings.
|
|
73
|
+
For some datasets (e.g., BIOMASS), this increases the performance and helps
|
|
74
|
+
avoiding memory issues. [#48](https://github.com/dcs4cop/xcube-cci/issues/48)
|
|
75
|
+
|
|
76
|
+
## Changes in 0.9.5
|
|
77
|
+
|
|
78
|
+
* Allow reading of datasets that do not specify chunk sizes (e.g., FIRE)
|
|
79
|
+
[Cate #1033](https://github.com/CCI-Tools/cate/issues/1033).
|
|
80
|
+
|
|
81
|
+
## Changes in 0.9.4
|
|
82
|
+
|
|
83
|
+
* Ensure compatibility with xarray >= 0.20.2 and python >= 3.10
|
|
84
|
+
* Ensure compatibility with expected odp update
|
|
85
|
+
|
|
86
|
+
## Changes in 0.9.3
|
|
87
|
+
|
|
88
|
+
* Always show time bounds as coordinate, not as data variable
|
|
89
|
+
* Prevent IndexError when requesting data with a time range
|
|
90
|
+
|
|
91
|
+
## Changes in 0.9.2
|
|
92
|
+
|
|
93
|
+
* Fixed issue where opening datasets in a daily resolution without a delimiting
|
|
94
|
+
time range would cause memory errors
|
|
95
|
+
[#56](https://github.com/dcs4cop/xcube-cci/issues/56).
|
|
96
|
+
|
|
97
|
+
## Changes in 0.9.1
|
|
98
|
+
* Fixed issue that datasets with spatial bounds could not be opened.
|
|
99
|
+
* Show version as `__version__`
|
|
100
|
+
* The interface of the method `search_data` of the CciOdpDataStore
|
|
101
|
+
has been changed. Search parameters `ecv`, `frequency` `institute`,
|
|
102
|
+
`processing_level`, `product_string`, `product_version`, `data_type`,
|
|
103
|
+
`sensor`, and `platform` may now be passed in a dictionary parameter named
|
|
104
|
+
`cci_attrs`. This makes it possible again to use the parameter `data_type`
|
|
105
|
+
[#54](https://github.com/dcs4cop/xcube-cci/issues/54).
|
|
106
|
+
|
|
107
|
+
## Changes in 0.9.0
|
|
108
|
+
* Version 0.9 now requires xcube 0.9 because of incompatible API changes in the
|
|
109
|
+
xcube data store framework.
|
|
110
|
+
* CciOdpCubeOpener has been removed.
|
|
111
|
+
* CciOdpDatasetOpener and CciOdpDataStore now have a new constructor parameter
|
|
112
|
+
`normalize`, that may be used to apply normalization steps to the CCI
|
|
113
|
+
datasets.
|
|
114
|
+
* Set coordinates correctly. All coordinates are present in data descriptions
|
|
115
|
+
and opened datasets, no coordinates appear as data variables
|
|
116
|
+
[#42](https://github.com/dcs4cop/xcube-cci/issues/42).
|
|
117
|
+
* CRS are supported correctly. CRS variables are present in datasets in case
|
|
118
|
+
the CRS is different from 'WGS84', the CRS information is provided by the
|
|
119
|
+
data descriptor [#50](https://github.com/dcs4cop/xcube-cci/issues/50).
|
|
120
|
+
|
|
121
|
+
## Changes in 0.8.1
|
|
122
|
+
|
|
123
|
+
* Fixed an issue that caused that occasionally values returned by open_data consisted
|
|
124
|
+
of random numbers where a fill value would have been expected. (#47)
|
|
125
|
+
* DataDescriptors contain coords
|
|
126
|
+
* Internal virtual file system is built lazily, so opening datasets has become faster.
|
|
127
|
+
* Store parameter method `get_search_params_schema` has been revised to correctly support
|
|
128
|
+
all parameter values.
|
|
129
|
+
* Support more datasets from ODP.
|
|
130
|
+
* Fixed support of `user_agent` parameter
|
|
131
|
+
* Added CCI Zarr Store as convenience store to access cci zarr datasets
|
|
132
|
+
|
|
133
|
+
## Changes in 0.8.0
|
|
134
|
+
|
|
135
|
+
* Added `user_agent` as additional optional store parameter.
|
|
136
|
+
* Provided xcube data store framework interface compatibility with
|
|
137
|
+
breaking changes in xcube 0.8.0 (see https://github.com/dcs4cop/xcube/issues/420).
|
|
138
|
+
|
|
139
|
+
## Changes in 0.7.0
|
|
140
|
+
* Removed constant-valued parameters from opener schema
|
|
141
|
+
* Renamed store parameters `opensearch_url` and `opensearch_description_url` to
|
|
142
|
+
`endpoint_url` and `endpoint_description_url`, respectively.
|
|
143
|
+
* Chunkstore considers bounding box when accessing data. Less data is accessed and normalized. (#33)
|
|
144
|
+
* Fixed time range detection for datasets with daily time frequency.
|
|
145
|
+
* Fixed problem with the encoding of a dataset's coordinate variables that occurs
|
|
146
|
+
when using `xcube_cci` with xcube 0.6.0. (#27)
|
|
147
|
+
* Removed CLI
|
|
148
|
+
|
|
149
|
+
## Changes in 0.6.0.
|
|
150
|
+
* Support type specifiers [#18](https://github.com/dcs4cop/xcube-cci/issues/18).
|
|
151
|
+
The CCI Store supports type specifiers `dataset` and `dataset[cube]`
|
|
152
|
+
* Descriptions of variables and dimensions are different for the same dataset,
|
|
153
|
+
depending on what type specifier is set.
|
|
154
|
+
* There are now two DataOpeners: The CciOdpDatasetOpener and the CciOdpCubeOpener.
|
|
155
|
+
Both openers are used by the CciOdpDataStore, with the CciOdpDatasetOpener being the default.
|
|
156
|
+
The CciOdpDatasetOpener will open any data sets from the CCI Open Data Portal without changing their dimensions.
|
|
157
|
+
The CciOdpCubeOpener will normalize datasets to have dimensions `lat`, `lon`, `time` (and possibly others).
|
|
158
|
+
Subsetting is only supported for data cubes.
|
|
159
|
+
As not all datasets can be normalized to cubes, the CciOdpCubeOpener supports a subset of the datasets that can be accessed with the CciOdpDatasetOpener.
|
|
160
|
+
* Establish common data store conventions ([#10](https://github.com/dcs4cop/xcube-cci/issues/10)
|
|
161
|
+
* xcube-cci can now get the time ranges for satellite-orbit-frequency datasets available via opensearch
|
|
162
|
+
* Introduced new optional parameters to CciStore:
|
|
163
|
+
- enable_warnings
|
|
164
|
+
- num_retries
|
|
165
|
+
- _retry_backoff_max
|
|
166
|
+
- _retry_backoff_base
|
|
167
|
+
* Updated setup.py [#16](https://github.com/dcs4cop/xcube-cci/issues/16)
|
|
168
|
+
* Added opener parameters `time_range` and `spatial_res`
|
|
169
|
+
* String-encoded variables are added to datasets as metadata
|
|
170
|
+
* Updated example notebooks
|
|
171
|
+
|
|
172
|
+
## Changes in 0.5.0.
|
|
173
|
+
|
|
174
|
+
Initial version.
|
|
175
|
+
This version has been designed to work with the `xcube` store framework that has been introduced with
|
|
176
|
+
`xcube` v0.5.0.
|
|
177
|
+
It affords
|
|
178
|
+
- a CciOdpDataOpener Implementaton for opening datasets from the ESA CCI Open Data Portal.
|
|
179
|
+
The Opener has open parameters `variable_names`, `time_period`, `bbox`, and `crs`.
|
|
180
|
+
- a CciStore Implementation that uses and extends the aforementioned opener and allows for searching
|
|
181
|
+
the ESA CCI Open Data Portal
|
xcube_cci-0.11.3/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 DCS4COP
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: xcube_cci
|
|
3
|
+
Version: 0.11.3
|
|
4
|
+
Summary: An xcube plugin that allows generating data cubes from the ESA CCI Open Data Portal.
|
|
5
|
+
Author: ESA CCI Toolbox Development Team
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2020 DCS4COP
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Project-URL: Homepage, https://github.com/esa-cci/xcube-cci
|
|
29
|
+
Project-URL: Bug Tracker, https://github.com/esa-cci/xcube-cci/issues
|
|
30
|
+
Project-URL: Changelog, https://github.com/esa-cci/xcube-cci/CHANGES.md
|
|
31
|
+
Project-URL: Download, https://pypi.org/project/xcube-cci/#files
|
|
32
|
+
Project-URL: Release notes, https://github.com/esa-cci/xcube-cci/releases
|
|
33
|
+
Keywords: data science,cci,climate data
|
|
34
|
+
Classifier: Programming Language :: Python
|
|
35
|
+
Classifier: Programming Language :: Python :: 3
|
|
36
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
37
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
38
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
39
|
+
Classifier: Operating System :: OS Independent
|
|
40
|
+
Requires-Python: >=3.10
|
|
41
|
+
Description-Content-Type: text/markdown
|
|
42
|
+
License-File: LICENSE
|
|
43
|
+
Requires-Dist: aiohttp>=3.6
|
|
44
|
+
Requires-Dist: lxml>=4.5
|
|
45
|
+
Requires-Dist: nest-asyncio>=1.3
|
|
46
|
+
Requires-Dist: numpy>=2
|
|
47
|
+
Requires-Dist: pydap>=3.4
|
|
48
|
+
Requires-Dist: rioxarray
|
|
49
|
+
Requires-Dist: xcube-core>=1.4.0
|
|
50
|
+
Requires-Dist: xvec
|
|
51
|
+
Provides-Extra: dev
|
|
52
|
+
Requires-Dist: pytest; extra == "dev"
|
|
53
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
54
|
+
|
|
55
|
+
[](https://ci.appveyor.com/project/bcdev/xcube-cci)
|
|
56
|
+
|
|
57
|
+
# xcube-cci
|
|
58
|
+
|
|
59
|
+
An [xcube plugin](https://xcube.readthedocs.io/en/latest/plugins.html) that allows
|
|
60
|
+
generating data cubes from the ESA CCI Open Data Portal.
|
|
61
|
+
|
|
62
|
+
### Installing the xcube-cci plugin
|
|
63
|
+
|
|
64
|
+
#### Installation into a new environment with conda
|
|
65
|
+
|
|
66
|
+
xcube-cci and all necessary dependencies (including xcube itself) are available
|
|
67
|
+
on [conda-forge](https://conda-forge.org/), and can be installed using the
|
|
68
|
+
[conda package manager](https://docs.conda.io/projects/conda/en/latest/).
|
|
69
|
+
The conda package manager itself can be obtained in the [miniconda
|
|
70
|
+
distribution](https://docs.conda.io/en/latest/miniconda.html).
|
|
71
|
+
Once conda is installed, xcube-cci can be installed like this:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
$ conda create --name xcube-cci-environment --channel conda-forge xcube-cci
|
|
75
|
+
$ conda activate xcube-cci-environment
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The name of the environment may be freely chosen.
|
|
79
|
+
|
|
80
|
+
#### Installation into an existing environment with conda
|
|
81
|
+
|
|
82
|
+
xcube-cci can also be installed into an existing conda environment.
|
|
83
|
+
With an existing conda environment activated, execute this command:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
$ conda install --channel conda-forge xcube-cci
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
xcube and any other necessary dependencies will be installed or updated if they are not
|
|
90
|
+
already installed in a compatible version.
|
|
91
|
+
|
|
92
|
+
#### Installation into an existing environment from the repository
|
|
93
|
+
|
|
94
|
+
If you want to install xcube-cci directly from the git repository (for example
|
|
95
|
+
in order to use an unreleased version or to modify the code), you can do so as follows:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
$ git clone https://github.com/esa-cci/xcube-cci.git
|
|
99
|
+
$ cd xcube-cci
|
|
100
|
+
$ conda env create
|
|
101
|
+
$ conda activate xcube-cci
|
|
102
|
+
$ pip install --no-deps -e .
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Testing
|
|
106
|
+
|
|
107
|
+
You can run the unit tests for xcube-cci by executing
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
$ pytest
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
in the `xcube-cci` repository. Note that, in order to successfully run the
|
|
114
|
+
tests using the current repository version of xcube-cci, you may also need to
|
|
115
|
+
install the repository version of xcube rather than its latest conda-forge
|
|
116
|
+
release.
|
|
117
|
+
|
|
118
|
+
To create a test coverage report, you can use
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
coverage run --include='xcube_cci/**' --module pytest
|
|
122
|
+
coverage html
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
This will write a coverage report to `htmlcov/index.html`.
|
|
126
|
+
|
|
127
|
+
## Use
|
|
128
|
+
|
|
129
|
+
Jupyter notebooks demonstrating the use of the xcube-cds plugin can be found
|
|
130
|
+
in the `examples/notebooks/` subdirectory of the repository.
|
|
131
|
+
|
|
132
|
+
## Releasing
|
|
133
|
+
|
|
134
|
+
To release `xcube-cci`, please follow the steps outlined in the
|
|
135
|
+
[xcube Developer Guide](https://github.com/dcs4cop/xcube/blob/master/docs/source/devguide.md#release-process).
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
[](https://ci.appveyor.com/project/bcdev/xcube-cci)
|
|
2
|
+
|
|
3
|
+
# xcube-cci
|
|
4
|
+
|
|
5
|
+
An [xcube plugin](https://xcube.readthedocs.io/en/latest/plugins.html) that allows
|
|
6
|
+
generating data cubes from the ESA CCI Open Data Portal.
|
|
7
|
+
|
|
8
|
+
### Installing the xcube-cci plugin
|
|
9
|
+
|
|
10
|
+
#### Installation into a new environment with conda
|
|
11
|
+
|
|
12
|
+
xcube-cci and all necessary dependencies (including xcube itself) are available
|
|
13
|
+
on [conda-forge](https://conda-forge.org/), and can be installed using the
|
|
14
|
+
[conda package manager](https://docs.conda.io/projects/conda/en/latest/).
|
|
15
|
+
The conda package manager itself can be obtained in the [miniconda
|
|
16
|
+
distribution](https://docs.conda.io/en/latest/miniconda.html).
|
|
17
|
+
Once conda is installed, xcube-cci can be installed like this:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
$ conda create --name xcube-cci-environment --channel conda-forge xcube-cci
|
|
21
|
+
$ conda activate xcube-cci-environment
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The name of the environment may be freely chosen.
|
|
25
|
+
|
|
26
|
+
#### Installation into an existing environment with conda
|
|
27
|
+
|
|
28
|
+
xcube-cci can also be installed into an existing conda environment.
|
|
29
|
+
With an existing conda environment activated, execute this command:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
$ conda install --channel conda-forge xcube-cci
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
xcube and any other necessary dependencies will be installed or updated if they are not
|
|
36
|
+
already installed in a compatible version.
|
|
37
|
+
|
|
38
|
+
#### Installation into an existing environment from the repository
|
|
39
|
+
|
|
40
|
+
If you want to install xcube-cci directly from the git repository (for example
|
|
41
|
+
in order to use an unreleased version or to modify the code), you can do so as follows:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
$ git clone https://github.com/esa-cci/xcube-cci.git
|
|
45
|
+
$ cd xcube-cci
|
|
46
|
+
$ conda env create
|
|
47
|
+
$ conda activate xcube-cci
|
|
48
|
+
$ pip install --no-deps -e .
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Testing
|
|
52
|
+
|
|
53
|
+
You can run the unit tests for xcube-cci by executing
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
$ pytest
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
in the `xcube-cci` repository. Note that, in order to successfully run the
|
|
60
|
+
tests using the current repository version of xcube-cci, you may also need to
|
|
61
|
+
install the repository version of xcube rather than its latest conda-forge
|
|
62
|
+
release.
|
|
63
|
+
|
|
64
|
+
To create a test coverage report, you can use
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
coverage run --include='xcube_cci/**' --module pytest
|
|
68
|
+
coverage html
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This will write a coverage report to `htmlcov/index.html`.
|
|
72
|
+
|
|
73
|
+
## Use
|
|
74
|
+
|
|
75
|
+
Jupyter notebooks demonstrating the use of the xcube-cds plugin can be found
|
|
76
|
+
in the `examples/notebooks/` subdirectory of the repository.
|
|
77
|
+
|
|
78
|
+
## Releasing
|
|
79
|
+
|
|
80
|
+
To release `xcube-cci`, please follow the steps outlined in the
|
|
81
|
+
[xcube Developer Guide](https://github.com/dcs4cop/xcube/blob/master/docs/source/devguide.md#release-process).
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
version: '{build}'
|
|
2
|
+
|
|
3
|
+
image:
|
|
4
|
+
- Ubuntu2204
|
|
5
|
+
- macOS
|
|
6
|
+
|
|
7
|
+
configuration: Release
|
|
8
|
+
|
|
9
|
+
platform:
|
|
10
|
+
- x64
|
|
11
|
+
|
|
12
|
+
# Do not build feature branch with open Pull Requests.
|
|
13
|
+
# Note that a feature branch build may still occur on the first push to
|
|
14
|
+
# the branch -- see
|
|
15
|
+
# https://help.appveyor.com/discussions/questions/18437-skip_branch_with_pr-setting-doesnt-work
|
|
16
|
+
skip_branch_with_pr: true
|
|
17
|
+
|
|
18
|
+
for:
|
|
19
|
+
-
|
|
20
|
+
matrix:
|
|
21
|
+
only:
|
|
22
|
+
- image: macOS
|
|
23
|
+
install:
|
|
24
|
+
- curl -Ls https://micro.mamba.pm/api/micromamba/osx-64/latest | tar -xvj bin/micromamba
|
|
25
|
+
- mv bin/micromamba ./micromamba
|
|
26
|
+
-
|
|
27
|
+
matrix:
|
|
28
|
+
only:
|
|
29
|
+
- image: Ubuntu2204
|
|
30
|
+
install:
|
|
31
|
+
- curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
|
|
32
|
+
- mv bin/micromamba ./micromamba
|
|
33
|
+
|
|
34
|
+
build_script:
|
|
35
|
+
# Diagnostics
|
|
36
|
+
- echo $PLATFORM
|
|
37
|
+
- echo $APPVEYOR_BUILD_WORKER_IMAGE
|
|
38
|
+
- echo $APPVEYOR_BUILD_FOLDER
|
|
39
|
+
- uname -a
|
|
40
|
+
- pwd
|
|
41
|
+
- ls
|
|
42
|
+
|
|
43
|
+
# Set up micromamba
|
|
44
|
+
- ./micromamba shell init -s bash --root-prefix ~/micromamba
|
|
45
|
+
- source ~/.bashrc
|
|
46
|
+
- source ~/.profile
|
|
47
|
+
- hash -r
|
|
48
|
+
- mkdir -p ~/micromamba/pkgs/
|
|
49
|
+
- export MAMBA_ROOT_PREFIX=~/micromamba
|
|
50
|
+
- export MAMBA_EXE=$(pwd)/micromamba
|
|
51
|
+
- . $MAMBA_ROOT_PREFIX/etc/profile.d/mamba.sh
|
|
52
|
+
|
|
53
|
+
- micromamba create --name xcube-cci --file $APPVEYOR_BUILD_FOLDER/environment.yml
|
|
54
|
+
- micromamba activate xcube-cci
|
|
55
|
+
- cd $APPVEYOR_BUILD_FOLDER
|
|
56
|
+
- pip install --no-deps .
|
|
57
|
+
|
|
58
|
+
- git status
|
|
59
|
+
- micromamba list
|
|
60
|
+
|
|
61
|
+
# Run the test suite
|
|
62
|
+
- pytest -v --cov=xcube_cci
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: xcube-cci
|
|
2
|
+
channels:
|
|
3
|
+
- conda-forge
|
|
4
|
+
dependencies:
|
|
5
|
+
# Python
|
|
6
|
+
- python >=3.10
|
|
7
|
+
# Required
|
|
8
|
+
- xcube >= 1.4.0
|
|
9
|
+
- aiohttp >= 3.6
|
|
10
|
+
- lxml >= 4.5
|
|
11
|
+
- nest-asyncio >= 1.3
|
|
12
|
+
- numpy >= 2.0
|
|
13
|
+
- pydap >= 3.4
|
|
14
|
+
- rioxarray
|
|
15
|
+
- xvec
|
|
16
|
+
# Test libs
|
|
17
|
+
- pytest
|
|
18
|
+
- pytest-cov
|