MetOffice / MetOffice/CSET

`aggregate.time_aggregate` incorrectly handles aggregating over months and years

Open
#490 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
33
Forks
19
Avg merge
1d 22h
Merged PRs (30d)
30

Description

`aggregate.time_aggregate` converts its aggrigation interval from an ISO duration string into a total number of seconds. This runs into issues if it contains months or years, as they are not a consistent number of seconds.

For example, a period of 1 month starting on 2000-01-01 would give:
2000-01-01 -> 31 day difference -> 2000-02-01 -> 28 day difference -> 2000-03-01

Currently this different length is not taken into account.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating aggregate.time_aggregate and reviewing how its ISO duration string is converted into seconds. Reproduce the month-based example from the issue, then ensure aggregation accounts for the varying calendar lengths of months and years and add coverage for those intervals.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.