Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Switched to code block for PPR display

...

The search interface for the AAT/PPI has been updated to handle ALMA MOUS structures, and indicates whether a restore can be requested with the existence of a button underneath the 'cals' column.   This specialized button results in a workflow start event much like the one above, but with additional fields in the metadata pertaining to the final delivery location of the calibrated MSes and a few additional fields used by other workflows initiated via the search interface.  It is important to note that even if ALMA data has been calibrated and imaged, that does not mean that the data are appropriate for an automated restore process.  Please see the section above for how we determine which MOUSes are restore candidates.


The archive front end (via the request handler) sends a similar (although larger) set json command for the workflow initiation.  It includes a set of parameters to specify how to delivery the results of the workflow, and also some extraneous information which is mostly of interest for other workflows.

What does the AAT/PPI ALMA restore workflow do?

...

For ALMA data, the PPR must meet the requirements of a stricter schema (defined in the Alma Common Software) than is used for EVLA processing.  In particular, the ProjectStructure section is required, and there are different formats for the DataSet section which must be followed.  In addition, there is a substructre to the MOUS (called sessions) which must be properly laid out in the ProcessingIntents section. 

...

Code Block

...

languagexml
titleEmpty PPR structure
linenumberstrue
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<SciPipeRequest xmlns:ent="Alma/CommonEntity"
    xmlns:val="Alma/ValueTypes" xmlns:prp="Alma/ObsPrep/ObsProposal"
    xmlns:orv="Alma/ObsPrep/ObsReview"
    xmlns:ps="Alma/ObsPrep/ProjectStatus"
    xmlns:oat="Alma/ObsPrep/ObsAttachment"
    xmlns:prj="Alma/ObsPrep/ObsProject"
    xmlns:sbl="Alma/ObsPrep/SchedBlock"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="SciPipeRequest">
    <SciPipeRequestEntity entityId="UID_UNASSIGNED"
        entityTypeName="SciPipeRequest" datamodelVersion="0.1"/>
    <ProjectSummary>
        <ProposalCode></ProposalCode>
        <ProposalTitle></ProposalTitle>
        <Observatory></Observatory>
        <Telescope></Telescope>
        <ProcessingSite></ProcessingSite>
        <Operator></Operator>
        <Mode>CSV</Mode>
        <Version>Undefined</Version>
        <CreationTime></CreationTime>
    </ProjectSummary>
    <ProjectStructure>
       <ObsUnitSetRef entityId=""
            partId="" entityTypeName="ObsProject"/>
        <ObsUnitSetTitle>Undefined</ObsUnitSetTitle>
        <ObsUnitSetType>Member</ObsUnitSetType>
        <ProjectStatusRef entityId=""
            entityTypeName="ProjectStatus" documentVersion="1"/>
        <OUSStatusRef entityId="" entityTypeName="OUSStatus"/>
    </ProjectStructure>
    <ProcessingRequests>
      <ProcessingRequest>
    <RootDirectory></RootDirectory>
    <ProcessingIntents>
          <Intents>
            <Keyword>PROCESS</Keyword>
            <Value>true</Value>
          </Intents>
          <Intents>
            <Keyword>SESSION_1</Keyword>
            <Value></Value>
          </Intents>
          <Intents>
            <Keyword>SESSION_2</Keyword>
            <Value></Value>
          </Intents>
          <Intents>
            <Keyword>SESSION_3</Keyword>
            <Value></Value>
          </Intents>
          <Intents>
            <Keyword>SESSION_4</Keyword>
            <Value></Value>
          </Intents>
          <Intents>
            <Keyword>INTERFEROMETRY_STANDARD_OBSERVING_MODE</Keyword>
            <Value>Undefined</Value>
          </Intents>
        </ProcessingIntents>
    <ProcessingProcedure>
      <ProcedureTitle>hifa_restore_aat_ppi</ProcedureTitle>
          <ProcessingCommand>
            <Command>hifa_restoredata</Command>
        <ParameterSet/>
          </ProcessingCommand>
    </ProcessingProcedure>
    <DataSet>
          <SchedBlockSet>
            <SchedBlockIdentifier>
              <RelativePath></RelativePath>
              <SchedBlockRef entityId=""
                             entityTypeName="SchedBlock" documentVersion="1"/>
              <SBStatusRef entityId="" entityTypeName="SBStatus"/>
              <SBTitle>Undefined</SBTitle>
              <AsdmIdentifier>
                <AsdmRef>
                  <ExecBlockId></ExecBlockId>
                </AsdmRef>
                <AsdmDiskName></AsdmDiskName>
              </AsdmIdentifier>
              <AsdmIdentifier>
                <AsdmRef>
                  <ExecBlockId></ExecBlockId>
                </AsdmRef>
                <AsdmDiskName></AsdmDiskName>
              </AsdmIdentifier>
              <AsdmIdentifier>
                <AsdmRef>
                  <ExecBlockId></ExecBlockId>
                </AsdmRef>
                <AsdmDiskName></AsdmDiskName>
              </AsdmIdentifier>
              <AsdmIdentifier>
                <AsdmRef>
                  <ExecBlockId></ExecBlockId>
                </AsdmRef>
                <AsdmDiskName></AsdmDiskName>
              </AsdmIdentifier>
            </SchedBlockIdentifier>
          </SchedBlockSet>
        </DataSet>
      </ProcessingRequest>
    </ProcessingRequests> 
    <ResultsProcessing>
        <ArchiveResults>false</ArchiveResults>
        <CleanUpDisk>false</CleanUpDisk>
        <UpdateProjectLifeCycle>false</UpdateProjectLifeCycle>
        <NotifyOperatorWhenDone>false</NotifyOperatorWhenDone>
        <PipelineOperatorAdress>Unknown</PipelineOperatorAdress>
    </ResultsProcessing>
</SciPipeRequest>

...


Above is the basic layout of the restore PPR.  Much of the data simply needs to be added to the correct area (RootDirectory, ProjectCode, etc). 

...