GROUP = INVENTORYMETADATA

GROUPTYPE = MASTERGROUP
	OBJECT = INSTRUMENT_NAME
  		 DATA_LOCATION	= "MCF"
                 VALUE          = ("LIS")
		MANDATORY = FALSE
		Type            = "STRING"
                 Num_val         = 1
	END_OBJECT = INSTRUMENT_NAME

	OBJECT = EOS_PLATFORM
  		 DATA_LOCATION	= "MCF"
                 VALUE          = ("TRMM")
		MANDATORY = FALSE
		Type            = STRING
		Num_val         = 1
	END_OBJECT = EOS_PLATFORM

	OBJECT  = ORBIT_INCLINATION
   		 DATA_LOCATION	= "PGE"
   		 VALUE = 2.78
		MANDATORY = FALSE
		Num_val         = 1
		Type            = "DOUBLE"
	END_OBJECT = ORBIT_INCLINATION

	OBJECT  =  ORBIT_NUMBER
		DATA_LOCATION	= "PGE"
		MANDATORY = FALSE
		Type            = "INTEGER"
		Num_val         = 1
	END_OBJECT  = ORBIT_NUMBER

	OBJECT  = ECCENTRICITY
		DATA_LOCATION	= "PGE"
		VALUE		= 0.000
		MANDATORY = FALSE
		Type            = "DOUBLE"
		Num_val         = 1
	END_OBJECT  = ECCENTRICITY

/*****************************************************************/
/*****************************************************************/
/*                                                               */
/*  This is a working version of the MCF template that will be   */
/*  supplied with the next SDP Toolkit.  This MCF template will  */
/*  NOT be official until the SDP Toolkit is released.  All      */
/*  details are subject to change.                               */
/*                                                               */
/*  This MCF file represents the ODL which is expected to be     */
/*  created when either Data Server or the MetaDataWorks tool    */
/*  uses the contents of an ESDT's INVENTORYMETADATA section in  */
/*  order to generate an ESDT-specific MCF.  The level of        */
/*  metadata coverage presented here corresponds to the metadata */
/*  requirement for granules in Full Class as described in       */
/*  Appendix B of DID 311 and Section 2.5 of the document  'BNF  */
/*  Representation of the B.0 Earth Science Data Model for the   */
/*  ECS Project' {420-TP-016-001).                               */
/*                                                               */
/*  This MCF file's contents were based on the ESDT Descriptor   */
/*  file template Ver-1.6, 3/31/97.                              */
/*                                                               */
/*****************************************************************/
/*****************************************************************/

/*                                                                      */
/*                                                                      */
/*  The Granule-level attributes in this MCF group follow as closely as */
/*  possible to the Backus-Naur Format (BNF) below:                     */
/*                                                                      */
/* 1{ECSDataGranule}1+                                                  */
/* 0{MeasuredParameter}n +                                              */
/* 1{OrbitCalculatedSpatialDomain}n +                                   */
/* 1{CollectionDescriptionClass}1+                                      */
/* 1{InputGranule}n+                                                    */
/* 1{SpatialDomainContainer}1+                                          */
/* 1{[RangeDateTime|SingleDateTime]}1+                                  */
/* 1{ProcessingHistory}1+                                               */
/* 1{PGEVersionClass}1+                                                 */
/* 0{AncillaryInputGranule}n+                                           */
/* 0{Review}n+                                                          */
/* 0{ProcessingQA}n+                                                    */
/* 0{AdditionalAttributes +                                             */
/*  1{InformationContent}1}n +                                          */
/* 0{Browse}n+                                                          */
/* 0{OrbitParametersGranule}n +                                         */
/* 0{StorageMediumClass}n+                                              */
/* 0{UserCommentDocument}1+                                             */
/* 0{AnalysisSource}n+                                                  */
/* 0{Campaign}n+                                                        */
/*  0{PlatformShortName + InstrumentShortName + SensorShortName +       */
/*    SensorCharacteristicName + SensorCharacteristicValue}n +          */
/*  0{AssociatedPlatformShortName + AssociatedInstrumentShortName +     */
/*    AssociatedSensorShortName + OperationMode}n +                     */
/* 0{QAGranule}n+                                                       */
/*                                                                      */
/*  NOTE: Some of the attributes corresponding to the DID311 BNF        */
/*  do not appear in the INVENTORYMETADATA portion of this MCF.         */
/*     For example, ProcessingHistoryPointer, QAGranulePointer,         */
/*  BrowsePointer and UserCommentDocumentPointer are not present in     */
/*  this MCF file because they are not set by the science software.     */
/*                                                                      */
/*  NOTE: The ODL for each granule-level attribute in INVENTORYMETADATA */
/*  can include a VALIDRULE field which is not provided in the actual   */
/*  ODL in the MCF below.  VALIDRULE can be optionally added            */
/*  between the OBJECT/END_OBJECT for a given attribute in order to     */
/*  indicate a rule which can be applied to the values that are set by  */
/*  the science software for granule-level attributes. The VALIDRULE    */
/*  may either take the form of "Match(value1, value2, value3, etc.)"   */
/*  to specify a valids list, or "Range(beginningvalue, endingvalue)"   */
/*  defines a range of valid values for a given attribute.  This        */
/*  provides the ESDT creators with a means of overriding the valids of */
/*  a given ECS Core attribute by further restricting the acceptable    */
/*  values in an ESDT-specific manner. Commented out below is an        */
/*  hypothetical example of VALIDRULE in use:                           */
/*                                                                      */
/*                  OBJECT = OperationMode                              */
/*                      Data_Location = "PGE"                           */
/*                      Mandatory = "TRUE"                              */
/*                      Class = "M"                                     */
/*                      TYPE = "STRING"                                 */
/*                      NUM_VAL = 1                                     */
/*                      VALIDRULE = "Match("SCIENCE", "CALIBRATION")"   */
/*                  END_OBJECT = OperationMode                          */
/*                                                                      */



/* ECSDataGranule */
    GROUP = ECSDataGranule

        /*  Note: SizeMBECSDataGranule will be set by DSS,  */
        /*  not by the science software.                    */
        OBJECT = SizeMBECSDataGranule
            Data_Location = "DSS"
            NUM_VAL = 1
            TYPE = "DOUBLE"
            Mandatory = "FALSE"
        END_OBJECT = SizeMBECSDataGranule

        OBJECT = ReprocessingPlanned
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "STRING"
            Mandatory = "TRUE"
        END_OBJECT = ReprocessingPlanned

        OBJECT = ReprocessingActual
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "STRING"
            Mandatory = "TRUE"
        END_OBJECT = ReprocessingActual

        OBJECT = LocalGranuleID
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "STRING"
            Mandatory = "TRUE"
        END_OBJECT = LocalGranuleID

        OBJECT = DayNightFlag
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "STRING"
            Mandatory = "TRUE"
        END_OBJECT = DayNightFlag

        /*  Note: ProductionDateTime will not be set directly by   */
        /*  the science software. The attribute value will instead */
        /*  be set automatically when the SDP Toolkit routine      */
        /*  PGS_MET_Write is called by the science software.       */
        /*  PGS_MET_Write writes the science software-populated    */
        /*  INVENTORYMETADATA attribute values to an ASCII file    */
        /*  for Data Server insert, and to an HDF-EOS file as      */
        /*  appropriate. In addition, PGS_MET_Write automatically  */
        /*  populates ProductionDateTime with the value of the     */
        /*  time at which PGS_MET_Write was called, therefore      */
        /*  capturing the time at which science software           */
        /*  processing of a given data granule is being completed. */
        OBJECT = ProductionDateTime
            Data_Location = "TK"
            NUM_VAL = 1
            TYPE = "DATETIME"
            Mandatory = "TRUE"
        END_OBJECT = ProductionDateTime

        OBJECT = LocalVersionID
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "STRING"
            Mandatory = "TRUE"
        END_OBJECT = LocalVersionID

    END_GROUP = ECSDataGranule

    /* MeasuredParameter  */
    /* The B.0 Data Model BNF representation is:           */
    /*       0{MeasuredParameter}n    which further breaks */
    /* down to the relation:                               */
    /*   0{ParameterName + 1{QAFlags}1 + 0{QAStats}1 }n    */
    GROUP = MeasuredParameter

        OBJECT = MeasuredParameterContainer

            Data_Location = "NONE"
            Class = "M"
            Mandatory = "TRUE"

            OBJECT = ParameterName
                Data_Location = "PGE"
                Class = "M"
                TYPE = "STRING"
                NUM_VAL = 1
                Mandatory = "TRUE"
            END_OBJECT = ParameterName

            /*  QAFlags  */
            /* The B.0 BNF indicates that QAFlags contains:                 */
            /* 0{ScienceQualityFlag + ScienceQualityFlagExplanation +       */
            /*   OperationalQualityFlag + OperationalQualityFlagExplanation */
            /*   AutomaticQualityFlag + AutomaticQualityFlagExplanation     */
            /* Note: Only AutomaticQualityFlag and                          */
            /* AutomaticQualityFlagExplanation will be set by the science   */
            /* software.  The Data_Location = "DAAC" or "DP" of the other   */
            /* four attributes reflect the fact that they will be set       */
            /* through manual methods by DAAC staff or by a representative  */
            /* of the Data Provider.                                        */
            GROUP = QAFlags

                Class = "M"

                OBJECT = AutomaticQualityFlag
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    TYPE = "STRING"
                    NUM_VAL = 1
                END_OBJECT = AutomaticQualityFlag

                OBJECT = AutomaticQualityFlagExplanation
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    TYPE = "STRING"
                    NUM_VAL = 1
                END_OBJECT = AutomaticQualityFlagExplanation

                OBJECT = OperationalQualityFlag
                    Data_Location = "DAAC"
                    Mandatory = "FALSE"
                    TYPE = "STRING"
                    NUM_VAL = 1
                END_OBJECT = OperationalQualityFlag

                OBJECT = OperationalQualityFlagExplanation
                    Data_Location = "DAAC"
                    Mandatory = "FALSE"
                    TYPE = "STRING"
                    NUM_VAL = 1
                END_OBJECT = OperationalQualityFlagExplanation

                OBJECT = ScienceQualityFlag
                    Data_Location = "DP"
                    Mandatory = "FALSE"
                    TYPE = "STRING"
                    NUM_VAL = 1
                END_OBJECT = ScienceQualityFlag

                OBJECT = ScienceQualityFlagExplanation
                    Data_Location = "DP"
                    Mandatory = "FALSE"
                    TYPE = "STRING"
                    NUM_VAL = 1
                END_OBJECT = ScienceQualityFlagExplanation

            END_GROUP = QAFlags

            /* QAStats */
            GROUP = QAStats

                Class = "M"

                OBJECT = QAPercentInterpolatedData
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "INTEGER"
                    Mandatory = "TRUE"
                END_OBJECT = QAPercentInterpolatedData

                OBJECT = QAPercentMissingData
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "INTEGER"
                    Mandatory = "TRUE"
                END_OBJECT = QAPercentMissingData

                OBJECT = QAPercentOutofBoundsData
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "INTEGER"
                    Mandatory = "TRUE"
                END_OBJECT = QAPercentOutofBoundsData

                OBJECT = QAPercentCloudCover
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "INTEGER"
                    Mandatory = "TRUE"
                END_OBJECT = QAPercentCloudCover

            END_GROUP = QAStats

        END_OBJECT = MeasuredParameterContainer

    END_GROUP = MeasuredParameter

    GROUP = GPOLYGON
 
        OBJECT = GPOLYGONCONTAINER
 
            Data_Location = "MCF"
            NUM_VAL = 1
            CLASS = "1"
            Mandatory = "TRUE"
 
        GROUP = GRING
 
            CLASS = "1"
 
            OBJECT = EXCLUSIONGRINGFLAG
                Data_Location = "MCF"
                NUM_VAL = 1
                CLASS = "1"
                VALUE = "N"
                Mandatory = "TRUE"
                TYPE = "STRING"
            END_OBJECT = EXCLUSIONGRINGFLAG
 
        END_GROUP = GRING
 
        GROUP = GRINGPOINT
 
            CLASS = "1"
 
            OBJECT = GRINGPOINTLATITUDE
                Data_Location = "MCF"
                NUM_VAL =6
                CLASS = "1"
                VALUE = (23.34,34.234,80.0, 80.0, -80.0, -80.0)
                Mandatory = "TRUE"
                TYPE = "DOUBLE"
            END_OBJECT = GRINGPOINTLATITUDE
 
            OBJECT = GRINGPOINTLONGITUDE
                Data_Location = "MCF"
                NUM_VAL = 4
                CLASS = "1"
                VALUE = (-100.0, 100.0, 100.0, -100.0)
                Mandatory = "TRUE"
                TYPE = "DOUBLE"
            END_OBJECT = GRINGPOINTLONGITUDE
 
            OBJECT = GRINGPOINTSEQUENCENO
                Data_Location = "MCF"
                NUM_VAL = 4
                CLASS = "1"
                VALUE = (1.0, 2.0, 3.0, 4.0)
                Mandatory = "TRUE"
                TYPE = "DOUBLE"
            END_OBJECT = GRINGPOINTSEQUENCENO
 
        END_GROUP = GRINGPOINT
 
        END_OBJECT = GPOLYGONCONTAINER
 
    END_GROUP = GPOLYGON
 
    GROUP = GPOLYGON
 
        OBJECT = GPOLYGONCONTAINER
 
            Data_Location = "MCF"
            NUM_VAL = 1
            CLASS = "2"
            Mandatory = "TRUE"
 
        GROUP = GRING
 
            CLASS = "2"
 
            OBJECT = EXCLUSIONGRINGFLAG
                Data_Location = "MCF"
                NUM_VAL = 1
                CLASS = "2"
                VALUE = "23.45"
                Mandatory = "TRUE"
                TYPE = "DOUBLE"
            END_OBJECT = EXCLUSIONGRINGFLAG
 
        END_GROUP = GRING
 
        GROUP = GRINGPOINT
 
            CLASS = "2"
 
            OBJECT = GRINGPOINTLATITUDE
                Data_Location = "MCF"
                NUM_VAL =6
                CLASS = "2"
                VALUE = (0.0, 123., +1234.56, -.9981,-1.E-3,.31459e1)
                Mandatory = "TRUE"
                TYPE = "DOUBLE"
            END_OBJECT = GRINGPOINTLATITUDE
 
            OBJECT = GRINGPOINTLONGITUDE
                Data_Location = "MCF"
                NUM_VAL = 4
                CLASS = "2"
                VALUE = (-120.0, 120.0, 120.0, -120.0)
                Mandatory = "TRUE"
                TYPE = "DOUBLE"
            END_OBJECT = GRINGPOINTLONGITUDE
 
            OBJECT = GRINGPOINTSEQUENCENO
                Data_Location = "MCF"
                NUM_VAL = 4
                CLASS = "2"
                VALUE = (.11, .22, .33, .44)
                Mandatory = "TRUE"
                TYPE = "DOUBLE"
            END_OBJECT = GRINGPOINTSEQUENCENO
 
        END_GROUP = GRINGPOINT
 
        END_OBJECT = GPOLYGONCONTAINER
 
    END_GROUP = GPOLYGON

    /*  OrbitCalculatedSpatialDomain  */
    /*  OrbitCalculatedSpatialDomain is comprised of 1-n sets */
    /*  of the following attributes:                          */
    /*    OrbitalModelName + OrbitNumber + StartOrbitNumber + */
    /*    StopOrbitNumber + EquatorCrossingLongitude +        */
    /*    EquatorCrossingDate + EquatorCrossingTime           */
    GROUP = OrbitCalculatedSpatialDomain
        OBJECT = OrbitCalculatedSpatialDomainContainer

                Data_Location = "NONE"
                Class = "M"
                Mandatory = "TRUE"

                OBJECT = OrbitalModelName
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    Class = "M"
                    TYPE = "STRING"
                    NUM_VAL = 1
                END_OBJECT = OrbitalModelName

                OBJECT = OrbitNumber
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    Class = "M" 
                    TYPE = "INTEGER"
                    NUM_VAL = 1
                END_OBJECT = OrbitNumber

                OBJECT = StartOrbitNumber
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    Class = "M" 
                    TYPE = "INTEGER"
                    NUM_VAL = 1
                END_OBJECT = StartOrbitNumber

                OBJECT = StopOrbitNumber
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    Class = "M" 
                    TYPE = "INTEGER"
                    NUM_VAL = 1
                END_OBJECT = StopOrbitNumber

                OBJECT = EquatorCrossingLongitude
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    Class = "M" 
                    TYPE = "DOUBLE"
                    NUM_VAL = 1
                END_OBJECT = EquatorCrossingLongitude

                OBJECT = EquatorCrossingTime
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    Class = "M" 
                    TYPE = "TIME"
                    NUM_VAL = 1
                END_OBJECT = EquatorCrossingTime

                OBJECT = EquatorCrossingDate
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    Class = "M" 
                    TYPE = "DATE"
                    NUM_VAL = 1
                END_OBJECT = EquatorCrossingDate

        END_OBJECT = OrbitCalculatedSpatialDomainContainer
    END_GROUP = OrbitCalculatedSpatialDomain

/* CollectionDescriptionClass */
    GROUP = CollectionDescriptionClass

        OBJECT = ShortName
            Data_Location = "MCF"
            NUM_VAL = 1
            TYPE = "STRING"
            Mandatory = "TRUE"
            Value = "L7ORF1"  
        END_OBJECT = ShortName

        OBJECT = VersionID
            Data_Location = "MCF"
            NUM_VAL = 1
            TYPE = "STRING"
            Mandatory = "TRUE"
            Value = "1"  
        END_OBJECT = VersionID

    END_GROUP = CollectionDescriptionClass

/* SpatialDomainContainer */
    /* The B.0 BNF lists 1{SpatialDomainContainer}1  which in turn   */
    /* translates to the relation:                                   */
    /*  0{GranuleLocality}n + 0{VerticalSpatialDomain}n +            */
    /*   1{HorizontalSpatialDomainContainer}1                        */
    GROUP = SpatialDomainContainer


      /* HorizontalSpatialDomainContainer  */
        /*  This is comprised of 0{ZoneIdentifierClass}1, where            */
        /*          ZoneIdentifierClass = ZoneIdentifier                   */
        /*  plus one (and only one) of the following:                      */
        /*      GPolygonContainer, BoundingRectangle, Point or Circle      */
        /* Note: HorizontalSpatialDomainContainer is not, strictly         */
        /*  speaking, a container object of multiple sets of values. This  */
        /*  attribute having 'Container' in its name is due to a naming    */
        /*  anomaly in the BNF and Data Model.                             */
        GROUP = HorizontalSpatialDomainContainer

          /*  ZoneIdentifierClass  */
            GROUP = ZoneIdentifierClass
                OBJECT = ZoneIdentifier
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "STRING"
                    Mandatory = "TRUE"
                END_OBJECT = ZoneIdentifier
            END_GROUP = ZoneIdentifierClass

          /*  BoundingRectangle  */
            GROUP = BoundingRectangle
                OBJECT = WestBoundingCoordinate
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "DOUBLE"
                    Mandatory = "TRUE"
                END_OBJECT = WestBoundingCoordinate

                OBJECT = NorthBoundingCoordinate
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "DOUBLE"
                    Mandatory = "TRUE"
                END_OBJECT = NorthBoundingCoordinate

                OBJECT = EastBoundingCoordinate
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "DOUBLE"
                    Mandatory = "TRUE"
                END_OBJECT = EastBoundingCoordinate

                OBJECT = SouthBoundingCoordinate
                    Data_Location = "PGE"
                    NUM_VAL = 1
                    TYPE = "DOUBLE"
                    Mandatory = "TRUE"
                END_OBJECT = SouthBoundingCoordinate
            END_GROUP = BoundingRectangle

END_GROUP = HorizontalSpatialDomainContainer

    END_GROUP = SpatialDomainContainer

/* RangeDateTime | SingleDateTime */
/* Specify either a single date/time or date/time range, but not both */


/* RangeDateTime  */
    GROUP = RangeDateTime

        OBJECT = RangeBeginningTime
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "TIME"
            Mandatory = "TRUE"
        END_OBJECT = RangeBeginningTime

        OBJECT = RangeEndingTime
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "TIME"
            Mandatory = "TRUE"
        END_OBJECT = RangeEndingTime

        OBJECT = RangeBeginningDate
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "DATE"
            Mandatory = "TRUE"
        END_OBJECT = RangeBeginningDate

        OBJECT = RangeEndingDate
            Data_Location = "PGE"
            NUM_VAL = 1
            TYPE = "DATE"
            Mandatory = "TRUE"
        END_OBJECT = RangeEndingDate

    END_GROUP = RangeDateTime


    /*  Product-Specific attributes */
    /*   It is necessary to include NUM_VAL information for the component */
    /* attribute ParameterValue in order to supply the information        */
    /* needed by SDP Toolkit routines.                                    */
    /*   The NUM_VAL value must be represent the  ESDT-specific value of  */
    /* the maximum possible number of Granule-level ParameterValue        */
    /* instances for this ESDT. The following AdditionalAttributes ODL    */
    /* applies to any and all product-specific attributes being used.     */
    /*   The NUM_VAL = MAX_NUM_PARAMETERVALUE in this MCF must be         */
    /* replaced with the ESDT-specific value of the maximum possible      */
    /* number of Granule-level ParameterValue instances for this MCF's    */
    /* ESDT.                                                              */

        GROUP = AdditionalAttributes
            OBJECT = AdditionalAttributesContainer

               Data_Location = "NONE"
               Class = "M"
               Mandatory = "TRUE"

                /*  AdditionalAttributes  */
                OBJECT = AdditionalAttributeName
                    Data_Location = "PGE"
                    Mandatory = "TRUE"
                    TYPE = "STRING"
                    Class = "M"
                    NUM_VAL = 12
                END_OBJECT = AdditionalAttributeName

                /*  InformationContent  */
                GROUP = InformationContent

                    Class = "M"

                    OBJECT = ParameterValue
                        Data_Location = "PGE"
                        Mandatory = "TRUE"
                        TYPE = "STRING"
                        NUM_VAL = 1 
                    END_OBJECT = ParameterValue

                END_GROUP = InformationContent

            END_OBJECT = AdditionalAttributesContainer
        END_GROUP = AdditionalAttributes

     /*  OrbitParametersGranule  */
        /* The BNF shows 0{OrbitParametersGranule}n which  */
        /* consists only of  0{OrbitParametersPointer}n.   */
        /* OrbitParametersGranule will not be set by the   */
        /* science software but needs to appear in         */
        /* INVENTORYMETADATA anyway since SDP Toolkit      */
        /* functionality will set this the value of this   */
        /* attribute after the completion of the science   */
        /* software processing.  OrbitParametersPointer    */
        /* will be represented as an array of values and   */
        /* not as a Class = "M" ODL structure.             */
        GROUP = OrbitParametersGranule

            OBJECT = OrbitalParametersPointer
                Data_Location = "PGE"
                Mandatory = "TRUE"
                TYPE = "STRING"
                NUM_VAL = 1 
            END_OBJECT = OrbitalParametersPointer

        END_GROUP = OrbitParametersGranule


/* StorageMediumClass */
    /* The B.0 BNF lists  0{StorageMediumClass}n  where      */
    /* StorageMediumClass consists only of the StorageMedium */
    /* attribute. The StorageMedium attribute is being       */
    /* implemented as an array of values and not as a        */
    /* Class = "M" ODL structure. In order to properly       */
    /* interface with SDP Toolkit routines it is necessary   */
    /* that the MAX_NUM_STORAGEMEDIUM shown here be replaced */
    /* with the ESDT-specific value of the maximum possible  */
    /* number of StorageMedium instances for this ESDT.      */
        GROUP = StorageMediumClass
            OBJECT = StorageMedium
                Data_Location = "PGE"
                NUM_VAL = 10
                TYPE = "STRING"
                Mandatory = "TRUE"
            END_OBJECT = StorageMedium
        END_GROUP = StorageMediumClass



END_GROUP = INVENTORYMETADATA

GROUP = COREDATA1
GROUPTYPE = MASTERGROUP
 
GROUP = TEST_PARM_STRINGS_CON
        CLASS = M
        DATA_LOCATION       = MCF
        MANDATORY = FALSE
        OBJECT = TEST_PARM_STRINGS
                CLASS = M
                DATA_LOCATION       = MCF
                VALUE = ("Principal", "Investigator")
                MANDATORY = TRUE
                NUM_VAL         = 2
                Type            = "STRING"
        END_OBJECT = TEST_PARM_STRINGS
 
 
END_GROUP = TEST_PARM_STRINGS_CON
END_GROUP = COREDATA1
 
GROUP = STREAM_FLASH_DATA
 
GROUPTYPE = MASTERGROUP
        OBJECT  = TOTAL_EVENTS
                DATA_LOCATION   = "PGE"
                MANDATORY = FALSE
                Type            = "INTEGER"
 
                Num_val         = 1
        END_OBJECT  = TOTAL_EVENTS
 
END_GROUP = STREAM_FLASH_DATA
 
GROUP = EVENT_FILTERING
 
GROUPTYPE = MASTERGROUP
        OBJECT  = EVENT_FILTER_MODE
                DATA_LOCATION   = "PGE"
                MANDATORY = FALSE
                Type            = STRING
 
                Num_val         = 1
        END_OBJECT  = EVENT_FILTER_MODE
 
END_GROUP = EVENT_FILTERING
 
GROUP = GEOLOCATED_FLASH_DATA
 
GROUPTYPE = MASTERGROUP
 
GROUP = NUM_EVENTS_CON
        OBJECT  = NUM_EVENTS
                CLASS = M
                DATA_LOCATION   = "PGE"
                MANDATORY = FALSE
                Type            = "INTEGER"
 
                Num_val         = 1
        END_OBJECT  = NUM_EVENTS
END_GROUP = NUM_EVENTS_CON
 
END_GROUP = GEOLOCATED_FLASH_DATA
 
GROUP = ARCHIVEDMETADATA

END_GROUP = ARCHIVEDMETADATA


END
