From 1029755f3d190581855ba143d16eab881a38efde Mon Sep 17 00:00:00 2001 From: Gregory Dubois-Felsmann Date: Fri, 2 Aug 2024 10:21:59 -0700 Subject: [PATCH] Add clarification advised by @TallJimbo --- doc/lsst.pipe.base/creating-a-pipelinetask.rst | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/doc/lsst.pipe.base/creating-a-pipelinetask.rst b/doc/lsst.pipe.base/creating-a-pipelinetask.rst index 7a8f6eef..3afbe1bf 100644 --- a/doc/lsst.pipe.base/creating-a-pipelinetask.rst +++ b/doc/lsst.pipe.base/creating-a-pipelinetask.rst @@ -475,11 +475,27 @@ subtraction. To bring this all together, see :ref:`pipeline-appendix-c`. -Note that the same mechanism works for output connections: +The same mechanism works for output connections: an output from a `PipelineTask` can be made optional (under config control) or a config switch can even be used to choose between different ways of providing output. +Note that disabling a connection via this mechanism, during initialization, +has the same effect on quantum graph generation and execution as if the +connection had never existed. + +Run-time optional inputs +------------------------ + +A separate mechanism exists that allows an `Input` connection to be made +run-time optional. +If the `Input.minimum` attribute is initialized to zero for a connection, +graph-building will still generate a quantum, and the `PipelineTask` will +be run, even if no dataset for that input can be found. + +Output connections are run-time optional by definition; it is always possible +for a `PipelineTask` to produce no output; that by itself is not treated as +an error condition. ---------------------------------------- Dataset name configuration and templates