PIDF Editor v1.0

[picture of PIDF editor]


written by Joey Mukherjee -
Joey@swri.org

Table of contents

  1. Overview
  2. Getting Started
  3. Limitations
  4. File Button...
    1. New
    2. Open
    3. Save
    4. Save As
    5. Delete
    6. Quit
  5. Edit... or Add...
    1. Header
    2. Group
    3. Miscellaneous
    4. Bins
    5. Units
    6. Sensors
    7. Scan
    8. Calibration
    9. Mode
    10. Quality
  6. PIDF...
    1. Refresh
    2. Reformat
    3. Check

Overview

The PIDF editor enables you to easily create Plot Interface Definition Files (PIDF) for use with the IDFS software. It is assumed that the user is already familiar with the IDFS format and software available and knows what information is needed in the PIDF file. This program/help file is primarily a document on how to use the editor. If you wish to learn more about the PIDF itself, read the PIDF documentation. If you are a programmer and wish to know how to get information from the PIDF into your program, check out the ReadPidf documentation.


Getting Started

To start the editor, type "pidfedit" from the command line. The editor will start up with the blank view window. From here, you can either load a file using the "Open" option from the File menu or start from scratch creating a PIDF file. If you start from scratch, it is recommended that you start at the beginning and go from there. Doing things ad hoc *MAY* cause problems... In other words, I think I got all the bugs out if you do things out of order, but I don't know for sure... :-)

Limitations

Current limitations:


The File Button

Basic file handling routines.

New

New will reset all dialogs to nothing. Do this when you wish to start over.

Open

Open will load a new file for editing. Any current file in memory will be reset.

Save

Save will save the file with the current filename.

Save As

Save will allow you to save the file with another filename.

Delete

Delete will let you delete a PIDF file from disk.

Quit

Quit - exit the program.

Edit... or Add...

For the most part, the Edit... and Add... do the same thing. The difference is that when you do an add, you are adding a new item in the PIDF file. If you do an edit, you will be asked which item you wish to edit. If only one item exists, you will edit that item. Also, the Add... only lists items which have multiple entries. The "Browse" button exists on several entries and attempts to make it easier to specify units and sensor numbers. If you click on the browse button, you can then click on each of the items to add them to the list. Click on OK and continue from there.

Header

The Header option lets you edit the general information on the PIDF. Namely the institution, project name, mission, experiment (or satellite), instrument name, and finally virtual instrument name. The version number is also shown to you, but this is an uneditable field.

Group

The Group option will allow you to type all the group names for this PIDF one per line. Take care not to have any extraneous blank lines or else they will become blank group names.

Miscellaneous

There are four areas to the miscellaneous section. They are plot availability, measures, averaging dependencies, and limits.

  1. Plot Availability

    Each check box lets you define which plot types are available for the data.

    You must have the ability to plot scalar plots. Data at higher dimensions can usually be reduced to scalar data.

    Scanning with no angular information should be enabled if the data is spectrogram capable. You must also have a scan dependency defined.

    If the data has angular information defined (theta or azimuthal), check the "Scanning w/ang." option. You must also have a scan dependency and a spin rate or sensors have a theta constant defined in the VIDF.

    If they data has a set of longitudes or latitudes defined, you can enable imaging.

  2. Measures available

    Types of data contained in the virtual instrument.

    Quality data ought to exist for all PIDF's. If not, many display routines will disallow the plotting of the data quality flags.

    Check "Mode" if the virtual instrument contains mode (status) data. The data is found in the IDFS header record.

    Check "Calibration" if the virtual instrument contains calibration data.

    Check "Scan" if the virtual instrument contains scan (status) data. The data is found in the IDFS header record.

    Sensor is always defined. You *MUST* define at least one sensor.

  3. Averaging dependencies

    These variables indicate on what the sensor data depends. There are three methods on which dependencies may exist. The first is through the scan variable, the second is through the presence of an instrument spin rate, and the last is through a dependency on one or more variables which change as a function of sensor (e.g. mass, charge, theta)

  4. Limits

    If a dependency exists, one must define the limits. If phi is defined and is cyclic, the limits are automatically set to 0.0 and 360.0.

Bins

The method is the method used to bin the data. It can be either fixed sweep or variable sweep.

The minimum and maximum are the center values of the defined binning array.

The scaling is used in computing the bin widths. It can be either linear or log. If the scaling is log, the min and max must be greater than zero.

The number of bins is the number of contiguous bins in the binning array. This number must not be zero.

Units

The unit id is used to catagorize the unit definition. A unit id of zero indicates a universal field - one that can be plotted without restriction. Other unit ids are defined elsewhere.

The limits are a minimum and maximum range when using this unit definition.

The scaling to be used is either linear or log when plotting the data.

The label is the dimensional specification of the unit in abbreviated format. Use "dimensionless" or "unitless" if the measurement is dimensionless.

The long description is used to give an appropriate description of the units being defined.

The short description must describe the unit in five characters or less.

The tables are the VIDF tables numbers used in the algorithm which will convert the IDFS data into physical units. Tables are to be defined in the order which they are used.

The operations are all defined numerically. For each tables, you MUST have an associated operation.

Sensors

The name is the name of the sensor - keep it short!

If the sensor is included within a sensor group containing multiple sensors, this field is a component name used to distinguish it from the other members within the group. If there is no other members within the group, the field should be set to N/A.

The sensor source can be either from a VIDF or an SCF. If it is from an SCF, you must also enter an SCF filename.

If the sensor has the definitions set up for pitch angle computation within the VIDF, "Pitch Angle Defined" should be set.

The VIDF sensor number is the sensor number in the VIDF. These must correspond.

The group number is the group to which this sensor belongs. The number is determined by the position of the group within the group name list. Note that the groups are numbered starting at zero.

The scan block field need only be defined if scan has been defined in the PIDF Measures Available.

The units field are a list of units for which this sensor is applicable. Seperate each unit by a space and start the numbers at unit 0.

Scan

Each scan unit can have multiple units defined within it.

There are several ways to define the individual scan units. If you have any units defined, click on a unit on the list on the right and its values will be shown. If you click on "Add", a new one will be made, thereby copying the old one. Click "Update" to update the old one. "Delete" will delete the currently selected unit.

The spacing can be either equal logarithmic, linear, or variable.

The "Index to Units" is a number corresponding to a Unit in the PIDF.

If you selected "Variable" spacing, you must specify the relation between the scan values returned and the scan bin. Pick "Upper edges" of the scan bins, "center" of the scan bin, or "Lower edges" of the scan bins.

The last index is another index to a unit number which specifies the widths of the bins.

Calibration

The calibation block needs a name, a short name, a vidf number, and a list of units.

The name is intended to be a longer name used in descriptions for the programs.

The short name is intended to be used for the plots.

The VIDF calibration number is to be the calibration set number as defined in the VIDF.

The units are units defined as valid for this data set. Enter each unit number seperated by a space.

If the calibration data modifies the sensor data, check "Sensor", otherwise check "Scan". If it does modify the sensor data, list each sensor seperated by a space. If it modifies all sensors, enter a -1.

Mode

Modes also need a name, short name, vidf number, and units.

The name is the long name used in a description.

The short name is used for the plots.

The number of the mode in the VIDF should be specified in the mode number.

The units are units defined as valid for this data set. Enter each unit number seperated by a space.

Data Quality

The Data Quality block also needs a name, short name, and units.

The name is the long name used in a description.

The short name is used for the plots.

The units are units defined as valid for this data set. Enter each unit number seperated by a space.

PIDF...

The PIDF... button allows you to refresh the PIDF, reformat the PIDF, or check the PIDF for syntax errors.

Refresh

Refreshing the PIDF will merely update the view window to the latest changes. Due to the fact that updating the view window can be time consuming to the end user depending on X settings, it is up to the user to refresh the window when he/she wishes to see what has been changed. To save yourself time, make many changes at once and then do a single refresh.

Reformat

Supposed to reformat the PIDF into something nice, but currently unimplemented.

Check

This will make sure the PIDF is syntactially correct. It will also do basic error checking by making sure the PIDF has all the required fields. The checker is unable to know if the values entered in the PIDF make sense.