Releases: xcube-dev/xcube
0.8.2.dev3
Changes in 0.8.2 (in development)
- Fixed the issue that xcube gen2 would not print tracebacks to stderr when raising
CubeGeneratorErrors (#448). - Enhanced
xcube.core.normalize.normalize_dataset()
function to also normalize datasets with latitudes given as
latitude_centers
and to invert decreasing latitude coordinate values. - Introduced
xcube.core.normalize.cubify_dataset()
function to normalize a dataset
and finally assert the result complies to the xcube dataset conventions. - Fixed that data stores
directory
ands3
were not able to handle data identifiers that they
had assigned themselves duringwrite_data()
. (#450) - Pinned dependencies
- dask =2021.3.1 because of memory leaks in versions >=2021.4
- xarray =0.18.2 because a lot of tests fail with versions >= 0.19
- pandas >1.1,<1.3 because 1.3+ doesn't work with xarray < 0.19
0.9.0.dev0
Changes in 0.9.0 (in development)
- Added a new feature to xcube called "BYOA" - Bring your own Algorithm.
It is a generic utility that allows for execution of user-supplied
Python code in both local and remote contexts. (#467)
The newxcube.core.byoa
package hosts the BYOA implementation and API.
The entry point to the functionality is thexcube.core.byoa.CodeConfig
class. It is currently utilized by the xcube Cube Generator that can now
deal with an optionalcode_config
request parameter. If given,
the generated data cube will be post-processed by the configured user-code.
The xcube Cube Generator with the BYOA feature is made available through the- Generator API
xcube.core.gen2.LocalCubeGenerator
and
xcube.core.gen2.service.CubeGeneratorService
; - Generator CLI
xcube gen2
.
- Generator API
- Added a new utility module
xcube.util.temp
that allows for creating
temporary files and directories that will be deleted when the current
process ends.
0.8.2.dev0
Changes in 0.8.2 (in development)
- Fixed the issue that xcube gen2 would not print tracebacks to stderr when raising
CubeGeneratorErrors (#448). - Enhanced
xcube.core.normalize.normalize_dataset()
function to also normalize datasets with latitudes given as
latitude_centers
and to invert decreasing latitude coordinate values. - Introduced
xcube.core.normalize.cubify_dataset()
function to normalize a dataset
and finally assert the result complies to the xcube dataset conventions. - Fixed that data stores
directory
ands3
were not able to handle data identifiers that they
had assigned themselves duringwrite_data()
. (#450)
0.8.1
Changes in 0.8.1
-
Improved support of datasets with time given as
cftime.DatetimeGregorian
orcftime.DatetimeJulian
. -
Fixed out-of-memory error raised if spatial subsets were created from
cubes with large spatial dimensions. (#442) -
Fixed example Notebook
compute_dask_array
and renamed it
intocompute_array_from_func
. (#385) -
Fixed a problem with the S3 data store that occurred if the store was
configured withoutbucket_name
and the (Zarr) data was opened
withconsolidated=True
. -
The functions
xcube.core.compute.compute_cube()
andxcube.core.compute.compute_dataset()
can now alter the shape of input datasets. (#289)
0.8.0
Changes in 0.8.0
- Harmonized retrieval of spatial and temporal bounds of a dataset:
To determine spatial bounds, usexcube.core.geom.get_dataset_bounds()
,
to determine temporal bounds, usexcube.core.timecoord.get_time_range_from_data()
.
Both methods will attempt to get the values from associated bounds arrays first. - Fixed broken JSON object serialisation of objects returned by
DataStore.describe_object()
. (#432) - Changed behaviour and signature of
xcube.core.store.DataStore.get_dataset_ids()
.
The keyword argumentinclude_titles: str = True
has been replaced by
include_attrs: Sequence[str] = None
and the return value changes accordingly:- If
include_attrs
is None (the default), the method returns an iterator
of dataset identifiers data_id of typestr
. - If
include_attrs
is a sequence of attribute names, the method returns
an iterator of tuples (data_id, attrs) of typeTuple[str, Dict]
.
Henceinclude_attrs
can be used to obtain a minimum set of dataset
metadata attributes for each returned data_id.
However,include_attrs
is not yet implemented so far in the "s3",
"memory", and "directory" data stores. (#420)
- If
- Directory and S3 Data Store consider format of data denoted by data id when
usingget_opener_ids()
. - S3 Data Store will only recognise a
consolidated = True
parameter setting,
if the file{bucket}/{data_id}/.zmetadata
exists. xcube gen2
will now ensure that temporal subsets can be created. (#430)- Enhance
xcube serve
for use in containers: (#437)- In addition to option
--config
or-c
, dataset configurations can now
be passed via environment variableXCUBE_SERVE_CONFIG_FILE
. - Added new option
--base-dir
or-b
to pass the base directory to
resolve relative paths in dataset configurations. In addition, the value
can be passed via environment variableXCUBE_SERVE_BASE_DIR
.
- In addition to option
0.8.0.dev7
Changes in 0.8.0 (in development)
- Fixed broken JSON object serialisation of objects returned by
DataStore.describe_object()
. (#432) - Changed behaviour and signature of
xcube.core.store.DataStore.get_dataset_ids()
.
The keyword argumentinclude_titles: str = True
has been replaced by
include_attrs: Sequence[str] = None
and the return value changes accordingly:- If
include_attrs
is None (the default), the method returns an iterator
of dataset identifiers data_id of typestr
. - If
include_attrs
is a sequence of attribute names, the method returns
an iterator of tuples (data_id, attrs) of typeTuple[str, Dict]
.
Henceinclude_attrs
can be used to obtain a minimum set of dataset
metadata attributes for each returned data_id.
However,include_attrs
is not yet implemented so far in the "s3",
"memory", and "directory" data stores. (#420)
- If
- Directory and S3 Data Store consider format of data denoted by data id when
usingget_opener_ids()
. - S3 Data Store will only recognise a
consolidated = True
parameter setting,
if the file{bucket}/{data_id}/.zmetadata
exists. xcube gen2
will now ensure that temporal subsets can be created. (#430)
0.7.2
Changes in 0.7.2
-
xcube gen2
now allows for specifying the final data cube's chunk
sizes. The newcube_config
parameter is namedchunks
, is optional
and if given, must be a dictionary that maps a dimension name to a
chunk size or toNone
(= no chunking). The chunk sizes only apply
to data variables. Coordinate variables will not be affected, e.g.
"time", "lat", "lon" will not be chunked. (#426) -
xcube gen2
now creates subsets from datasets returned by data stores that
do not recognize cube subset parametersvariable_names
,bbox
, and
time_range
. (#423) -
Fixed a problem where S3 data store returned outdated bucket items. (#422)
0.8.0.dev6
S3 Data Store will only recognise a consolidated = True
parameter setting, if the file {bucket}/{data_id}/.zmetadata
exists.
0.8.0.dev5
Changes in 0.8.0.dev5 (in development)
- S3 Data Store's get_type_specifier_for_data returns a tuple of strings now, as specified by the interface
- S3 Data Store's has_data will not throw an exception when a type specifier is given as parameter
0.8.0.dev4
Changes in 0.8.0.dev4 (in development)
- Directory and S3 Data Store consider format of data denoted by data id when using
get_opener_ids()
. - Fixed error with spatial_resolution when dumping dataset descriptor as json