Skip to content

Support calculation over specified time < 48 hours by cutoff #134

@sadielbartholomew

Description

@sadielbartholomew

At present, it seems CATS only allows users to determine the greenest time to run within the next full 48 hour time period, but I can easily foresee that they may instead want to determine the greenest time within a set time period that is less than 48 hours - say, to find out when the estimated carbon intensity is lowest over the next 24 hours only, or even for a shorter job over the next 3 hours only. We can support this, as long as the time window isn't so small it approaches the consistent (or maximum) interval time at which the forecasts are sampled (see #57), though it depends also on the expected job duration as to what is feasible.

An example would be a researcher who wants to set, just before they leave work in the evening, a job to run overnight before they start work again the next morning, and they don't care when otherwise so use CATS to schedule it for the greenest time - at the moment CATS might schedule it dependent on the forecast for the next day later than the morning or even the day after that, which wouldn't be useful for the researcher who needs it to be run for the next morning.

So, I am suggesting a way to input a cutoff time or maximum window time (those are the best ways I can think of right now to describe it, but happy to take suggestions) to reduce the maximum time of scheduling to a specified time T. This would mean performing the calculation to find the minimum carbon intensity over not 48 hours but the specified T. This should be simple enough to implement as an input parameter to reduce the time window to consider.

I suggest a name of either --window or --cutoff or similar for the new configuration input which would be a time value between some sensible minimum and 48 hours, in minutes, to provide the window in which to consider to search for the greenest start time within, which would by default be 2880 minutes (= 48 hours).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions