idaeim studio
 PVL: Parameter Value Language

The idaeim::PVL Library

The Parameter Value Language class library provides for the input, output and manipulation of parameters and their data values. Perhaps one of the most common concepts in scientific research is the named parameter that refers to a value of some type:

Name = Value

The Name is a single textual token that provides the referential handle to the value. The choice of parameter names for values is completely arbitrary, though it may be guided by various usage conventions. Thus there is no guarantee that a parameter of any given name will refer to a value of any particular type. While this provides for complete freedom in the use of parameter names, it also allows for considerable confusion.

The Value may be quite simple - for example, a single decimal integer - or very complex - for example an array of values of various types that provide the complete characterization of an instrument - yet the type of value must be specifically defined to avoid any ambiguity in its use. Thus the value definition mechanism must be broadly encompassing to allow for the needed freedom in the use of values, while providing an interpretation that allows for no misinterpretation.

A Parameter Value Language (PVL) provides a text syntax for associating a named parameter with a specifically defined type of value. While there are various forms of parameter value language to choose from, this implementation follows the the syntax of the PVL used by the Planetary Data System (PDS) as specified by the Consultative Committee for Space Data Systems in the Blue Book "Parameter Value Language Specification (CCSD0006,8)", June 2000 [CCSDS 641.0-B-2] and Green Book "Parameter Value Language - A Tutorial", June 2000 [CCSDS 641.0-G-1] documents. PVL has been accepted by the International Standards Organization (ISO), as a Final Draft International Standard (ISO 14961:2002) keyword value type language for naming and expressing data values.

The Object Definition Language (ODL) used to describe the metadata in Earth Observing System (EOS) image files is also an implementation of PVL, though it is embedded in the HDF-EOS extension to the NCSA HDF format.

The actual form of the PDS PVL has evolved somewhat since it was first used in early products, such as imagery from the Voyager and Viking missions. This resulted in inconsistencies that made it difficult to write software which could handle all PDS products. The PVL classes in this library use controlled tolerance during PVL statement parsing that is able to successfully read any PVL, including all PDS products. It also provides controlled strictness when generating PVL statements, making it suitable for creating new products that employ PVL.

Copyright (C) 2002 - 2012 Bradford Castalia

The idaeim libraries are free software; you can redistribute them and/or modify them under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The idaeim libraries are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see


Bradford Castalia
Systems Analyst
712 N. Seventh Ave.
Tucson, Arizona 85705

"Build an image in your mind, fit yourself into it."