1. 12 Sep, 2022 1 commit
  2. 02 Sep, 2022 1 commit
  3. 31 Aug, 2022 1 commit
    • Thibault Hallouin's avatar
      implement functionality to generate temporal masks from conditions · b13d2f21
      Thibault Hallouin authored
      This functionality is inherited from `evalhyd-cli`. It allows the user
      to provide conditions as strings to specify how to generate temporal
      subsets. Conditions can be based on observed streamflow values (e.g.
      q>800, q<=120) or on time indices (e.g. to select particular events).
      
      This functionality is made available both for determinist and
      probabilist evaluation, unlike in  `evalhyd-cli` where it was only
      available for probabilist evaluation.
      
      This is documented in the docstrings, and new unit tests are written.
      b13d2f21
  4. 19 Aug, 2022 2 commits
    • Thibault Hallouin's avatar
      deal with missing data flagged as NaN in observations/predictions · 397501ad
      Thibault Hallouin authored
      The general approach is to "eliminate" the time steps where observations
      or predictions are missing as early as possible in the algorithm. The
      best approach seemed to update the user-provided temporal masks to
      also mask those time steps with missing data.
      
      An alternative approach would have been to create a view on the
      observations and predictions, e.g. using something like
      `xt::view(obs, ..., xt::drop(...))`, but this produces a non-contiguous
      view which cannot be sorted with `xt::sort` later to determine the
      quantiles.
      
      This is documented in `evalp` docstring and new unit tests are added.
      397501ad
    • Thibault Hallouin's avatar
      fix typo in unit test on masking · 41a30d84
      Thibault Hallouin authored
      resulting in only checking the first metric (i.e. BS) repeatedly
      41a30d84
  5. 10 Aug, 2022 1 commit
  6. 08 Aug, 2022 2 commits
  7. 11 Jul, 2022 1 commit
  8. 30 Jun, 2022 2 commits
  9. 29 Jun, 2022 1 commit
    • Thibault Hallouin's avatar
      add dimensions for sites/lead times to probabilistic evaluator · 295b3208
      Thibault Hallouin authored
      Internally, rather than using the multi-dimensional character of
      tensors to compute all sites and all lead times at once, loops are
      performed for each site and each lead time, in turn, in order to
      minimise memory imprint. Although at the moment, the input tensors are
      expected to feature the sites and lead times dimensions. If memory is
      an issue, the user can still send smaller tensors with size 1 for those
      dimensions and recompose multi-sites/multi-lead times output arrays
      externally.
      295b3208
  10. 15 Jun, 2022 1 commit
  11. 13 Jun, 2022 1 commit
    • Thibault Hallouin's avatar
      return squeezed xarray · 91aec5e1
      Thibault Hallouin authored
      Since the metrics are typically summary statistics, their size is not
      very big, so that using xtensor instead of xarray as a data structure is
      not as critical as for input data. In turn, using xarray allows for
      metrics of different sizes to be returned without unnecessary size 1
      dimensions (e.g. when only one threshold is given, or when no temporal
      masking is performed). So all output metrics are now returned in their
      "natural" shape (e.g. 1D for mono-component metrics, 2D for
      multi-component metrics), plus any additional dimension linked to
      multi-thresholds, multi-masking, etc.
      91aec5e1
  12. 10 Jun, 2022 1 commit
  13. 02 Jun, 2022 3 commits
  14. 25 May, 2022 1 commit
  15. 24 May, 2022 1 commit
  16. 17 May, 2022 1 commit
  17. 16 May, 2022 1 commit