From b1ce374689602a1a5ebbc0b533d1996521fed9a0 Mon Sep 17 00:00:00 2001 From: Janis Gailis Date: Wed, 6 Sep 2017 16:41:04 +0200 Subject: [PATCH 01/11] Reduce the amount of tags Reduce the amount of tags used in operations to a predetermined set (maybe module names && tags from wiki) --- cate/ops/aggregate.py | 4 ++-- cate/ops/anomaly.py | 2 +- cate/ops/coregistration.py | 2 +- cate/ops/index.py | 2 +- cate/ops/io.py | 28 ++++++++++++++-------------- cate/ops/outliers.py | 2 +- cate/ops/pandas.py | 2 +- cate/ops/plot.py | 2 +- cate/ops/select.py | 4 ++-- cate/ops/subset.py | 6 +++--- cate/ops/timeseries.py | 4 ++-- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/cate/ops/aggregate.py b/cate/ops/aggregate.py index 6a7438212..82f7fe24d 100644 --- a/cate/ops/aggregate.py +++ b/cate/ops/aggregate.py @@ -41,7 +41,7 @@ from cate.ops.normalize import adjust_temporal_attrs -@op(tags=['aggregate'], version='1.0') +@op(tags=['aggregate', 'temporal'], version='1.0') @op_input('ds', data_type=DatasetLike) @op_input('var', value_set_source='ds', data_type=VarNamesLike) @op_return(add_history=True) @@ -132,7 +132,7 @@ def _mean(ds: xr.Dataset, monitor: Monitor, step: float): return retset -@op(tags=['aggregate'], version='1.0') +@op(tags=['aggregate', 'temporal'], version='1.0') @op_input('method', value_set=['mean', 'max', 'median', 'prod', 'sum', 'std', 'var', 'argmax', 'argmin', 'first', 'last']) @op_input('ds', data_type=DatasetLike) diff --git a/cate/ops/anomaly.py b/cate/ops/anomaly.py index 69f93d52c..466c369bf 100644 --- a/cate/ops/anomaly.py +++ b/cate/ops/anomaly.py @@ -40,7 +40,7 @@ _ALL_FILE_FILTER = dict(name='All Files', extensions=['*']) -@op(tags=['anomaly', 'climatology'], version='1.0') +@op(tags=['anomaly'], version='1.0') @op_input('file', file_open_mode='w', file_filters=[dict(name='NetCDF', extensions=['nc']), _ALL_FILE_FILTER]) @op_return(add_history=True) def anomaly_external(ds: xr.Dataset, diff --git a/cate/ops/coregistration.py b/cate/ops/coregistration.py index 147e420aa..da8728586 100644 --- a/cate/ops/coregistration.py +++ b/cate/ops/coregistration.py @@ -44,7 +44,7 @@ from cate.ops.normalize import adjust_spatial_attrs -@op(tags=['geometric', 'coregistration', 'geom', 'global', 'resampling'], +@op(tags=['geometric', 'coregistration'], version='1.0') @op_input('method_us', value_set=['nearest', 'linear']) @op_input('method_ds', value_set=['first', 'last', 'mean', 'mode', 'var', 'std']) diff --git a/cate/ops/index.py b/cate/ops/index.py index 71d4cba2e..fd0853536 100644 --- a/cate/ops/index.py +++ b/cate/ops/index.py @@ -42,7 +42,7 @@ _ALL_FILE_FILTER = dict(name='All Files', extensions=['*']) -@op(tags=['index', 'nino34']) +@op(tags=['index']) @op_input('file', file_open_mode='r', file_filters=[dict(name='NetCDF', extensions=['nc']), _ALL_FILE_FILTER]) @op_input('var', value_set_source='ds', data_type=VarName) def enso_nino34(ds: xr.Dataset, diff --git a/cate/ops/io.py b/cate/ops/io.py index e270e02ff..c6a823bfb 100644 --- a/cate/ops/io.py +++ b/cate/ops/io.py @@ -37,7 +37,7 @@ _ALL_FILE_FILTER = dict(name='All Files', extensions=['*']) -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('ds_name') @op_input('time_range', data_type=TimeRangeLike) @op_input('region', data_type=PolygonLike) @@ -68,7 +68,7 @@ def open_dataset(ds_name: str, # noinspection PyShadowingBuiltins -@op(tags=['output'], no_cache=True) +@op(tags=['io', 'utility'], no_cache=True) @op_input('ds') @op_input('file', file_open_mode='w', file_filters=[dict(name='NetCDF', extensions=['nc']), _ALL_FILE_FILTER]) @op_input('format', value_set=['NETCDF4', 'NETCDF4_CLASSIC', 'NETCDF3_64BIT', 'NETCDF3_CLASSIC']) @@ -86,7 +86,7 @@ def save_dataset(ds: xr.Dataset, file: str, format: str = None, monitor: Monitor # noinspection PyShadowingBuiltins -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('file', file_open_mode='r') @op_input('format') def read_object(file: str, format: str = None) -> object: @@ -103,7 +103,7 @@ def read_object(file: str, format: str = None) -> object: # noinspection PyShadowingBuiltins -@op(tags=['output'], no_cache=True) +@op(tags=['io', 'utility'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[_ALL_FILE_FILTER]) @op_input('format') @@ -119,7 +119,7 @@ def write_object(obj, file: str, format: str = None): cate.core.objectio.write_object(obj, file, format_name=format) -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('file', file_open_mode='r', file_filters=[dict(name='Plain Text', extensions=['txt']), _ALL_FILE_FILTER]) @op_input('encoding') def read_text(file: str, encoding: str = None) -> str: @@ -138,7 +138,7 @@ def read_text(file: str, encoding: str = None) -> str: return file.read() -@op(tags=['output'], no_cache=True) +@op(tags=['io', 'utility'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='Plain Text', extensions=['txt']), _ALL_FILE_FILTER]) @op_input('encoding') @@ -158,7 +158,7 @@ def write_text(obj: object, file: str, encoding: str = None): return file.write(str(obj)) -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('file', file_open_mode='r', file_filters=[dict(name='JSON', extensions=['json']), _ALL_FILE_FILTER]) @op_input('encoding') def read_json(file: str, encoding: str = None) -> object: @@ -176,7 +176,7 @@ def read_json(file: str, encoding: str = None) -> object: return json.load(file) -@op(tags=['output'], no_cache=True) +@op(tags=['io', 'utility'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='JSON', extensions=['json']), _ALL_FILE_FILTER]) @op_input('encoding') @@ -197,7 +197,7 @@ def write_json(obj: object, file: str, encoding: str = None, indent: str = None) return json.dump(obj, file, indent=indent) -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('file', data_type=FileLike, file_open_mode='r', @@ -257,7 +257,7 @@ def read_csv(file: FileLike.TYPE, return retframe -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('file', file_open_mode='r', file_filters=[dict(name='ESRI Shapefiles', extensions=['shp']), dict(name='GeoJSON', extensions=['json', 'geojson']), _ALL_FILE_FILTER]) @@ -271,7 +271,7 @@ def read_geo_data_frame(file: str) -> gpd.GeoDataFrame: return gpd.read_file(file, mode="r", enabled_drivers=['GeoJSON', 'ESRI Shapefile']) -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('file', file_open_mode='r', file_filters=[dict(name='ESRI Shapefiles', extensions=['shp']), dict(name='GeoJSON', extensions=['json', 'geojson']), _ALL_FILE_FILTER]) @@ -285,7 +285,7 @@ def read_geo_data_collection(file: str) -> fiona.Collection: return fiona.open(file, mode="r") -@op(tags=['input']) +@op(tags=['io', 'utility']) @op_input('file', file_open_mode='r', file_filters=[dict(name='NetCDF', extensions=['nc'])]) @op_input('drop_variables', data_type=VarNamesLike) @op_input('decode_cf') @@ -319,7 +319,7 @@ def read_netcdf(file: str, return ds -@op(tags=['output'], no_cache=True) +@op(tags=['io', 'utility'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='NetCDF 3', extensions=['nc'])]) @op_input('engine') @@ -334,7 +334,7 @@ def write_netcdf3(obj: xr.Dataset, file: str, engine: str = None): obj.to_netcdf(file, format='NETCDF3_64BIT', engine=engine) -@op(tags=['output'], no_cache=True) +@op(tags=['io', 'utility'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='NetCDF 4', extensions=['nc'])]) @op_input('engine') diff --git a/cate/ops/outliers.py b/cate/ops/outliers.py index 6faf6af10..6fdbde597 100644 --- a/cate/ops/outliers.py +++ b/cate/ops/outliers.py @@ -38,7 +38,7 @@ from cate import __version__ -@op(version='1.0') +@op(tags=['filter'], version='1.0') @op_input('ds', data_type=DatasetLike) @op_input('var', value_set_source='ds', data_type=VarNamesLike) @op_return(add_history=True) diff --git a/cate/ops/pandas.py b/cate/ops/pandas.py index 6167d52ca..c8b721f22 100644 --- a/cate/ops/pandas.py +++ b/cate/ops/pandas.py @@ -34,7 +34,7 @@ from cate.core.op import op_input, op -@op(tags=['utility']) +@op(tags=['utility', 'internal']) @op_input('method', value_set=['backfill', 'bfill', 'pad', 'ffill']) def pandas_fillna(df: pd.DataFrame, value: float=None, diff --git a/cate/ops/plot.py b/cate/ops/plot.py index d9781d2cc..53adc4a84 100644 --- a/cate/ops/plot.py +++ b/cate/ops/plot.py @@ -83,7 +83,7 @@ PLOT_FILE_FILTER = dict(name='Plot Outputs', extensions=PLOT_FILE_EXTENSIONS) -@op(tags=['plot', 'map']) +@op(tags=['plot']) @op_input('ds') @op_input('var', value_set_source='ds', data_type=VarName) @op_input('indexers', data_type=DictLike) diff --git a/cate/ops/select.py b/cate/ops/select.py index 38d39ba01..5d6ea9a91 100644 --- a/cate/ops/select.py +++ b/cate/ops/select.py @@ -38,7 +38,7 @@ from cate.core.types import VarNamesLike -@op(tags=['select', 'subset', 'filter', 'var']) +@op(tags=['filter']) @op_input('ds') @op_input('var', value_set_source='ds', data_type=VarNamesLike) def select_var(ds: xr.Dataset, var: VarNamesLike.TYPE = None) -> xr.Dataset: @@ -68,7 +68,7 @@ def select_var(ds: xr.Dataset, var: VarNamesLike.TYPE = None) -> xr.Dataset: return ds.drop(dropped_var_names) -@op(tags=['select', 'filter', 'var']) +@op(tags=['filter']) def select_features(df: gpd.GeoDataFrame, var: dict = None) -> gpd.GeoDataFrame: """ Filter the dataframe, by leaving only the desired features in it. The original dataframe diff --git a/cate/ops/subset.py b/cate/ops/subset.py index 4b8572808..54f4c46d1 100644 --- a/cate/ops/subset.py +++ b/cate/ops/subset.py @@ -39,7 +39,7 @@ from cate.ops.normalize import adjust_spatial_attrs, adjust_temporal_attrs -@op(tags=['geometric', 'subset', 'spatial', 'geom'], version='1.0') +@op(tags=['geometric', 'spatial', 'subset'], version='1.0') @op_input('region', data_type=PolygonLike) @op_return(add_history=True) def subset_spatial(ds: xr.Dataset, @@ -175,7 +175,7 @@ def _crosses_antimeridian(region: PolygonLike.TYPE) -> bool: return False -@op(tags=['subset', 'temporal'], version='1.0') +@op(tags=['subset', 'temporal', 'filter'], version='1.0') @op_input('ds', data_type=DatasetLike) @op_input('time_range', data_type=TimeRangeLike) @op_return(add_history=True) @@ -202,7 +202,7 @@ def subset_temporal(ds: xr.Dataset, ' dataset may help'.format(ds.time.dtype)) -@op(tags=['subset', 'temporal'], version='1.0') +@op(tags=['subset', 'temporal', 'filter', 'utility'], version='1.0') @op_input('ds', data_type=DatasetLike) @op_return(add_history=True) def subset_temporal_index(ds: xr.Dataset, diff --git a/cate/ops/timeseries.py b/cate/ops/timeseries.py index 8c77e98af..79f4049de 100644 --- a/cate/ops/timeseries.py +++ b/cate/ops/timeseries.py @@ -36,7 +36,7 @@ from cate.core.types import VarNamesLike, PointLike -@op(tags=['timeseries', 'temporal', 'point']) +@op(tags=['timeseries', 'temporal', 'filter', 'point']) @op_input('point', data_type=PointLike) @op_input('method', value_set=['nearest', 'ffill', 'bfill']) @op_input('var', value_set_source='ds', data_type=VarNamesLike) @@ -75,7 +75,7 @@ def tseries_point(ds: xr.Dataset, return retset.sel(method=method, **indexers) -@op(tags=['timeseries', 'temporal', 'aggregate', 'mean']) +@op(tags=['timeseries', 'temporal']) @op_input('ds') @op_input('var', value_set_source='ds', data_type=VarNamesLike) def tseries_mean(ds: xr.Dataset, From 890e8f82b5c111c48785ef3ad608ce8ea425ea85 Mon Sep 17 00:00:00 2001 From: Janis Gailis Date: Wed, 6 Sep 2017 16:48:33 +0200 Subject: [PATCH 02/11] Move pandas_fillna to utility --- cate/ops/__init__.py | 3 -- cate/ops/pandas.py | 71 ---------------------------------------- cate/ops/utility.py | 37 +++++++++++++++++++++ test/ops/test_pandas.py | 59 --------------------------------- test/ops/test_utility.py | 49 ++++++++++++++++++++++++++- 5 files changed, 85 insertions(+), 134 deletions(-) delete mode 100644 cate/ops/pandas.py delete mode 100644 test/ops/test_pandas.py diff --git a/cate/ops/__init__.py b/cate/ops/__init__.py index c846f37ff..df2a4e296 100644 --- a/cate/ops/__init__.py +++ b/cate/ops/__init__.py @@ -63,7 +63,6 @@ def cate_init(): from .anomaly import anomaly_internal, anomaly_external from .index import enso, enso_nino34, oni from .outliers import detect_outliers -from .pandas import pandas_fillna __all__ = [ @@ -126,6 +125,4 @@ def cate_init(): 'oni', # .outliers 'detect_outliers', - # .pandas - 'pandas_fillna' ] diff --git a/cate/ops/pandas.py b/cate/ops/pandas.py deleted file mode 100644 index c8b721f22..000000000 --- a/cate/ops/pandas.py +++ /dev/null @@ -1,71 +0,0 @@ -# The MIT License (MIT) -# Copyright (c) 2016, 2017 by the ESA CCI Toolbox development team and contributors -# -# Permission is hereby granted, free of charge, to any person obtaining a copy of -# this software and associated documentation files (the "Software"), to deal in -# the Software without restriction, including without limitation the rights to -# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -# of the Software, and to permit persons to whom the Software is furnished to do -# so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -""" -This module provides general utility operations that wrap specific ``pandas`` functions. - -The intention is to make available parts of the ``pandas`` API as a set of general, -domain-independent utility functions. - -All operations in this module are tagged with the ``"utility"`` tag. - -""" - -import pandas as pd - -from cate.core.op import op_input, op - - -@op(tags=['utility', 'internal']) -@op_input('method', value_set=['backfill', 'bfill', 'pad', 'ffill']) -def pandas_fillna(df: pd.DataFrame, - value: float=None, - method: str=None, - limit: int=None, - **kwargs) -> pd.DataFrame: - """ - Return a new dataframe with NaN values filled according to the given value - or method. - - This is a wrapper for the ``pandas.fillna()`` function For additional - keyword arguments and information refer to pandas documentation at - http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html - - :param df: The dataframe to fill - :param value: Value to fill - :param method: Method according to which to fill NaN. ffill/pad will - propagate the last valid observation to the next valid observation. - backfill/bfill will propagate the next valid observation back to the last - valid observation. - :param limit: Maximum number of NaN values to forward/backward fill. - :return: A dataframe with nan values filled with the given value or - according to the given method. - """ - # The following code is needed, because Pandas treats any kw given in kwargs as being set, even if just None. - kwargs = dict(kwargs) - if value: - kwargs.update(value=value) - if method: - kwargs.update(method=method) - if limit: - kwargs.update(limit=limit) - - return df.fillna(**kwargs) diff --git a/cate/ops/utility.py b/cate/ops/utility.py index 96600a801..fe799c305 100644 --- a/cate/ops/utility.py +++ b/cate/ops/utility.py @@ -155,3 +155,40 @@ def no_op(num_steps: int = 10, if fail_after: raise ValueError('Intentionally failed after doing nothing.') monitor.done() + + +@op(tags=['utility', 'internal']) +@op_input('method', value_set=['backfill', 'bfill', 'pad', 'ffill']) +def pandas_fillna(df: pd.DataFrame, + value: float=None, + method: str=None, + limit: int=None, + **kwargs) -> pd.DataFrame: + """ + Return a new dataframe with NaN values filled according to the given value + or method. + + This is a wrapper for the ``pandas.fillna()`` function For additional + keyword arguments and information refer to pandas documentation at + http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html + + :param df: The dataframe to fill + :param value: Value to fill + :param method: Method according to which to fill NaN. ffill/pad will + propagate the last valid observation to the next valid observation. + backfill/bfill will propagate the next valid observation back to the last + valid observation. + :param limit: Maximum number of NaN values to forward/backward fill. + :return: A dataframe with nan values filled with the given value or + according to the given method. + """ + # The following code is needed, because Pandas treats any kw given in kwargs as being set, even if just None. + kwargs = dict(kwargs) + if value: + kwargs.update(value=value) + if method: + kwargs.update(method=method) + if limit: + kwargs.update(limit=limit) + + return df.fillna(**kwargs) diff --git a/test/ops/test_pandas.py b/test/ops/test_pandas.py deleted file mode 100644 index d647ebbbb..000000000 --- a/test/ops/test_pandas.py +++ /dev/null @@ -1,59 +0,0 @@ -""" -Tests for pandas wrappers -""" - -from unittest import TestCase - -import pandas as pd -import numpy as np - -from cate.ops import pandas_fillna -from cate.core.op import OP_REGISTRY -from cate.util.misc import object_to_qualified_name - - -class TestFillna(TestCase): - """ - Test fillna operation - """ - def test_nominal(self): - """ - Test nominal operation - """ - # Test na filling using a given method - data = {'A': [1, 2, 3, np.nan, 4, 9, np.nan, np.nan, 1, 0, 4, 6], - 'B': [5, 6, 8, 7, 5, np.nan, np.nan, np.nan, 1, 2, 7, 6]} - expected = {'A': [1, 2, 3, 3, 4, 9, 9, 9, 1, 0, 4, 6], - 'B': [5, 6, 8, 7, 5, 5, 5, 5, 1, 2, 7, 6]} - time = pd.date_range('2000-01-01', freq='MS', periods=12) - - expected = pd.DataFrame(data=expected, index=time, dtype=float) - df = pd.DataFrame(data=data, index=time, dtype=float) - - actual = pandas_fillna(df, method='ffill') - self.assertTrue(actual.equals(expected)) - - # Test na filling using a given value - actual = pandas_fillna(df, value=3.14) - expected = {'A': [1, 2, 3, 3.14, 4, 9, 3.14, 3.14, 1, 0, 4, 6], - 'B': [5, 6, 8, 7, 5, 3.14, 3.14, 3.14, 1, 2, 7, 6]} - expected = pd.DataFrame(data=expected, index=time, dtype=float) - self.assertTrue(actual.equals(expected)) - - def test_registered(self): - """ - Test operation when run as a registered operation - """ - reg_op = OP_REGISTRY.get_op(object_to_qualified_name(pandas_fillna)) - # Test na filling using a given method - data = {'A': [1, 2, 3, np.nan, 4, 9, np.nan, np.nan, 1, 0, 4, 6], - 'B': [5, 6, 8, 7, 5, np.nan, np.nan, np.nan, 1, 2, 7, 6]} - expected = {'A': [1, 2, 3, 3, 4, 9, 9, 9, 1, 0, 4, 6], - 'B': [5, 6, 8, 7, 5, 5, 5, 5, 1, 2, 7, 6]} - time = pd.date_range('2000-01-01', freq='MS', periods=12) - - expected = pd.DataFrame(data=expected, index=time, dtype=float) - df = pd.DataFrame(data=data, index=time, dtype=float) - - actual = reg_op(df=df, method='ffill') - self.assertTrue(actual.equals(expected)) diff --git a/test/ops/test_utility.py b/test/ops/test_utility.py index 8fc33e656..887080f26 100644 --- a/test/ops/test_utility.py +++ b/test/ops/test_utility.py @@ -9,7 +9,7 @@ import xarray as xr from cate.core.op import OP_REGISTRY -from cate.ops.utility import sel, from_dataframe, identity, literal +from cate.ops.utility import sel, from_dataframe, identity, literal, pandas_fillna from cate.util.misc import object_to_qualified_name @@ -167,3 +167,50 @@ def test_registered(self): self.assertEqual(op(value='3.14'), 3.14) self.assertEqual(op(value='"ha"'), 'ha') self.assertEqual(op(value='[3,4,5]'), [3, 4, 5]) + + +class TestFillna(TestCase): + """ + Test fillna operation + """ + def test_nominal(self): + """ + Test nominal operation + """ + # Test na filling using a given method + data = {'A': [1, 2, 3, np.nan, 4, 9, np.nan, np.nan, 1, 0, 4, 6], + 'B': [5, 6, 8, 7, 5, np.nan, np.nan, np.nan, 1, 2, 7, 6]} + expected = {'A': [1, 2, 3, 3, 4, 9, 9, 9, 1, 0, 4, 6], + 'B': [5, 6, 8, 7, 5, 5, 5, 5, 1, 2, 7, 6]} + time = pd.date_range('2000-01-01', freq='MS', periods=12) + + expected = pd.DataFrame(data=expected, index=time, dtype=float) + df = pd.DataFrame(data=data, index=time, dtype=float) + + actual = pandas_fillna(df, method='ffill') + self.assertTrue(actual.equals(expected)) + + # Test na filling using a given value + actual = pandas_fillna(df, value=3.14) + expected = {'A': [1, 2, 3, 3.14, 4, 9, 3.14, 3.14, 1, 0, 4, 6], + 'B': [5, 6, 8, 7, 5, 3.14, 3.14, 3.14, 1, 2, 7, 6]} + expected = pd.DataFrame(data=expected, index=time, dtype=float) + self.assertTrue(actual.equals(expected)) + + def test_registered(self): + """ + Test operation when run as a registered operation + """ + reg_op = OP_REGISTRY.get_op(object_to_qualified_name(pandas_fillna)) + # Test na filling using a given method + data = {'A': [1, 2, 3, np.nan, 4, 9, np.nan, np.nan, 1, 0, 4, 6], + 'B': [5, 6, 8, 7, 5, np.nan, np.nan, np.nan, 1, 2, 7, 6]} + expected = {'A': [1, 2, 3, 3, 4, 9, 9, 9, 1, 0, 4, 6], + 'B': [5, 6, 8, 7, 5, 5, 5, 5, 1, 2, 7, 6]} + time = pd.date_range('2000-01-01', freq='MS', periods=12) + + expected = pd.DataFrame(data=expected, index=time, dtype=float) + df = pd.DataFrame(data=data, index=time, dtype=float) + + actual = reg_op(df=df, method='ffill') + self.assertTrue(actual.equals(expected)) From 193d4dbbacd1179fa3c82d945d62dae8db3f0b09 Mon Sep 17 00:00:00 2001 From: Janis Gailis Date: Wed, 6 Sep 2017 16:57:03 +0200 Subject: [PATCH 03/11] Fix CLI test Now there are two 'internal' operations --- test/cli/test_cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cli/test_cli.py b/test/cli/test_cli.py index 4d0e3420f..2d4a55536 100644 --- a/test/cli/test_cli.py +++ b/test/cli/test_cli.py @@ -282,7 +282,7 @@ def test_op_list(self): self.assert_main(['op', 'list'], expected_stdout=['operations found']) self.assert_main(['op', 'list', '-n', 'read'], expected_stdout=['operations found']) self.assert_main(['op', 'list', '-n', 'nevermatch'], expected_stdout=['No operations found']) - self.assert_main(['op', 'list', '--internal'], expected_stdout=['One operation found']) + self.assert_main(['op', 'list', '--internal'], expected_stdout=['2 operations found']) self.assert_main(['op', 'list', '--tag', 'input'], expected_stdout=['8 operations found']) self.assert_main(['op', 'list', '--tag', 'output'], expected_stdout=['6 operations found']) From 6826a5bcc0715a0368126d751792ccf23b7320dd Mon Sep 17 00:00:00 2001 From: Janis Gailis Date: Wed, 6 Sep 2017 16:59:20 +0200 Subject: [PATCH 04/11] Revert io operations to 'input' and 'output' tags --- cate/ops/io.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/cate/ops/io.py b/cate/ops/io.py index c6a823bfb..e270e02ff 100644 --- a/cate/ops/io.py +++ b/cate/ops/io.py @@ -37,7 +37,7 @@ _ALL_FILE_FILTER = dict(name='All Files', extensions=['*']) -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('ds_name') @op_input('time_range', data_type=TimeRangeLike) @op_input('region', data_type=PolygonLike) @@ -68,7 +68,7 @@ def open_dataset(ds_name: str, # noinspection PyShadowingBuiltins -@op(tags=['io', 'utility'], no_cache=True) +@op(tags=['output'], no_cache=True) @op_input('ds') @op_input('file', file_open_mode='w', file_filters=[dict(name='NetCDF', extensions=['nc']), _ALL_FILE_FILTER]) @op_input('format', value_set=['NETCDF4', 'NETCDF4_CLASSIC', 'NETCDF3_64BIT', 'NETCDF3_CLASSIC']) @@ -86,7 +86,7 @@ def save_dataset(ds: xr.Dataset, file: str, format: str = None, monitor: Monitor # noinspection PyShadowingBuiltins -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('file', file_open_mode='r') @op_input('format') def read_object(file: str, format: str = None) -> object: @@ -103,7 +103,7 @@ def read_object(file: str, format: str = None) -> object: # noinspection PyShadowingBuiltins -@op(tags=['io', 'utility'], no_cache=True) +@op(tags=['output'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[_ALL_FILE_FILTER]) @op_input('format') @@ -119,7 +119,7 @@ def write_object(obj, file: str, format: str = None): cate.core.objectio.write_object(obj, file, format_name=format) -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('file', file_open_mode='r', file_filters=[dict(name='Plain Text', extensions=['txt']), _ALL_FILE_FILTER]) @op_input('encoding') def read_text(file: str, encoding: str = None) -> str: @@ -138,7 +138,7 @@ def read_text(file: str, encoding: str = None) -> str: return file.read() -@op(tags=['io', 'utility'], no_cache=True) +@op(tags=['output'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='Plain Text', extensions=['txt']), _ALL_FILE_FILTER]) @op_input('encoding') @@ -158,7 +158,7 @@ def write_text(obj: object, file: str, encoding: str = None): return file.write(str(obj)) -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('file', file_open_mode='r', file_filters=[dict(name='JSON', extensions=['json']), _ALL_FILE_FILTER]) @op_input('encoding') def read_json(file: str, encoding: str = None) -> object: @@ -176,7 +176,7 @@ def read_json(file: str, encoding: str = None) -> object: return json.load(file) -@op(tags=['io', 'utility'], no_cache=True) +@op(tags=['output'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='JSON', extensions=['json']), _ALL_FILE_FILTER]) @op_input('encoding') @@ -197,7 +197,7 @@ def write_json(obj: object, file: str, encoding: str = None, indent: str = None) return json.dump(obj, file, indent=indent) -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('file', data_type=FileLike, file_open_mode='r', @@ -257,7 +257,7 @@ def read_csv(file: FileLike.TYPE, return retframe -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('file', file_open_mode='r', file_filters=[dict(name='ESRI Shapefiles', extensions=['shp']), dict(name='GeoJSON', extensions=['json', 'geojson']), _ALL_FILE_FILTER]) @@ -271,7 +271,7 @@ def read_geo_data_frame(file: str) -> gpd.GeoDataFrame: return gpd.read_file(file, mode="r", enabled_drivers=['GeoJSON', 'ESRI Shapefile']) -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('file', file_open_mode='r', file_filters=[dict(name='ESRI Shapefiles', extensions=['shp']), dict(name='GeoJSON', extensions=['json', 'geojson']), _ALL_FILE_FILTER]) @@ -285,7 +285,7 @@ def read_geo_data_collection(file: str) -> fiona.Collection: return fiona.open(file, mode="r") -@op(tags=['io', 'utility']) +@op(tags=['input']) @op_input('file', file_open_mode='r', file_filters=[dict(name='NetCDF', extensions=['nc'])]) @op_input('drop_variables', data_type=VarNamesLike) @op_input('decode_cf') @@ -319,7 +319,7 @@ def read_netcdf(file: str, return ds -@op(tags=['io', 'utility'], no_cache=True) +@op(tags=['output'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='NetCDF 3', extensions=['nc'])]) @op_input('engine') @@ -334,7 +334,7 @@ def write_netcdf3(obj: xr.Dataset, file: str, engine: str = None): obj.to_netcdf(file, format='NETCDF3_64BIT', engine=engine) -@op(tags=['io', 'utility'], no_cache=True) +@op(tags=['output'], no_cache=True) @op_input('obj') @op_input('file', file_open_mode='w', file_filters=[dict(name='NetCDF 4', extensions=['nc'])]) @op_input('engine') From ea5aff0f87b6ad3b5ac5b657d2cd20ccf1222494 Mon Sep 17 00:00:00 2001 From: Janis Gailis Date: Wed, 6 Sep 2017 17:42:16 +0200 Subject: [PATCH 05/11] Update the developers' guide --- .../dg_operation_development.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/doc/source/developer_guide/dg_operation_development.rst b/doc/source/developer_guide/dg_operation_development.rst index d9e1193ea..b547a98f2 100644 --- a/doc/source/developer_guide/dg_operation_development.rst +++ b/doc/source/developer_guide/dg_operation_development.rst @@ -107,6 +107,22 @@ If the newly created operation is meant to be part of the Cate core operation suite, it should be possible to import it when Cate is used programmatically. Hence, it should be put in ``cate/ops`` and imported in ``cate/ops/__init__.py``. +Tags +---- + +Each operation should have at least one tag. This can be the module name, +``input`` or ``output`` in case of operations in the ``io`` module, as well as +a tag from the following list: + + * ``utility`` for any utility operations + * ``internal`` for internal operations, they will not be shown in user + interfaces + * ``geometric`` for geometric operations + * ``point`` for operations that operate on single lon/lat points + * ``spatial`` for predominantly spatial operations + * ``temporal`` for predominantly temporal operations + * ``filter`` for operations that filter out things from an input to an output + .. _dg-op-history-information: @@ -558,4 +574,6 @@ Operation development checklist When a newly created operation coresponds to this checklist well, it can be said with some certainty that the operation behaves well with respect to the Cate + + framework, as well as the wider world. From 1e464d6617b5b7ac6be941a2e8eebbb15ad3a6e4 Mon Sep 17 00:00:00 2001 From: Janis Gailis Date: Wed, 6 Sep 2017 17:45:31 +0200 Subject: [PATCH 06/11] Update CHANGES.md for dev7 --- CHANGES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 24aaacc60..db858ee9e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,4 @@ -## Changes in version 0.9.0.dev7 (unrelease) +## Changes in version 0.9.0.dev7 (unreleased) ### Improvements and new Features @@ -6,6 +6,8 @@ * Filter 't0' in the `make_local` step of **SOILMOISTURE** data sources to make the data usable [#326](https://github.com/CCI-Tools/cate-core/issues/326) +* Use only tags from a predefined set (maybe module name && list in developers' guide) + [#280](https://github.com/CCI-Tools/cate-core/issues/280) ## Changes in version 0.9.0.dev6 From 154321c757c21d6120370b82e9fabbf576c77f24 Mon Sep 17 00:00:00 2001 From: Janis Gailis Date: Wed, 6 Sep 2017 18:10:58 +0200 Subject: [PATCH 07/11] Fix ops/__init__.py --- cate/ops/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cate/ops/__init__.py b/cate/ops/__init__.py index df2a4e296..6af88cbd2 100644 --- a/cate/ops/__init__.py +++ b/cate/ops/__init__.py @@ -57,7 +57,7 @@ def cate_init(): from .resampling import resample_2d, downsample_2d, upsample_2d from .subset import subset_spatial, subset_temporal, subset_temporal_index from .timeseries import tseries_point, tseries_mean -from .utility import sel, from_dataframe, identity, literal +from .utility import sel, from_dataframe, identity, literal, pandas_fillna from .aggregate import long_term_average, temporal_aggregation from .arithmetics import ds_arithmetics, diff from .anomaly import anomaly_internal, anomaly_external @@ -110,6 +110,7 @@ def cate_init(): 'from_dataframe', 'identity', 'literal', + 'pandas_fillna', # .aggregate 'long_term_average', 'temporal_aggregation', From 2f540764d1e4bef41605abcef9a4d8ad63df5e76 Mon Sep 17 00:00:00 2001 From: "Krzysztof (Chris) Bernat" Date: Thu, 7 Sep 2017 14:54:01 +0100 Subject: [PATCH 08/11] 269 avoid making a copy of empty datasources --- cate/ds/esa_cci_odp.py | 32 ++++++++++++----- cate/ds/local.py | 79 ++++++++++++++++++++++++++++++++++-------- 2 files changed, 87 insertions(+), 24 deletions(-) diff --git a/cate/ds/esa_cci_odp.py b/cate/ds/esa_cci_odp.py index 49a97890a..98bed36da 100644 --- a/cate/ds/esa_cci_odp.py +++ b/cate/ds/esa_cci_odp.py @@ -58,7 +58,7 @@ from cate.conf import get_config_value from cate.conf.defaults import NETCDF_COMPRESSION_LEVEL from cate.core.ds import DATA_STORE_REGISTRY, DataStore, DataSource, Schema, \ - open_xarray_dataset, get_data_stores_path, find_data_sources + open_xarray_dataset, get_data_stores_path from cate.core.types import PolygonLike, TimeRange, TimeRangeLike, VarNamesLike, VarNames from cate.ds.local import add_to_data_store_registry, LocalDataSource from cate.util.monitor import Monitor @@ -591,7 +591,14 @@ def update_local(self, time_range: TimeRangeLike.TYPE, monitor: Monitor = Monitor.NONE) -> bool: - data_sources = find_data_sources(id=local_id) # type: Sequence['DataSource'] + local_store = DATA_STORE_REGISTRY.get_data_store('local') + if not local_store: + add_to_data_store_registry() + local_store = DATA_STORE_REGISTRY.get_data_store('local') + if not local_store: + raise ValueError('Cannot initialize `local` DataStore') + + data_sources = local_store.query(id=local_id) # type: Sequence['DataSource'] data_source = next((ds for ds in data_sources if isinstance(ds, LocalDataSource) and ds.id == local_id), None) # type: LocalDataSource if not data_source: @@ -621,9 +628,11 @@ def update_local(self, if to_add: for time_range_to_add in to_add: self._make_local(data_source, time_range_to_add, None, data_source.variables_info, monitor) + data_source.meta_info['temporal_coverage_start'] = time_range[0] + data_source.meta_info['temporal_coverage_end'] = time_range[1] + data_source.update_temporal_coverage(time_range) - # TODO (chris): forman added False (?) to make signature happy - return False + return bool(to_remove or to_add) def delete_local(self, time_range: TimeRangeLike.TYPE) -> int: @@ -966,11 +975,16 @@ def make_local(self, local_ds = local_store.create_data_source(local_name, region, _REFERENCE_DATA_SOURCE_TYPE, self.id, time_range, var_names, meta_info=local_meta_info, lock_file=True) - self._make_local(local_ds, time_range, region, var_names, monitor=monitor) - if local_ds.is_empty: - local_store.remove_data_source(local_ds) - return None - return local_ds + if local_ds: + if not local_ds.is_complete: + self._make_local(local_ds, time_range, region, var_names, monitor=monitor) + + if local_ds.is_empty: + local_store.remove_data_source(local_ds) + return None + local_store.register_ds(local_ds) + return local_ds + return None def _init_file_list(self, monitor: Monitor = Monitor.NONE): if self._file_list: diff --git a/cate/ds/local.py b/cate/ds/local.py index d730b1092..75b4409d1 100644 --- a/cate/ds/local.py +++ b/cate/ds/local.py @@ -52,7 +52,7 @@ from cate.conf import get_config_value from cate.conf.defaults import NETCDF_COMPRESSION_LEVEL -from cate.core.ds import DATA_STORE_REGISTRY, DataStore, DataSource, open_xarray_dataset, find_data_sources +from cate.core.ds import DATA_STORE_REGISTRY, DataStore, DataSource, open_xarray_dataset from cate.core.ds import get_data_stores_path from cate.core.types import PolygonLike, TimeRange, TimeRangeLike, VarNamesLike from cate.util.monitor import Monitor @@ -127,6 +127,7 @@ def __init__(self, self._reference_name = reference_name self._meta_info = meta_info if meta_info else OrderedDict() + self._is_complete = True def _resolve_file_path(self, path) -> Sequence: return glob(os.path.join(self._data_store.data_store_path, path)) @@ -351,18 +352,31 @@ def make_local(self, local_ds = local_store.create_data_source(local_name, region, _REFERENCE_DATA_SOURCE_TYPE, self.id, meta_info=self.meta_info) - self._make_local(local_ds, time_range, region, var_names, monitor) - if local_ds.is_empty: - local_store.remove_data_source(local_ds) - return None - return local_ds + if local_ds: + if not local_ds.is_complete: + self._make_local(local_ds, time_range, region, var_names, monitor=monitor) + + if local_ds.is_empty: + local_store.remove_data_source(local_ds) + return None + + local_store.register_ds(local_ds) + return local_ds + return None def update_local(self, local_id: str, time_range: TimeRangeLike.TYPE, monitor: Monitor = Monitor.NONE) -> bool: - data_sources = find_data_sources(id=local_id) # type: Sequence['DataSource'] + local_store = DATA_STORE_REGISTRY.get_data_store('local') + if not local_store: + add_to_data_store_registry() + local_store = DATA_STORE_REGISTRY.get_data_store('local') + if not local_store: + raise ValueError('Cannot initialize `local` DataStore') + + data_sources = local_store.query(id=local_id) # type: Sequence['DataSource'] data_source = next((ds for ds in data_sources if isinstance(ds, LocalDataSource) and ds.id == local_id), None) # type: LocalDataSource if not data_source: @@ -391,6 +405,10 @@ def update_local(self, if to_add: for time_range_to_add in to_add: self._make_local(data_source, time_range_to_add, None, data_source.variables_info, monitor) + data_source.meta_info['temporal_coverage_start'] = time_range[0] + data_source.meta_info['temporal_coverage_end'] = time_range[1] + data_source.update_temporal_coverage(time_range) + return bool(to_remove or to_add) def add_dataset(self, file, time_coverage: TimeRangeLike.TYPE = None, update: bool = False, @@ -424,6 +442,15 @@ def _extend_temporal_coverage(self, time_range: TimeRangeLike.TYPE): self._temporal_coverage = tuple([time_range[0], self._temporal_coverage[1]]) else: self._temporal_coverage = time_range + self.save() + + def update_temporal_coverage(self, time_range: TimeRangeLike.TYPE): + """ + + :param time_range: Time range to be added to data source temporal coverage + :return: + """ + self._extend_temporal_coverage(time_range) def _reduce_temporal_coverage(self, time_range: TimeRangeLike.TYPE): """ @@ -488,6 +515,14 @@ def variables_info(self): def info_string(self): return 'Files: %s' % (' '.join(self._files)) + @property + def is_complete(self) -> bool: + """ + Return a DataSource creation state + :return: + """ + return self._is_complete + @property def is_empty(self) -> bool: """ @@ -496,6 +531,14 @@ def is_empty(self) -> bool: """ return not self._files or len(self._files) == 0 + def set_completed(self, state: bool): + """ + Sets state of DataSource creation/completion + :param state: Is DataSource completed + :return: + """ + self._is_complete = state + def _repr_html_(self): import html return '\n' \ @@ -579,6 +622,7 @@ def add_pattern(self, data_source_id: str, files: Union[str, Sequence[str]] = No is_first_file = False else: data_source.add_dataset(file) + self.register_ds(data_source) return data_source def remove_data_source(self, data_source: Union[str, DataSource], remove_files: bool = True): @@ -591,7 +635,12 @@ def remove_data_source(self, data_source: Union[str, DataSource], remove_files: os.remove(file_name) if remove_files: shutil.rmtree(os.path.join(self._store_dir, data_source.id), ignore_errors=True) - self._data_sources.remove(data_source) + if data_source in self._data_sources: + self._data_sources.remove(data_source) + + def register_ds(self, data_source: DataSource): + data_source.set_completed(True) + self._data_sources.append(data_source) def create_data_source(self, data_source_id: str, region: PolygonLike.TYPE = None, reference_type: str = None, reference_name: str = None, @@ -602,7 +651,7 @@ def create_data_source(self, data_source_id: str, region: PolygonLike.TYPE = Non data_source_id = '%s.%s' % (self.id, data_source_id) lock_filename = '{}.lock'.format(data_source_id) lock_filepath = os.path.join(self._store_dir, lock_filename) - existing_ds = None + data_source = None for ds in self._data_sources: if ds.id == data_source_id: if lock_file and os.path.isfile(lock_filepath): @@ -614,23 +663,23 @@ def create_data_source(self, data_source_id: str, region: PolygonLike.TYPE = Non # ds.temporal_coverage() == time_range and if ds.spatial_coverage() == region \ and ds.variables_info == var_names: - existing_ds = ds + data_source = ds + data_source.set_completed(False) break raise ValueError("Local data store '{}' already contains a data source named '{}'" .format(self.id, data_source_id)) - if existing_ds: - data_source = existing_ds - else: + if not data_source: data_source = LocalDataSource(data_source_id, files=[], data_store=self, spatial_coverage=region, reference_type=reference_type, reference_name=reference_name, meta_info=meta_info) + data_source.set_completed(False) + self._save_data_source(data_source) + if lock_file: pid = os.getpid() with open(lock_filepath, 'w') as lock_file: lock_file.write(str(pid)) - self._save_data_source(data_source) - self._data_sources.append(data_source) return data_source @property From b5ceef0954adea03520f443c684f5ef63931af4d Mon Sep 17 00:00:00 2001 From: Norman Fomferra Date: Thu, 7 Sep 2017 16:18:47 +0200 Subject: [PATCH 09/11] new screenshots --- README.md | 7 ++-- .../figures/user_manual/gui_panel_layers.png | Bin 17840 -> 34008 bytes .../user_manual/gui_panel_pacemarks.png | Bin 13067 -> 14393 bytes .../user_manual/gui_panel_variables.png | Bin 17465 -> 22390 bytes .../figures/user_manual/gui_panel_view.png | Bin 30558 -> 31118 bytes .../user_manual/gui_panel_workspace.png | Bin 18848 -> 24854 bytes doc/source/downloads.rst | 5 ++- doc/source/known_issues.rst | 23 +++++++++++ doc/source/support.rst | 37 +++++++++++++++--- doc/source/user_manual/um_gui.rst | 14 +++++-- 10 files changed, 71 insertions(+), 15 deletions(-) create mode 100644 doc/source/known_issues.rst diff --git a/README.md b/README.md index 5751fc020..b9feb6c1b 100644 --- a/README.md +++ b/README.md @@ -89,10 +89,9 @@ To install Cate for development and for the current user, use $ python3 setup.py develop --user -Unfortunately, the installation fails on many platforms. In most cases the failure will be caused by the -`h5py` module dependency, which expects pre-installed HDF-5 C-libraries to be present on your computer. - -On Windows, you may get around this by pre-installing the Cate dependencies (which you'll find in `setup.py`) +There is a **known issue on Windows** when installing into an existing Python environment. Installation may +fail due to an unresolved dependency to the `h5py` package, which expects pre-installed +HDF-5 C-libraries to be present on your computer. You may get around this by pre-installing the Cate dependencies (which you'll find in `setup.py`) on your own, for example by using Christoph Gohlke's [Unofficial Windows Binaries for Python Extension Packages](http://www.lfd.uci.edu/~gohlke/pythonlibs/). diff --git a/doc/source/_static/figures/user_manual/gui_panel_layers.png b/doc/source/_static/figures/user_manual/gui_panel_layers.png index 2ec5b3f826abb8d2d888a215feab3a6d9cd7a489..56b19cc29ed37779c1c1e90eeaa32ca05f43c233 100644 GIT binary patch literal 34008 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 literal 17840 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≤@?9rvbvnd| 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

A!X({h#4Z z|8zP9`CeA59VfG=Wr0Pnu~177KS*HIy$?J+w|;vv^?n}h9IyU8g9>NDhIDtJj32<8 z7p`x7R;?*~sj-N$PQW{uhrjrxH!9XYaNIVUqUQ*&4~6@v`QOo^4I?y2k7CB0NKZU;Vp*s#ukAvwDY`gHv6>8 zFhb*)A8VVr$J>R{S`SVmk zbF95Zex;~F-+ILF~RUvx`QZ=3viFP=*v*^;ekdW*QBr{#_i? zQ$O30z9PHfC%g2eVkL9#KObYVXFYh< z(GR*clXys5JST*uvVatYycZSrZ%*DCDMtPIu*dhvUbE|AAy0RDMnp~8;0%U!TRC@C zB=-KeWg+n6avNFe;>~N?F6W=KOE|(EHM?6snjJDT>R^8G43$s zChBO^uhUBGXz>XK*AwT?|iPI|FU;EWRM9>y%$K$kPqJWIzEQP*=jhl8$D>1b(tF-DogZY@G*pw{2V zyRv~5H5x>p=d6zFyZaxf&c8UV)qQQ>qx!Z#I%%!uFGWmm?c&zbM5Tttjcn)FZDMKh zr(H81%ew_OUI;wyovE#Rk_b%rg@%6fTCG@lXWpyQ2<^W3gt8^U@|&IW%;uz)=~(%s zouT}epY>n7CxvPwJS*nDt8%WcIDP6L@D;aQ?G$)CKa=p)V9$}W`$f^WpV!)+{Y59x z7Ab<1?UK)I&J+~-)MF(HHFrx4njh?AE-0!@So-G*4QskVsx^Pa_yptz%}ERQ&F}h|K!o+>Sukw=muwaRy($SAQ`BZcWALp@cZ9l zim=`lD~CZ&jCHIESb;)#odV=QJ}?`5#~gXNkIKt!a$1W|PZK{XmgQ}2nJK=BG9OsB z8BKV>mq8EXxACC;@^W-2!lEQVbQ^qX#HUPl#Y?uR^A90i(34`Oe*L5UGR)0hScX3F zclN7c@w8cP0e=Ddz%HuGUN82iZpl>XT^D^{e@HnVOMQ#&#Z)R=lll7Hd>f%S8>_P1 z`SlW74EMYbj>fcZsEKmR5Ypiyqg4VzC-#F+yk5-bzq!02C?Zd&gj2$nS6Lv(miea< zAvHkY(5=6Qp~&WzLwdD>s{vrd=biUJ;KuPA7sha2zE0gsVTOfnZ`gdy+gtzZ7G}AV zVMTk#nbew40@#Qk77@d;;4@<(L(wrAKdK{OiLkAZNi)oZj3k4f=yUqs%x|c1cd*nJ zg*r03x}2ae^*i@O6flBxD}O9V8LK}@xFB<}7rHasl5obi-&T-E8Q(mkNvRSw706a% zLg8E6eQ; ztosZG;NYg1nr!W7)%K>7+GcYIo2$Zt=(rqw14?v*!1nF8DCg>*K37M8!GyA6-KYBz z3PRlmh^iEN#MuFD3>h`*q9p=IRcN)Elba8c_c*SaZYOn zog_|&9(HS|rF7g+$tar2=48{^U21NgYu61rq)31DaY;-19ZH%JOvhVwCY|Tq8r;Hc z#vGW@jb%@QiJk%;KjfIBU3>A#Xc|8!gPRCAVtGQRUvTizjp*mLDX*Z00FIPZP0udv z#rF?DziL)W)wA|n>fX99is5T^I$mg=mLv*>-<$0;Vx=$a$)b?UZ~SE36*yeSth%S z=&}ZpDNeNb5V#uLQQytx%Y?P5IX*5mw#C;xe?Nf!?rO@laHNMD%hBtg`w?<+DolE9g=Mza zY#pyX9-!Ic6aoo?9NS~*CxwTQww*{SbiqW{wLdfz1VI!s5%rA?Vad0 zy1UF;OnJS@tH5Y4w3F3}@&oxr z?J1>-p%Z7SX?()z`j{+Y$~s8ZNx$)QRq4X-3G52jxfY!m{d8V3GZfjQk){q*k}umQ z-1cwWjr)dy_9N+TnB0pttS@aej^^t1gvqJs|UQ?}{b`kXeH-yk6Z}EnZVJ&86 zE5BHjv+c}&_Dp?=YFhs{N5VBXv@GYi4)1ydc$RGR+q$5A6B~+0kM@^3Ud;9R{fcv` zJg9nY>BtUP6`nA;3kszc1LX5 zx%{va|6gucI~h9OAK@J=gVRX1-h+_c_K95{EB#Fc?zrv$B_jXtURn4*mn4KxfmDZX aajzQ)b-rF}q2JX202E|ZWJ;w>g8mDE#8K%0 literal 13067 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 diff --git a/doc/source/_static/figures/user_manual/gui_panel_variables.png b/doc/source/_static/figures/user_manual/gui_panel_variables.png index 141ab638f14399cea105457c196e915b2cfcd366..e75eff3e66831c3c156abbc333019c693a066754 100644 GIT binary patch literal 22390 zcmcG#byS<(w>1haR$N-7c%irz2^zGxQ(7o)LE0dNVnGWODHPY@#Y&+_aJQC1a3@%B z3lN;*H@xqA&iNg?-?(>-?+*qe$+Mrmve(*k&NcUw2puhDBK*hr7#J8tsw&U*FfcIF z(SLDxIOun(?lWYe|6#i6Da&J&4bp9)UtrnEY06<>RK^foSz@DKKX6fb?S_Ft+;#Vd z`P=!M4F-k*f$DQPeJ``!mba;oCNfdC0pdeK8)@g-%i;-MQF#Z?V7(bObaupfG}iL{ z)Yjzhqu8EXMOif~es~rh9vE(d^&E5U$ywyRC)FlK@}ly=yk}0}FPAM1>Iw>O5p;;F z!Hcr*FIzlLW}4o5qPD+>q9TW?nkJ2EzMq!8Y}5Yna-!y@&3JE*HH1`N#l+-jH~nd> z=7tkLg*+ZJZ#N}TPb?879&<=+vQ=dFpN~-H5K=uI@CbFA4gfs>{}b=y6)IRLdZ=8b zqV<(LoKzl1;dAN6$_pgcCnw^-CkSU8;GdOg3bNj9oXRVoU4dKc*PP;VzSSO@mc zSEzH9E|vv5PP{M40(+5vd%Yl(xS+Vs^zBSd3s_$ zE8Dhv_7x%zt+$&rk56;oXxR?^h|_46xc5Os86ZB1u8#Nn&aMNR^s6%g4d5O_JqWRW?)JiI1jAUko4*0%hI`MK(m`Y4 zD=2tDR!L%5&Tws)JDOUjCASghnOA&O*krYDf6Euib&j-;p)GAO73q)HR#%29x#~oSx!c& zRsFWr{Z0DNERahcPn7^sX|n?Jv_Nm#r*+^92vq!)bh~lu8K*b&@`dY0i!*HW@JSky zq~PUZaTT9439o8dkH|X+MKnY|iXA8d`4|MP4&7QEN) zl3b$owr7}`V!li8&@lo`xLx95cH9hS2`d!l|}+51t@ zW5U~<-*JcLz7LdU7ojce3;rJEZ>3SN#wgWNH1sA}d#WXMyMd@B9+P%Zq}3ZGgY!c% zY;72rZp`jH5~Dw~YX!4|DargHZAGof;LuC?F2+XeeR!k?z`t&4gv5l9#y|YLHxjb9 zwA%i6!5w5{7%$=;`{4GhrroeK`QKcZ55{@^K8=&C^bMmLM(QtycnKokJVxEV8RS%* z7Ts3Rs~jd51m-A_;Jw$yG@p316Umz%tIs2NQ^(GlAn8MiycK;jA}~`@pjVlzg7f~o z#;mn!gYNZ@)4m#h^!$WsJfaPIBVL^mOAf*x@xL|g_^`b0VCmghP2K(=tStOks2X%) z)tsfb$@wh!nk4tLP2Oe@E}cLIj<_N8nRXjU%5ozw8zRYG^80&RjYj|e<93-(ty>X~ zgkiW@zK>;?7W+1sn4%iwJ^%pv)Nca^Q#r*vX=!Nc!(Oe)J}YIAs~ zCjD9wk2$~L4zA_DTL1q=ZUT@3`Yt(l$$Vfl)-c<5#}Sd0iuVO=&>w{S#Ju~Q)guFX zJ|lv7g8uN3ZHGeP75wUSMDgxYo4-h)QsIsjBIy63iJiZA!z%19GIGg8A~bePJ1D|; zQd+3^dkWLan&qor119`9efmti8Pth=IjM+u+}BN=G~m8+*OZr;-l5NuHdZ?$@&vo% zs3OvS7o1vU^0=*$$@6*h8N*|7zV;OULQi2bsRPL0g%w`DKYw@P=(?75x%zvh8}EzB+0jS z_XG793U-?%mjqN_;c@H^aAPC8Bt?_)$LWze2-Ya^C{`oOXli`cGt&3Xl(7Ln(k|s3 z>1`!mfBuc`d5imR(5JY8MpHe%PIF~PALnznt@WuiGK;?LV+bhe#I+ltw42o;IL#mF z=TkH{BYM&zJx{?byKx1iRITF_fg0@ERRkdWZyH(?xMXb0FQm<}PBM!nIn}!pFHS_x z<NzZ$&%(v3^765HhAkGbwZkN9DC%4LBjhL4od~4rjOBiE(@S6rm?rjTX zC!T(zRfmdrO>Q2u3ew{VE4u9CjU!qenTQ{Fzg4k9Bk&*?vAn?|TioutT;ER{B&)}UDphbPPk}OX1>l$YP9X5I zfUuW~r3b;FkEI5kVpVo+2IYfQlSlW3?&TVkCwY`=Tp>_3H+Nx3|+kE6)N-^SY?-D0QlpSe$wjk zVst*gz}aSH_r(wLewEc2-L;7e+&*9~;j7Dyc}Bf^FE2fmc4skKvVPUe9Xd`R>*eq3 z+Q8Nq9+|ExWlotnmC~`b?d%n$+{)i{Xx|Rvhr^HsUMGKA9zCt3?PJGr2MM_3SC=ys zZnwq!vw);&a{VGv>u0h8a|OX`*u^*Y3d5Jfn@d#g6Hyqn`Od=~+lvxd>}^y!PS5X~ zI21s40`XnaMUiVt&o;f!)ayfI!hE>$TiDn7sU6eBy zZbTLW49*eK--D|6u)npXUtfwC0MdTD2J(l;Z98wY&UD#F`;8)TFBf|^7uQ!@^-TqM zjtZv3u}#-zxoyw;lEIWxPZ874RQ%7IFD}o$UC$aBdp*_UTN3xw1Sbkb6W~?nN#wnr zlPCM2Q;PEx^0u@5uw8$48JeY}TrggQmL+J+Ga=EjJR#5B{96`AnayrVKnhr`Km*$y zwSW&{{C#an^R}lX4o~XwPs<0~J)Q;Law1>AU%ty&1r8qgY@SroDV-5Nb{=a1Hkr5u zw1p!I9>Ay12QR?zoKj@dC3JLcBwgP@c`D8F74B;rH&o+k+7ns+o^bm~rUv)l+N&4z zyGbe%y)nvp8rE#0P7zTu)+qonUm zpm631F0n65Trqky0%Np#qgw>p-*PBg1y$4o1>e3gta&oX;3GuGR~ zAE#vE#*Z2IY}|WI@O1u3B-p=lFMA&9?VVqZ7*X^WbjZ3|2Wd0NFoX$O!rw!;OsV@R;G8IbgsRhWGnS(Wo&b{ak5%c!h3oCIWnnpY8(JfVfd&B-U31Nk`XX+uo(_z6kg^>e3AftgLY!%X^? zHM9H}>SBmkEjTN_DK7eiy@f|~&kJsR3pxfThF|$eoKv6bU8WthbTbW|WaOqnoL_mE>Nf9$iYe=$VV@D>KlTs}BVxg%TVbMn&&<`VEs4N4Y$$#Zn!{|DXv52OBO z=*(K)^sgyzhqL`PydkhOrN3F~~pS)Yv}2qEjYk@*Qo&c5|!??)J6>dG~9?^uJzyo)oI)|BHv zbG6mfw~@Ol?7XYebd{o4WgGflNxoEfv)a#r=cg-dq_%QX*3Nbn_~FxaTr|rm5tA%5JO#@7`#<=S8K|9*)0$?S zA5%$suYR`(HZok(5>8&u&#`M6--a)oc;VTmq?VY=0~lzcAbB(8z0T|PP81HIl8+4B62+`MXuc%v?RBc)ti;c zHIfgQZ<$4XU1mE^Zt=J4SvNZG=6>}>?!-SM=m~n|3?Tp_V2BgfpOW^f(WZ-NR$8BH zvyuWfmI@JFhRqUGi=grK4^$rAYhGaKRULO?^JJ7>z$Gw!neBO=%S5mbRTAkGtFw4K z__(#W#A{4_nRPut2YvR(TMw-B&Oewwz(?WD9N*{7K=g&@L- zRXvHClIMlJO(iY9Kk{47JZmk5kHKnXgrOtCF>_B4I$s;Mc}wV+^DU}d!GdKoEtgo> zNdx&@#V=aI9&9`N{VIiEcIfEhjDW1mnuW?ID^cF3;48nr9k^FZn+Y&IiaX$bXzKTu zaF+U_xYx?oCQ#iIN}o1ul52<1aj6IN<$TG^Ef;+hF`oE-b#qXMi@G;zfKa|sYvR3U z^eM|`9*xSc;5lcbiQuc|Ho-N>Rf+G9ohH}$gj~Up*r1W`(2+B2{e6xT6gT1Pm3cg; zI4~bzF5v+JVSgqD5$|DKo0q}c#vB2S?Y*mEc)@lsSV2ZhJ&+gfn)4)=?uwgsvd*%YX=hX5);Z0A(NT8Nb0~d?mY2o z?ou8o85EE@XDkfqSIT)(haeHX>;lrxg%QY%FK&pQ8;hU*lGrOxbV_;Y)_?t7(3#pj z=j9|j6ig`@+P5b+wEouh;~spDZ>qG_tjwELKNM}#85sb)M)3?*AmPfY79dq?Z=2GX z_Hq3o+onV#_hknWDUHP>6jMz9G)L2fgsow5nMZm5lmX1UM`;N-F}WWyaWMSCdBi5q z%Qm`n#`$y#k-b>_tc~HNCnv-EVbJzCY86NtX!aWm%W0z#Xw&&cVPQX^JD@^-0~Gh! zO1_5cEpQWqVFZXDK>No0)4?SUf(S@|t152(ehHOzSqI}y9~AojxK+U~6U+F3IKjG&#~KM;{3}+G>1JLbI<5HLUQXa8~XSdBOn8?i%b9_iFj~ z*Z9)lj>wYf!b~MRhpLCK07Dk7 z7ol5$o++niM-r-2;xF}HIJ1!xXd~$GL$5y-jD9b2vP(NY?X%TN&tM6(`feF;9cb}H z*cpFKLZ)R;{S)M_bX;s?2=JvLuHX?m$MXF8|3;eeL;<|%dl6jFKH<;vF!zSkG6>OaUe z_-p1W+cab?7R;Yy>b_FnZYE!ILHR_@eGB??M|D%6UYx$YEF!F0-B77-$&7UDCF7ng zI>6stD@?yVo!(?0ql^Pg)J~j7RVB3LTW1Pi0D=pS@uJ7*crS@t)>R5-+ANF#6f>Z~ zKIgvmIOElAXvu2Z)>X+W%Fb`d97TDq^f3*2Yt+yvI+|#&0h};ER{zDmt!vKg{nfOq zZ9{q|FVMb&;6oFD`{l$V@gQ*Qf@;xJDIK_gQ$Mg-$NZ@?axE4tZy)i4rr`Dz0(d&2 zmvDHDX0)TtHJY7aU zW|LabF&^?b%{^3xPxb}UvNC65O(@ss!Oy4ZQHU0YIcP_PAthX+UhbxL$F||7ceY^O zwAP{%dJsC+eA32lkTTCYRV)!?*@S@~7OVaN-JT>qG;mJbx^Dc|CaF55H%E048ZA*` z0e8{PUCPoV)eyQTeA9i6SDrQ41v~zH+6)?d7p>1#tUp*0+UFZ;5nfyiLrnEI`+~-3 zFYg!QbmLiw?C+xHga5ITG}C1T3WiF~KW9{G(kk2fbT|b= z@U|)zAp~+WuN*_ct=vJt=LKSujJq6D(L1UV1`rq1-Bz@x( zdr9Z_HFM6gljSkS&)uOupRchJ=?Nu!xldmhNUG=SpF|xdXo^0HqRrZQ)6Q6n+$1_n zbKERinfyb-y~;_8TDo7J6;(8H7=IV)s&ox1*C+n;Vob=tsNZi}pyGM$q){6QLl!k$ zr%n?9U&Q=Sa)pa|(|BRj0Grz(VMuD#yYZjYJgkug(62VebGyS!e7>zU={wtsOx}LF z()@Lsj65DrBLe*$xWZ`g*>L-T$ii44x)~C7Gy&9Gos|zdx}H9XS2%;wUCwSUMI;Yb zrZ)%GJzo3}<{#~gcE2%B!F<^3i?`s%s~?&BM`?g_pa;yXnE!(v`7dPPa%WKDakBoe zz14qWk^jNR{9hZZ|K0lhuS57KoLX1R&VQq>!>ZrjDl{D2Ugb>GH_mGg9#3|j7+2$z z`8jBsTqfQHnSx2G*>p<3irBj<@NHXB7+q=&TMN5AcPa6e2mH|pVh!f2-JL0##F)LQ z%f68yGik#{6I}zLY|MIc6GJ#pxV-;k_;XI<%^~3)Hkd!jr1nH2=0?Ljj znH=Etr^O<7>=@y)(zZ|*JdAF|Jb&DHyEg@VGN~QTc8JwXyyiJ(M|YsASUos$91oai zeU*q3KVE4V0d&u*hO^OevXYH5rO%@LzD>xCF{N`{zTVVEuXH>fdMwkU-|RLNHQ-#C zgk;U}f4>t;I;#LwH3%Kn19Zw%p4h|ZR&euP-Hbyc4AHYj^sz1b+xinHi^6JqKYjiL zC0X-~n|k}FpEtc|EzY1@4P`m7nuK{sVb{V?hPZcU2jgG?)5ANy$7X*3lQY$UZ#ZHI zsk!-ysF^&)kE-@ds8+W+G|Q=a*qjS{3B#4D*$iU$s6ECnGic)D`##oCRh`xD4e> ze!cc)b}hSSGncw??GE z0%V5Bp)To;2{`%8E+#QLZu`;^y>_63bHal9NIiceQd_AEH`}|nJKSd9 z;(W;bW1rEvA-gdR0SkJi)6Ua4)2ZAqENCoAeu(Ij{FSD$s@`5_rJnF8CUefQ-y})d z(t%g(tGNfH zmv(ShN_(_caA>Z*_RYZWG2Djts6Fy9OqJUv*VH*dAGWGm-WR|{X8XgyPbp!*-kbQ$ zY5y$H^6>qB9e6so9mnyI0+GV-M|RrZSfH4#%;Wg`buz34J#-S%Xf| zY61qHvcc#6?8_F(ej)hjw$fEDQKyI(5k}e9jaPsTJwG$|>PySMzji_iE3B$ALkU5_ zQT7^HymYZe_JMJq-?lxLrd3}>1dyrq8S(kFjMyZ6%^H{p$XI=-^zg>6C}r&n3c-SC zKEHf?buA-#LU4F1H?cdz#+<(|3up*RcuVbgGv4|c)(|?In)(#&DX z25_d{&AN0OFOkmcT_^JHc}mWbVf$acz-*z-*c`*aBOv9QN?+vq>?-5!wbuFGuIJl* z(b3p2L5@hr`r6FMbD!2k0xI6YtYifr0PI+9NUX0eL#EH8CUckIYV9fRYG*MQ&Ez*a z=B-~nZ0wn4DN{lWq|-boO?u9@osi~RJ$b{4P0SB`J#G^qOPev)OdPe_aP(nYbcHFY zCcs55`ntXgKx4QK2>~e0x zO>Q?Ul*l9Qg$@q;yi@JQ0qIa8EsU3TH=euzgxc9$oF2I@EpmB3VF40Ye_uU{OeAXX z#e)Deu{e*;gTu@d7^)0pc(>zQXyDEn=vn_>CPW*-ioZEwQQ!ZRnl@4Hb!o8U$GU8SI`Bj04|77U zNnjaJ=&V-XX%eaj*b~gNV_6SmL>^uz?<6bOX9LLNU+|UJ zN^c}Ci!+nRjD3#@_eE{AjePi4Ba_aa-Wh8QxIw-Fe^^zB1dRoSv1p*!2u5tiOwgwJ zy3_(;>-kXK)};_%$8-)M!{c^|=~rHt4Lw}xO)|;5YFs7H5>NM^6ifJ+opM>ef90L2 zTo%`&#zf0@0ip+{pQn@bEI+$WvdD@v>x<^_ri=SE#KIp2K1R&itd4D?iV(?gZkgl{ zuQEgOv4x^2Uy^>j5{5?Tp#i@EM8U5FfS;izC}C{IEemHJ5$!CB{LA1+@NZDVq6(-u zGbmWU9EV)2R`=rdIfZDpvtfC!rLek*X7BnA87B>V%qS)H*b)Lz#emn38VBctR?zE< zCW7T(C&q#5cGSBqj;aC*7%fKwM(68c_#6w@Y{DG>{eKzTSY zd4D$E^lxb190IV=N=47jL5d5HMAq0a^~ayS5aqbQ~G+ zaDf>fy8+*Vb>Cv%RSUtC^T^}+(*luqyD#GZlkEF! zu1(BvZSpCZ$2rl?qN%Al2Ry1=3M~ej@=KmF#QHEo1XVUvwZVrE@ZBhR;_}$FdIL^q z662)(FX+Ty8MBuY21v5Zhwknj20>LBD`B=P>yEB}yngiG+P{t+OvsvErFdvYCng`A zEyX*w!Pldr>|6xdFl#s|!xbELoZjQ(=SV*$D*?kMoyHCF#Cm;5APPlc+84Lml7`=F zQOQ*S4ICS7f7+mR>)~8N8XE(zkPK2D@{<9ziW_-F!rqfoul1qwgBh2RTE@n&Ge_JW z3vSZ`^Me|<2eYO?ZrIH6Jm*;0biXx?J=8!a(M-ErS=T2AS>n!dS63asK@RXD*X@4s z2A2c%d9%X7bDb1|I>|9n5+rx614oCqJ<7C za$gl_HK)&MT4TiEeTwZ}IE7Ix?rI`Ezn?Z33}$+G9OZw3r+^bjUQ8HERSbI+*U+o2q=&=rTWH89}?lm;?Km;s44LO=8>5> zQJh~F$Ov6AZ}m@THS7Rp`q~87*1Wxyd)-p0c6&X#D4O2P{(KZ0lpt-DLUhCMr`r%% zD19(b@;LL@vVwT>7b2Eu^~mrn<@j*8j(yAWVHICc--oW>@5OoYsA`JVV~I%(aj2~- zgYi|V&T+6+uy=7sI|L!(WnnlNGY?>22i903-w9ixxrnpn5O(5e3Mgf?)A zDBN<>m_kVFLPlyz+5E#3BJFa^KV8X0lOOaeq5=a!zE0N~67&PN2zf zlcJ=o_T;h2Ncy>jZp4nvdws1e@shCi;Uh(HV>XU-b%4EgnMVjgnpVIjL#e_j0s4y> zX##BRg{7wkxS z3EMMLuggn>YB#kAt1M()l{vkI+XP<<6b@ptbZ;(*9 z*xXmr&d7D1xtB5CcDZtN!S(RW&_xEqMI?E{Az$!F0cx zWez2@#Vu`G&TsEx8SE2Se-?JS7(bA0kceEn=~@_Fd)EU3T-; zO#0yA>fuv!I3fLYG@XpMQB}Q7!_J&R-fVga*lqL5OBB8jrxf>D`kE!|IFs=;>Z*+Y zGzAS|FrOnz+x&$0a`60^X*9(OxL!SMx!SA(f_`nEKu&*lI7d6`FRV{YA>s#SJvZoO zUpfELupKmA>}T0RPv=|fUKHPt-*6u0i9DSkhtHigvD=I#(;s$E_d;mg%Mkj!*=30Q z0t!A7X`@=b!Rxgrpaj>uoO3}j#p2$PE8u&;1qO(i(mi)hu9i9-jzu zw=cU)>>p2#wn@ zMEklpMmkHZjGDo?_Dzk{*z zaJ?L2h^hIugO+Rgt7qXOi+tdNd&e#U&^{}51OSlcU-4wwN#&F9SH`MNynciN9(I)ud++`k* zZaSOBO(yZ{^5`PhRIH30Cm={XTod4-7W`#)&%bo6O)h&gIiTp?_(&DRxK4^ zownkxaT)ECR2`~4;FCX;K7)2BAZqnoN;%)Z%}|zV8->-|-8n(AmY9J>1K&ctToYhl`SGmlFQXe7mqO@K3~Qr*q_2%b}<`?|&Sbdqk;AWUrO zEiq$4<@ciClEK51BpP74A8t&~*wER)YrbYptlW?4GQ`QcB+s$aEH2r0pU=~z-T22b zD0Q)KhxG{bdz98{owaIIFdw|&fY*nP48L*#zay)BGoaM4l7;Io!I0kFXh`xTP3*|e z)Vv&1;pF5%l%!Df&JG6o6{%@348T}$7~pj zIJ{-TRd92;FBCQzvNZCA{(rm4#Bd|kku9(yN?9-^)VAbk+JFYp{- z@nTmSAgR6JFr(l)Yz<(}l1_cMJsO0{+5OscENHI!2TxNn9!;0&JR&u1&CU@$v zn%khArT0!C=7LqwM_PX=K6!Yo7+Q?|r4RqU(_exQq_7hlFx4A()Ewu4Ys;0C<$3w}4G?m3;|MlS-@b zpJr5`eqn4CAIDWOAP~cL2kV910Kqo9BgH?!PM$Q7bw6x1VgrKoULv8F%suKv&d6bB zrxFrTWT!z?XVH(O{I!(N(Fj3Mm7xv@M$nZY)|;(PAl}>BenIZ4v*=$N{B?<;%~9AM z|2CZT*#tB*ltzr1kVjM*fFZULTI5qVzk z`vZ)ql1c67VT8-_719a3z$i!PXU1vGF#N+jKcCRk1gM=axM!wgDv-f8{ zmVjGB5SS|XcLEGuW6i&wUVI)xL$^*Wz-ikDvfyJ%y-6GCj9HsW-w7C8EA;>IS~?x`Uz61}W7lunrE$)SLGs zG=d7fd(as;wjZwYcD{Mi0@ls|_|NbZm&ou_@%eMsxSt5Vxzac7P98Yao^ptdF2>iP zDty%LqI7y(Vh(Iiyxk=w(!~5L5$eK7oY#u$4)&z>Te+U z0$2Ri7)4L`b&{U4um!vw>{3Zj*xUTf1Il0|b(Rv@I9T}Hhci9~?0Vh$hqi5P1~veB zjNjzA_C{f|#v+{1k^Gz^?660f7W>ca0_BXY;sgNrLp+*(24_;vFLjOt_+;mPw9vX~ zC!n8BLq&nssOmsy{*)u#>#nWhfnrjt%{KehN%snb)cOrcH=sPVvCdVp%}u@rgT-`c z;W>nCmR-G(OQKOJD_BEp>33Sin4$;?onE+O!GKK_n&WP2@%KB=^Iprp`^xf%hu@sr zbM7c-A-hE+>_j>QL{Z>$DVgdg*!KySR*nv=EdtS@nsqEjoCxNJaxU+Ib0tggd zz3;u)@uBhsVoc#NwWKlzF)o4Ip%uN!bsilo&md$gcbCZ#50~}@?v2vpLmiwxw(t;a z3;x*vN5~;`!50QteH6CooP$o z*nDn%7sJd?h+1BtJKV9hnzCaIu;7=O+IWdpTeJ7P>~qzpsE$2cvWXRbPoMoN;1-;@ z&&l(5P$9yK(&(mz3;pWO6!`~n{}<$2fOg2S=IdCLdENCEn7gn?`zo&JGf#5t4;@Kb zD(bRLuGmuXbpKx(j(?fyj!vQt{|x%+kgA4}%|>(-y6D*CAx;Zh zKV%(%%F!gcuhl$+v6-Ry2i+p|O9`hA;q;y6>#Y=u>vS;#eVF zxcKYs#sNNraP2e1?t9iJDx|zeVbMosvcwK)3$+cjb}TDG{*q#E!6BSj6X5T?Wb{w0 zG}o;oqqK9|u4tPr(2#~YYBop%3J3rEJ1ln1?TMjLF;rYy z;6+idvV`ry^9mwddluTnUXg%iqRHQ^hN+QQph}=dHFg9c#5yWj%?n3SXhZ6rR5BSM zX?WpaR(bG)b*2Zn)f}@GQ_n7wo#{{g&0r7p05wHJuuFpE9{Mw>Z!z362uGP~&>%n< zG>O|dhgJtH_9W}_xFC(8?gh%jcZBcyv%Jdcl5zM-hs~y5>2KwVj(?O2$3t34*5|ZK z*c))aD&JUjcqacJNS7*0)G?>g5}AhoZg~YpVGuyACeYC-orVc{uF?kxX#U(Hom}Y; z|3Y-(oX<=Gs*v(p6{E)@&2SNUyR9IuVf@)o-kIIRdE7CiPo#*L$D9})b6K-x9{c7H z*b&ch?AT%_i}2937bo?iUvLK5k(Vv{oy6Tj@>D^{R$dgw#&DPYbnvioNAIVFNOAZ` zm7GA>zoJ{JlEl>20bt3(db=H=qQC&l(aKmw`B&&<`L~w0J`p)t`b1&S;I)m{!St_T z{Nzm+{jE6&58WZi6&Q&7Ov4B8#yL)Ogj)m*5B@`GU??Wu>hCwme8`3qFC!L2N^E$X z?r?qemjt!K5c<3S3zp(xiS^=`W+-3E}p|2mkI{o^hHt1Rih{sunc2DI|drz_f%o3v-thn@R;dqvFr z=I}+-#zph@S>jsk{bBi(GXBlo#as+RdTRt#O4;!4XJ`cO-=WBVdBTY9ARhhQ7wGiIM6SmnV9@+8QgFJ8IU=ZiQH?$SX^v^bJqA_cJInXKcL4uK$%qDr{Tq(v zv)*PadK9$t@~fHukEMa8r=T^cLtk{%i4j3RZ;YqS641WPcN9|n93bW|7A=-lb|p{d zPi3UeVPncFc?ZmzfK!5}&mx%@3Zqh7&9o?j;|hDxj~7O4qoq}b_d7C0((=}uhJ729@h|Tz8n1P8h z-s`1heZ+*{-1a(UkWz%_^uTv&Z2hTuQ;H4XqnX)NE>X0iY-w9RIbowmTGZ+^voUr> zr83aAkrWblx5~p(i7`R!cXkMVTr?^I6>{BuCAnVLF2!XVFhhRcgR}dSa9}yLRm1_Z z|HVJB?U^4&v`pxffFo9PUqhS8cw0FcW+7%ft6iaHf9j=Wo+EtPal&2d9nZi+Y^D^# z-Nv0QykRE+znU~$T#!H!d0|EOP2P{3AG7Xp=-Y;k|>MA=Gmge~sOkO+xNu?@+m6<2K_A2bU5 z5P>zU*VG{ePefi42Uxd}9{1;iQ>zKwic-(rDop!zWi~%QGis)Gr9&GkgI)Q?h0&VE zo@(U=VcQX#X1?x*-L2IkMx#~Ff}TM;P~s)_mC`u&qOl#*y+UhnstbqnMZ=XkC3>;J zKfq@Z3^VxaX86v17IiO!kzQW_pcDe@?N0w3sX{DeNl}XPrRA=~t}{6wFSLBTcygc0 za_J(R7QG?iLbRpAj{P!C8gN{T{bWCbJMQ-s~)3#5MTr zVIiA&y6QA7isfmt8+u=*HZZ<~j`bid{{B72GP6o^6_WB`#Jvx=e+x)If&jbm5$7J- zH!^2P3sJAtdcw+@r}&(-O+-0_L3QV*{gBjX8Y-MqRD{_B|F>121w4#DL!_!K|BgH! z;4LOI9Q@$yYWJjHu$Sm>{~2$&{>krQlH}b4c4LeVS3^MA`EnOBBqjUe1tah$&Q`Ou zt)7wvULQ`!gBEfXE;?B#b|QG~f)HX#fO#3kUZkX*N|{JdZhgye2SXMJjUhflh^KW? zb4hvsv#3zS^h>^hpPaN~PCF;0s|P-opIj5B9>ttW!rvXp*_|+sPoI{`Yn|XcA;}= z>n1c$yD~|&zAv{Xk#$MT5Lc9qLY8(}Y`YTWP4}??@(pZ_tQLeFh8ljQHp5zaZY+AWE>!bMK5+GI+@P{^rbA=(g z;aSY>8D#&U4B|zoCyJ!ru};|ax_2~;xksy5+~@Cw?fx~z5z9X1--4t>19Oruh=PiG zuv4HMSUO>X|C-8y;UBq~uL!753A21=VAlE&$~P+YPkXN#3GOMlJ7@V9yj|s`rF$-q zkG=lMv*7=Rx06I<1_8GPt?etVHNbm&(dxkA3rsBra&w=D1s-(fO@gcNa29_wHQc{Fqpuq^SOr? zQi#n&h~mqDu}QpcInhEV5N$p2QkMqz9=K>Rkyv%8i!t->RK3RCI!!NNE)g~NMZegR$VOiKp zQ)W!pfB8v@xjvaKU8iFH)QZ@nx$)Z6{j0ST2_XxH$-we9DZA(m;KX8Pb$@PWiSvH{ z+!ZO&wy4|aEYh#uCe8nsWT=IU;?-#Tl)FR_@x36L?RMY&R8a=+^FeFvxu49m{g@Bk z2mMpP!~Xk|w#Q(XN*lJqU_*f&TbLzO2#o8VDokackUEP88qlFB6frbzcwP6xM}_!> zeJYJHW+8KX1DRq*KIWagV52q3WoBAr{pEWjX4x-=6001@xE3RO_khuJwrH?uX}i-iQAC^;51{8!+L1=LB;ONw*VZ2^63CDE#^Ii$9RCvA8AXU zeb+15o$z^SO|TY&I+Nx3(4ezVySK6_o}e#DFKzo(i^Q1%nR*V^FrrRW1{MvO;mr`h z^6EmCK-G%o);%WvYEAS)PktqQ zmqze(%!8S6V%?s$TR-pqE$3N7yUyL&yTXg9xxy8A#{$> z#{g*aevIm#ZK@ELB|K-q63!4LG}}pP@F$Ci&%fXG#o|3!^^g7742Kx%Xhm9~-I;1} zsT>PfeBs}%o?N?Qw{7-Qs1L3dbd;d=@XC4i8+y8O0hB1UFS;jWW zdPhUqmn^rCB$Q>!5*kZnX$XZuStCZuQmWgnEQ2v*$-Yb024zIDX5Y8x`l{!5y3gp-|zSOe6IKFbzLpX-w{V&$70V55brXJKS7e#k0{-K>2{su8;au2 zO&!DShkEoHrvubzYb_@nDEtPdgleRb3yX86G|Nr0dBGnv)YaZJJjmi3Zo3$QMn+BV z2_jwgRovMtsHU7ZIsFPZ7lJjuHNKrx?pIzd-)u|Q1icmGEOID8N0pYAoy@I@x=N;+ z+p{vFhX+wiT#9Ui-^C(KgRA0kBWSBc%2l4XZdNmRe$|%e*X^Z^<|D%obo#`FhhJ=q zlNrGD?0tpy9YPD@FZ6_hdUkFfb>W3hE3!5nx5@}}x+YCCT2U&sQ*RoY1yD#{<)o;q z^xGj%C92}iqZT+yF!S(?k#IdG7*^II^vF?t^aYlZ`MOAu^rh zpe1b#F7#m>iyG^?_t&)lzm@W02-W^+fY~XG@|pS-p6qJ(Z?>8~6+ZvAZ;^UVUP4^L zcRYR_>dB3HUY={%mND5KIXnwns;4N9@;UqP?=Gn+-#*f{(4kTu$2EI+4psZMYi6Z} zVjbw$EY=b}?1ekCU?iURNH#%XCi~q-b({?a6+2Qf+kp+}>c{huuUIIps z0I)%M8&_UN^{oRY_HtlC-|=xMQYdGy$+8PP(v}=rA~D+D8b|k;!lF+J%fV~U#rX60 zxCb>%$9uMKZY_kC6&rGtrIEl2;-52iU%)FU+F`vU?aHVM-K5V8Xh$sm z!R#KwY8-$o2@&SIS98*a66vt&#>B9nXTyw+S{0{chRU+Ra`|u8-~KMcy~25bZFQzrB?3E<^D?r#x>=M^hxh59`$uTVJ@on;@AecWRkB-O>2(to40&-T;;P&`AV_XVoN#`Rqgi1OvPg}R6YJ$wj@ z5x~k#jAU>xPHq}*3N?%K_8P>VtP4Yhq%nW5LiZVBI9z*r90q2VOV1jS(OZrwMJ&*J z36O!T$NQK4!I>Qa!pZZV2KFKRF!lNOeS^WAad3USx&wn$1XC-css#??A^O-=l~a#- zQS**T+l5h{r2F#52MnL8*uo98<6%Zq8tzdaYO2}r z*-9+LyIa!J3TD#|97VE$F$Lb|IvkVhyNyAP;V@f)_HzY`JxRWA;+OAB?<|3-^TT^m18S6`Ph$1oc}i6~i7(OL%8ZS9yMC(H9pqoKXK zR`d2^-|3#&3@K<{X{aPkAvb~bjL^+CDuiE=Q74D;ZE(H>e{d%Slu zWBwpiH^VF`_KhC+Yyrw$s;KnmHddvNQwtf@nfJB}J}0SM#D!BY`)rl}83OC0`Is(k zZQEI0lZ6N#!^$VwzhWb3#OYE{DsHpxfzpNG@d+%T7K#=P9Z-d{z|6}0UC`N>GGPQBd{Sq7jApJ~Gmeh67`Jj_|Zm{md zzrRu}2=oAa1Y1@9g_sj@7WICG@Awv+uQxq6K$E3CzMZBj==aqbH4)&LH0cSP4!jRE z9AUW12NmH8HhFMjh$|TZ!lsULqR|!QbU@sp=*u|<({S!F;*_phGGrUbscg|r>bHzv zcqtX=3qCbyte|D6(_!fy3)I|4sqS%3y2(UCWpFaXUU~QPt{2lwN4Gx>EnDq}C-!nz z8;+gEeo3?~(2edb@CFyY{X3F148(@OnJQhv?e(sJs@A>W~(=T#ircFw<&*}L@=1MHYP z$q887e5nBLL=C?6nDyM_)0FUxU*LYXm9 z-q(~f`B!HePTTkRee!4oT8zTPh`Vu5^)W3(lUm?n(LZ@(n~ZckL>wPYCRz$ic4WTe?snruld1r@yO<1dWTx(PvO$NoLPPRIQJHnTUTtVY;NrjDJg)9G7(HE$04xgO$i@-|RL(?kn$7 zx9XWv=CbWXZb9=|MLWD@qGgm{WxHR&q95>bEZ7E?t5*Qa3h%GhkC^?kpYG4|c@$p< zbKM}aU08rD$oLEi>QNHn2~ZJeTSrDC7kia_r*nd6yX}g-vFmS^MnByOGXoq* z0=q_1qQfHu%w#D9Q-lb=A+1U5gRP7wd`251ede1MGB9|LjNe-C&{yOdJ>J3kTieda zK!#CESbz0F<{zN*BYY;740NiE{XprKaUCo1-S_N)Mh@pDEsy#|)1ay6{v3=&d9f)y zGvGF_SqsM=CqxdsTmSr^4vHqopuBnCTBvry-OjOmRmlRLSyBc!q&YJAM!${xR{ zH*8UC1_fWfgWA0BDtLSDQbi-boIku_0`{00j=ojbVu& zkmS`9QkKN+G(ltPUP*(ay=lw&O!M@T0`3r^S~q?6NY7JwC<3=eS?HJ_)3P8j)xRpu zJ|cZxX4Jk0c9F$@W2Sb{C6w|#A#Zd@eE0qyPQLHElTW@G0X9M@>t>+-R zdX}~{xOD>-a1ylN@t4UIau5qbU5rQi-JTL2dA;dH?N9E{O8Bjl}q>lrA>CfbyuV`uPjJfcW>%33)w2 zgo69Yo+VSlLj3Aa+iH11`qF$?doh<8!ETNkm`#w8lKseVJ-ThIOT?DU({?4v`gSPv zY91zsp1mrQ+W#)^&Cu&%cvyc~>`^tdWVt+jcol|2qdt&Jd1|xW?!6->p~&!O4cF5~ z;RjYBiQ?ESo|&)K0dHKJmQZWMKrx%an|}Vx>b&)nT*pUX2wxo%VA`SjIkFnvAI0aU zj?lLg_5MeI0#8CxOA#13-G!$-YqAX(epcXX@rJR1Az$Yg2K1J8zddZP4AC6}-vG5O_N?=(~dHV>I`w@^l?lof+Zy9!|b zslWanFm|9&BcQqC|L2SP5+i8choY&N+>O=tXz2W*PzM%B9jjYowj4iN5y_(Yvy| literal 17465 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�?wmk-ChZ`sZKX}TB(gq!NGtyqWJAM=VJ7M6COHgXiX1-Vm*nZP>rl<*< z(z&;xj!Mga>JPEsPu*|okX#}~OqMB|>;6=2UDj_rT=kx83ta4Sh7Y{5yl~$=m#W{iLrX1GpX=;ZzEcA@e>T4fYrBM z(cybt_alMyrecnn?l(Hd#ylY!CX(5TzZ<@`_?U+8AHM6~_(`)3yEu4GIY{}D&E@f> SGtzs~08Le0aHYzVSN{ia_SXae diff --git a/doc/source/_static/figures/user_manual/gui_panel_view.png b/doc/source/_static/figures/user_manual/gui_panel_view.png index b8827622f95383f397045efdeb066f1f71b715c0..5cfbc6dff533400f211e2bfee0e0141460735b74 100644 GIT binary patch literal 31118 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 literal 30558 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 NURFh>O3Enc{{T&P*K7a) diff --git a/doc/source/_static/figures/user_manual/gui_panel_workspace.png b/doc/source/_static/figures/user_manual/gui_panel_workspace.png index c102dbba91af027ccd0c1ef69165d159d029a216..a1356ab97ca82cfc26793cc67bd32b1ba94ffa68 100644 GIT binary patch literal 24854 zcmdSBWmwd2+b)VUl7fOrD=DQz4<#Vo-Jk*@NHcVYAWFk95<^Hg(v2uGl!FW)U6Moh z0K>o

asyQw|5`O9JWTO9Je75;ql7PaGVI?>9fU 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 GpZ^EGc$_Q% diff --git a/doc/source/downloads.rst b/doc/source/downloads.rst index fa223b1b2..0e9164268 100644 --- a/doc/source/downloads.rst +++ b/doc/source/downloads.rst @@ -13,7 +13,10 @@ Installers The Cate software can be downloaded from the `Cate releases page`_ under the terms and conditions of the `MIT open source license`_. -We make available separate installers for the Cate Python core and the Cate Desktop application. +We make available separate installers for *Cate Core* (Cate's Python environment, API, CLI, Service) and the +*Cate Desktop* application (Cate's GUI). + +Please check the [] if you encounter any problems installing Cate. Source Code =========== diff --git a/doc/source/known_issues.rst b/doc/source/known_issues.rst new file mode 100644 index 000000000..9e83f098e --- /dev/null +++ b/doc/source/known_issues.rst @@ -0,0 +1,23 @@ +.. _ESGF Portal at CEDA: https://esgf-index1.ceda.ac.uk/projects/esgf-ceda/ +.. _ODP Datasets and Data Access Issues: https://github.com/CCI-Tools/cate-core/wiki/Problems-with-ODP-datasets-and-access +.. _ESA CCI Open Data Portal: http://cci.esa.int/ +.. _Issue #64: https://github.com/CCI-Tools/cate-core/issues/64 + +============ +Known Issues +============ + +Data Access +=========== + +1. When running Cate Core/Desktop on Windows and accessing data from the ESA Open Data Portal, + you may receive a **SSL certificate verify failed** error. + The workaround is to visit the `ESGF Portal at CEDA`_ web side using Edge, Chrome, or Firefox. + This will cause your browser to register the website URL in question with your operating system's + trusted SSL certificates. See also`Issue #64`_. + +2. Not all datasets from offered by the `ESA CCI Open Data Portal`_ can be used in Cate. + Please check the `ODP Datasets and Data Access Issues`_ page to see whether you problem with + a dataset is known and if there are already fixes / workarounds. + + diff --git a/doc/source/support.rst b/doc/source/support.rst index 8d3087f64..07184849e 100644 --- a/doc/source/support.rst +++ b/doc/source/support.rst @@ -1,18 +1,43 @@ -.. _Cate Core Issue Tracker: https://github.com/CCI-Tools/cate-core/issues -.. _Cate Desktop Issue Tracker: https://github.com/CCI-Tools/cate-desktop/issues +.. _Cate Issue Tracker: https://github.com/CCI-Tools/cate-core/issues .. _pull requests: https://help.github.com/articles/creating-a-pull-request-from-a-fork/ .. _Cate repository on GitHub: https://github.com/CCI-Tools/cate-core +.. _ESGF Portal at CEDA: https://esgf-index1.ceda.ac.uk/projects/esgf-ceda/ +.. _ODP Datasets and Data Access Issues: https://github.com/CCI-Tools/cate-core/wiki/Problems-with-ODP-datasets-and-access +.. _ESA CCI Open Data Portal: http://cci.esa.int/ +.. _Issue #64: https://github.com/CCI-Tools/cate-core/issues/64 + + ======= Support ======= -Issues and feature requests related to the installation and use of the Cate CLI and the Cate Python API reported in the -`Cate Core Issue Tracker`_. +Issue Tracking +============== + +Please post any support requests, bug report, or feature requests in the `Cate Issue Tracker`_. + + +Contributing +============ + +We are happy to receive `pull requests`_ from your fork of the `Cate repository on GitHub`_. + + +Known Issues +============ -Issues and feature requests related to Cate Desktop GUI should be reported in the `Cate Desktop Issue Tracker`_. +Data Access +----------- +1. When running Cate Core/Desktop on Windows and accessing data from the ESA Open Data Portal, + you may receive a **SSL certificate verify failed** error. + The workaround is to visit the `ESGF Portal at CEDA`_ web side using Edge, Chrome, or Firefox. + This will cause your browser to register the website URL in question with your operating system's + trusted SSL certificates. See also`Issue #64`_. -We are happy to receive `pull requests`_ from your fork of the `Cate repository on GitHub`_. \ No newline at end of file +2. Not all datasets from offered by the `ESA CCI Open Data Portal`_ can be used in Cate. + Please check the `ODP Datasets and Data Access Issues`_ page to see whether you problem with + a dataset is known and if there are already fixes / workarounds. \ No newline at end of file diff --git a/doc/source/user_manual/um_gui.rst b/doc/source/user_manual/um_gui.rst index f4e74d965..98d4563ed 100644 --- a/doc/source/user_manual/um_gui.rst +++ b/doc/source/user_manual/um_gui.rst @@ -146,7 +146,7 @@ explained in the following: 1. Download the complete remote dataset or a subset and make it a new *local* data source available from the ``local`` data store. Open the dataset from the new local data source. **This is currently the recommended way to access remote data** as local data stores ensure sufficient I/O performance and are not bound to your internet - connection and remote service availablity. + connection and remote service availability. 2. Open the remote dataset without creating a local data copy. **This option should only be used for small subsets of the data**, e.g. time series extractions within small spatial areas, as there is currently no way to observe the data rate and status of data elements already transferred. @@ -169,9 +169,15 @@ remote one. You can also provide a name for the new data source. By default, the by "local". .. note:: - Downloading remote data may require a lot of free space on your local system. By default, Cate stores this data - in the user's home directory. On Linux and Mac OS, that is ``~/.cate/data_stores`, on Windows it is - ``%USER_PROFILE%\.cate\data_stores``. Use the :ref:`preferences_dialog` to set an alternative location. + We strongly recommend to set the constraints to limit the overall amount of data to be downloaded + and stored. We are currently not able to pre-compute the amount of data and the time it will take to + fully download it. + Also note, that downloading remote data may require a lot of free space on your local system. + By default, Cate stores this data in the user's home directory. On Linux and Mac OS, that is + ``~/.cate/data_stores`, on Windows it is + ``%USER_PROFILE%\.cate\data_stores``. + Use the :ref:`preferences_dialog` to set an alternative location. + After confirming the dialog, a download task will be started, which can be observed in the **TASKS** panel. Once the download is finished, a notification will be displayed and a new local data source will be available for the From 9b2ec11c2de030d4b4538ef6bbd9e21ce70de664 Mon Sep 17 00:00:00 2001 From: Norman Fomferra Date: Thu, 7 Sep 2017 16:19:06 +0200 Subject: [PATCH 10/11] new screenshots --- .../user_manual/gui_dialog_preferences.png | Bin 0 -> 19160 bytes .../figures/user_manual/gui_panel_tasks.png | Bin 0 -> 21054 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/source/_static/figures/user_manual/gui_dialog_preferences.png create mode 100644 doc/source/_static/figures/user_manual/gui_panel_tasks.png diff --git a/doc/source/_static/figures/user_manual/gui_dialog_preferences.png b/doc/source/_static/figures/user_manual/gui_dialog_preferences.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea065b2dfab4058e292c56474be2fc467af7d51 GIT binary patch literal 19160 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 literal 0 HcmV?d00001 diff --git a/doc/source/_static/figures/user_manual/gui_panel_tasks.png b/doc/source/_static/figures/user_manual/gui_panel_tasks.png new file mode 100644 index 0000000000000000000000000000000000000000..641c5db8486a8cd18b6769274aa0582af557b3d9 GIT binary patch literal 21054 zcmagFXH-*N*EOutJ4o*+0#ZVeDg+RaqBQBfBfZzq6%r6>A|O39=~9&5B|wlOp@a0$ zdqVH<#_PJ@XWV1F&-lI{X(#9GoV~N=JZH@{SM(bVWfDRL!h84bk-SoQseSL>eJJMr z7CtWKnTk&fhIzT~t*tD7uX2cK3-bZnUQS)^-o5V$MAue0n9l?rDn{P-?vZx=ecbPL zFR{IMPiySeOF3PT`Cj&&_hhdx>L_QC&UrqXU zZO+^8Y_|as+AjSWx*;bi+o}{Ov*;&#^+y_Y6L_j1dovuhR2g)uO^z)`UX;CfwaLr| zW5*9?t0ksjkt4^>D_kW+grh1cFkgdTQSPW#qK64E+vU>uxI-wAe>WG!CAWV-V-CR| zQ+jRj67+XZNA^O2$3V;`SZ(4c?LQ+~&8Td};3u%*hYPxXJyrxO{~bh3`*O4u4XkAi zy_h9in(WAdR4le|g{YfNwh^W-_S$ncUdM!0PlW_6xdKn6=oZN56M|3hWTPx@*Zoi1 z&q5;(f_`P8uBhiOf0v^}f^PgR5#6Yzw&)wQ!SU6=eDw*fdyr=%ZU=)0k`Qw?Cn{U2 zM=;6{-KgOgRgkKpO6M=JDuRnqVK@H7sNc@$h4clq=^1%zoV8Hv)s-awStzR*vn*jDw2z24i*XDV9* zR0IiDJSMUMFoosA*_!HCkUMuYB?m*K>Gx-#jXT1-FjPZFxOB|@yW~Pw?7AyuN1l{B7gOI-<>E|9!{&jXRGysx5%#^m<8P&=X7g zsA1}jPi1GcZ}gWxZEff(_tEoV(et&Re&;3>Y?z3^ib*K?xJk|((o_N75Pr(j5E?`? zc_<`W6ak=x0)Ni6(41xkFfMd~T0_=xq&?rgK?E~~Mgur9zM<*wScpDOO|oxin563` zVuFTmJwY1zDqHi@XzFZ9`5wyz^%oMdp0)F{t{{?}iv`5QV2i~mV6^uOh9hpaLIIs8z%kiuNdwDdwsg;& z_8KP_yYy_*5bRJ0Aag3rx?3=?DC5tmOv2eU)^S2MM4GYPrr7#!mAD>6_);Ac6YCL= zj}FGu;%RbD#$ zPc)nW2^sor`1Q~x;?%9|*fet}U3i6Ga~%dlZ&H)ngG;K6{y`x4q4wqDe^9H&_}{1u z-hBHn^fLZ;=pE+eME?uim;VjiS4boDyeI}P;ew9VA$`<;c|b0W^j~Cu$p;rd`j;U- z^uvy}Wbb17=QuFvA5_s6ljSUYB$EQ}l}6w1DP9*kRam>g3%?-pBJ~ z!UO@yu=bs&ExJ?r7lEgkK=~Co;gdN=rJ}h61Ob9tG z?{mhCgZ*A4yf(at%a=q;4&*bot$AR@dNH2*dFn6wJaEKz#Bs!RRNiKgC(s=6apC}4 zw6N}9_XnS&xjH_zD*dH66?PR~6=6;epoqh9UsXPOE`;?OA$7+W5QmvA+b5+@`k(AR z`F*W?R7QZ9YA5ku>bhMTLU2|6B|7X;{87Tu*jI#z8)H!WI8K;HZ`SHR>-2&_&NvUU zal0xCeh3{81rlrWHLj>GX5EL4k*Ed*TFM<}{asD^T6FN3hMf-VhIbMPMWk4PZ1 zTie}z(;SI3pe%s6wGh_oi!{8vuKj@(S!FeivWP;m77i_j`kb^ru;*VKcf7pSlW5`& znXg3`2sO$h%^4#|N{_+?2Oh<-RX9YTeY(c5Yy>^y;v&{BNkl?tb*41&G&>`8HjvrQ z23Qd-m*aZWss2iSpeYUE$3PwY4g{XZ+Ng=3ClWyCvKA!D3*`0txzw%K=w*bhn)YY> zA+){pArvCD^tB@HvAA3Qk|68P?ib5Y$GiyQN_@ol_tM{hcsq!)@oN}g9tms=D~?FX zr!qSV9=YEwS|JZs7VZKU&*Pe6*q$(55_!QufM{5vw0MHNFg;}GIra9)CY*{pLc?I) z0SP2_-`4s!Nv8!5E1OaMn+YcudU(iHoDlPvX+1irOPkH*E81H+QmqD@`rPx3ovDRz zh0HJ8M=qOKwaAmM3D4)al-t)P!-i`K%yZzF0z513s8ZM-gjQ*B0vFtP%AW-^?#x}q zM~tQ_ckTaToU*chLYQP|y^va^P#K#kRQ98`gdM1eBwueSasSpxV89;>BPyR0zCI4Q z+%(xY5?_EIQ-h9u1#+f(mqkp@31drl5M8R#*IfwGYJ}lOq}EhfD%7)`VDy2>dg`X} zwXA<^N%82}{)`B=P3npdeR%P2DG`3OCs}*P@l~PGJ1g9PsQoR^jq+812BMl4#!I&C z|0+XoP*{v5-Tm>P$iJbgBBeb={u*?u{vPeZIz@kzoe1bVl9_yAHkw~>%Ozw8p|_xx z=X+Yf?y)&eXR1qo$4T?4`1q#m6vWK05!<;mLP5748?wUWl7BR-Y`GjROc%(v#3WK} zxlV-eZ45_lI#(d`Ip)eXuMbX6#!T+IIAt7nJ+y04%m(4OZan z$ALSvM2uqxD=^tTwlkY9uy>(@_;1b(6f{>?ZbDL2TaV6M-Y2E1PuHJjh&3{~>4Sz} zWLsmMq*e#M)Rb@RsaXtEV_FEKCH=$DZjW{%K*-V6L{63esbmO`;fXEx7#%kkrx)so zKeIEIf9Yuab?i|QACnj?*{!mE1}lnxq^9)8NO}C9<3>4vO8by1R}%C(6UA~wRO%&CknyiHFpPBBzatwIQ^)^-*7oVi)c}`~h%g1f3 z(kVx-`&+(BKoz1gTdJu>=MWU6t@>t@E>_DmhjV23;yhz6ServY*&|iVTv+Ik(8Ul* zptjbkX90qVlxNs`J-r%&xvFM@i(B7N8r^4;7_)!~D@QH88GO%NCTKL0zuvZ;55kGm z`#mf0%`qZV0BAZ)?DF(+1Ot4krLu&r2bSb`|2fRVYk6G@O0(sI&rMXk6nuO;F&3@Z z`5|2>t#H0J`gn+h5(%Uy4A3%mDC>w49vsIhZJs5K-I|2taCsfRx;RsnTQOQVr}uih zOl|lI0PPPLxT)j>dIp!Rr!W7=YSV0-cWgofot&b}JUDQpLPl{ionKW-vBi|q>qItK z0dXS6_<)*RD?4Vi^vUmvOn}#w(O)9-UmNQR)xSlKyC2w&avuz3S@5%j^v9CXg!n5w zZrf=9eH@jq8TBbm33W%^xYDkEO#BGb5f#{|MsrUKdXVyGe1SaN<1_|ZDSj_Q>;4v| zZZ8!qaA-o$)eVbQRavk=_CjfYO3zmZE&;QmpM@A!r_M0&&{Kr14`7%rH}A5w$r2=- zqn{qmLKR<1&0>=4-uT|R$5SZXQ@c>c1Dw`eat@sWE`nra6oO5n^1<$tn7lnTRAiO96S z*uTbLk+PHnD4?E*ehPBy_}z_9Q{vC5WSLZ&xK2p+*{HyBlC4C>1-Mw}*sWnys0Q@Q zr6uLy6#InlB@T8vv;mX{AmzU7MkXyJ&+w+gmmsM+k%EsO0d4sVmfJ*f2N4A@scSFy zH&RcU14&`kvMIESN7;$< zQh%gs_3K6LQ(z-c6~V>a+b)?)RW{rfB2tVcTtI0%wl>?nA(ywW$iA6QXf)`AYfgP6 zsRq(D&}e@^i^$#96G&N}AF7YhR(`iJ8ZR7Ou8i==@Yr~x4sz%hEXt$5>N8`KqI~7o zQZ((_+~@|I9wkdB2jt3VKy*M-J{Z&1TbA-7|-Y;tm|4t|qBa_ij8q}sAL^v&X>PZ;A z1-^C&uSI{8$!+i<=%0i|1g^ie3y&pdhY6eUT?-K#cjzV4cclkCdEv%Mtq?IV6h>#Z zQXlivK4tQqf}{dylksSf+x?5l8;Kiw`zPdfr z1!(Sc^^M0~9eedmke{jwfu^G*(U^iUNU}~G=_d!aH%1e0#razaI?VfYaq{vT>YSKH zH*!}_S-JeYD02QXL=G(+rmkfOR0GT>qz>U7FWA>l(N(EHT&MCa+Zo7A_-c8#(kNuM zIoF~I`zmFxvNAo^70+V7u))UUKA_d`n7M&7W-YhX{cNT(tc~vwYKYeN=`d2@*-s*N zWU`U8x`>lma+8yQM2?8AOnp`AGiRsVkqUKB-mO23!Y5NxtXWSQt|~LPi@Xw^rExQH zIF1eKW7m-^YYYE@iEr`&19<1WRlvVBxE=Exz0`i0sPtPEc5w9yKjYV@ij+?k5m5}J z4#mrWx*zeYhnyZ}H;EH-SxrAiTCvmSE;PZL~JOl%%ICs8@pc zwat(>#U=egn>xz^|@!<`=TCDRD3*)j^ReQ;my13*hvJ7^*rFUj>E5N-JD@qJlBfOeq?tK^b{_oC ztXps1c_kp=xX!heyk(3uh7AYO)z1vUo5r+Ro&BbDso4UQEGB4|JPk`{4bCLaIBjY# z(+R##{g2#Cm6j>RB)x5i`q+BlD3Vh7sd$540M|D;Z*e*~xPa+&IvZuZaI9ivnhAN< zWIC$JmZ(+4iP)*tDldfAMaWb2CvE7}&2&yi>TRF9DL?R|t>hF1OFIoO{Q?aU(U&xl zbys#lwT8*TH8Q|zR{Ltp@4D6HJvpDt$csXvu91MTWKU{)0Rg*uTaWyQ?sZEZQxd6C z{6l3fo^O+Q{md^hb6#)uG04Q%)RR;NeIqLoDf@ZprU;L+40^1kLVKhGoRnXb)@J^!{El4$RS=d zV>y4)xn$Q@h%(B~xx)Z=Mgp*XYO94$gB1kt+ac^=Bl!4jDu zX6ajfk@1LwP;3s(SgQy+Hz&JtHMm$|``{H;!0W~|wL@ESC24Y6U;f%q!+fRDGuW}* zEsWPWmbK|Zi~57@r6cV4HRJWCEa%T#S#eTP8;7CW%|3J!;3(8diK&L27zSlLery1+ zvw|Y->?ldO#c{A9w?EJKm>`lMqRI5HgL*-KF2Hip-=z|@f!az*m$O@~_Q9%LPgar3 zK~J6Jz>tF1GY(F!if>FnpB}8Nba@V_Z@io~bsow#{dx8#Fdb!bDIN0J(;iDl9R&OS z18k)V(b5BniFm#2`hKs9z803t6+2C%X{S}IsfZNvshGYW=Xok^A4u-h0D@gJeD+pX zM>^UKL^;8Zs9Yq-Ly7*_sEirGy7vXJzLy5F~hh@qJ=tD~Cdg z|3FhwK3eUcNwKev7{MYutn_ZKXyKL~t65NJKTiBJ>ffCCW=y|h#hT3-h1@L@?Z#t= zx2=KpG-NYs+Ffm7+rjW$7eTC=+kBM_di!P{eDm%SVNp-!p>Cbl189=pM;_RjhpBF- zUp^d4**u(k;9ap3s3zO4+2P+)t96c5JCxFHmae|s0~u!E6Q1plu)8d&ZAK2^5UB`{ z`MA%dYy0t3w((yrINIzYGDZ=rwNo7j+28B;g5-bELSLpOQLto&(%}g+_WzbSCN|-T zUHw9!7b~pb=+aL$*}4}i+Cr9?c~aEAc3zSZSF~)ul4xUyg&gs0_IicLs;$v(qp_<4 z&_6_d=?i;~av!Zy1O2Fx6Jj|HLi=tB&PmYxiSqx=V*PxJ-F8y~`Tgcf49oISq1z)sgEvJ-n_H9QKw9chSX0eP2|Lq{S-`)iM7@*ZHWogX_!wo3MRphfe}I$_g6t zDT0w8wWi7qkphwDuWxoQ8z|?T91E6anmYW7-++D$3$un?n4X#qI~-2ZGGr(!EzY%& z-WfQnxJc^JvV^xU_Wjx;4|pjNvGuUQ+JqDM>%m}$TkvPNj9^YrB!C__pzcG1+ApEj zSAI5yaLoiz9O-AHjR;RNJ6e4TsJR2k*&d^7T${gDjikXROJ$5#$Of?H8>QLcZ8l;! z(1}3PLKUpMiEYdK03+`cQLsFE@1ls2WsgTXVZtQ8Cn0U<(MA);n<15<+>>u_Y1}bi z$`7Qy{|63=Hcx8L1%SOF`+l&WrHz^$H)t1nKxb+%1^F7{8X;u{t+|} zo>}z7^w4`fL45)254Y%ZE3dXCauJ`kw1+2u91?w>DaIVHx#^WVkaE`%R>h{qCHw|- zh->;M!63M`1`Xj#^V^}MLnourE{}TC@3UK$5l%=c&8Er;%p1-=cd{+9&&Lub^-4a+t$p94J(?fhFvWrOU zLg?5CI+%5fFpA07l*0S&joyq%KD4tWR_x0;S)G*T$WFCe($DWu8mwdTmS)x^n5tAi zSawS=6OD1_4yjI&5W*%os^qVT84|r8&EXp8e@sWn&?ATW2lH3WeXsKMmFNBZ;!W8t4PCG(9N-?L4EM|gFAl&NghBP{!Hh4mzh;e0}loG z(IHT4Isbo^7qDMb{VFR5yfKUoAE+>)q zsN1tFIxt2tKr4s(qw|Jk3%BVco2i#Gce3ZwnU>j`=FFbwFh0+uoSzjR?5Z9hStNFc z>~>%DmxwrCx4E)S*M->4Mrw2N0->{CUf*t;4zP#u4R%pRz3%nyi_GLQ59lp62MOlT zkC2XqIT>H@XiP0Ygp6zBDop)!*5;%=>0zzVxw4n!@-tk(GQq}-rO{ZM-{40kBSgFr z?=AOvI_>}P=d{AU$P5u-m*%$2lzC6V;1H7VhrI<*dy6X>b8%HY@e6`1bmPRxr1!fJ z+-R*tba(f%dhZV#U~K>s!a68pQC#qsMlRoJa9s6KckFzMF1eI=Q8~H{~HKbSBzxZPQ7w`&O6puu?b@*c_3qf@S;tg7`1w6w&x)?kCe z@`@*Ottd%RGglmxZpL~kP@9%k##ga?zaGoR*r63=Sc^HK?%MA?!c^ncC}XSE;{^%4 z*@^FsZQC{FCQzt4WOgt{?r(H0gDPVPvY>lXo8O!DKD(8tDXKz-fp54Jo!5R(*8 zFHYyM4D!J4eG|QfqS83M@=U_r>aPIM25wc+8S1Fvd}4(-V%t>X5nt9sBu+0?i6aFR zY_JoHW}Czbvh4l{=3=pz)7YDwTBQ$bA&YhghQ$J2lQL>8s@WvG1sBUt)7eXZmrI~W z*Hqd#gU5nSxaZXsIYy4K?>pw8P3Z{dTP+H1Os)-gg9%dXE zra4HN?On?989MF7Qc&t;>S0}9Kt4^eO*ekB`Y6WfT#TNEvHGl05okV$w{UYE-|L0J z%~?^A#dr>c6_ohC>hRy{an)FEFlwsnB)r!2aFt5**Amm3`1zSl)UNR}99Yt0{06Q$ z?Vm2{iQ7)i72v4R!N!9TRBTEPOO5Znj<7%a9O2|6O2`9}ztufK6LMsFqEFW-6zZ`D zVXKYckgoPhQLEagYSwpox0ZflUQyhIxl3-wU`MFxu z1KQJ3M4D+&L|uxqv2}K(3#n`6K({*fGm9Ea?(@ofmoXb7NGyBKE0f5(~CJ7 zaN1!wG21IL8i*w5Rst8huKqS$S$z7!Xd@SA_6eKsScNb+>M%Dm+TLCS7c!Pv7iqdd z?2=% zz6yB^6vhs_bZ=EEW)w5>B$#SAA4}}Tg&8^g9;S!YP&J3^DrR(9wqPCIfTpdtwyns?TeG*uR1aW z&F+qpz>3AAA-vgCv_DLLv&>+L_=>W72j+NGTkevEaLB|91Ele_a zl#hE()%5*mp-ZNj!#9&h&qCCEp%1g0b%#3p3KRk#G08^6y~06$ue)`2??jhAqFW7z znF$y2FY|VHh1r|is>T4g)LLH;r4o{L*h5*x9*Z5e{v2=KEqyOqL|3f3-U5QO2hN-? z;GMIG6v10wcqueW!W1%RNwPFeQ8WUJu-8f>=LRo0T^4W}ELWO>0$mNW__t77%T#on zxAkRL8XIx_e-~A&z6IB;^Y#S{tH6 z3PaSCvb`x*RFB+U`s;SpjW0~fELp|?T4!#w6}jE0t$uERkHNwBE%36!9b+bZ@mCJ{ zcryBUm_~5n2t?6Vb`C$QPl%_5rr6~IzdZ^xQ(RX#kP+pfgx8rXl6~7faNe%ecb9e1 z&Ha(q+4So}h1d|=1P!5!i z| z9u0W9l{jmrkn;E@nATpezVS!;^h0n*3oq--Xmr}nsF~|y;PdY2Ul8_@1m@kRTg}X) zq@1EeVr>t&`YL4iiX39i(Vp5k{k_d8uL=lVaA*&D4wgiI9kJ^Fx9l?N-mNrVKN)*8 z4YVqK40OVhGZXfyz-pDzc`sxp;$!}P(a<-&dy1YD0G#nGy)mbMI4keL(mviT#_USX zvN$pET;kYTBGN&eU{G#@Ok?qBm1mRaLEU`z^z!ppqy{&r!71FWVkGn1F0a>*dv7Ui z&NGHX-`+4iG}0nRI%cA&-kQo{%4uW3j}XNeTwk0w217y;A`~Ihy6+E>N4kR5rL0Gz z2|l=dUKAEA2|ot4paK2hVxIvl*p8Do&k>%lXo2AO+K?f;Qq5{q})$h;eo;tnxrbQ{a*Y~^9E+$Tm9 z?3HkO#7f}J178dKfdxN3f`L9~Ch>TIIQpag9>Tp)RXw)PTg3!p<#X$+=1FQBE_2U; zsb@M#E&6R_(b zc-#YcxbY@#l3cKLWAFXd2klX#1Hp@8{z70Wsa)f?f<5<3~%R*V*AK$X-GNm0EF;d+(OXt+X^JJ8-W5 zgzMASdY1H9^y0(G&Tdk@z2UZ{r%mQF;d7)*X4}+rq%Dp86^0t#rM>>rKqROQ$tX-LZ|lXTlQWvJB#N- zhO?nFlwX69ufXXKaZD=ZBa#9t)n#KN(n;3rSOecaqmGoVFCF#5UVN?v_0AI!drRoN z;0K?H^S0aZ5#Lb{892}qWmNA$z}b7NabX23K5L($&mHXx0|A4W6-m=K#{U1*ageb* zvd_21a3w83_{KF48y)g4t`z>vv*}Fb3F*&Umy<>wT`K#TD8Jm&?1c`o7`7L;~=tD!kf1qn~b?4MiOkZVbDdIB>765F*exF{;#A=N-1Ek%zX;vzNI%Y}#$f9hqC5DnsQN*&hFH+d+rbMRphI z_#z)|US-G5ktQmGh12*wdF$W8BKUq@@4&encd?F)OgWRRELBGq*Rf61H8)Z=p0s?| zrcCt=``=|Ajr~M;^~2>5_iM2(Q#f_Bf2I=>>DA@=#>U)E_2WZiw7pe4bM6Ypt|`d9 zJCtiK4raq|zC%#9G ze;~&XjOEBBGwGiK|GJGtaOGllVBT}Zu6V1OJt6CRQT7E6RzBrN3P4(ZxkdhBBbwQq zEa7#E)0C)bSMpX*07G%!_uM_d!IF#Wnpub9-0y{FOOauyAOco@juKIQ^Th@R1UE_Q zVG?cSHY%Yju3@5`02SNuIok?TD{v7vd1ViG`A7Tt!gPAK^RM8cbm!08iCs0xNW9utUpLLA2=Xq^c0YD)*sm4}YYCZ3QT7j(*m`=K7m>lz zm&`&U%zY{e9Al40O%X;eP<3Lf|h)EpP8Y^}Y6UQuKwt3cyF-u(do8)UFMK?38(dQ1hZXB1+ z)usbNQ%NsUJoaYD1ols-^=cYZM)6FdDHVnVQQM=7XCa6IrQyMDwpIx0HID1S>xl*V`3)Z9ga@dZfvy zM})U`C4!8Ux!(Zd*H{Ia+C}(nnZin*jPh~zo?oGgO`UL zQ2VstzEK%uQ)FErA9?ctq{aK!ukS%0z>jnyiBRdeigxTyb8^x#wCUXT2@BQ&b(`Bv zBB4r^Fv{Li&TRmERnc4jX=QfAUQxmV16b9qBAn;bwM-e&YyTPv*oT`jnR$Jzrxx8qOyrjZT8=-YPy;OtK0xYoQCAJ1=Zri5i*`iEDcZmwf+WMf#=8q7| zOjewIwDfNjBb_bR8=9bYrRe}``2Gu?57~@5of~*D*4~1P+&06{HK-w6)chN9jc=1^ z*T;zxG-~#E^U)a9k+kqX3eNz^|D*6w(0-GIbyW~j#Z7}0MXh*&o~=o!6^Pzyq|AE( zp#INk+VqQxdDPd1s4+g4B~~FfWpZAiOtaK)6z31j8LgT-41d8nR%5Y6;A=vvkHCf6 zyyc8g_?JXCU(R}*UpAw#Bv$@ny(0OMXUIP9cwQL059b~wR81}cf)Usz>9kY7Y`Ycs zGJF32NIB{Mo0KE@KT;0G(MwA!0VeA(v;HPWbCSh~uKodkz2=$Mu-{jeI%5<1XpKTg zXg_=Sa41H`UQDhBMTRq+n(@Zc&M{&HLP;9hvIx5`fHqem_C*-R*VVuT_-zk*8S7$OGh@&#q zrV~FMHfmQ!ZSf$zj9>C!1@Jv}BbdPGB~vFD{@i0#}S8*-IAABv{Jm~-c#7#XeA z$kGjNkVxSRPdsgr#TaQ8nmWt3ZmzBYJ|_}gxss_m_(b+~dGBNG>(mR;Pg<4i!Fb>K zhp^c7p8)?TW>FUV?KmICcFb>di9==KG#pWJ=w+>LmVv*2ztB*iHC9uAKcYFlfOu{x$7kr-Im^V#anFy49=QuyuEjmWaeyS4M5tq3mgg46>+yil^i;3 zK<;plAoT!+l%u-R?qEvK$l;R{RoVtDlLf=y+FS ztUdo6HS^&il;0-VzR%*{T#-KO1q-^9wOZx6Y+9TNW>|Rf9=YP4wcxgIgY1je zTz2op*WB*H^kB?Y4u6vCpX~WW!D(X}FO1$giZtL{inEcj>dVJLS9HjdxaYrV4REQD zJiAi?E!>gBiiLj2|4s~jnb;KHk#ODCe%8_(TG4zEe?4X#(k^tLooXRpK`<0ck+5go zs&yavyK33nz4Pfu?KM!qKe4Qa;Ggpk6|H-ybUC2J;3>)p88Idx7$URi+WfyFx{p2ia zX_c`fl6P9Zsj|5z3k@u9o{0~dy2|%tTF9-e3+tCLn74;gqv4N$9h8y3g_o}mZ~bD? z!x!Vd7=wQ!bE$CCJ7O>D_JU>@=Mq;~lFVI`duxfYAg#qb*-p;IqhSB72h(9%L}b}# z5apGaNXMIFfukYkc408mJdnDbl6eXY(}BcOu!L9U8HcMC(_kb0ATEaUTjM!bmllo% zrk7_qNPKms##6ED>kIp(N0PVV&d5LS3FuhmJuf8djNLlV5zwDIsh$4y?S!;iYL%_G zi0x2b;KEU|1M%kKHZbnMoa9u1`*6%=ui5!X5GAqY)1vB6|622h|ou@x2(VpVkq-P-Hvq&h(W{r8Gxl#*5ROJ zqbL7>csKNB%A;ql3frxm^sGgeF)9WGhziIal2$l_ET=@fFIWAg6?w)-?AL#)WJ`z- zT`vBEvwwgAeHEtox5sJ*zX4=N`48W?f*~8icdCqQf6xa1Fhbnl7z1Yhi*5GDK+=CX z;ippCe~l({-6!xQ0ii1+in@Q^#pEwv2UhlDqsFj7d_w5@0Q#V5Q3aYAJ=`)XRXp@h zpGfUHsrF!j`oMJ80`2t=3$@v1dKO0F zgJO*g%~aZ0LcfsZGx{MIw1?$vMPeQ_ZR&4*%(uHUi+i-Z^AOm0#+N10$R1Gnd{Q2@ zC3PWSDbukylHkE4e)SmHZN&!V6(yDyv%J4e?M8Y>K6{|!am*gHxi+Y#s;BrN_ zAFg~GS!G7%OnTbo)n4@O3n5}Xbh^nGFxYdq0c@3Pv$QQ zZ>|pvZ~Q126iJyyWl+Bl7YC`+`0TMjH}5Sj%n`TlpG;TNb^3LJndq+Yp>8;IsjtD)t!y4 zps(RCQyKC`ZRjSo0zHsN&E+4X7p}1DpI!!IozwBbYwJ+)TMcjbR<_SG-g|pAx<@o= z)VSP%)(u6GM)>|!`3$_FIeP2TtVLfK>p-m{zu5&PMMrt5#eHS0e(IV_5${}{XIh&I z0rnUDfazyH=p3;v%fd z-#`Ka@u5f`LVz?jNH)^1sPO(;3; zRW!J1_aqBkBLBX{-Pd^UGxO;m5yn9QIE91v0yZMTjp9Sxk4XKi+#C|?alHZG zW)bsxF-sH=Ig6mmPBPk07ce1%AnDy z)Hb|)==;Tp{sAma*bi4jKQzcHRP5jlwRB2x&QEv2ed7<$5v!F5cqK{mPSQ{wzIUhx zVlS#Ed1FF|)gKC#w(sMg-~dWIi%pS>8-lt6fGG_f|6QQcyalx;NLcE+O3t^=#`46x*DX8{Is(Y?zyr1scp6OF# zy~}S1t|_}XJ#!@Td!ZHPO+WjGk%@AKN_Sj2j_s&urQ?t~I#(mrJ1!{WCuvQ9ZJ_;CTZG7~ z)-Vs5*P0a2S*S5gnA!&TXgp9NUi8u6%ke-Eh;~=5tIBC~{KU@LP~{Va=uox6(?-H< zx$Fb0=@M<#=oWajetSww=q3mY$_OGM0!)66Luw;Ame-@A%X9<%)-?jGcrm*TQp^j&Wg~1NLis4rpdj zMI@9y7{R7qqz}@)Zae;!P&~{(!v_TCY|)fuP)sb*oNaZSHiO^$!*s0Q@inKc`fn8G zdE#$(h?xaE31{y@@6L#NEPh78Ol61o?xkncI3_Aq5UYoF>Y14;pK=x{^hT_W6XyAk z!1L)kd^h900m-)p6~D(Ks)HveJr67Wifi(}6#3beHx;l6Ez7yuEmSFhpOVevasFt&X#U!T~I1 z@M{{)P-8oU!9%Ftejs%eCq#KO7?Y^zep|`={@K^z=U%N*hVeGzvuB6Ok(Oj}btOVn z3VCQt_=4gM+KrgqJyx0CFv!fuT>U~+Cy;fT81elew^}G(wM1a9`=VNu%6Vd1*C}?x ztu>+Om?q%>X!Wuae>|9P2^2rs#1~(Tr!z2|ne2IXDHq!-u{+yBzb_uLCn6n^ovzV_ z4T0Fjj|7!D?$(u<7K-OjEML{9>|M>#kPwLbC3SUUTq2#Jau-@n=9H-UD~khEaY6tYW@%Xi&qE)Kybc$wY|xGDYhJ zvaw!YEZYC9(Vg1$3$qP%A0m$@F)VSStnd>M~b~yB*RD50kj{_l0{$wqw4AP~& zCzkE_PHLp^NiEs-=vRKG?W41)1xzQchynn4VZ_@!gSk@$)5rZ!qKp{$=Z+Qjj z&_0b-nPPJ5rxg1l$TW_Bx*$C7?w2P>Y|6;VkBBhrz)FS)`N;i|<1K0KNWKapA+2b} zdp*$~O^M96AzDkipTPo^Fd&L`UUWt-|9aNCcYm|}?XfGV+t|i(Pm#Ky{RNe4GEI*# zkkz$7=#T-}Amp|9(j0h=+5{w}DX`F9w77^2)ILB-#17)gLtu|7|Rr?hnMdX(W~^COH8izFUE%E{mA?A z$4)6$T`k)@6@3to(;9+>k6E6(WP3!Kvpmj6_pJ?D*PN-@7;LlDKww^bP?g?3SISRO ze#kJU$xqIivChFc%+)wVjedDG`1|b2KNif@|4$WX9uC#}{_ziGkFjrkEJ-o;C8J@i zg@{46vK3`5d@Py4Aepgb|B}iu7-UOm?1M6j>`NhgL$)k~L9%`ieXif{`d-)h=?-M<4K-4e0r3ZZQ)MLmLU?J)%oec}J3*g?Sx|lW!r&EE zb1Tt3iETmV$a-2Vk!YGML71x)0Ni0SoC}BEPXl-Lo8&!oNx0Z*xbQqUDYvD64xUnJ zm`T+`?;Jp3O5D5u+%z{p@;kgNc~F7r*Lc!5U47X%alo-GG6M`1u0CJQqjSEw@Z!Q4YPfYUTwU>6(u?Z~RklQ1^SkA;PiT$(m1|Bg zWwZKA#~$;wes8eyjF#}_{5u)#TeUlrCPVpeo6KaZyJ-YL$WQCGrKl&*a%^^g^M<1=#$h^bjI6 z%HdMVy3BYkDg~_f`XMMI)OHa%|B{v~f%#duarj5f`gX$YRuvVCAv%{#jy4y-B=qSqoMQQRtpZHM9$?dsPfuQhMe`KKdh^(g`Tvl;cn+PDGgX5JI z)M~PPd4+&6&Q{+yDVRSk^$x7&YD|bFH-v<@gbW#~V?}BTh$@4mNEK2yTUo~L9*V5kR_sIQMEIvaidso*{1h3Q*^~MssYDX|+dZPD{G>^OrSD zGt2%M1A&)j{X?26E>TM6a=ImHae|cX4+t{H*c5uR;Ws?Mr;*j5;a${o@MAfpMHk77 zwiB%O&8eP`$pc)Ficj^e*l)@rc4O{!2=8J2y2U#(E7oSuV=#8F`>9Y?<}ZC|Kx=gJ z18E8e#MGm5z7tb|;^&Y9I%5-eL*}d+O9voiruc}A!xUcOk~s}xcFnDSlxs>@OcQ;X z)^75@GyZ!?P%Bd`Z!Vj<=NzdyF4=9Fp)dvQ&CDEF`W@W$BuxSB#4VUIv99`)b?26Y zlc(9S%-?Mp-Y|vI<_I1wc-(b0teg^rmd2Cs)*~1CN&NMM1@3}}o971!4vni#n7(4C z9M+9(9o%*+{`hcLp~I_P!w6GoRA033NWPlgj0oL9^-|qu4U{^I{lRH}EeP0Nvt=Y9 zOz+M{>W44;UPWctMvK#;GHYBJ?OY4`HUn9$LzJ8j4y}dWa|uZsYi(yC-5erE2ULIe z9Ku{y&91_^+cY{wVh>EGOX0YrrFdS`iUfks?JdXS{Xj1?!wVP_*-$wL0iu|~v^+q&% zIL8tRtbGHefc2uy)5R>3;HtI?B}jNbd;A?vK&c4|-pDr0*tDzxp^(@nIt>rS3p+OAX_E8Q!~j9__X^z35S2 z74nlXftgRTOU~`<`a!oisiY{h6!OZWA2OMilkrshnD6UPmh4%Jw6|ZturS-85yj`2 z_D4SO`>?=+O6CHRMS*?V4}me2K>7Brc#S+Ch9^RT*`h3}U(f$8Hq$o?BLAU=gb#Hy_HIu8I1uuo&`YsHeGT85r_7Y0iiS;X5aeZ4TQ@ z%L07?y?Rgo-W120@cGBxlK$P)b5e{+p&)eNtwcWJaJ~u2!Zqh4h<)|{YENI>zd@`= z(7F?$Q+QcksR~v zD$lJ2U{Y#W2vgr|Mf?sVcc^Z8L{j8YKqjJD+_buv!$!3~`DCjdyAfz4PZqpoNY&Jw%i9GCrgb|a?k5MZxL%UB7jb5wl zy`wnKjeuV*n$OO&oPoB!0mFJIFhS-d@6aatrVUNi0Znm#>s3rvCsVPviC6JrzZoEX zIaE0!KZn-(9+n{}%2=VEkx57EN1r+F^&*W1EAJK?oRw7)uvrH^vLvc))*0P@Q9F?8 zSF_m5v$nawbTa9SWOBt<(;&;2JFp8J2THiew#EJE;QOmuu12kThg z1RpJDnueVTYj*sRC9|n#yDlN}JI<@Ix+c(JtzqVGe__XR#P2RIt039**MY*Ub}&fe zJ%V(TRoVD@JeuKC212ZA1dxFO))z@Qj|ToScmZ}HB+8z^Vj6itR~G;La~#uGp< zU>FD{=cY$1eiRoCM(OzkR3$;Y#&+s}>z{^-G2*3(q{xN=zh7(}tYNa=bjZI`J z(!kn+kLOU6MZLCQcuv99O`ov+4hQcceBZil-tUlJdp~zHw|_0l^R>dbNf88cuWL`D z2RgZ}w*jv$aV8fLsqO*Cz^R?!*qt;x530wY?pLdrzVWA|9(Cv-z3uPi_!HBPgfN1f z&$_LDcDmjC)3-_1>t_S)R_{|+QO$2H3Kw8>WiP)&ujEh=Hn}RwBcY2R>yHUrV z1U8Lg(Ru|d_OoP29#AUO!IrNZ>Yi>NA$_8yj-RTf|FgXt#sA>8{!`3_3lfJ-N138x z(Qfcf!4p)LD8OP8?GarCI8T2Zf&~f4&xQU-!!-FE`8*b4u5Qk!2kuKo|y)4kfLEWPdX3%;&pB))8SV3F~)1V|BQ!Ie>NVU zQerNOmSczHJSA^k!I+UOsyH%vg)eFrIU7A`E^%w% zxZ))j)pz=SartG1ib9-1Uk05fZ+I}9OTp0cnzm2)h0MAOH%=j2)X!t6GKM!G7yLCz z@~DFt49%78x5f#Wl&d%xE0Q|ME^-M*1bqAn@XMIa2 Date: Thu, 7 Sep 2017 16:22:42 +0200 Subject: [PATCH 11/11] updates --- doc/source/user_manual/um_gui.rst | 36 ++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/doc/source/user_manual/um_gui.rst b/doc/source/user_manual/um_gui.rst index 98d4563ed..5fd34b712 100644 --- a/doc/source/user_manual/um_gui.rst +++ b/doc/source/user_manual/um_gui.rst @@ -330,12 +330,27 @@ in the Cate context includes functions that LAYERS Panel ------------ +.. figure:: ../_static/figures/user_manual/gui_panel_layers.png + :scale: 100 % + :align: center + + Layers Panel + + + .. _placemarks_panel: ---------------- PLACEMARKS Panel ---------------- +.. figure:: ../_static/figures/user_manual/gui_panel_placemarks.png + :scale: 100 % + :align: center + + Placemarks Panel + + .. _views_panel: @@ -343,13 +358,27 @@ PLACEMARKS Panel VIEWS Panel ----------- -.. _tasks_panel: +.. figure:: ../_static/figures/user_manual/gui_panel_views.png + :scale: 100 % + :align: center + + Views Panel + +.. _tasks_panel: + ----------- TASKS Panel ----------- +.. figure:: ../_static/figures/user_manual/gui_panel_tasks.png + :scale: 100 % + :align: center + + Tasks Panel + + .. _preferences_dialog: @@ -357,5 +386,10 @@ TASKS Panel Preferences Dialog ------------------ +.. figure:: ../_static/figures/user_manual/gui_dialog_preferences.png + :scale: 100 % + :align: center + + Preferences Dialog