SPECtrum Processing Routines
Users Manual
Version 3
(program SPECPR)
by
Roger N. Clark
U.S. Geological Survey, MS 964
Box 25046 Federal Center
Denver, CO 80225-0046
(303) 236-1332
rclark@usgs.gov
USGS Open File Report no. 93-595
228 PagesTABLE OF CONTENTS
Acknowledgements
1 INTRODUCTION
1.1 Introduction
1.2 History of Specpr
1.3 Specpr Design Philosophy
2 PROGRAM STRUCTURE
2.1 Block Diagram of Program Structure
2.2 File Structure from the Users View
2.2.1 Deleted point values
2.2.2 General data file I/O
2.2.3 Transfer Restrictions
2.3 File Protection
2.3.1 Use of Specpr File Protection
2.4 Command Interpretation
2.5 Alias Definitions and Substitions
2.5.1 Creating Alias Words
2.5.2 Translating Alias Words
2.5.3 Listing and Saving Alias Words and Translations
2.5.4 Reading Alias Words into specpr from a File
2.5.5 Deleting or Writing Over an Alias Word
2.6 Variable Parsing
2.7 Order of Substitution and Command Interpretation
2.7.1 Flow Chart for Command Interpretation Order
2.8 Specpr File Types and Content
2.8.1 The Standard File Content
2.9 "Wavelengths" and other concepts of x-y paired data
2.10 Help!
3 STARTING SPECPR
3.1 Starting Specpr on Unix
3.2 HELP
3.3 Configuring Your Environment
4 IMPORTANT RULES
4.1 Important Rules
4.2 Protective Locks
4.3 Make Specpr Files Read Only When Outside Your Directory
4.4 Bug Reports
4.5 Keep Track of the Number of Channels and
the Wavelength Set!
4.5.1 Rules of Operation for Channels
4.5.2 If You Must Change The Number Of Channels
4.5.3 Setting Channels
5 PROGRAM INITIALIZATION
5.1 Introduction
5.2 Beginning
5.3 Protection
5.4 Observatory Location
5.5 Device and File Assignments
5.6 Data File Names
5.7 Graphics Options
5.8 Automatically Checking File Protection
6 DEVICE AND FILE ASSIGNMENTS
6.1 Device and File Assignments
6.2 3D File Types
6.2.1 3D File Parameters
6.2.2 3D Algorithm Description
6.2.3 3D I/O Setup Examples
6.2.4 3D I/O Suggestions
6.2.5 3D I/O Demonstration
7 MAIN MENU: PROGRAM OPERATIONS CONTROL
7.1 Introduction
7.2 Menu Information
7.3 Listing the Contents of a Data File
7.4 Terminating Program
7.5 File Display, Transfer, and Overlap
7.6 Changing Initialization Parameters
7.7 Device and File Assignments
7.8 Extinction Routines
7.9 Plot Routines (to Hardcopy Plotters)
7.10 Math Operations
7.11 Restart Summary
8 MATH OPERATIONS
8.1 Introduction
8.1.1 Multiple commands from the math command menu.
8.1.2 Menu Information
8.2 Subtraction, Multiplication, and Division
8.3 Addition Routine
8.4 Error Analysis
8.5 Algebraic and Trigonometric Functions
8.6 Special Functions
8.7 Return from a Math Operation or Function
8.8 The Titles Routine
8.9 Band Normalization
chap08.f10.html chap08.f11.html chap08.f12.html chap08.f13.html chap08.f14.html chap08.f15.html chap08.f16.html chap08.f17.html chap08.f18.html chap08.f19.html chap08.f1.html chap08.f20.html chap08.f21.html chap08.f22.html chap08.f23.html chap08.f24.html chap08.f25.html chap08.f2.html chap08.f39.html chap08.f3.html chap08.f40.html chap08.f41.html chap08.f42.html chap08.f43.html chap08.f44.html chap08.f45.html chap08.f46.html chap08.f47.html chap08.f48.html chap08.f49.html chap08.f4.html chap08.f50.html chap08.f5.html chap08.f6.html chap08.f7.html chap08.f8.html chap08.f9.html
8.f1 F1: List of Special Functions
8.f2 F2: Shift
8.f3 F3: Sequential Processor
8.f4 F4: Sequential Processor (No User Process)
8.f5 F5: Continuum Removal
8.f6 F6: Black Body Computation
8.f7 F7: Smoothing Function
8.f8 F8: Channel-File Transpose
8.f9 F9: Band Removal (Reflection Method)
8.f10 F10: Sorting Routine
8.f11 F11: Lunar Thermal Removal
8.f12 F12: Cubic Spline Interpolation
8.f13 F13: Merge Two Spectra to One
8.f14 F14: Edits Spectral Data and Error Value
8.f15 F15: Formats Gaussian Parameter File
8.f16 F16: Line Segment Generator
8.f17 F17: High To Low Resolution Convolution
8.f18 F18: Block Averages and Statistics
8.f19 F19: Polynomial Fit (10 Term)
8.f20 F20: Text File Input
8.f20.1 Using Function 20
8.f20.2 Setting Up the Text File
8.f20.3 Example
8.f21 F21: Calculate N term Polynomial
8.f22 F22: Tablet Graphics (TABGRAF)
8.f23 F23: Mathmatical Parser
8.f24 F24: Star Moon Thermal Removal
8.f25 F25: Two Component Areal Mix Least Squares
8.f26 F26: not developed yet
8.f27 F27: not developed yet
8.f28 F28: not developed yet
8.f29 F29: not developed yet
8.f30 F30: not developed yet
8.f31 F31: not developed yet
8.f32 F32: not developed yet
8.f33 F33: not developed yet
8.f34 F34: not developed yet
8.f35 F35: not developed yet
8.f36 F36: not developed yet
8.f37 F37: not developed yet
8.f38 F38: not developed yet
8.f39 F39: Noise Generator
8.f40 F40: least squares between two spectra (Under Dev.)
8.f41 F41: Binning Routine (Under Development)
8.f42 F42: Fit Band Profile from a Reference Spectrum
8.f43 F43: FFT and Inverse FFT
8.f44 F44: Segmented Upper Hull Continuum
8.f45 F45: Automatic Band Analysis
8.f46 F46: Band Analysis Output
8.f47 F47: Spectrum Recreation from F46 output
8.f48 F48: HP Graphics Terminal Tablet Digitization
8.f49 F49: Linear Interpolation
8.f50 F50: Wavelength Registration
9 CRT PLOT ROUTINES
9.1 Introduction
9.2 Plotting Mode
9.3 Changing Scale
9.3.1 Changing Scale by Typing in the Range
9.3.2 Changing Scale by Graphics Sub-Window
9.4 Line Type
9.5 Horizontal Axis Labels
9.6 Changing the Wavelength Set
9.7 Graphics Cursor Position
9.8 Interactive Band Analysis
9.9 Deleting Individual Data Channels
9.10 Glitch Removal
9.11 Information Display and Information Change
9.12 Printer Listings and Printer Plots
9.13 Multiple Commands in the CRT Plot Routines
9.14 Exiting the CRT Plot Routines
10 DATA DISPLAY, TRANSFER, AND OVERLAY
10.1 Introduction
10.2 Data Display
10.3 File Transfer
10.3.1 File Tranfer with Plot or Information Change
10.3.2 Starpack Transfers
10.4 Overlaying Data Sets
10.5 Multiple Commands in Data Display Transfer and Overlay
10.6 Extraction of Data from 3D Files for Display and Transfer
11 DATA FILE LIST
11.1 Introduction
11.2 Listing Mode
11.3 CRT Listing Options
11.4 Printer Listing Options
11.5 Search Capability
11.6 Listing Limits
11.7 Continuing/Ending the List
11.8 Sample Listing
12 EXTINCTION ROUTINES
12.1 Introduction
12.2 Starpack List and Display
12.3 Extinction Calculation
12.4 CRT Plot
12.5 Airmass Versus Log Intensity Plots and Deletion
and Restoration of Runs and Channels
12.6 Writing a Starpack
12.7 Starpack Manual History
13 PLOTTING ROUTINES FOR WORK AND PUBLICATION
13.1 Introduction
13.2 Plotting Mode Type
13.2.1 User-selected wavelength limits:
13.3 Vertical Axis Label
13.4 Delete From All Spectra
13.5 Scale of Plot
13.6 Plot Scale Factors
13.7 Data Set Input and Options
14 RADIATIVE TRANSFER ROUTINES
15 STANDALONE UTILITIES
15.1 Introduction
15.2 Spprint
15.3 Spfeatures
15.4 Data Translation
15.4.1 sptoascii
15.4.2 asciitosp
15.4.3 oldsptoascii
15.4.4 cgastosp
APPENDICES
A SPECPR STANDARD FORMAT OF DATA FILES
B HOW TO OBTAIN SPECPR
Acknowledgements
This manual documents the specpr program. However, the specpr program itself is the product of many people, some professional programmers, others scientists and students. The effort to write this manual pales in comparison to the programming time spent by myself and many others. Without these people, specpr would have died long ago. Rodney Kam and Jeff Hoover were programmers at the University of Hawaii who shaped the software into the Unix environment and converted the early code from Fortran 66. Rodney and Jeff co-authored the first version of the specpr users manual in 1982. I often think of Jeff, a true Unix guru, and wish he were still alive. Lucy McFadden wrote some of the early special functions. After I moved to the U.S. Geological Survey, specpr underwent many changes and extensions. Programmers at the University of Hawaii continued to make improvments and bug fixes in the new version. Kathy Kierein wrote the alias section, added to the radiative transfer routines and other code. Barry Middlebrook wrote the 3D read routines, a vital contribution for working with the new AVIRIS and GER imaging spectrometer data. Noel Gorelic wrote many sections, including the X-windows interface, variable parsing, the graphics window scaling, the continuum analysis and spectral features special functions, as well as bug fixes and enhancements to other parts of the program. Matthew Klejwa wrote the interactive band analysis routines. Wendy Calvin extended the radiative transfer routines and wrote the wavelength registration special function. Bob Brown and Pam Owensby have made numerous bug fixes and improvements. Users contributed a lot to the development of specpr. They contributed ideas, found bugs and ways to work around around them, ways to improve the program and occasionally fixed the bugs themselves. Some of the more vocal users (probably because I have worked closely with them) are Gregg Swayze, Marcia Nelson, Trude King, and Pam Owensby. A little known fact is the origin of the name specpr. The name was suggested by Karl Hinck at the University of Hawaii in 1977 and the name has stuck ever since. Thanks Karl for a lasting name for a lasting program (smile). There are probably several people I have forgotten. If I have forgotten you, I’m sorry. It simply reflects the large effort by so many people that have gone into this program.