	Requirements for ascii metadata class (is-a general metadata)


1) Write metadata to an ASCII .met file, given the .met file's PCF logical.  If not successful, write an appropriate
   entry to the diagnostics file.



	Requirements for attribute group class


1) Set a given attribute to a given value, using a given metadata handle.



	Requirements for bounding rectangle class (is-an attribute group)


1) Store bounding rectangle metadata attributes in an extensible format.

2) Set the attributes to global coverage.

3) Set the attributes into metadata memory, using a given metadata handle.



	Requirements for date time group class


1) Create a character string of the date only, given a time object.

2) Create a character string of the time only, given a time object.



	Requirements for ecs data granule class (is-an attribute group)


1) Store ecs data granule metadata attributes in an extensible format.

2) Set the attributes from a given PCF logical.

3) Set the attributes into metadata memory, using a given metadata handle.



	Requirements for general metadata class


1) Store the PCF logical of the applicable metadata config file.

2) Initialize the metadata mechanism for the stored PCF logical or a given PCF logical.  If successful, disallow
   further initialization attempts.  If not successful, write an appropriate entry to the diagnostics file.

3) Terminate usage of the metadata mechanism.



	Requirements for global metadata class


1) Store global metadata data.

2) Set the global metadata.

3) Retrieve the global metadata.



	Requirements for hdf metadata class (is-a general metadata)


1) Write metadata to an HDF file, given the HDF file's metadata id.  If not successful, write an appropriate entry to
   the diagnostics file.



	Requirements for input granule class (is-an attribute group)


1) Store input granule metadata attributes in an extensible format.

2) Set the attributes from a variable number of given PCF logicals.

3) Set the attributes into metadata memory, using a given metadata handle.



	Requirements for measured parameter class (is-an attribute group)


1) Store measured parameter metadata attributes in an extensible format.

2) Set the attributes from a given parameter name, parameter number, missing percentage, out of bounds percentage and
   interpolated percentage.

3) Set the attributes into metadata memory, using a given metadata handle and parameter number.



	Requirements for orbit calculated spatial domain class (is-an attribute group, is-a date time group)


1) Store the orbit calculated spatial domain metadata attributes in an extensible format.

2) Set the attributes from a default model name, and from given start and stop time objects.

3) Set the attribute into metadata memory, using a given metadata handle.



	Requirements for pge version class class (is-an attribute group)


1) Store pge version class metadata attributes in an extensible format.

2) Set the attribute from a given PCF logical.

3) Set the attribute into metadata memory, using a given metadata handle.



	Requirements for psa group class (is-an attribute group)


1) Store current multiplicity number for PSAs.

2) Set the PSA attributes from the given name and value.

3) Set the attributes into metadata memory, using a given metadata handle and the stored multiplicity number.



	Requirements for qa flags class (is-an attribute group)


1) Store qa flags metadata attributes in an extensible format.

2) Set the attributes to pre-determined explanations.

3) Set the attributes into metadata memory, using a given metadata handle and parameter number.



	Requirements for qa stats class (is-an attribute group)


1) Store qa stats metadata attributes in an extensible format.

2) Set the attributes from a default cloud cover, and from given missing percentage, out of bounds percentage and 
   interpolated percentage.

3) Set the attributes into metadata memory, using a given metadata handle and parameter number.



	Requirements for range date time class (is-an attribute group, is-a date time group)


1) Store range date time metadata attributes in an extensible format.

2) Set the attributes from given start and stop time objects.

3) Set the attribute into metadata memory, using a given metadata handle.
