0.2.0
Changes in 0.2.0
New
- Added first version of the xcube documentation generated from
./docs
folder.
Enhancements
-
Reorganisation of the Documentation and Examples Section (partly addressing #106)
-
Loosened python conda environment to satisfy conda-forge requirements
-
Making CLI parameters consistent and removing or changing parameter abbreviations in case they were used twice for different params. (partly addressing #91). For every CLI command which is generating an output a path must be provided by the option
-o
,--output
. If not provided by the user, a default output_path is generated. The following CLI parameter have changed and their abbreviation is not enabled anymore :xcube gen -v
is now onlyxcube gen --vars
orxcube gen --variables
xcube gen -p
is nowxcube gen -P
xcube gen -i
is nowxcube gen -I
xcube gen -r
is nowxcube gen -R
xcube gen -s
is nowxcube gen -S
xcube chunk -c
is nowxcube chunk -C
xcube level -l
is nowxcube level -L
xcube dump -v
is nowxcube dump --variable
orxcube dump --var
xcube dump -e
is nowxcube dump -E
xcube vars2dim -v
is nowxcube vars2dim --variable
orxcube vars2dim --var
xcube vars2dim --var_name
is nowxcube vars2dim --variable
orxcube vars2dim --var
xcube vars2dim -d
is nowxcube vars2dim -D
xcube grid res -d
is nowxcube grid res -D
xcube grid res -c
is nowxcube grid res --cov
orxcube grid res --coverage
xcube grid res -n
is nowxcube grid res -N
orxcube grid res --num_results
xcube serve -p
is nowxcube serve -P
xcube serve -a
is nowxcube serve -A
-
Added option
inclStDev
andinclCount
query parameters tots/{dataset}/{variable}/geometry
and derivates.
If used withinclStDev=1
, Xcube Viewer will show error bars for each time series point. -
xcube.api.new_cube
function now accepts callables as values for variables.
This allows to compute variable values depending on the (t, y, x) position
in the cube. Useful for testing. -
xcube.api
now exports theMaskSet
class which is useful for decoding flag values encoding following the
CF conventions. -
Added new CLI tool
xcube optimize
and API functionxcube.api.optimize_dataset
optimizes data cubes for cloud object storage deployment. (#141) -
Added two new spatial dataset operations to Python API
xcube.api
(#148):mask_dataset_by_geometry(dataset, geometry)
clip and mask a dataset by geometryclip_dataset_by_geometry(dataset, geometry)
just clip a dataset by geometry
-
Changed the dev version tag from 0.2.0.dev3 to 0.2.0.dev
-
The behavior of web API
/datasets?details=1
has changed.
The call no longer includes associated vector data as GeoJSON. Instead new API
has beed added to fetch new vector data on demand:
/datasets/{dataset}/places
and/datasets/{dataset}/places/{place}
(#130) -
xcube serve
accepts custom SNAP colormaps. The path to a SAP .cpd file can be passed via the server
configuration file with the paramter [ColorFile] instead of [ColorBar]. (#84) -
xcube serve
can now be configured to serve cubes that are associated
with another cube with same data but different chunking (#115).
E.g. using chunks such astime=512,lat=1,lon=1
can drastically improve
time-series extractions.
Have a look at the demo config inxube/webapi/res/demo/config.yml
. -
xcube serve
does now offer a AWS S3 compatible data access API (#97): -
xcube serve
now verifies that a configured cube is valid once it is opened. (#107) -
Added new CLI command
xcube verify
performing xcube dataset verification. (#19) -
Reworked
xcube extract
to be finally useful and effective for point data extraction. (#102) -
xcube server
can now filter datasets by point coordinate, e.g./datasets?point=12.5,52.8
. (#50) -
xcube server
can now limit time series to a maximum number of
valid (not NaN) values. To activate, pass optional query parametermaxValids
to the various/ts
functions. The special value-1
will restrict the result to contain only valid values. (#113) -
Reworked
xcube gen
to be more user-friendly and more consistent with other tools.
The changes are- Removed
--dir
and--name
options and replaced it by single--output
option,
whose default value isout.zarr
. (#45) - The
--format
option no longer has a default value. If not given,
format is guessed from--output
option. - Renamed following parameters in the configuration file:
input_files
intoinput_paths
, also because paths may point into object storage
locations (buckets);output_file
intooutput_path
, to be consistent withinput_paths
.
- Removed
-
Added new CLI command
xcube prune
. The tool deletes all block files associated with empty (NaN-
only) chunks in given INPUT cube, which must have ZARR format. This can drastically reduce files
in sparse cubes and improve cube reading performance. (#92) -
xcube serve
has a newprefix
option which is a path appended to the server's host.
Theprefix
option replaces thename
option which is now deprecated but kept
for backward compatibility. (#79) -
Added new CLI command
xcube resample
that is used to generate temporarily up- or downsampled
data cubes from other data cubes. -
xcube serve
can now be run with xcube dataset paths and styling information given via the CLI rather
than a configuration file. For examplexcube serve --styles conc_chl=(0,20,"viridis") /path/to/my/chl-cube.zarr
.
This allows for quick inspection of newly generated cubes viaxcube gen
.
Also added option--show
that starts the Xcube viewer on desktop environments in a browser. -
Added new
xcube apply
command that can be used to generate an output cube computed from a Python function
that is applied to one or more input cubes.
The command is still in development and therefore hidden. -
Added new
xcube timeit
command that can be used to measure the time required for
parameterized command invocations.
The command is still in development and therefore hidden. -
Added global
xcube --scheduler SCHEDULER
option for Dask distributed computing (#58) -
Added global
xcube --traceback
option, removed localxcube gen --traceback
option -
Completed version 1 of an xcube developer guide.
-
Added
xcube serve
command (#43) -
xcube serve
: Time-series web API now also returns "uncertainty" (#48) -
Added
xcube level
command to allow for creating spatial pyramid levels (#38) -
xcube gen
accepts multiple configuration files that will be merged in order (#21) -
Added
xcube gen
option--sort
when input data list should be sorted (#33) -
Added
xcube vars2dim
command to make variables a cube dimension (#31) -
Added
xcube serve
option--traceperf
that allows switching on performance diagnostics. -
Included possibility to read the input file paths from a text file. (#47)
-
Restructured and clarified code base (#27)
-
Moved to Python 3.7 (#25)
-
Excluding all input processors except for the default one. They are now plugins and have own repositories within the
xcube's organisation. (#49)
Fixes
xcube gen
CLI now updates metadata correctly. (#181)- It was no longer possible to use the
xcube gen
CLI with--proc
option. (#120) totalCount
attribute of time series returned by Web APIts/{dataset}/{variable}/{geom-type}
now
contains the correct number of possible observations. Was always1
before.- Renamed Web API function
ts/{dataset}/{variable}/places
into
ts/{dataset}/{variable}/features
. xcube gen
is now taking care that when new time slices are added to an existing
cube, this is done by maintaining the chronological order. New time slices are
either appended, inserted, or replaced. (#64) (#139)- Fixed
xcube serve
issue with WMTS KVP methodGetTile
with query parametertime
whose value can now also have the two forms<start-date>/<end-date>
and just<date>
. (#132) - Fixed
xcube extract
regression that stopped working after Pandas update (#95) - Fixed problem where CTRL+C didn't function anymore with
xcube serve
. (#87) - Fixed error
indexes along dimension 'y' are not equal
occurred when using
xcube gen
with processed variables that used flag values (#86) - Fixed
xcube serve
WMTS KVP API to allow for case-insensitive query parameters. (#77) - Fixed error in plugins when importing
xcube.api.gen
(#62) - Fixed import of plugins only when executing
xcube.cli
(#66)