- 03 Jan, 2023 1 commit
-
-
Thibault Hallouin authored
-
- 30 Dec, 2022 1 commit
-
-
Thibault Hallouin authored
including: - extracting the element/intermediate/metric calculations from the `determinist::Evaluator` class - introducing new getter methods in `determinist::Evaluator` class that handle the element/intermediate/metric inter-dependencies internally to the object - removing external inter-dependencies handling from `evald`
-
- 29 Dec, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 27 Dec, 2022 2 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
- 26 Dec, 2022 2 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
This is required for the bindings, because the 2D views on 4D tensors must be on the correct type (i.e. pytensor/rtensor/xtensor). Although, casting of the views to become xtensor could have been used instead. In doing so, there is no source file to be compiled anymore, so this becomes a header-only library. But to keep the "public" headers separate from the implementation, a subdirectory "detail/" is added.
-
- 20 Oct, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 12 Oct, 2022 1 commit
-
-
Thibault Hallouin authored
In order to harmonise with `evalp`, and in view to use `evald` in `evalp`, the subsets dimension (corresponding to the temporal masks) needed to be explicitly included in the output of `evald` rather than allowing a limited number of masks corresponding to the number of time series evaluated to be used.
-
- 06 Oct, 2022 1 commit
-
-
Thibault Hallouin authored
The bootstrapping method is based on a non-overlapping block sampling with replacement, where the blocks are years of data. The number of samples and the sample length (i.e the number of year blocks) are both customisable. The method is accessible both for deterministic and probabilistic evaluation where a new axis is added. For now, the metrics for all the samples are returned, but in the future, some summary statistics would be implemented (e.g. quantiles or mean/standard deviation). /!\ For determinist evaluation, the n-dimensional functionality became untenable such that the number of dimensions was fixed and restricted to 2D tensors. New unit tests are included to test both the bootstrapping generator and the numerical results obtained with the bootstrapping turned on.
-
- 30 Aug, 2022 1 commit
-
-
Thibault Hallouin authored
The use of `xexpression` and template parameter was showing its limits as the data type could not be different between the different n-dim inputs (e.g. masks had to be as double rather than bool). Since there is no real need to be able to use `evald` on `xarray`, the genericity of its API is reduced so that it now expects inputs to be tensor only. The number of dimensions for the tensors becomes a template parameter.
-
- 29 Aug, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 25 Aug, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 23 Aug, 2022 3 commits
-
-
Thibault Hallouin authored
both for deterministic and probabilistic input data
-
Thibault Hallouin authored
Unlike 3de89046, this also deals with missing predictions. This effectively pairwise remove those time steps where either observations or predictions are missing data. This does so without creating copies of the input data, via the use of xfunctions stored as class members. The unit test for missing data is updated to include NAN also in the predictions (with a varying number of NAN across the 5 time series).
-
Thibault Hallouin authored
In order to avoid copies of the input data, xfunctions are generated to replace timesteps in predictions where they are NaN in observations. This means that with this implementation, missing predictions are not supported.
-
- 01 Aug, 2022 5 commits
-
-
Thibault Hallouin authored
-
Thibault Hallouin authored
See evalhyd-r#1 for details on rtensor bug. Once this bug is fixed, `xt::stddev` should be brought back.
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
Thibault Hallouin authored
-
- 07 Jul, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 28 Jun, 2022 1 commit
-
-
Thibault Hallouin authored
With xexpression, the compiler will complain if the type used does not implement the xexpression interface. Before the move to OO approach, it was present, but got lost along the way.
-
- 15 Jun, 2022 1 commit
-
-
Thibault Hallouin authored
It seems that good practice for C++ applications is to only include *public* headers in "./include" folder and keep source files and *private* headers and implementation source files in "./src".
-
- 02 Jun, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 24 May, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 19 May, 2022 1 commit
-
-
Thibault Hallouin authored
-
- 13 May, 2022 1 commit
-
-
Thibault Hallouin authored
The package now relies on Evaluator objects to store and compute elements and metrics. This makes it easier to avoid unintended copies.
-