wiki:DC3OutputStagePolicyDesign
Last modified 10 years ago Last modified on 04/03/2009 12:11:10 PM

DC3 OutputStage Policy Design

updated: Feb 11, 2009

OutputStage Policy File Components

  1. AdditionalData:
    • type: string array
    • description: allows clipboard values to be given names to be used as parameters in pathnames or by Formatters. Form is <name>=<clipboardKey>.
  2. RunMode:
    • type: string
    • allowed values: "preprocess", "process", "postprocess"
    • description: specifies when the output should occur.
  3. OutputItems:
    • type: policy
    • description: items to persist
    • sub-policies:
      1. <itemName>:
        • type: policy
        • description: replace <itemName> with the name you would like to assign to this output item. multiple item policies may be defined within the OutputItems policy.
        • sub-policies:
          1. StoragePolicy:
            • type: policy
            • description: specifies how and where to persist this item. Multiple StoragePolicy can be defined for a single item; they are used in sequence.
            • components:
              1. Storage:
                • type: string
                • allowed values: "BoostStorage", "DbStorage", "DbTsvStorage", "FitsStorage", "XmlStorage"
                • description: specifies how to persist the item.
              2. Location:
                • type: string
                • description: specifies where to perist the item. Should be a logical location, not a physical one. Can include %(...) parameters which will be filled in by the stage using the "AdditionalData" values. If the parameter to be substituted is an integer (not a string representing an integer), it can be formatted using the syntax "%03d(...)". Built in %(...) operands include:
                  • %(input), %(output), %(scratch), %(update), %(work) directories
                  • %(dbUrl) database URL
                  • %(runId), %(sliceId), %(universeSize) pipeline parameters

Sample OutputStage Policy File

AdditionalData: "exposureId=triggerImageprocEvent.exposureid"
RunMode: "process"
OutputItems: {
    OutputImage: {
        required: true
        StoragePolicy: {
            Storage: "FitsStorage"
            Location: "image%(exposureId)"
        }
    }
}