You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
because there are events recorded during these first few hours of April, but there are no patrols which started during those four hours, resulting in an April group being created for events data, but none for trajectories data, because for trajectories, we are temporally indexing based on the start time of the patrol, i.e. "extra__patrol_start_time":
Upon re-running the same (previously failing config) with that change, the workflow succeeded. This is because both event and trajectory data now had the following same groups
So this leads me to wonder, per the title of this issue, should trajectories be temporally indexed based on patrol start or end time?
Are there other adverse groupings that could occur if we default to "extra__patrol_end_time"; that is, will we just be creating different problems that way?
Or rather than changing this behavior do, we need to just handle mismatched grouper sets by displaying blank (or placeholder) widgets in the dashboard in the case of mismatched grouper sets?
Per discussion with @walljcg, this problem may be resolved by grouping patrol trajectories based on segment_start (rather than extra__patrol_start_time).
On a call with @walljcg just now we did a rerun.sh test of a patrol config that runs into this issue and I tried monkey patching the segment_start change into the run. Sadly/Hilariously this resulted in an even larger number of "extra" groups.
Pretty confident this is a more holistic issue than just how we resolve traj segments (as your notes above have hinted)
On app.dev.ecoscope.io, I have a patrols workflow with the following config:
Note that the time range includes the first 4 hours of April
I have found that, running against the latest workflows
v0.0.21
release, this workflow fails the following assertecoscope-workflows/src/ecoscope-workflows-core/ecoscope_workflows_core/tasks/results/_dashboard.py
Lines 305 to 307 in 3887263
because there are events recorded during these first few hours of April, but there are no patrols which started during those four hours, resulting in an April group being created for events data, but none for trajectories data, because for trajectories, we are temporally indexing based on the start time of the patrol, i.e.
"extra__patrol_start_time"
:ecoscope-workflows/examples/patrols/spec.yaml
Lines 66 to 72 in 3887263
Put another way, by the time we reach the above-linked assert, the events data has these groups:
but the trajectories data only has these groups (because the patrols that extend into April are being grouped with March, the month they started in):
Confirming this diagnosis of the failure, using https://github.com/wildlife-dynamics/compose/pull/195 I monkey-patched a change here
ecoscope-workflows/examples/patrols/ecoscope-workflows-patrols-workflow/ecoscope_workflows_patrols_workflow/dags/run_sequential.py
Lines 112 to 116 in 3887263
like so
Upon re-running the same (previously failing config) with that change, the workflow succeeded. This is because both event and trajectory data now had the following same groups
The text was updated successfully, but these errors were encountered: