Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • evalhyd-cpp evalhyd-cpp
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 4
    • Issues 4
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge gitlab.irstea.fr sera définitivement arrêtée le 30 juin 2026. Nous vous invitons à migrer vos projets vers la forge INRAE. Vous trouverez plus de détails sur le blog de la forge INRAE.

Mise à jour: le transfert a été repoussé au mercredi 3/12/2025.

Suite à des défaillances matérielles sur l'hébergement historique de gitlab.irstea.fr, le service sera déplacé vers un nouvel hébergement. gitlab.irstea.fr et tous les services attachés (pages, registry, ...) seront indisponibles de 9h à 17h ce mercredi 3 décembre. Merci de votre compréhension.

  • HYCAR-HydroHYCAR-Hydro
  • evalhydevalhyd
  • evalhyd-cppevalhyd-cpp
  • Issues
  • #10
Closed
Open
Issue created Nov 22, 2023 by Thibault Hallouin@thibault.hallouinOwner

undefined value returned when asking for transform 'inv'/'log'/'pow' with negative exponent with missing observations

In deterministic evaluation, the small value added (epsilon) to avoid zero divide/log(0) is computed using the mean of the observations, but when the observed streamflow series contains missing values (NaN), its mean evaluates to NaN, and the metric value returned is also undefined (NaN).

This is because xt::mean is used (instead of xt::nanmean) on the following lines:

  • https://gitlab.irstea.fr/HYCAR-Hydro/evalhyd/evalhyd-cpp/-/blob/a8c62cd26901feb3ff1d745a24569a3814d0f023/include/evalhyd/evald.hpp#L394
  • https://gitlab.irstea.fr/HYCAR-Hydro/evalhyd/evalhyd-cpp/-/blob/a8c62cd26901feb3ff1d745a24569a3814d0f023/include/evalhyd/evald.hpp#L404
  • https://gitlab.irstea.fr/HYCAR-Hydro/evalhyd/evalhyd-cpp/-/blob/a8c62cd26901feb3ff1d745a24569a3814d0f023/include/evalhyd/evald.hpp#L422

While waiting for a new version release, the easy solution is obviously to compute the epsilon value manually (e.g. taking 1% of the mean observed streamflow series) and give it to evalhyd's evald via the epsilon parameter.

Edited Nov 22, 2023 by Thibault Hallouin
Assignee
Assign to
Time tracking