OMS Data Receipt (ODR) Pipeline Reference Manual
Contents
ODR Pipeline Overview
Intended Audience and Scope
This Reference Manual is intended primarily to give OPUS Operations Personnel
information needed to understand the operation of the ODR Pipeline. This
includes information on the ODR Pipeline Input and Output products, the
directories and files used, and the processes involved. Although this document
is partially a consolidation of information contained in the ODR Pipeline
Requirements Document and the Design Documents for each of the respective ODR
Pipeline processes, additional information not previously presented is provided.
Also, it is envisioned that this document is to be a living document that will
be updated as ODR Pipeline modifications are made. This in not the case for
the Requirements and Design documents; they are and will remain static.
The need for an ODR Pipeline
In producing its output products, the OMS system requires use of Change-Only
Engineering Telemetry Subset Files. These files have historically been
generated by the by the AEDP system at GSFC and transferred to the OMS system
at STScI via an AEDP Subset transfer mechanism. In early 1999, the AEDP system
at GSFC is to be retired and a new system, i.e., the Vision 2000 Control Center
System (CCS) is to come on line. This new system does not provide Change-only
Engineering Telemetry Subset Files directly however it does provide
Merged-All-Points Engineering Telemetry Data Files from which Change-only
Engineering Telemetry Subset Files can be generated. In the CCS era, obtaining
All-Points Engineering Telemetry Data Files from CCS, and conversion of the
data files into Change-Only Engineering Telemetry Subset Files is the
responsibility of the OMS system itself. Hence, the OMS system ODR pipeline
was designed and developed to fulfill these responsibilities.
ODR Pipeline Nominal Operational Description
When the CCS system has Merged-All-Points Engineering Telemetry Data Files
available for processing, it notifies the ODR Pipeline of such by sending
Product Notification Message (PNM) files to the pipeline. These PNM files are
text files specifying what Telemetry Data Files are available and where the
Telemetry Data Files reside within the CCS system. The available Telemetry
Data Files are binary files in a CCS Front End Process Output Format (FOF).
Each FOF file is in a GZIP compressed state and contains an hours worth of
telemetry; about 200Mbytes. Multiple FOF files may be specified in each PNM
file.
Upon receiving a PNM file, the ODR Pipeline creates and executes FTP scripts
to transfer the PNM specified FOF files from the CCS system into specific ODR
Pipeline directories. Once transferred, the FOF files are de-compressed and
the telemetry data within the files is used to produce the Change-Only
Engineering Telemetry Subset Files and Telemetry Error Files used by the OMS
Pipeline to produce its output products.
As a final step, after all of the FOF files for a given PNM have been
successfully processed, i.e., Engineering Telemetry Subset Files and Telemetry
Error Files have been produced from each FOF file in a PNM, the ODR Pipeline
performs a "clean-up" procedure to determine if no longer needed PNM Files,
FTP Scripts, and FOF files can be deleted.
ODR Pipeline Directories and Files
- OPUS_HOME_DIR
contains Process Status Files (PSFs) and Process Log Files
- OPUS_HOME_DIR_LOCK
contains transient Lock Files used to avoid PSF collisions
- OPUS_OBSERVATIONS_DIR
contains Observation Status Files (OSFs)
- OPUS_OBSERVATIONS_DIR_LOCK
contains transient Lock Files used to avoid OSF collisions
- OPUS_DEFINITIONS_DIR
contains Path files, Stage Files, Process Resource Files, and OMG Data Files:
ODR.PATH_TEMPLATE - defines directory mnemonics used by the ODR Pipeline. Also
defines mnemonics such as OPUS_DB, DSQUERY, and OK_TO_UPDATE_DATABASE for database access
ODR_PIPELINE.STAGE - defines the 5 stages in the ODR Pipeline and the possible
status values for each stage
- PN - PNM File Receipt Stage
- FT - FTP Script Execution and File Transfer Stage
- ZI - FOF File GZIP decompression Stage
- CV - FOF File Conversion to Subsets File Stage
- CL - File Clean-Up Stage
PNMFOF.RESOURCE - defines characteristics of the PNMFOF Process
FTPFOF.RESOURCE - defines characteristics of the FTPFOF Process
ZIPFOF.RESOURCE - defines characteristics of the ZIPFOF Process
CVTFOF.RESOURCE - defines characteristics of the CVTFOF Process
CLNFOF.RESOURCE - defines characteristics of the CLNFOF Process
OBSFIL_COMPLETE.DAT - used by the OMG to determine what OSFs are complete and can
be removed from the OMG
OBSFIL_DELETE.DAT - used by the OMG to delete a given OSF and the specified files
associated with the OSF
ODR_RECEIPT_DIR
contains PNM Files received from CCS
- PNM_yyyydddhhmmss.txt - Naming Convention of PNM files
transferred from CCS
- PNM_yyyydddhhmmss.txt_proc - Naming Convention of PNM files
after the PNMFOF process has started processing them
- PNM_yyyydddhhmmss.txt_duplicate - Naming Convention of PNM files
after the PNMFOF process determines that it is curretly processing them
ODR_SCRIPTS_DIR
contains FTP scripts used to transfer FOF files and Error Log Files from CCS
to the ODR Pipeline
- PNM_yyyydddhhmmss.csh - PNM Log Scripts Naming Convention
- Tyyyydddhhmmss.csh - FOF Scripts Naming Convention
ODR_FOF_DIR
contains FOF files transferred from CCS to the ODR Pipeline
- Tyyyydddhhmmss.mrg-gz - Compressed FOF File Naming Convention
- Tyyyydddhhmmss.mrg - Decompressed FOF File Naming Convention
ODR_LOG_DIR
contains FTPFOF Log Files and also Error Log Files transferred from CCS to the ODR Pipeline
- PNM_yyyydddhhmmss.log - FTPFOF Log Files naming convention for
transfer of PNM files
- Tyyyydddhhmmss.log - FTPFOF Log Files naming convention for
transfer of FOF files
- CCS_ERROR_FILE.LOG - Error Log Files. Actual Naming Convention
is TBD
OMS_DATA_DIR
contains Telemetry Subset and Error Files produced by the ODR Pipeline from FOF
Files
- Symdhhmm.vc*_new - Intermediate Telemetry Subset File Naming
Convention used while processing of a FOF File is in progress. This
file is renamed when the FOF file processing is complete
- Symdhhmm.er*_new - Intermediate Telemetry Error File Naming
Convention used while processing of a FOF File is in progress. This
file is renamed when the FOF file processing is complete
- Symdhhmm.vc*_fof - Final Telemetry Subset File Naming
Convention used after processing of a FOF File is complete
- Symdhhmm.er*_fof - Final Telemetry Error File Naming Convention
used after processing of a FOF File is complete
*** The file naming convention fields indicated above are decoded as follows:
yyyy = 4 digit year
ddd = 3 digit day of year (001 - 365)
hh = 2 digit hour of day (00-23)
mm = 2 digit minute of hour (00-59)
ss = 2 digit second of minute (00-59)
y = year since 1980 (1-Z)
m = month of year (1-C)
d = day of month (1-V)
ODR Pipeline Processes
ODR Pipeline Processes Overview
As alluded to in the previous section, the ODR Pipeline is composed of the
following 5 processes:
- PNMFOF - processes PNM files sent to the ODR
Pipeline from the CCS System
- FTPFOF - uses FTP scripts to transfer FOF Files
and Error Log Files from the CCS system to the ODR
Pipeline
- ZIPFOF - decompresses (GZIP) FOF Files that were transferred from
the CCS system to the ODR Pipeline
- CVTFOF - converts FOF Files transferred from the CCS system to
the ODR Pipeline into Engineering Telemetry Subsets Files and
and Telemetry Error Files
- CLNFOF - determines when to delete no longer needed PNM Files, PNM Log Scripts,
FOF Scripts, and FOF Files
These processes are designed and implemented to execute on DEC/ALPHA/OPENVMS,
DEC/ALPHA/DIGITALUNIX, or SUN/SPARC/SOLARIS platforms; DEC/VAX/VMS platforms
are not supported. ODR Pipeline Processes executing on DEC/ALPHA/OPENVMS or
DEC/ALPHA/DIGITALUNIX platforms have a different byte-ordering than processes
executing in the CCS system. The CCS is a Silicon Graphics UNIX based system
having a Big Endian byte order whereas DEC/ALPHA/OPENVMS and
DEC/ALPHA/DIGITALUNIX platforms have a Little Endian byte order. Therefore,
in scenarios where byte ordering between the CCS system and ODR Pipeline
processes is different, the ODR Pipeline processes are responsible for
performing any necessary byte swapping. In regards to Floating Point Number
Representation, both the CCS system and the ODR Pipeline processes use the IEEE
standard so there is no problem in this area.
To enable the ODR Pipeline to feed the Engineering Telemetry Subset Files it
produces into the OMS Pipeline, a new OMS Pipeline processes was developed;
i.e., the SUBPOL Process. This process constitutes the interface between the
ODR and OMS Pipelines. Detailed information on the SUBPOL process is provided
in Appendix C. of the ODR Pipeline Requirements
Document however a short description follows:
- SUBPOL - polls the OMS input data directory for pairs of Engineering
Telemetry Subset/Error Files produced by the ODR Pipeline and creates Subset
File OSFs which trigger execution of the OMS Pipeline OMSTLM process.
ODR Pipeline Processes Details
- PNMFOF (PN) Process Description
- This process is stage 1 of
the ODR Pipeline. It is a File Poller Process and its purpose is to poll for
and process PNM files (PNMs) sent to the ODR Pipeline from the CCS sytem. When
PNMFOF finds a PNM file to process, it appends an "_proc" the the file name;
this keeps the PNM file from being found and processed again. PNM files are
text files containing any one of three status indicators:
- Test PNM
- This indicates that a PNM was sent just to test the
CCS/ODR Pipeline interface. When a Test PNM is received in the
ODR_RECEIPT_DIR, the PNMFOF process performs the following actions:
- append an "_proc" to the PNM file name
- write test information into its process log file in the OPUS_HOME_DIR
- delete the received PNM file from the ODR_RECEIPT_DIR
- Product Failure PNM
- This indicates that the CCS system had a
problem processing a product request. When a Product Failure PNM is received
in the ODR_RECEIPT_DIR, the PNMFOF process performs the following
actions:
- append an "_proc" to the PNM file name
- generate a PNM Log script PNM_yyyydddhhmmss.csh in the ODR_SCRIPTS_DIR
to be used by the FTPFOF process to retrieve the Error Log file from the CCS
system into the ODR Pipeline ODR_LOG_DIR
- create a PNM OSF in the OPUS_OBSERVATIONS_DIR with the name
PNM_yyyydddhhmmss and set the OSF as follows to trigger the FTPFOF process to
transfer the log file:
PN FT ZI CV CL Class
-- -- -- -- -- -----
C W _ _ _ PNM
- Product Success PNM
- This indicates that the CCS system has
successfully processed a product request and that FOF files are available for
processing. When a Product Success PNM is received in the ODR_RECEIPT_DIR,
the PNMFOF process performs the following actions:
- append an "_proc" to the PNM file name
- create a PNM OSF in the OPUS_OBSERVATIONS_DIR with the name
PNM_yyyydddhhmmss and set the OSF as follows:
PN FT ZI CV CL Class
-- -- -- -- -- -----
P _ _ _ _ PNM
- generate a FOF script Tyyyydddhhmmss.csh in the ODR_SCRIPTS_DIR
for each FOF file specified in the PNM to be used by the FTPFOF process to
transfer the FOF files from the CCS system into the ODR Pipeline
ODR_FOF_DIR
- create a FOF OSF in the OPUS_OBSERVATIONS_DIR with the name
Tyyyydddhhmmss for each FOF file specified in the PNM and set the OSFs as
follows:
PN FT ZI CV CL Class
-- -- -- -- -- -----
C W _ _ _ FOF
- insert a record into the PNMFOF_TABLE database relation for each FOF file
to track FOF file receival times and to track what FOF files are listed in what
PNM Files. Reference the ODR Pipeline Database Usage section
for detailed information on the PNMFOF_TABLE relation.
- update the PNM OSF to indicate that the PNM has been processed
PN FT ZI CV CL Class
-- -- -- -- -- -----
C N N N _ PNM
Additional information pertaining to PNMs is provided in Appendix B. of the
ODR Pipeline Requirements Document
PNMFOF Process I/O - Input to and Output from the PNMFOF
process is as follows:
INPUT:
ODR_RECEIPT_DIR: PNM_yyyydddhhmmss.txt - PNM text files
OUTPUT:
ODR_RECEIPT_DIR: PNM_yyyydddhhmmss.txt_proc - processed PNM text files
ODR_SCRIPTS_DIR: PNM_yyyydddmmss.csh - PNM Log Scripts
Tyyyydddhhmmss.csh - FOF scripts
PNMFOF Process Error Handling - Any errors that occur while
processing a PNM or accessing the database cause the OSF for the PNM to be set
to "E" in the PN stage column. Error messages are also posted to the PNMFOF
Process Log File in the OPUS_HOME_DIR
PNMFOF Process Modes - The PNMFOF process can be executed in
either interactive or pipeline modes as follows:
PNMFOF i -f PNM_yyyydddhhmmss.TXT (typed into command line)
where: PNMFOF = command name
i = denotes interactive processing
-f = denotes file specification of PNM File follows
Pipeline Mode
PNMFOF -p opus_definitions_dir:your.path (in task line of resource file)
where: PNMFOF = command name
-p = denotes path file specification follows
opus_definitions_dir:your.path = path file to use
FTPFOF (FT) Process Description - This process is stage 2 in
the ODR Pipeline. It is an OSF triggered process and its purpose is to execute
FTP scripts produced by the PNMFOF process to transfer either FOF files or
Error Log files from the CCS sytem to the ODR Pipeline. When the FT stage
column is set to "W" for either a PNM Class or FOF Class OSF, the FTPFOF
process is triggered. There are two types of scripts to execute:
- PNM Log Scripts
- These type scripts are executed when FTPFOF is
triggered by a PNM Class OSF. This indicates that a Product Failure PNM was
received by the PNMFOF process and that an Error Log File needs to be
transferred from CCS to the ODR Pipeline. When triggered by a PNM Class OSF,
FTPFOF performs the following actions:
- create and FTP PNM Log File in the ODR_LOG_DIR
- execute a PNM Log Script to transfer the Error Log File from the CCS system
to the ODR Pipeline ODR_LOG_DIR
- update the FOF_TRANSFER_DATE field in the PNMFOF_TABLE Database
Relation for the appropriate PNM. Reference the
ODR Pipeline Database Usage section for detailed information
on the PNMFOF_TABLE relation
- update the PNM OSF to indicate that the Error Log File has been transferred
and that the PNM File can be deleted from the ODR_RECEIPT_DIR
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C N N W PNM
- FOF Scripts
- These type scripts are executed when FTPFOF is
triggered by a FOF Class OSF. This indicates that a Product Success PNM was
received by the PNMFOF process and that FOF Files need to be transferred from
CCS to the ODR Pipeline. When triggered by an FOF Class OSF, FTPFOF performs
the following actions:
- create and FTP FOF Log File in the ODR_LOG_DIR
- execute a FOF Script to transfer FOF Files from the CCS system to the ODR
Pipeline ODR_FOF_DIR
- update the FOF_TRANSFER_DATE field in the PNMFOF_TABLE Database
Relation for the appropriate PNM and FOF File. Reference the
ODR Pipeline Database Usage section for detailed information
on the PNMFOF_TABLE relation
- update the FOF OSF to indicate that the FOF File has been transferred and
that decompression of the FOF file can be triggered
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C W FOF
FTPFOF Process I/O - Input to and Output from the FTPFOF
process is as follows:
INPUT:
ODR_SCRIPTS_DIR: PNM_yyyydddmmss.csh - PNM Log Scripts
Tyyyydddhhmmss.csh - FOF scripts
OUTPUT:
ODR_LOG_DIR: PNM_yyyydddmmss.log - FTPFOF Log for PNM Files
ODR_LOG_DIR: Tyyyydddmmss.log - FTPFOF Log for FOF Files
ODR_LOG_DIR: CCS_ERROR_FILE.LOG - Error Log Files. The Actual
naming convention is TBD
ODR_FOF_DIR: Tyyyydddhhmmss.mrg-gz - Compressed FOF Files
FTPFOF Process Error Handling - Any errors that occur while
processing a PNM OSF, processing a FOF OSF, or accessing the database cause the
respective OSF for the PNM to be set to "F" in the FT stage column. Error
messages are also posted to the FTPFOF Process Log File in the
OPUS_HOME_DIR
FTPFOF Process Modes - The FTPFOF process can be executed in
either interactive or pipeline modes as follows:
FTPFOF i -f PNM_yyyydddhhmmss.csh (typed into command line)
where: FTPFOF = command name
i = denotes interactive processing
-f = denotes file specification of PNM Log script to
execute follows
FTPFOF i -f Tyyyydddhhmmss.csh (typed into command line)
where: FTPFOF = command name
i = denotes interactive processing
-f = denotes file specification of FOF script to
execute follows
Pipeline Mode
FTPFOF -p opus_definitions_dir:your.path (in task line of resource file)
where: FTPFOF = command name
-p = denotes path file specification follows
opus_definitions_dir:your.path = path file to use
ZIPFOF (ZI) Process Description - This process is stage 3 in
the ODR Pipeline. It is an OSF triggered process and its purpose is to
decompress FOF files that have been transferred from the CCS system to the ODR
Pipeline. When a FOF Class OSF is set to "W" in the ZI stage column, the
ZIPFOF process is triggered to perform the following actions:
- invoke the "GZIP -d" command on the compressed FOF file specified by the OSF
to decompress the file. Both the compressed and decompressed versions of the
FOF file reside in the ODR_FOF_DIR when the decompression is occuring.
Once the decompression is successfully completed, the compressed version of
the file is deleted.
*** Note that in order for the ZIPFOF process to successfully invoke the
GZIP command, a GZIP symbol must be defined to point to the GZIP
executable for the environment that the ZIPFOF process is executing in.
update the appropriate FOF OSF to indicate that the compressed FOF file has
been decompressed and it is ready to be converted to Telemetry Subset and
Telemetry Error Files
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C C W FOF
ZIPFOF Process I/O - Input to and Output from the ZIPFOF
process is as follows:
INPUT:
ODR_FOF_DIR: Tyyyydddhhmmss.mrg-gz - compressed FOF files
OUTPUT:
ODR_FOF_DIR: Tyyyydddhhmmss.mrg - uncompressed FOF Files
ZIPFOF Process Error Handling - Any errors that occur while
decompressing a compressed FOF file cause the FOF OSF to be set to "F" in the
ZI stage column. Error messages are also posted to the ZIPFOF Process Log File
in the OPUS_HOME_DIR
ZIPFOF Process Modes - The ZIPFOF process can be executed in
either interactive or pipeline modes as follows:
ZIPFOF i -f Tyyyydddhhmmss.mrg-gz (typed into command line)
where: ZIPFOF = command name
i = denotes interactive processing
-f = denotes file specification of FOF file to
decompress follows
Pipeline Mode
ZIPFOF -p opus_definitions_dir:your.path (in task line of resource file)
where: ZIPFOF = command name
-p = denotes path file specification follows
opus_definitions_dir:your.path = path file to use
CVTFOF (CV) Process Description - This process is stage 4 in
the ODR Pipeline. It is an OSF triggered process and its purpose is to convert
Merged-All-Points FOF files transferred from CCS into the Change-Only Telemetry
Subset Files and Telemetry Error files that are required by the OMS Pipeline.
When a FOF Class OSF is set to "W" in the CV stage column, the CVTFOF process
is triggered to perform the following actions:
- convert the FOF File into pairs of Telemetry Subset Files and Telemetry
Error files. A new file pair is produced for every telemetry format change
occurring in the FOF file. The file pairs reside in the OMS_DATA_DIR
- insert a record into the FOFSUB_TABLE database relation for each file pair
created to keep track of what Telemetry Subset Files were produced from what
FOF files and what FOF Files came from what PNM Files. Reference the
ODR Pipeline Database Usage section for detailed information
on the FOFSUB_TABLE relation
- update the appropriate FOF OSF to indicate that the specified FOF file has
been converted into Telemetry Subset Files and Telemetry Error Files in the
OMS_DATA_DIR and that the CLNFOF process can be triggered
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C C C W FOF
CVTFOF Process I/O - Input to and Output from the CVTFOF
process is as follows:
INPUT:
ODR_FOF_DIR: Tyyyydddhhmmss.mrg - decompressed FOF files
OUTPUT:
OMS_DATA_DIR: - Symdhhmm.vc*_new - Intermediate Change-Only Telemetry
Subset Files while a FOF file is
being processed. These are renamed when
FOF file processing is complete
Symdhhmm.er*_new - Intermediate Telemetry Error Files
while a FOF file is being processed.
aThese re renamed when FOF file processing
is complete
Symdhhmm.vc*_fof - Final Change-Only Telemetry Subset
Files when FOF file processing is
complete
Symdhhmm.er*_fof - Final Telemetry Error Files when
FOF file processing is complete
CVTFOF Process Error Handling - Any errors that occur while
converting a FOF file cause the FOF OSF to be set to "F" in the CV stage
column. Error messages are also posted to the CVTFOF Process Log File in the
OPUS_HOME_DIR. Even though a FOF file may be partially processed
and produce valid Telemetry Subset files and Telemetry Error files, processing
of the file is not considered successful unless the whole file is processed.
In scenarios where valid Telemetry Subset files and Telemetry Error files have
been generated from a FOF file but an error occurs in later processing of
the file, none of the Telemetry Subset files or Telemetry Error files generated
will be renamed from the _new extionsion to the _fof extension. Also, records
will not be inserted into the FOFSUB_TABLE table for any of the Telemetry Subset
files that were generated.
CVTFOF Process Modes - The CVTFOF process can be executed in
either interactive or pipeline modes as follows:
CVTFOF i -f Tyyyydddhhmmss.mrg (typed into command line)
where: CVTFOF = command name
i = denotes interactive processing
-f = denotes file specification of FOF file to convert
follows
Pipeline Mode
CVTFOF -p opus_definitions_dir:your.path (in task line of resource file)
where: CVTFOF = command name
-p = denotes path file specification follows
opus_definitions_dir:your.path = path file to use
CLNFOF (CL) Process Description - This process is stage 5 in
the ODR Pipeline. It is an OSF triggered process and its purpose is to delete
files from the ODR Pipeline that are no longer needed. The files to be deleted
are determined from the type of OSF the CLNFOF process triggers on. There are
two types of OSFs that trigger the CLNFOF process:
- PNM Class Product Failure OSF
- This OSF indicates that a
Product Failure PNM was received from the CCS system by the PNMFOF process and
that a PNM Log script was executed by the FTPFOF process to transfer an Error
Log File to the ODR Pipeline. This type of OSF is as follows:
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C N N W PNM
When triggered by this type OSF, the CLNFOF process performs the following
actions:
- FOF Class OSF
- This OSF indicates that a Product Success PNM
was received from the CCS system by the PNMFOF process and that FOF scripts
were executed by the FTPFOF process to transfer FOF files to the ODR Pipeline.
This type of OSF is as follows:
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C C C W FOF
When triggered by this type OSF, the CLNFOF process performs the following
actions:
- delete the FOF script associated with the FOF OSF from the
ODR_SCRIPTS_DIR
- delete the FOF file associated with the FOF OSF from the
ODR_FOF_DIR
- update the appropriate FOF OSF to indicate that files associated with the
OSF have been deleted:
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C C C C FOF
- examine the PNMFOF_TABLE and FOFSUB_TABLE database relations to
determine if all of the FOF files listed in the PNM containing the FOF file
associated with the FOF OSF have been processed. If this is the case, the PNM
file itself is deleted from the ODR_RECEIPT_DIR and the
appropriate PNM OSF is updated to indicate that the PNM file itself has
been deleted. Reference the ODR Pipeline Database Usage
section for detailed information on the PNMFOF_TABLE and FOFSUB_TABLE relations
PN FT ZI CV CL Class
-- -- -- -- -- -----
C C N N C PNM
CLNFOF Process I/O - the files deleted from the ODR Pipeline by the
CLNFOF process are as follows:
ODR_RECEIPT_DIR: PNM_yyyydddhhmmss.txt_proc - PNM text files
ODR_SCRIPTS_DIR: PNM_yyyydddmmss.csh - PNM Log Scripts
Tyyyydddhhmmss.csh - FOF scripts
ODR_FOF_DIR: Tyyyydddhhmmss.mrg - decompressed FOF files
*** Note that Log Files residing in the ODR_LOG_DIR are not deleted by the
CLNFOF Process. These files remain in the ODR_LOG_DIR until they are explicitily
deleted by operator selection and execution of the OMG "Delete" function for the
PNM Class OSFs associated with the Log Files.
CLNFOF Process Error Handling - Any errors that occur while
trying to delete files or access the database cause the appropriate OSF to be
set to "F" in the CL stage column. Error messages are also posted to the
CLNFOF Process Log File in the OPUS_HOME_DIR
CLNFOF Process Modes - The CLNFOF process can be executed in a
pipeline mode only as follows:
CLNFOF -p opus_definitions_dir:your.path (in task line of resource file)
where: CLNFOF = command name
-p = denotes path file specification follows
opus_definitions_dir:your.path = path file to use
ODR Pipeline Database usage
- Database Relations Accessed
- Database Querries Performed
Database Relations Accessed
pnmfof_table Relation
=====================
This database relation, populated by the PNMFOF and FTPFOF processes,
is used to keep track of PNM receivals, FOF file transfer dates, and
what FOF files are listed in what PNMs. Knowing what FOF files are
listed in what PNMs is information that is used by the CLNFOF process
to determine when it can delete PNM files which list FOF files ready
for processing. These type PNM files can only be deleted when all the
FOF files listed in the PNM have been successfully processed.
Field name type size description
---------- ---- ---- -----------
pnm_name char 17 pnm file name
pnm_notification_date char 20 pnm notification time stamp
pnm_receipt_date char 20 date received time stamp
fof_name char 14 FOF file name
fof_transfer_date char 20 FOF transfer time stamp
fof_complete_date char 20 FOF complete time stamp
Example field values are as follows:
pnm_name - PNM_1998100081530
pnm_notification_date - 1998:100:08:15:30
pnm_receipt_date - 1998.100:08:15:30.000
fof_name - t1998095050000
fof_transfer_date - 1999.100:08:17:00.000
fof_complete_date - 1999.100:08:27:00.000
fofsub_table Relation
=====================
This database relation, populated by the CVTFOF process, is used to keep
track of what FOF files are listed in what PNM files and what Subset
Files are generated from what FOF files and when. Knowing what FOF
files are listed in what PNM files is information that is used by the
CLNFOF process to determine when it can delete PNM files which list FOF
files ready for processing. These type PNM files can only be deleted
when all the FOF files listed in the PNM have been successfully
processed.
A join of this relation with the OMS OMS_SU_TABLE relation can be used
to provide a mapping between Subset files and the OMS Scheduling Units
they were processed under.
Field name type size description
---------- ---- ---- -----------
pnm_name char 17 pnm file name
fof_name char 14 name of FOF file
sub_name char 13 name of subset file
sub_start_time char 17 start time of subset file
sub_stop_time char 17 stop time of subset file
sub_create_date char 17 time subset file was created
Example field values are as follows:
pnm_name - PNM_1998101090030
fof_name - t1998095050000
sub_name - shba0500w.vc0
sub_start_time - 1997.314:05:00:00
sub_stop_time - 1997.314:05:59:59
sub_create_date - 1997.317:09:00:00
Database Querries Performed
- PNMFOF Process Database Querries
- The PNMFOF process performs the following query on the PNMFOF_TABLE
to determine if a received PNM has been previously received and already has
records in the database:
SELECT pnm_name FROM pnmfof_table where pnm_name = PNM_name AND
pnm_notification_date = PNM_notification_date
- The PNMFOF process performs the following query to insert a new record into the
PNMFOF_TABLE relation to keep track of when PNM files are received and
what FOF files are listed in the PNM files:
INSERT pnmfof_table (pnm_name,pnm_notification_date,pnm_receipt_date,
fof_name,fof_transfer_date)
values (PNM_name,PNM_notification_date,PNM_receipt_date,
FOF_name,FOF_transfer_date)
FTPFOF Process Database Querries
- The FTPFOF process performs the following query on the PNMFOF_TABLE
to determine what PNM file a given FOF file is listed in and then to get the
node name of where the FOF file resides from the PNM:
SELECT pnm_name PNM_name FROM pnmfof_table WHERE fof_name = FOF_name
ORDER BY pnm_receipt_date
The FTPFOF process performs the following query on the PNMFOF_TABLE
to keep track of when FOF files are transferred from the CCS system to the ODR
Pipeline:
UPDATE pnmfof_table SET fof_transfer_date = FOF_transfer_date
WHERE fof_name = FOF_name
CVTFOF Process Database Querries
- The CVTFOF process performs the following query on the PNMFOF_TABLE
to determine what PNM a given FOF file came from:
SELECT pnm_name PNM_name FROM pnmfof_table WHERE fof_name = FOF_name
ORDER BY pnm_receipt_date
The CVTFOF process performs the following query on the FOFSUB_TABLE
to keep track of what Telemetry Subset Files are generated from what FOF files
and when:
INSERT fofsub_table (pnm_name, fof_name, sub_name, sub_start_time,
sub_stop_time, sub_create_time)
values(pnm_name, fof_name, sub_name, sub_start_time,
sub_stop_time, sub_create_time)
CLNFOF Process Database Querries
- The CLNFOF process performs the following query on the PNMFOF_TABLE
to determine what PNM a given FOF file came from:
SELECT pnm_name PNM_name FROM pnmfof_table WHERE fof_name = FOF_name
ORDER BY pnm_receipt_date
The CLNFOF process performs the following query on the PNMFOF_TABLE
and FOFSUB_TABLE relations to determine if all of the FOF files listed
in a given PNM file have been successfully processed.
SELECT pnm_name FROM pnmfof_table f WHERE f.pnm_name = PNM_name AND
NOT EXISTS (SELECT fof_name FROM fofsub_table s WHERE
s.fof_name = f.fof_name) AND
s.pnm_name = PNM_name
ODR Pipeline Stage Failure/Re-Processing Issues
- Duplicate in the PNMFOF (PN) Stage
- When a PNM Class OSF
indicates a duplicate in the PNMFOF stage, it means that a PNM file that
has been previously received with the same name or contains FOF files
contained in previousely received PNM file is currently processing.
If it is desired to re-process a PNM file that failed the PN stage
because of this duplicate PNM file type of error, perform the following:
- wait untill the current PNM completes processing.
- rename the received PNM file from PNM_yyyydddhhmmss.txt_duplicate back to
PNM_yyyydddhhmmss.txt in the ODR_RECEIPT_DIR
There are also a variety of other problems that may cause a PNM to fail the PN
stage. These problems, if they occur, should be noted in the PNMFOF Process
Log File in the OPUS_HOME_DIR. Example problems are as follows:
- problems deleting TEST PNM Files
- problems creating FTP Script Files
- problems creating PNM Class and FOF Class OSFs
- problems inserting records into the PNMFOF_TABLE database
relation
If it is desired to try to re-process a PNM file that failed the PN stage
because of these type problems, perform the following:
- if they exist, delete any records in the PNMFOF_TABLE that are
associated with the PNM file
- if they exist, delete any FOF Class OSFs that are for the FOF files listed
in the PNM file
- rename the received PNM file from PNM_yyyydddhhmmss.txt_proc back to
PNM_yyyydddhhmmss.txt in the ODR_RECEIPT_DIR
- Failure in the FTPFOF (FT)Stage
- When invoking the FTPFOF
process from a PMG, a dialog box appears requesting a User Password. If an
incorrect password is entered, the process still starts up and no indication of
a problem is given at the time. However, the first time the process tries to
FTP files, the transfer fails; the OSF associated with the files trying to be
transfered is set to "F" in the FT column; an indication of the incorrect
password is noted in an FTP Log File in the ODR_LOG_DIR; and the process
exits. If this happens and it is desired to re-invoke the FTPFOF process for
a given OSF, perform the following:
- obtain the correct password
- set the OSFs for the file the FTP transfer failed on back to "W" in the FT
column
- restart the FTPFOF process
There are also a variety of other problems that may cause the FT column to be
set to "F". These problems, if they occur, should be noted in the FTPFOF
Process Log File in the OPUS_HOME_DIR and/or in FTP Log files in
the ODR_LOG_DIR. Example problems are as follows:
- FTP connection problems
- FTP transfer problems
- File and Node access priviledge problems
- disk space problems
- database problems
If it is desired to re-invoke the FTPFOF process for a given failed OSF,
perform the following:
- investigate and resolve the problem
- set the OSFs for the files the FTP transfer failed on back to "W" in the FT
column
- Failure in the ZIPFOF (ZI) Stage
- When a FOF Class OSF
indicates an error in the ZIPFOF stage, a most likely source of the problem is
that a "GZIP" symbol is not defined for the environment the ZIPFOF process is
executing in. The ZIPFOF process invokes the GZIP executable to actually
perform the decompression of FOF files. When a GZIP related problem occurs, it
is noted in the ZIPFOF process Log File in the OPUS_HOME_DIR. When
these type problems occurs, and it is desired to re-invoke the ZIPFOF process
for a given FOF Class OSF, perform the following:
- make sure that a GZIP symbol is defined and points to the correct
executable for the environment the ZIPFOF process is executing in. As an
example, when the ZIPFOF process was being tested on an ALPHA machine, the
GZIP symbol was defined as follows:
- GZIP == "$SYS$LOCAL:[GZIP.ALPHA]GZIP_AXP.EXE"
- terminate and then restart the ZIPFOF process so its picks up the new
definition of the GZIP symbol
- set the FOF Class OSFs the ZIPFOF process failed on back to "W" in the ZI
column
Another source of problem causing ZIPFOF failure is a shortage of disk space;
uncompressed FOF files are a lot larger than their compressed counterparts.
This type problem should also be noted in the ZIPFOF Process Log File in the
OPUS_HOME_DIR. When this type problem occurs, and it is desired to
re-invoke the ZIPFOF process for a given FOF Class OSF, perform the following:
- investigate and resolve the problem
- set the FOF Class OSFs the ZIPFOF process failed on back to "W" in the ZI
column
- Failure in the CVTFOF (CV) Stage
- When a FOF Class OSF
indicates an error in the CVTFOF stage, a variety of problems may have caused
the failure. The problems that occurred should be noted in the CVTFOF Process
Log File in the OPUS_HOME_DIR. Example problems are as follows:
- File or Directory access priviledge problems
- disk space problems
- database problems
- problems within the FOF Data Files
If it is desired to re-invoke the CVTFOF process for a given failed FOF Class
OSF, perform the following:
- investigate and resolve the problem
- set the OSFs for the FOF files that failed back to "W" in the CV column
- Failure in the CLNFOF (CL) Stage
- When a PNM or FOF Class OSF
indicates an error in the CLNFOF stage, a variety of problems may have caused
the failure. The problems that occurred should be noted in the CLNFOF Process
Log File in the OPUS_HOME_DIR. Example problems are as follows:
- File or Directory access priviledge problems
- database problems
If it is desired to re-invoke the CLNFOF process for a given failed OSF,
perform the following:
- investigate and resolve the problem
- set the failed OSFs back to "W" in the CL column
Pictorial view of ODR Pipeline
A pictorial view of the ODR Pipeline and a portion of the OMS Pipeline
is provided below. The vertical lines (|) indicate what processes
trigger subsequent processes in the respective pipelines either
directly via an OSF or indirectly by providing files that are being
polled for.
ODR Pipeline
------------
PNMFOF(PN)
|
FTPFOF(FT)
|
ZIPFOF(ZI)
|
CVTFOF(CV)
| |
| CLNFOF(CL)
|
|
|
---------------|-------------------------------------------------
OMS Pipeline |
------------ |
|
SUBPOL(SP)
|
OMSTLM(TM)
|
OMSCHD(SD)
|
OMSANAL(AL)
|
OMSUPD(UD)
|
GENREQ(RQ)
|
INGRSP(RS)
|
ARCCLN(CL)