From 60a0c58c40bc25dd3ad82163ca78dfbbe789e66f Mon Sep 17 00:00:00 2001 From: Oliver Sanders Date: Wed, 4 Oct 2023 10:07:56 +0100 Subject: [PATCH] doc: clarify runahead limit --- cylc/flow/cfgspec/workflow.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/cylc/flow/cfgspec/workflow.py b/cylc/flow/cfgspec/workflow.py index a6d16bbe76d..a3049ee9660 100644 --- a/cylc/flow/cfgspec/workflow.py +++ b/cylc/flow/cfgspec/workflow.py @@ -626,21 +626,33 @@ def get_script_common_text(this: str, example: Optional[str] = None): 365 day (never a leap year) and 366 day (always a leap year). ''') Conf('runahead limit', VDR.V_STRING, 'P4', desc=''' - The scheduler runahead limit determines how many consecutive cycle - points can be active at once. The base point of the runahead - calculation is the lowest-valued point with :term:`active` or - :term:`incomplete` tasks present. + The runahead limit prevents a workflow from getting too far ahead + of the oldest :term:`active cycle`. - An integer interval value of ``Pn`` allows up to ``n+1`` cycle - points (including the base point) to be active at once. + A cycle is considered to be active if it contains any + :term:`active` tasks. - The default runahead limit is ``P4``, i.e. 5 active points - including the base point. + An integer interval value of ``Pn`` allows up to ``n+1`` cycles + to be active at once. + + The default runahead limit is ``P4``, which means there may be up + to 5 active cycles. Datetime cycling workflows can optionally use a datetime interval - value instead, in which case the number of active cycle points + value instead, in which case the number of cycles within the interval depends on the cycling intervals present. + Examples: + + ``P0`` + Only one cycle can be active at a time. + ``P2`` + The scheduler will run up to two cycles ahead of the oldest + active cycle. + ``P3D`` + The scheduler will run cycles up to three days of cycles ahead + of the oldest active cycle. + .. seealso:: :ref:`RunaheadLimit`