You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2010/12/23 03:44:31 UTC

svn commit: r1052143 [11/11] - in /oodt/branches/wengine-branch: ./ src/ src/main/ src/main/assembly/ src/main/bin/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/oodt/ src/main/java/org/apache/oodt/cas/ src/main/j...

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_MoaOrbits.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_MoaOrbits.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_MoaOrbits.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_MoaOrbits.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<pgeConfig>
+    
+    <import file="PgeConfig_PGETaskMetadata.xml"/>                                      
+
+    <!-- input file for science PGE that need to be created  -->
+    <dynInputFiles>
+        <file path="[Defaults/ConfigDir]/[SciPgeConfFileName]" writerClass="[Defaults/TransformWriter]" args="[ConfigXsltFile],[Defaults/XsltUseCDATA]"/>
+    </dynInputFiles>
+
+    <!-- how to run science PGE -->
+    <exe dir="[Defaults/RunInDir]" shellType="/bin/csh">
+        <cmd>setenv PATH /bin:/usr/bin:/usr/local/bin</cmd>
+        <cmd>setenv LD_LIBRARY_PATH /usr/lib:/usr/local/lib</cmd>
+        <cmd>setenv IDL_DLM_PATH [PEATE_3RD_PARTY_DEPOT]/packages/beat-4.2.0_64/lib/beat/idl</cmd>
+    	<cmd>setenv SrcDir [Defaults/SpssHome]</cmd>
+    	<cmd>setenv IDL_STARTUP [Defaults/SpssHome]/idl/pge/common/src/idl_startup</cmd>
+        <cmd>setenv HOSTTYPE `arch`</cmd>
+        <cmd>setenv HOST `hostname`</cmd>
+        <cmd>setenv IDL_DIR [PEATE_3RD_PARTY_DEPOT]/idl/idl</cmd>
+        <cmd>setenv IDL [PEATE_3RD_PARTY_DEPOT]/idl/idl/bin/idl</cmd>
+    	<cmd>setenv NPP_IDL_DIR [Defaults/SpssHome]/idl/pge/common/src</cmd>
+    	<cmd>setenv NPP_IDL_SHARED_LIB_DIR [Defaults/SpssHome]/lib</cmd>
+        <cmd>$IDL -e "create_orbit_iasi, '[Defaults/ConfigDir]/[SciPgeConfFileName]'" [Defaults/CshPipeToStdOutAndError] [Defaults/LogDir]/[CasPgeLogFileName]</cmd>
+        <cmd>set return_value = $?</cmd>
+        <cmd>if ( ${return_value} == 0 [Defaults/LogicalAnd] -e '[GranMap/OUTPUTFILE]' [Defaults/LogicalAnd] ! -z '[GranMap/OUTPUTFILE]' ) then</cmd>
+        <cmd>   exit 0</cmd> 
+        <cmd>else</cmd> 
+        <cmd>   exit 1</cmd> 
+        <cmd>endif</cmd> 
+    </exe>
+    
+    <!-- files to ingest -->
+    <output>
+        <dir path="[Defaults/RunInDir]" createBeforeExe="true">
+        	<files name="[GranMap/OUTPUTFILE]" metFileWriterClass="[Defaults/MetListWriter]" args="[MoaOrbitsProduct_Metout]"/>
+        </dir>
+    </output>
+    
+    <customMetadata>
+
+        <!-- ProductType Metadata for MoaMap WorkflowCondition -->
+        <metadata key-gen="MOA_ORBITS/JobId/Term" val="[ProdMet/JobId]" workflowMet="true"/>
+        
+        <!-- Pge Specific Metadata -->
+    	<metadata key="ProdMet/ExecutablePathnames" val="[Defaults/SpssHome]"/> 
+    	<metadata key="ProdMet/ExecutableVersions" val="[Defaults/DataVersion]"/> 
+        <metadata key="ProdMet/Mission" val="MetOpA"/>
+        <metadata key="ProdMet/ProcessingLevel" val="L1"/>
+        <metadata key="ProdMet/DataDuration" val="D1" />
+
+        <!-- Config File Metadata -->
+        <metadata key="ConfigXsltFile" val="[Defaults/SpssPgetaskXsltPath]/Xslt_MoaGPolygonOrbits.xsl"/>
+ 
+        <!-- File Naming -->
+    	<metadata key="SciPgeLogFileName" val="[NamingConv/SciPgeLogFileNameKey]"/>
+    	<metadata key="SciPgeConfFileName" val="[NamingConv/SciPgeConfFileNameKey]"/>
+    	<metadata key="CasPgeLogFileName" val="[NamingConv/CasPgeLogFileNameKey]"/>
+        <metadata key="OutputFileName" val="[NamingConv/OutputProductKey]"/>
+
+        <!-- Data Files -->
+    	<metadata key="L1FormattedMetadata" val="[Runtime/Condition/L1FormattedQuery]"/>
+    	<metadata key="L1Filenames" val="[Runtime/Condition/L1FilenamesQuery]"/>
+        <metadata key="ProdMet/InputFiles" val="[L1Filenames]"/>
+
+        <!-- PGE metadata -->
+        <metadata key="GranMap/L1FileTypeName" val="IASI"/>
+        <metadata key="GranMap/NOMINALDAY" key-ref="ProdMet/NominalDate"/>
+        <metadata key="GranMap/OUTPUTPATH" val="[Defaults/RunInDir]/"/>
+        <metadata key="GranMap/OUTPUTFILE" key-ref="OutputFileName"/>
+        <metadata key="GranMap/LOGFILE" val="[Defaults/LogDir]/[SciPgeLogFileName]"/>
+        <metadata key="GranMap/LOGLEVEL" val="0"/>
+        <metadata key="GranMap/DEBUG" val="0"/>
+        
+        <!-- PCS metadata file info for CalSub data file output -->
+    	<metadata key="MoaOrbitsProduct_Metout" val="[Runtime/Condition/SharedMetout],[Defaults/SpssPgetaskMetoutPath]/MoaOrbitsProduct_metadata.xml"/>   
+
+    </customMetadata>
+    
+</pgeConfig>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_NamingConv.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_NamingConv.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_NamingConv.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_NamingConv.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<pgeConfig>
+
+    <customMetadata>
+
+        <!-- PGE Variant Static File Naming Convention -->
+        <metadata key="PgeVariantKey" key-ref="[PGETask/Name]/Variant"/>
+        <metadata key="PgeVariantFileName" val="SNDR.[PGETask/Name].[PgeVariantKey].CAS.xml"/>
+
+        <!-- Granule Map Pges Log And Conf Files Naming Conventions -->
+        <metadata key="GranuleMap/LogConf" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd,[ProdMet/NominalDate],yyyyMMdd)].[ProdMet/DataDuration].[ProdMet/ProcessingLevel].[PGETask/Name].[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)]" envReplace="false" split="false"/>
+        <metadata key="GranuleMap/SciLog" val="[GranuleMap/LogConf].sci.log" envReplace-NoRecur="true" split="false"/>
+    	<metadata key="GranuleMap/SciConf/WithoutTypeExt" val="[GranuleMap/LogConf].config" envReplace-NoRecur="true" split="false"/>
+    	<metadata key="GranuleMap/SciConf/Text" val="[GranuleMap/SciConf/WithoutTypeExt].txt" envReplace-NoRecur="true" split="false"/>
+        <metadata key="GranuleMap/CasLog" val="[GranuleMap/LogConf].cas.log" envReplace-NoRecur="true" split="false"/>
+
+        <!-- Orbits Naming Conventions -->
+        <metadata key="MoaOrbits/Product" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd,[ProdMet/NominalDate],yyyyMMdd)].[ProdMet/DataDuration].[ProdMet/ProcessingLevel].Orbits.[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)].txt" envReplace="false" split="false"/>
+        <metadata key="MoaOrbits/SciLog" key-ref="GranuleMap/SciLog"/>
+    	<metadata key="MoaOrbits/SciConf" key-ref="GranuleMap/SciConf/Text"/>
+        <metadata key="MoaOrbits/CasLog" key-ref="GranuleMap/CasLog"/>
+
+        <!-- GPolygon Naming Conventions -->
+        <metadata key="MoaGPolygon/Product" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd,[ProdMet/NominalDate],yyyyMMdd)].[ProdMet/DataDuration].[ProdMet/ProcessingLevel].Polygons.[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)].txt" envReplace="false" split="false"/>
+        <!-- IASI -->
+        <metadata key="MoaIasiGPolygon/Product" key-ref="MoaGPolygon/Product"/>
+        <metadata key="MoaIasiGPolygon/SciLog" key-ref="GranuleMap/SciLog"/>
+    	<metadata key="MoaIasiGPolygon/SciConf" key-ref="GranuleMap/SciConf/Text"/>
+        <metadata key="MoaIasiGPolygon/CasLog" key-ref="GranuleMap/CasLog"/>
+        <!-- AMSUA --> 
+        <metadata key="MoaAmsuaGPolygon/Product" key-ref="MoaGPolygon/Product"/>
+        <metadata key="MoaAmsuaGPolygon/SciLog" key-ref="GranuleMap/SciLog"/>
+    	<metadata key="MoaAmsuaGPolygon/SciConf" key-ref="GranuleMap/SciConf/Text"/>
+        <metadata key="MoaAmsuaGPolygon/CasLog" key-ref="GranuleMap/CasLog"/>
+        <!-- MHS -->
+        <metadata key="MoaMhsGPolygon/Product" key-ref="MoaGPolygon/Product"/>
+        <metadata key="MoaMhsGPolygon/SciLog" key-ref="GranuleMap/SciLog"/>
+    	<metadata key="MoaMhsGPolygon/SciConf" key-ref="GranuleMap/SciConf/Text"/>
+        <metadata key="MoaMhsGPolygon/CasLog" key-ref="GranuleMap/CasLog"/>
+
+        <!-- Polygon Map Naming Conventions -->
+        <metadata key="MoaMap/Product" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd,[ProdMet/NominalDate],yyyyMMdd)].[ProdMet/DataDuration].[ProdMet/ProcessingLevel].PolygonMap.[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)].pdf" envReplace="false" split="false"/>
+        <!-- IASI -->
+        <metadata key="MoaIasiMap/Product" key-ref="MoaMap/Product"/>
+        <metadata key="MoaIasiMap/SciLog" key-ref="GranuleMap/SciLog"/>
+        <metadata key="MoaIasiMap/SciConf" key-ref="GranuleMap/SciConf/Text"/>
+        <metadata key="MoaIasiMap/CasLog" key-ref="GranuleMap/CasLog"/>
+        <!-- AMSUA --> 
+        <metadata key="MoaAmsuaMap/Product" key-ref="MoaMap/Product"/>
+        <metadata key="MoaAmsuaMap/SciLog" key-ref="GranuleMap/SciLog"/>
+        <metadata key="MoaAmsuaMap/SciConf" key-ref="GranuleMap/SciConf/Text"/>
+        <metadata key="MoaAmsuaMap/CasLog" key-ref="GranuleMap/CasLog"/>
+        <!-- MHS -->
+        <metadata key="MoaMhsMap/Product" key-ref="MoaMap/Product"/>
+        <metadata key="MoaMhsMap/SciLog" key-ref="GranuleMap/SciLog"/>
+        <metadata key="MoaMhsMap/SciConf" key-ref="GranuleMap/SciConf/Text"/>
+        <metadata key="MoaMhsMap/CasLog" key-ref="GranuleMap/CasLog"/>
+
+        <!-- CalSub Naming Conventions -->
+        <metadata key="MoaIasiCalsub/Product" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd,[ProdMet/NominalDate],yyyyMMdd)].[ProdMet/DataDuration].[ProdMet/ProcessingLevel].CalSub.[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)].mat" envReplace="false" split="false"/>
+        <metadata key="MoaIasiCalsub/LogConf" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd,[ProdMet/NominalDate],yyyyMMdd)].[ProdMet/DataDuration].[ProdMet/ProcessingLevel].[PGETask/Name].[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)]" envReplace="false" split="false"/>
+		<metadata key="MoaIasiCalsub/SciLog" val="[MoaIasiCalsub/LogConf].sci.log" envReplace-NoRecur="true" split="false"/>
+        <metadata key="MoaIasiCalsub/SciConf" val="[MoaIasiCalsub/LogConf].config.xml" envReplace-NoRecur="true" split="false"/>
+		<metadata key="MoaIasiCalsub/CasLog" val="[MoaIasiCalsub/LogConf].cas.log" envReplace-NoRecur="true" split="false"/>
+
+        <!-- Analysis Naming Conventions -->
+        <metadata key="MoaAnalysis/Product" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/StartDateTime],yyyyMMddHHmmss)].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/EndDateTime],yyyyMMddHHmmss)].RTP3.[ProdMet/ContentMask].[ProdMet/ContentSource].[ProdMet/Sampling].[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)].nc" envReplace="false" split="false"/>
+        <metadata key="MoaAnalysis/LogConf" val="SNDR.[ProdMet/Mission].[ProdMet/Instrument].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/StartDateTime],yyyyMMddHHmmss)].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/EndDateTime],yyyyMMddHHmmss)].[PGETask/Name].[ProdMet/ContentMask].[ProdMet/ContentSource].[ProdMet/Sampling].[ProdMet/CollectionLabel].[ProdMet/DataVersion].[ProdMet/ProductionLocationCode].[FORMAT(yyyy-MM-dd'T'HH:mm:ss.SSS'Z',[ProdMet/ProductionDateTime],yyMMddHHmmss)]" envReplace="false" split="false"/>
+    	<metadata key="MoaIasiAnalysis/SciConf/WithoutTypeExt" val="[MoaAnalysis/LogConf].config" envReplace-NoRecur="true" split="false"/>
+    	<metadata key="MoaIasiAnalysis/SciConf/Text" val="[MoaAnalysis/SciConf/WithoutTypeExt].txt" envReplace-NoRecur="true" split="false"/>    	
+        <!-- IASI -->
+        <metadata key="MoaIasiAnalysis/Product" key-ref="MoaAnalysis/Product"/>
+		<metadata key="MoaIasiAnalysis/SciLog" val="[MoaAnalysis/LogConf].sci.log" envReplace-NoRecur="true" split="false"/>
+    	<metadata key="MoaIasiAnalysis/SciConf" key-ref="MoaIasiAnalysis/SciConf/Text" envReplace-NoRecur="true" split="false"/>
+		<metadata key="MoaIasiAnalysis/CasLog" val="[MoaAnalysis/LogConf].cas.log" envReplace-NoRecur="true" split="false"/>
+        <!-- AMSUA -->
+        <metadata key="MoaAmsuaAnalysis/Product" key-ref="MoaAnalysis/Product"/>
+		<metadata key="MoaAmsuaAnalysis/SciLog" val="[MoaAnalysis/LogConf].sci.log" envReplace-NoRecur="true" split="false"/>
+    	<metadata key="MoaAmsuaAnalysis/SciConf" key-ref="MoaAnalysis/LogConf/Text" envReplace-NoRecur="true" split="false"/>
+		<metadata key="MoaAmsuaAnalysis/CasLog" val="[MoaAnalysis_LogConf_NamingConv].cas.log" envReplace-NoRecur="true" split="false"/>
+        <!-- MHS -->
+        <metadata key="MoaMhsAnalysis/Product" key-ref="MoaAnalysis/Product"/>
+		<metadata key="MoaMhsAnalysis/SciLog" val="[MoaAnalysis/LogConf].sci.log" envReplace-NoRecur="true" split="false"/>
+    	<metadata key="MoaMhsAnalysis/SciConf" key-ref="MoaAnalysis/LogConf/Text" envReplace-NoRecur="true" split="false"/>
+		<metadata key="MoaMhsAnalysis/CasLog" val="[MoaAnalysis/LogConf].cas.log" envReplace-NoRecur="true" split="false"/>
+
+        <!-- KEYS TO USE -->
+        <metadata key="SciPgeLogFileNameKey" key-ref="[PGETask/Name]/SciLog"/>
+        <metadata key="SciPgeConfFileNameKey" key-ref="[PGETask/Name]/SciConf"/>
+        <metadata key="CasPgeLogFileNameKey" key-ref="[PGETask/Name]/CasLog"/>
+        <metadata key="OutputProductKey" key-ref="[PGETask/Name]/Product"/>
+
+    </customMetadata>
+
+</pgeConfig>
+

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_PGETaskMetadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_PGETaskMetadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_PGETaskMetadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_PGETaskMetadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<pgeConfig>
+
+    <import namespace="Defaults" file="PgeConfig_Defaults.xml"/>                                      
+    <import namespace="NamingConv" file="PgeConfig_NamingConv.xml"/>                                      
+    <import namespace="ProdLocMap" file="PgeConfig_ProductionLocMapping.xml"/>                                      
+	<import namespace="Static" file="[Defaults/SpssConfigPath]/[NamingConv/PgeVariantFileName]"/>
+
+    <customMetadata>
+
+		<!-- Namespacing Metadata from Workflow Manager -->
+    	<metadata key="ProdMet/JobId" key-ref="JobId"/>
+    	<metadata key="ProdMet/TaskId" key-ref="TaskId"/>
+    	<metadata key="ProdMet/ProcessingNode" key-ref="ProcessingNode"/>
+
+		<!-- Namespacing Metadata from Workflow Manager Condition -->
+    	<metadata key="ProdMet/Instrument" key-ref="Instrument"/>
+    	
+    	<!-- Namespacing Imported Metadata -->
+    	<metadata key="ProdMet/ProductionLocation" key-ref="ProdLocMap/ProductionLocation_[PEATE_ENVIRONMENT]"/>
+    	<metadata key="ProdMet/ProductionLocationCode" key-ref="ProdLocMap/ProductionLocationCode_[PEATE_ENVIRONMENT]"/>
+    	<metadata key="ProdMet/ProductionDateTime" key-ref="Defaults/ProductionDateTime"/>
+    	<metadata key="ProdMet/JobType" key-ref="Defaults/JobType"/>
+    	<metadata key="ProdMet/DataVersion" key-ref="Defaults/DataVersion"/>
+    	<metadata key="ProdMet/DataProvider" key-ref="Defaults/DataProvider"/>
+    	
+    	<!-- Setting Values to Unknown -->
+    	<metadata key="ProdMet/RequestId" val="Unknown"/>
+    	<metadata key="ProdMet/Comments" val="Unknown"/>
+    	<metadata key="ProdMet/ExecutablePathnames" val="Unknown"/> 
+    	<metadata key="ProdMet/ExecutableVersions" val="Unknown"/> 
+    	<metadata key="ProdMet/CollectionLabel" val="Unknown"/>
+    	<metadata key="ProdMet/Mission" val="Unknown"/>
+    	<metadata key="ProdMet/ProcessingLevel" val="Unknown"/>
+    	<metadata key="ProdMet/DataDuration" val="Unknown"/>
+
+    </customMetadata>
+
+</pgeConfig>
+

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_ProductionLocMapping.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_ProductionLocMapping.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_ProductionLocMapping.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/config/PgeConfig_ProductionLocMapping.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<pgeConfig>
+
+    <customMetadata>
+
+        <!-- Key based on 'ProductionLocationCode_[PEATE_ENVIRONMENT]' -->
+        <metadata key="ProductionLocationCode_dev" val="d"/>
+        <metadata key="ProductionLocationCode_int" val="i"/>
+        <metadata key="ProductionLocationCode_test" val="t"/>
+        <metadata key="ProductionLocationCode_sit" val="s"/>
+        <metadata key="ProductionLocationCode_ops" val="S"/>
+        <metadata key="ProductionLocationCode_null" val="X"/>
+
+        <!-- Key based on 'ProductionLocation_[PEATE_ENVIRONMENT]' -->
+        <metadata key="ProductionLocation_dev" val="Sounder PEATE Development"/>
+        <metadata key="ProductionLocation_int" val="Sounder PEATE Integration"/>
+        <metadata key="ProductionLocation_test" val="Sounder PEATE Test"/>
+        <metadata key="ProductionLocation_sit" val="Sounder PEATE SIT"/>
+        <metadata key="ProductionLocation_ops" val="Sounder PEATE Operations"/>
+        <metadata key="ProductionLocation_null" val="Unknown"/>
+
+    </customMetadata>
+
+</pgeConfig>
+

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/AllProducts_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/AllProducts_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/AllProducts_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/AllProducts_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any File -->
+    <metadata key="ProductName" val="[Filename]"/>
+    <metadata key="Filename"/> 
+    <metadata key="FileLocation"/>
+    <metadata key="ProductionLocation" val="[ProdMet/ProductionLocation]"/> 
+    <metadata key="ProductionDateTime" val="[ProdMet/ProductionDateTime]"/> 
+    <metadata key="DataProvider" val="[ProdMet/DataProvider]"/> 
+    <metadata key="DataVersion" val="[ProdMet/DataVersion]"/> 
+    <metadata key="FileSize"/> 
+    <metadata key="Group" val="[ProdMet/Group]"/> 
+    <metadata key="Collection" val="[ProdMet/Collection]"/> 
+    <metadata key="SubCollection" val="[ProdMet/SubCollection]"/> 
+    <metadata key="CollectionLabel" val="[ProdMet/CollectionLabel]"/> 
+    <metadata key="Comments" val="[ProdMet/Comments]"/> 
+    
+    <!-- PEATE Processed File -->
+    <metadata key="JobType" val="[ProdMet/JobType]"/> 
+    <metadata key="InputFiles" val="[ProdMet/InputFiles]"/> 
+    <metadata key="JobId" val="[ProdMet/JobId]"/> 
+    <metadata key="TaskId" val="[ProdMet/TaskId]"/> 
+    <metadata key="RequestId" val="[ProdMet/RequestId]"/> 
+    <metadata key="ProductionLocationCode" val="[ProdMet/ProductionLocationCode]"/> 
+    
+    <!-- Any PEATE Product Data File -->
+    <metadata key="Mission" val="[ProdMet/Mission]"/> 
+    <metadata key="Instrument" val="[ProdMet/Instrument]"/>
+    <metadata key="ProcessingLevel" val="[ProdMet/ProcessingLevel]"/> 
+    <metadata key="DataDuration" val="[ProdMet/DataDuration]"/>
+
+    <!-- PGE Log File -->
+    <metadata key="ProcessingNode" val="[ProdMet/ProcessingNode]"/> 
+    <metadata key="ExecutionTime" val="[PGETask/Runtime]"/> 
+    
+</metadataList>
+

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/CAS_PGE_LOG_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/CAS_PGE_LOG_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/CAS_PGE_LOG_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/CAS_PGE_LOG_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any File -->
+    <metadata key="ProductType" val="CAS_PGE_LOG"/> 
+    <metadata key="FileFormat" val="log"/>  
+
+    <!-- Versioner Metadata -->
+    <metadata key="PCS_VersioningType" val="FileBased"/>  
+    <metadata key="AggregateDir" val="cas_pge_log"/>
+    
+</metadataList>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/DailyProduct_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/DailyProduct_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/DailyProduct_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/DailyProduct_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any Data File -->
+    <metadata key="NominalDate" val="[ProdMet/NominalDate]"/>
+    <metadata key="StartDateTime" val="[ProdMet/NominalDate]T00:00:00.000Z"/>
+    <metadata key="EndDateTime" val="[ProdMet/NominalDate]T23:59:59.999Z"/>
+    <metadata key="StartTAI93" val="[DATE_TO_SECS([UTC_TO_TAI([StartDateTime])],TAI_FORMAT,1993-01-01)]"/>
+    <metadata key="EndTAI93" val="[DATE_TO_SECS([UTC_TO_TAI([EndDateTime])],TAI_FORMAT,1993-01-01)]"/>
+
+</metadataList>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaGPolygonProduct_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaGPolygonProduct_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaGPolygonProduct_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaGPolygonProduct_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any File -->
+    <metadata key="ProductType" val="MOA_[ProdMet/Instrument]_POLY"/> 
+    <metadata key="FileFormat" val="txt"/> 
+
+    <!-- Versioner Metadata -->
+    <metadata key="PCS_VersioningType" val="Monthly"/>
+    <metadata key="AggregateDir" val="poly"/> 
+    
+</metadataList>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaMapProduct_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaMapProduct_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaMapProduct_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaMapProduct_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any File -->
+    <metadata key="ProductType" val="MOA_[ProdMet/Instrument]_MAP"/> 
+    <metadata key="FileFormat" val="pdf"/> 
+    
+    <!-- Versioner Metadata -->
+    <metadata key="PCS_VersioningType" val="Monthly"/>  
+    <metadata key="AggregateDir" val="map"/> 
+
+</metadataList>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaOrbitsProduct_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaOrbitsProduct_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaOrbitsProduct_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/MoaOrbitsProduct_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any File -->
+    <metadata key="ProductType" val="MOA_ORBITS"/> 
+    <metadata key="FileFormat" val="txt"/> 
+
+    <!-- Versioner Metadata -->
+    <metadata key="PCS_VersioningType" val="Monthly"/>  
+    <metadata key="AggregateDir" val="orbits"/>
+
+</metadataList>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_CONF_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_CONF_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_CONF_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_CONF_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any File -->
+    <metadata key="ProductType" val="SCI_PGE_CONF"/> 
+    <metadata key="FileFormat" val="config"/> 
+
+    <!-- Versioner Metadata -->
+    <metadata key="PCS_VersioningType" val="FileBased"/>  
+    <metadata key="AggregateDir" val="sci_pge_conf"/>
+    
+</metadataList>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_LOG_metadata.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_LOG_metadata.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_LOG_metadata.xml (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/metout/SCI_PGE_LOG_metadata.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<metadataList>
+    
+    <!-- Any File -->
+    <metadata key="ProductType" val="SCI_PGE_LOG"/> 
+    <metadata key="FileFormat" val="log"/>  
+
+    <!-- Versioner Metadata -->
+    <metadata key="PCS_VersioningType" val="FileBased"/>  
+    <metadata key="AggregateDir" val="sci_pge_log"/>
+    
+</metadataList>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaGPolygonOrbits.xsl
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaGPolygonOrbits.xsl?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaGPolygonOrbits.xsl (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaGPolygonOrbits.xsl Thu Dec 23 02:44:23 2010
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<xsl:stylesheet version="2.0" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:saxon="http://icl.com/saxon" 
+    xmlns:atomic-int="java:java.util.concurrent.atomic.AtomicInteger" 
+    xmlns:cas="http://oodt.jpl.nasa.gov/1.0/cas"
+    exclude-result-prefixes="cas atomic-int saxon">    
+
+    <xsl:output encoding="UTF-8"/>
+    <xsl:output method="text"/>    
+    
+    <xsl:variable name="newline"><xsl:text>&#x0A;</xsl:text></xsl:variable>
+    <xsl:variable name="tab"><xsl:text>&#x09;</xsl:text></xsl:variable>
+    <xsl:variable name="instrument_name"><xsl:value-of select="/cas:metadata/keyval/val[../key='GranMap/L1FileTypeName']"/></xsl:variable>
+
+    <xsl:template match="/">
+        <xsl:text>NOMINALDAY</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/NOMINALDAY']"/><xsl:value-of select="$newline"/>
+        <xsl:text>OUTPUTPATH</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/OUTPUTPATH']"/><xsl:value-of select="$newline"/>
+        <xsl:text>OUTPUTFILE</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/OUTPUTFILE']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>
+        
+        <xsl:text>LOGFILE</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/LOGFILE']"/><xsl:value-of select="$newline"/>
+        <xsl:text>LOGLEVEL</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/LOGLEVEL']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>
+        
+        <xsl:text>DEBUG</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/DEBUG']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>
+        
+        <xsl:for-each select="cas:metadata/keyval">
+            <xsl:if test="key='L1FormattedMetadata'">
+                <xsl:value-of select="$instrument_name"/><xsl:text>_FILES</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="count(val)"/><xsl:value-of select="$newline"/>
+                <xsl:variable name="atomicInt" select="atomic-int:new()"/>
+                <xsl:for-each select="val">
+                    <xsl:value-of select="$instrument_name"/><xsl:value-of select="atomic-int:incrementAndGet($atomicInt)"/><xsl:value-of select="$tab"/><xsl:value-of select="."/><xsl:value-of select="$newline"/>
+                </xsl:for-each>
+                <xsl:value-of select="$newline"/>
+            </xsl:if>
+        </xsl:for-each>
+    </xsl:template>
+    
+</xsl:stylesheet>

Added: oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaMap.xsl
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaMap.xsl?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaMap.xsl (added)
+++ oodt/branches/wengine-branch/src/main/resources/policy/workflows/v3_1_1/xslt/Xslt_MoaMap.xsl Thu Dec 23 02:44:23 2010
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright (c) 2008, California Institute of Technology.
+    ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+-->
+<xsl:stylesheet version="2.0" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+    xmlns:saxon="http://icl.com/xslt" 
+    xmlns:cas="http://oodt.jpl.nasa.gov/1.0/cas"
+    exclude-result-prefixes="saxon cas">
+    
+    <xsl:output method="text"/>    
+    
+    <xsl:variable name="newline"><xsl:text>&#x0A;</xsl:text></xsl:variable>
+    <xsl:variable name="tab"><xsl:text>&#x09;</xsl:text></xsl:variable>
+    <xsl:variable name="instrument_name"><xsl:value-of select="/cas:metadata/keyval/val[../key='ProdMet/Instrument']"/></xsl:variable>
+    
+    <xsl:template match="/">
+        <xsl:text>NOMINALDAY</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/NOMINALDAY']"/><xsl:value-of select="$newline"/>
+        <xsl:text>OUTPUTPATH</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/OUTPUTPATH']"/><xsl:value-of select="$newline"/>
+        <xsl:text>OUTPUTFILE</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/OUTPUTFILE']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>
+        
+        <xsl:text>LOGFILE</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/LOGFILE']"/><xsl:value-of select="$newline"/>
+        <xsl:text>LOGLEVEL</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/LOGLEVEL']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>
+        
+        <xsl:text>DEBUG</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/DEBUG']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>
+        <xsl:text>ORBITFILE</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/ORBITFILE']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>
+        <xsl:value-of select="$instrument_name"/><xsl:text>GPOLYGON</xsl:text><xsl:value-of select="$tab"/><xsl:value-of select="cas:metadata/keyval/val[../key='GranMap/GPOLYGON']"/><xsl:value-of select="$newline"/><xsl:value-of select="$newline"/>        
+    </xsl:template>
+    
+</xsl:stylesheet>

Added: oodt/branches/wengine-branch/src/site/resources/css/maven-theme.css
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/css/maven-theme.css?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/site/resources/css/maven-theme.css (added)
+++ oodt/branches/wengine-branch/src/site/resources/css/maven-theme.css Thu Dec 23 02:44:23 2010
@@ -0,0 +1,162 @@
+/* 
+ * Copyright 2008 California Institute of Technology. ALL RIGHTS
+ * RESERVED. U.S. Government Sponsorship acknowledged.
+ *   
+ * $Id$
+ */
+ 
+body {
+ font-family: Helvetica, Arial, sans-serif;
+ background: #000;
+ color: #000;
+ }
+
+.section {
+ margin-left: 10px;
+ }
+
+.app p {
+ font-family: Georgia,Arial,sans-serif;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ }
+ 
+ .app h2 {
+ color: #fff;
+ background: #006699;
+ text-align: center;
+ font-family: cursive,Arial,sans-serif;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ }
+ 
+.app h3 {
+ color: #216178;
+ font-family: cursive,Arial,sans-serif;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ }
+
+.app h4 {
+ color: #fff;
+ background-color: #888;
+ }
+
+.a td { 
+ background: #ddd;
+ color: #000;
+ }
+
+.b td { 
+ background: #ddd;
+ color: #000;
+ }
+
+.app th {
+ background-color: #bbb;
+ color: #fff;
+ }
+
+div#banner {
+ border-top: 1px solid #369;
+ border-bottom: 1px solid #003;
+ }
+
+#banner, #banner td { 
+ background: #cecfce;
+ color: #fff;
+ }
+
+#leftcol {
+ background: #eee;
+ color: #000;
+ border-right: 1px solid #aaa;
+ border-bottom: 1px solid #aaa;
+ border-top: 1px solid #fff;
+}
+
+#navcolumn {
+ background: #eee;
+ color: #000;
+ border-right: none;
+ border-bottom: none;
+ border-top: none;
+ }
+
+#breadcrumbs {
+ background-color: #ddd;
+ color: #000;
+ border-bottom: 1px solid #aaa;
+ margin-top: -4px;
+ }
+
+#breadcrumbs td {
+ font-size: x-small;
+}
+
+#source {
+ background-color: #eee;
+ color: #000;
+ border-right: 1px solid #888; 
+ border-left: 1px solid #888; 
+ border-top: 1px solid #888; 
+ border-bottom: 1px solid #888; 
+ margin-right: 7px;
+ margin-left: 7px;
+ margin-top: 1em;
+ }
+
+#source pre {
+ margin-right: 7px;
+ margin-left: 7px;
+ }
+
+a[name]:hover, #leftcol a[name]:hover {
+ color: inherit !important;
+ }
+
+a:link, #breadcrumbs a:visited, #navcolumn a:visited, .app a:visited, .tasknav a:visited {
+ color: blue;
+ }
+
+a:active, a:hover, #leftcol a:active, #leftcol a:hover {
+ color: #f30 !important;
+ }
+
+a:link.selfref, a:visited.selfref {
+ color: #555 !important;
+ }
+
+h3, h4 {
+ margin-top: 1em;
+ margin-bottom: 0;
+ }
+
+img.handle {
+ border: 0;
+ padding-right: 2px;
+}
+
+#navcolumn div div  {
+ background-image: none;
+ background-repeat: no-repeat;
+}
+
+#navcolumn div div {
+  padding-left: 10px;
+}
+
+.navLnkBlack {
+	color:           #000000;
+	line-height:     18px;
+	text-decoration: none;
+	font-size:	 9pt;
+}
+
+small, div#footer, div#login, div.tabs th, div.tabs td, input, select, .paginate, .functnbar, .functnbar2, .functnbar3, #breadcrumbs, .courtesylinks, #rightcol div.help, .colbar, .tasknav, body.docs div#toc, #leftcol, .legend, .bars {
+	font-size: xx-small;
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	font-size: x-small;
+}
+

Added: oodt/branches/wengine-branch/src/site/resources/css/site.css
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/css/site.css?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/site/resources/css/site.css (added)
+++ oodt/branches/wengine-branch/src/site/resources/css/site.css Thu Dec 23 02:44:23 2010
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: medium;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+

Added: oodt/branches/wengine-branch/src/site/resources/images/almost-complete-lifecycle.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/almost-complete-lifecycle.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/almost-complete-lifecycle.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-1.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-1.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-1.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-2.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-2.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-2.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-3.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-3.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-3.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-4.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-4.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/grocery-store-workflow-4.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/parallel-split-diagram.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/parallel-split-diagram.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/parallel-split-diagram.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/parallel-split-into-synchronization-diagram.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/parallel-split-into-synchronization-diagram.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/parallel-split-into-synchronization-diagram.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/simplified-lifecycle.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/simplified-lifecycle.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/simplified-lifecycle.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/resources/images/synchronization-diagram.png
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/resources/images/synchronization-diagram.png?rev=1052143&view=auto
==============================================================================
Binary file - no diff available.

Propchange: oodt/branches/wengine-branch/src/site/resources/images/synchronization-diagram.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: oodt/branches/wengine-branch/src/site/xdoc/site.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/xdoc/site.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/site/xdoc/site.xml (added)
+++ oodt/branches/wengine-branch/src/site/xdoc/site.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Copyright (c) 2006 California Institute of Technology.
+  ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+
+  $Id$
+-->
+
+<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
+  
+  <body>
+    <links>
+      <item name="OODT" href="../oodt-site/"/>
+    </links>
+
+    <menu ref="reports" inherit="bottom"/>
+    
+    <menu name="Software Documentation">
+      <item name="Technical Documentation" href="tech/index.html"/>
+      <item name="User Guide" href="user/index.html"/>
+      <item name="Advanced User Guide" href="advanced/index.html"/>
+    </menu>
+    
+  </body>
+</project>

Added: oodt/branches/wengine-branch/src/site/xdoc/tech/index.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/src/site/xdoc/tech/index.xml?rev=1052143&view=auto
==============================================================================
--- oodt/branches/wengine-branch/src/site/xdoc/tech/index.xml (added)
+++ oodt/branches/wengine-branch/src/site/xdoc/tech/index.xml Thu Dec 23 02:44:23 2010
@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2006 California Institute of Technology.
+  ALL RIGHTS RESERVED. U.S. Government sponsorship acknowledged.
+
+  $Id$
+-->
+
+<document>
+  <properties>
+    <title>CAS Workflow Manager Technical Guide</title>
+    <author email="Brian.M.Foster@jpl.nasa.gov">Brian Foster</author>
+  </properties>
+
+  <body>
+    <section name="Introduction">
+      <p>Historically data processing systems have been primarily controlled by file-based
+        triggering mechanisms. These types of systems function like a chain-reaction: one file would
+        trigger a process, which would generate another file, which would then trigger another
+        process, and so forth. These systems, while easy to add and remove processes from the
+        system, require the user to extensively understand how these processes are related to each
+        other, so to avoid creating unwanted 'chain-reactions'. Recently, efforts have been made to
+        move towards more controlled processing system models, which utilize the concept of
+        workflows. Workflows are more-or-less a tightly grouped set of processes. A workflow
+        explicitly tells the processing system which set of processes should be run and in what
+        order. Workflows run processes based off successful completion of previous processes in its
+        mapping, thereby making file generation a criteria for successful completion of a process
+        instead of being the triggering mechanism for the next process. This concept separates the
+        workflow from the files it may generate, thereby allowing the processing system to perform
+        more tasks than just file processing. In this paper you will learn how to use, configure,
+        and understand design decisions of a workflow processing system, specifically CAS-Workflow2.
+      </p>
+    </section>
+    <section name="Workflows Structure">
+      <p>Workflows consist of three parts: pre-conditions, a list of tasks (or processes) to
+        perform, and post-conditions.</p>
+      <subsection name="Pre-Conditions">
+        <p>A pre-condition is a task whose purpose is to return a true/false answer to some
+          question. Pre-conditions are requirements that must be meet before a workflow can run its
+          tasks. An example of a pre-condition might be: checking for the existences of a particular
+          file. After all pre-conditions have been meet, a workflow will execute its tasks.</p>
+      </subsection>
+      <subsection name="Tasks">
+        <p>A Task is an activity or piece of work that needs to be done. Tasks are the atomic level
+          of a workflow. The goal of any workflow is to run its tasks to successful completion. An
+          example of a task might be: creating a visual map for a data file. After all tasks have
+          completed, the workflow will then run its post-conditions.</p>
+      </subsection>
+      <subsection name="Post-Conditions">
+        <p>Post-conditions give the workflow the ability to evaluate whether or not its task
+          successfully perform all their required duties. An example of a post-condition might be:
+          checking for the existence of a file that a task was responsible for generating.</p>
+      </subsection>
+    </section>
+    <section name="Workflow Lifecycle">
+      <p>Each workflow must go through a well-defined set of states or a lifecycle. We can easily
+        deduce a few of the states from what we know already. A workflow starts by evaluating its
+        pre-conditions, so we can call this state: PreConditionEval. Then it must execute its tasks,
+        we'll call this state: Executing. Then of course we have: PostConditionEval. Now, what if
+        any of the three steps fail, we need a failure state, so hence the state: Failure. And, if
+        everything goes as planed, we have the state: Success. Figure 1 further describes this
+        workflow lifecycle. There are other states, however, for simplicity sake, these are the only
+        states we will introduce for now, the other states will be introduced later, as more
+        workflow knowledge is required to understand them.</p>
+      <center>
+        <img src="../images/simplified-lifecycle.png" alt="Workflow Manager Lifecycle"/>
+      </center>
+      <subsection name="PreConditionEval">
+        <p>Workflow is executing its pre-conditions.</p>
+      </subsection>
+      <subsection name="Executing">
+        <p>Workflow is executing its tasks.</p>
+      </subsection>
+      <subsection name="PostConditionEval">
+        <p>Workflow is executing its post-conditions.</p>
+      </subsection>
+      <subsection name="Success">
+        <p>Workflow has successfully passed all pre-conditions, executed all tasks, and passed all
+          post-conditions.</p>
+      </subsection>
+      <subsection name="Failure">
+        <p>At least one of the workflow's pre-conditions, tasks, or post-conditions have failed.</p>
+      </subsection>
+    </section>
+    <section name="Workflow Context">
+      <p>Workflows can have context, which is kind of like their knowledge base. This context is
+        also referred to as metadata. Metadata is a bucket of key/value(s) information that
+        workflows have access to. An example of a metadata field might be: RunDate='2009-01-20'. At
+        times, tasks needs to talk to other tasks, or conditions would like to communicate something
+        to the tasks that run after them. Workflows not only control the flow of conditions and
+        tasks, they also control communication between them. Workflows accomplish this by the use of
+        metadata. Conditions and tasks can also have their own metadata, which they don't share with
+        anyone else. A workflow has three categories of metadata: 1) static, 2) dynamic, and 3)
+        local.</p>
+      <subsection name="Static">
+        <p>This is metadata that is the same for every run of a workflow. A task can always assume
+          this metadata will exist.</p>
+      </subsection>
+      <subsection name="Dynamic">
+        <p>This is metadata that is passed into the workflow when it is run and/or set by other task
+          and conditions when communicating with each other.</p>
+      </subsection>
+      <subsection name="Local">
+        <p>This is dynamic metadata that is local to a task or condition.</p>
+      </subsection>
+    </section>
+    <section name="Everything is a Workflow">
+      <p>In order to simplify how process control is configured, tasks and conditions were also
+        designed to be workflows. This means that almost anywhere we used the word workflow up until
+        now, we could have replaced it with the word task and vise versa. However, there are a few
+        exceptions, a task differs from a workflow in that it wraps an executable class, which
+        performs some activity, and it cannot have any children workflows. Conditions are just
+        specialized tasks, so the same applies to them as well. Yet, conditions differ from tasks in
+        that they cannot have pre-conditions or post-conditions, since that would mean you could
+        have a pre-condition for a pre-condition. So, in other words, a workflow is really just a
+        workflow of workflows with pre and post-condition workflows.</p>
+    </section>
+    <section name="Workflow Listeners">
+      <p>We now know that workflows have three different parts (or buckets) into which other
+        workflows can be placed: pre-conditions, children workflows, and post-conditions. Workflows
+        placed into these buckets are treated like black boxes. A workflow has no idea what types of
+        workflows have been placed into these buckets. The workflow just knows that first the
+        workflows in the pre-conditions bucket must pass before running the workflows in the
+        children bucket, followed then by the workflows in the post-conditions bucket. The way a
+        workflow knows what is going on with the workflows in its buckets is by registering itself
+        as a listener for state changes in those workflows. When a workflow changes state, it will
+        notify its listeners about the change. The listening workflow will then adjust its state
+        depending on which bucket the state change notification came from. Earlier we learned about
+        the lifecycle which each workflow goes through. This lifecycle is not only followed by the
+        top workflow or root workflow, it is followed by every workflow in all of the different
+        buckets as well. Workflows will change states in their lifecycle when one of the workflows
+        in their buckets change state. For example, if that a workflow has a pre-condition workflow
+        which changes state to Executing, upon notification, it will change its state to
+        PreConditionEval. This notion of workflow lifecycle changes affecting other workflow
+        lifecycles will be explained in greater detail later.</p>
+    </section>
+    <section name="Workflow Types">
+      <p>There are two categories to workflows, there are workflows which control the run order of
+        other workflows, and then there are workflows which track the execution of some process or
+        activity. There are currently two workflows implemented which control run order of
+        workflows:</p>
+      <subsection name="Parallel">
+        <p>A workflow that runs all the workflows in its children bucket at the same time. Its
+          metadata (or context) becomes the merge of all metadata of workflows in its children
+          bucket.</p>
+      </subsection>
+      <subsection name="Sequential">
+        <p>A workflow that runs the workflows in its children bucket one at a time, only running the
+          next child workflow after its previous child workflow has finished. Its metadata (or
+          context) is updated after each workflow from its children bucket is run, then passed to
+          the next workflow to run from its children bucket.</p>
+      </subsection>
+      <p>The second category of workflows, which track the running of some process, we have already
+        been introduced to, these are tasks and conditions:</p>
+      <subsection name="Task">
+        <p>Tracks some executing activity. Its metadata is synched with this process
+          periodically.</p>
+      </subsection>
+      <subsection name="Condition">
+        <p>Tracks some executing condition activity. Its metadata is synched with this executing
+          condition periodically.</p>
+      </subsection>
+    </section>
+    <section name="Workflows in Workflows">
+      <p>Now that we understand the make up of a workflow, let look at an example. Let's say we want
+        a workflow that models going to the store to buy groceries. So the first step is to make
+        sure we have our keys and wallet. These would be considered pre-conditions, because we can't
+        drive without our keys, and we can't buy the groceries without our wallet. However, these
+        pre-conditions can be performed at the same time. I can check if I have my keys while I am
+        checking for my wallet, since checking for my keys does not depend on me checking for my
+        wallet. So these pre-conditions would happen in 'parallel'. After we've determined that we
+        have our keys and wallet, we can now perform the tasks we have set out to do: drive to the
+        store; buy our groceries; drive home. Since we can't do one of these tasks without doing the
+        one before it (that is, we can't buy our groceries without driving to the store), these
+        tasks are 'sequential'. So our workflow model graph would look something like:</p>
+      <pre>
+        [id='BuyGroceries' execution='sequential'] 
+          {PreCond: [id='FindWalletAndKeys' execution='parallel']
+            [id='FindWallet' exectuion='condition']
+            [id='FindKeys' execution='condition']}
+          [id='DriveToStore' execution='task']
+            [id='PurchaseGroceries' execution='task']
+            [id='DriveHome' execution='task'] 
+      </pre>
+      <p>Let's take this one step further now. Let's say we brought a friend along to help with the
+        shopping and we split up our list, so to cut the time in half. Now we have two people
+        shopping at the same time:</p>
+      <pre>
+        [id='BuyGroceries' execution='sequential']
+          {PreCond: [id='FindWalletAndKeys' execution='parallel']
+            [id='FindWallet' exectuion='condition'] 
+            [id='FindKeys' execution='condition']}
+          [id='DriveToStore' execution='task']
+          <strong>[id='PurchaseGroceries' execution='parallel']
+            [id='YouPurchaseGroceries' execution='task']
+            [id='FriendPurchaseGroceries' execution='task']</strong>
+          [id='DriveHome' execution='task'] 
+      </pre>
+      <p>Figure 2 shows the task mapping of this workflow. Usually, when you go to implement a
+        workflow in the system, you will have a task diagram, which you will have to convert to a
+        workflow model graph similar to the grocery store example above. So being able to look at
+        one and realize the other is essential.</p>
+      <center>
+        <img src="../images/grocery-store-workflow-1.png" alt="Grocery Store Workflow 1"/>
+      </center>
+      <p>The following figures enumerates the recommended thought process which one should follow to
+        identify workflows from a task graph:</p>
+      <center>
+        <img src="../images/grocery-store-workflow-2.png" alt="Grocery Store Workflow 2"/>
+      </center>
+      <center>
+        <img src="../images/grocery-store-workflow-3.png" alt="Grocery Store Workflow 3"/>
+      </center>
+      <center>
+        <img src="../images/grocery-store-workflow-4.png" alt="Grocery Store Workflow 4"/>
+      </center>
+    </section>
+    <section name="Workflow Patterns">
+      <p>There are many complex workflow patterns out there. However, most patterns should be
+        implementable with careful usage of different combinations of parallel and sequential
+        workflows. In the unusual case where parallel and sequential won't cut it, custom workflows
+        can be written and plugged in (this is an advanced topic that will be discussed later). Here
+        we will cover how to create the most common workflow patterns. More advanced patterns will
+        be discussed later.</p>
+      <subsection name="Parallel Split">
+        <subsection name="- Description:">
+          <p>The divergence of a branch into two or more parallel branches each of which execute
+            concurrently.</p>
+        </subsection>
+        <subsection name="- Diagram:">
+          <center>
+            <img src="../images/parallel-split-diagram.png" alt="Parallel Split Diagram"/>
+          </center>
+        </subsection>
+        <subsection name="- Model Graph:">
+          <pre>
+            [id='S1' execution='sequential']
+              [id='T1' execution='task']
+              [id='P1' execution='parallel']
+                [id='T2' execution='task']
+                [id='T3' execution='task']            
+          </pre>
+        </subsection>
+      </subsection>
+      <subsection name="Synchronization">
+        <subsection name="- Description:">
+          <p>The convergence of two or more branches into a single subsequent branch such that the
+            thread of control is passed to the subsequent branch when all input branches have been
+            enabled.</p>
+        </subsection>
+        <subsection name="- Diagram:">
+          <center>
+            <img src="../images/synchronization-diagram.png" alt="Synchronization Diagram"/>
+          </center>
+        </subsection>
+        <subsection name="- Model Graph:">
+          <pre>
+            [id='S1' execution='sequential']
+              [id='P1' execution='parallel']
+                [id='T1' execution='task']
+                [id='T2' execution='task']
+              [id='T3' execution='task']            
+           </pre>
+        </subsection>
+      </subsection>
+      <subsection name="Combination of a Parallel Split into a Synchronization">
+        <subsection name="- Description:">
+          <p>(See <strong>Parallel Split</strong> and <strong>Synchronization</strong>)</p>
+        </subsection>
+        <subsection name="- Diagram:">
+          <center>
+            <img src="../images/parallel-split-into-synchronization-diagram.png"
+              alt="Combination of a Parallel Split into a Synchronization Diagram"/>
+          </center>
+        </subsection>
+        <subsection name="- Model Graph:">
+          <pre>
+            [id='S1' execution='sequential']
+              [id='T1' execution='task']
+              [id='P1' execution='parallel']
+                [id='T2' execution='task']
+                [id='T3' execution='task']
+              [id='T4' execution='task']            
+          </pre>
+        </subsection>
+      </subsection>
+    </section>
+    <section name="Lifecycles in Lifecycles">
+      <p>We learned above how each workflow goes through its own lifecycle, which depends on is
+        pre-condition, children, and post-conditions workflows’ lifecycles. Here we will learn how
+        this actually works. First we are going to introduce a few more states: Queued,
+        PreConditionSuccess, WaitingOnResources, and ExecutionComplete. Figure 9 is an updated
+        lifecycle diagram.</p>
+      <center>
+        <img src="../images/almost-complete-lifecycle.png" alt="Almost Complete Lifecycle Diagram"/>
+      </center>
+      <subsection name="Queued">
+        <p>Workflow has been put on the main queue (assume this to be initial state for now).</p>
+      </subsection>
+      <subsection name="PreConditionSuccess">
+        <p>Workflow has been put on the main queue (assume this to be initial state for now).</p>
+      </subsection>
+      <subsection name="WaitingOnResources">
+        <p>Workflow (or its pre-condition, children, post-condition workflows) are ready to run but
+          can’t because of resources.</p>
+      </subsection>
+      <subsection name="ExecutionComplete">
+        <p>A workflow has completed executing or all workflows in its children bucket have completed
+          successfully.</p>
+      </subsection>
+      <p>Let’s bring back the buying groceries example but this time we will add in the states (with everything starting in Queued state):</p>
+      <pre>
+        [id=’BuyGroceries’ execution=’sequential’ state=‘Queued’]
+          {PreCond:
+            [id=’FindWalletAndKeys’ execution=’parallel state=‘Queued’’]
+              [id=’FindWallet’ exectuion=’condition’ state=‘Queued’]
+               [id=’FindKeys’ execution=’condition’ state=‘Queued’]}
+          [id=’DriveToStore’ execution=’task’ state=‘Queued’]
+          [id=’ PurchaseGroceries’ execution=’parallel’ state=‘Queued’]
+            [id=’YouPurchaseGroceries’ execution=’task’ state=‘Queued’]
+            [id=’FriendPurchaseGroceries’ execution=’task’ state=‘Queued’]
+          [id=’DriveHome’ execution=’task’ state=‘Queued’]
+      </pre>
+    </section>
+  </body>
+
+</document>
\ No newline at end of file