PDS_VERSION_ID = PDS3 RECORD_TYPE = STREAM OBJECT = TEXT PUBLICATION_DATE = 2003-02-27 NOTE = " SOFTINFO.TXT describes the contents of this directory." END_OBJECT = TEXT END This directory contains files related to example software applicable to the data on this volume. All code and files are provided "as is" without any warranty but with the hope that they will be useful in understanding the data provided on this volume. These supplemental files are beyond PDS archiving requirements and may not meet PDS standards. [SOFTWARE] This directory | |- KEY_BROWSE.JAR Java JAR file containing an early-release | version of CORPWS, an application for viewing | and manipulating the key-parameters data. | |- KEY_BROWSE.TXT Simple text database used by CORPWS application | to locate the data files on this volume. | |- LRF_INPUT.DAT Example input file for testing LRF_LIST program. | |- LRF_LIST.C Example code to list low-rate full-resolution data. | |- LRF_MAKEFILE.MAK Makefile for building and testing LRF_LIST. | |- LRF_OUTPUT.TXT Correct output produced by LRF_LIST using | LRF_INPUT.DAT as input. | |- SOFTINFO.TXT Description of and instructions for software in | this directory. (this file) | |- T*_WBRFR.DAT Binary WBR input files for testing WBR_WFR_LIST. | |- T*_WBRFR.TXT ASCII text output files for testing WBR_WFR_LIST. | |- T*_WFRFR.DAT Binary WFR input files for testing WBR_WFR_LIST. | |- T*_WFRFR.TXT ASCII text output files for testing WBR_WFR_LIST. | |- WBR_WFR_LIST.C Example code to list high-rate full-resolution | data. | |- WBR_WFR_MAKEFILE.MAK Makefile for building and testing WBR_WFR_LIST. CORPWS Java Application ======================= The Java JAR file KEY_BROWSE.JAR contains the application CORPWS which can be used on Java 1.4 or newer platforms to generate spectrograms from the Cassini RPWS Key Parameters data files on this volume. The file KEY_BROWSE.TXT is a simple text database used by the application to locate the data files and may be edited to extend the use of the software beyond the contents of the current volume. The Java Runtime Environment (JRE) is freely available for common platforms from http://java.sun.com/. On most platforms the application can be started by opening a command console, changing directory to the EXTRAS/SOFTWARE directory on the volume, and issuing the command: java -jar KEY_BROWSE.JAR The Java virtual machine will load the application and display a two-panel spectrogram showing the first day of available data with electric field spectral density on the upper panel and magnetic field spectral density on the lower panel. Two convenient text entry boxes are provided along the bottom of the plot for explicitly entering start and stop times, plus forward " >> " and back " << " buttons will step the current plot width in time. A "Print" button provides high-quality PostScript output and a "Quit" button will exit the application. Almost any aspect of the display is configurable, and a number of convenient controls are accessible via mouse events on the display itself. Any axis may be zoomed by left-dragging a range on the corresponding axis, time, frequency, or amplitude. A subtle mouse "gesture," dragging a few pixels to the left (a left arrow will appear), may be used to undo the most recent zoom. Another mouse gesture, dragging a few pixels down (a down arrow will appear) is used to zoom out. Again, these mouse gestures are subtle and will not work if the mouse is dragged more than a few pixels. If you move too far, the motion will be interpreted as a range to zoom instead of the "undo" or "zoom out" command. Right-clicking on a display element will bring up a menu that may be used to modify the default action of a mouse down event in the element, including for spectrograms tools such as a "Crosshair Digitizer," "Vertical Slice," "Horizontal Slice," and "Vertical Averager." These are very useful for obtaining line plots of slices in time or frequency from the data used to generate the spectrograms. In addition, a "properties" item will allow modifications of almost any other aspect of the presentation, including plot titles, axis styles, color or gray scales, etc. The file KEY_BROWSE.TXT is expected to be in the same directory the application is launched from. It provides a simple text database with two columns, date and file location. An edited version of this file will allow access to data in other locations. This application is an early release version of a very flexible display and analysis package currently under development. For more information and updates, see http://www-pw.physics.uiowa.edu/das2/. This application utilizes open source libraries from a number of sources, including: The Apache Software Foundation, http://www.apache.org/ The Batik SVG Toolkit provided by the Apache XML Project, http://xml.apache.org/batik/ The iText Java-PDF library, http://www.lowagie.com/iText/ We gratefully acknowledge the efforts of the Java open source community. LRF_LIST.C example C code ========================= The file LRF_LIST.C contains example C code for a complete program to read and list data from Cassini RPWS low-rate full-resolution archive files. In order to compile and test the example code, you will need to copy all of the files in the EXTRAS/SOFTWARE (this) directory to a writable directory. For UNIX-like development environments, a makefile is provided to automate the creation and verification of an executable program. To use the makefile (in the writable directory): % make -f LRF_MAKEFILE.MAK If there are no compilation errors, then % make -f LRF_MAKEFILE.MAK test The last line printed should indicate whether the executable was verified to be working correctly or not. Compile and Test Details ------------------------ In case the makefile cannot be used, the details of compilation and testing are as follows: In order to compile this code on UNIX systems, it may be necessary to rename the file and remove the CR character from the CRLF line termination: % tr -d \\r < LRF_LIST.C > lrf_list.c Then, the compile may be as simple as % gcc -O -o lrf_list lrf_list.c -lm The executable should be used to generate an output file from the provided input data file: % lrf_list LRF_INPUT.DAT > LRF_OUTPUT.out Again, it may be necessary to remove the extra CR from the CRLF line terminations on the provided output file: % tr -d \\r LRF_OUTPUT.TXT > LRF_OUTPUT.orig Finally the newly created output file should be compared against the provided output file: % diff LRF_OUTPUT.orig LRF_OUTPUT.out If there are no differences, then your compiled example should be working correctly. WBR_WFR_LIST.C example C code ============================= The file WBR_WFR_LIST.C contains example C code for a complete program to read, calibrate, and list data from Cassini RPWS wideband or waveform archive files. Quick-start help for using these data and this example code is given in EXTRAS/WFRWBR.TXT (one directory up from here). In order to compile and test the example code, you will need to copy all of the files in the EXTRAS/SOFTWARE (this) directory to a writable directory. For UNIX-like development environments, a makefile is provided to automate the creation and verification of an executable program. To use the makefile (in the writable directory): % make -f WBR_WFR_MAKEFILE.MAK If there are no compilation errors, then % make -f WBR_WFR_MAKEFILE.MAK test The last line printed should indicate whether the executable was verified to be working correctly or not. Compile and Test Details ------------------------ In case the makefile cannot be used, the details of compilation and testing are as follows: In order to compile this code on UNIX systems, it may be necessary to rename the file and remove the CR character from the CRLF line termination: % tr -d \\r < WBR_WFR_LIST.C > wbr_wfr_list.c Then, the compile may be as simple as % gcc -O -o wbr_wfr_list wbr_wfr_list.c -lm The executable should be used to generate output files from each of the provided input data files: % wbr_wfr_list -aercls T1999229_21_10KHZD_WBRFR.DAT > \ T1999229_21_10KHZD_WBRFR.out % wbr_wfr_list -aercls T1999230_03_10KHZ1_WBRFR.DAT > \ T1999230_03_10KHZ1_WBRFR.out % wbr_wfr_list -aercls T1999230_2_5KHZ2_WFRFR.DAT > \ T1999230_2_5KHZ2_WFRFR.out % wbr_wfr_list -aercls T1999255_25HZ4_WFRFR.DAT > \ T1999255_25HZ4_WFRFR.out Again, it may be necessary to remove the extra CR from the CRLF line terminations on each of the provided output files: % tr -d \\r < T1999229_21_10KHZD_WBRFR.TXT > \ T1999229_21_10KHZD_WBRFR.orig % tr -d \\r < T1999230_03_10KHZ1_WBRFR.TXT > \ T1999230_03_10KHZ1_WBRFR.orig % tr -d \\r < T1999230_2_5KHZ2_WFRFR.TXT > T1999230_2_5KHZ2_WFRFR.orig % tr -d \\r < T1999255_25HZ4_WFRFR.TXT > T1999255_25HZ4_WFRFR.orig Finally the newly created output files should be compared against the provided output files: % diff T1999229_21_10KHZD_WBRFR.orig T1999229_21_10KHZD_WBRFR.out % diff T1999230_03_10KHZ1_WBRFR.orig T1999230_03_10KHZ1_WBRFR.out % diff T1999230_2_5KHZ2_WFRFR.orig T1999230_2_5KHZ2_WFRFR.out % diff T1999255_25HZ4_WFRFR.orig T1999255_25HZ4_WFRFR.out If there are no differences, then your compiled example should be working correctly. If the lowest-order digit of some floating point values differ by one, then platform-dependent differences in rounding may be the cause. These differences can be ignored. =======================================================================