Download this file


Release Notes - INMS Analysis Library

Most recent release is described first, prior releases in 
reverse chronological order

;+


T H E   I N M S   A N A L Y S I S   L I B R A R Y   I S   S U P P L I E D   "A S - I S",
                 WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.

++++Version 2007170

  This release adds routines for trajectory and pointing display, for SPICE kernel
  management and for programming utilities.  The ion tuning coefficients for all
  encounters through T32 are incorporated into inms_ion_sensitivity. A number of 
  the plotting routines were modified to display closest approach time
  and to improve format.


NEW ROUTINES

inms_plot_geom             Clots trajectory and pointing with respect to target
                           or Saturn.
inms_get_spice_kernels     Invokes FTP to download missing SPICE kernels
IIS_frame_definitions.txt  A SPICE frames text kernel defining the Ionospheric
                           Interaction System frame for Titan and Enceladus
inms_auxiliary_value       Computes latitude, west longitude, ram angle, and
                           speed with respect to a target body or Saturn
inms_dump_structure        Creates a comma-separated value file containing the
                           contents of a structure array
inms_idl_type              Determines the IDL type that best matches a PDS type
inms_reduce_qb_scan        Performs the quad bias scan data reduction - Alpha Version


CHANGED ROUTINES:

inms_test                  Adds example geometry plot (calls inms_plot_geom)
inms_ion_sensitivity       Include all tuning model coefficients through T32
inms_add_aux_axis          Now produces axis from either L1A or Spectra structure arrays
                           Optionally replaces west longitude with local solar time
inms_plot_mass_history     Now uses inms_add_aux_axis
inms_plot_stacked_spectra  Now uses inms_add_aux_axis
inms_plot_state            Displays vertical line at time of closest approach
inms_plot_mt_line          Improved graphic format
inms_plot_mt_spectra       Improved graphic format
inms_plot_series           Improved graphic format
inms_plot_compare          Improved graphic format
inms_get_spectra           Store time of closest approach
inms_define_xSpecRec       Added closest approach time to spectra structure
inms_prepare_plot          Color tables no longer implicitly changed. Updated prolog
inms_make_window           Added portrait orientation 
inms_reduce_ql_scan        Correct indexing error in annotations
inms_read_fmt_file         Produces complete structure template eliminating the need
                           for inms_create_l1a_template
inms_get_data              Streamlined data structure creation
inms_kernel_list           Converted from function to procedure
inms_doy2utc               Correct error handler

DEPRECIATED ROUTINES:

The functionality of these routines have been replaced and improved by
new routines. These routines should not be used in new code.

inms_saturn_latitude       Use inms_auxiliary_value
inms_saturn_wLongitude     Use inms_auxiliary_value
inms_ram_angle             Use inms_auxiliary_value
inms_create_l1a_template   Replaced by inms_read_fmt_file
 
;-


++++Version 2007075
  This maintenance release supplies an updated version of inms_ion_sensitivity which 
  includes quadrupole switching lens tuning factors bsed on the T25 data. A minor change
  was made to inms_plot_state to add time from closest approach.

NEW ROUTINES

inms_make_pds_label        Creates a pds label for a spreadsheet file based on the file
                           being labeled and a label template.


CHANGED ROUTINES
inms_ion_sensitivity       Coefficients based on the T25 results included in algorithm
inms_plot_state            Includes display of ram angle and a time from closest approach axis
inms_add_aux_axis          Optionally includes the time from closest approach axis
inms_plot_cal_ptrn         Adds keyword to specify plot title
inms_plot_cal_sens         Adds keyword to specify plot title
inms_read_cal              Increased max size of a calibration record to support toluene data
inms_select_cal            Correct documentation formatting error


++++Version 2007018
  This maintenance release fixes a compatibility problem between IDL V6.2 and later versions.
  It also corrects a number of problems encountered in the previous release by users and updates
  the ion sensitivity calculation with the Titan T23 encounter energy scan results. The 
  routine used to reduce energy scans is included in the library


NEW ROUTINES

inms_reduce_ql_scan        Reduces the quadrupole lens scans, producing the tuning
                           parameters required to adjust for miss-focusing. 


CHANGED ROUTINES

inms_post_message          Delete the /center keyword from the dialog_message calls
                           for backwards compatibility
sprl_color_plot    Delete the /center keyword from the dialog_message calls
           for backwards compatibility
inms_plot_stacked_spectra  Display ram angle over spectra, if requested, to aid 
                           diagnosis of ion density calculations
inms_compute_mean_spectra  Add the ion source to the spectra type descriptions
inms_ion_sensitivity       Add T23 tuning coefficients.  Handle scalar, 1-dimensional
                           and 2-dimensional mass arrays
inms_spectra_aux_values    Separate the Saturn ram angle and speed computations from
                           those of the other targets
inms_tabulate_spectra      Support output to files in addition to the screen
inms_make_ion_spectra      Support options to disable the quadrupole lens tuning
                           and ram angle corrections to the sensitivity
inms_prepare_plot          Adjust line widths used for the X and WIN display types

++++Version 2007008
  This release provides final routines for computing ion densities and adds additional options
  to the data selection routines. Additional items have been added to the spectra record to
  permit handling exceptions when computing ion densities.

  NOTE: The order of the arguments of inms_make_ion_spectra has been reversed to match the
        usage of inms_compute_mean_spectra and inms_compute_summed_spectra

NEW_ROUTINES

inms_tabulate_spectra  Produces a table of information extracted from a spectra record


CHANGED ROUTINES

inms_compute_mean_spectra    Ensures compatibility with spectra records formed with previous
                             releases
inms_compute_summed_spectra  Ensures compatibility with spectra records formed with previous
                             releases
inms_plot_histogram          Adds grid to plot and target name to title
inms_build_locator           Accepts /INGRESS and /EGRESS keywords
inms_plot_mass_history       Properly label altitude axis when target is Saturn
inms_plot_stacked_spectra    Properly label altitude axis when target is Saturn
inms_plot_mass_profile       Properly label altitude axis when target is Saturn
                             Adds option to connect plot markers
inms_define_xSpecRec         Add sequence table and cycle table IDS to spectra record
inms_grid_spectra            Add sequence table and cycle table IDS to spectra record
inms_get_spectra             Handle pathological case when selecting data which includes
                             final data point in input         
                             Add sequence table and cycle table IDS to spectra record
inms_ion_sensitivity         Deletes alternative method
                             Handle T17 ion measurements interspersed with the energy scans
inms_make_ion_spectra        Handle T17 ion measurements interspersed with the energy scans
                             Change order of arguments to match usage of other routines.
inms_spectra_aux_values      Save correct velocity components for ion sensitivity calculation
                             Compute positions with respect to Saturn when no target is specified
inms_neat_ticks              Correct calculation of major tick locations when quarter-hour tick
                             spacing selected

++++Version 2006341


   This release fixes a number of bugs and shortcomings observed
   since the last release (2005263). Routines to apply calibrations to the
   ion data and to plot the results are added. To support analysis
   of the Refurbished Engineering Model (REU) calibration, a number of
   routines were added or modified. Finally a general error handler was added to
   most routines so error messages are handled in a common manner.

LIMITATIONS
inms_make_ion_spectra  This routine is currently restricted to processing 
                       one input raw spectra at a time.  Off-nominal pointing is
                       not accounted for.
inms_ion_transmission  This routine is as not yet validated and should be used with caution.

DEPRECIATED ROUTINES

inms_plot_cal          Replaced by inms_plot_cal_ptrn to avoid confusing names for routines
                       that plot cracking patterns and sensitivities from cal data. 
                       See new routine inms_plot_cal_sens
inms_ss_positions      Sub-solar point latitude and longitude now included in L1A data
inms_init_ss_positions Sub-solar point latitude and longitude now included in L1A data
inms_compute_density   Method has been overtaken by other analysis
inms_density_file      Driver for inms_compute_density, no longer to be used.



NEW ROUTINES

inms_doy2julian        Converts an ordinal date to a Julian date
inms_ion_sensitivity   Computes the open source ion sensitivity for a particular mass and
                       velocity, considering QL miss tuning.
inms_ion_transmission  Computes the adjustment factor to be applied to the sensitivity
                       due to off-nominal pointing
inms_kernel_list       Compares the SPICE kernels listed in a FURNISH text kernel to 
                       those on the local system.
inms_make_ion_spectra  Computes ion abundance spectra from a raw counts spectra
inms_plot_cal_sens     Plots sensitivity data from a calibration summary file
                       as a function of species
inms_plot_cal_ptrn     Plots cracking PaTteRN data from a calibration summary file
inms_plot_mass_profile Plots data from an array of spectra records as a function of 
                       altitude for selected masses
inms_plot_state        Plots the transitions between mass tables or between cycle tables 
                       as a function of time
inms_post_message      Puts an error dialog on the screen
inms_put_annotations   Creates a table of annotations, see plots from inms_deconvolve for example
inms_ram_angle         Computes the angle between the spacecraft velocity w.r.t 
                       the target body and the INMS boresight.
inms_read_jcamp        Reads a jcamp format mass spectra as obtained from NIST
inms_weighted_mean     Computes the average of a series of measurements weighted by their
                       standard deviations.



CHANGED ROUTINES

inms_add_aux_axes           Adjust axis label character size
inms_build_locator          Fixed error in sclk time formatting
inms_compute_mean_spectra   Return geometric quantities evaluated at central time
inms_compute_summed_spectra Return geometric quantities evaluated at central time  
inms_deconvolve             Fall back to closed source cal data if open source is not available
                            Provide for setting closed source temperatures
                            Omit isotope ratio computation
                            Change critical C1 counter frequency to 1.25 MHz (ex 1.75 MHz)
                            Change C1/C2 ratio to 5840.7 (ex 4459.6)
inms_define_xSpecRec        Add ION to spectra types
                            Add velocity components to structure
inms_get_data               Ensure files are sorted properly on Windows
                            Ensure a valid label was obtained and post more specific error message 
inms_get_spectra            Prune empty spectra records prior to return
inms_make_windows           Make windows columns stagger slightly.
                            Permit adjustment of window size and region containing the plots
inms_make_profiles          Omit computation of isotope ratio
inms_make_window            Provide method to set size and location of window
                            Correct window position calculation on MS Windows platform
inms_plot_cal               Added support for REU data
                            Optionally plot multiple matches
                            Improve compatibility with inms_prepare_plot
inms_plot_histogram         Support ION abundance spectra display
                            Change critical C1 counter frequency to 1.25 MHz (ex 1.5 MHz)
                            Change C1/C2 ratio to 5840.7 (ex 4459.6)
inms_plot_mt_line           Correct auxiliary axis location
                            Add "ESM" source to list of valid sources
                            Reduced spacing between aux axis
inms_plot_mt_spectra        Reduced spacing between aux axis
inms_plot_series            Adjust size of x-axis characters when aux axes present
                            Use subtitle keyword consistent with other routines
inms_prepare_plot           Collect multiple image files produced with /NEXT in one subdirectory.
                            Create directories if required.
                            Adds support for TIFF and JPEG images in addition to PNG
                            Image and PS line weights increased for better legibility.
inms_ram_coefficient        Corrected miss-spelled variable name
inms_read_cal               Corrected errors in converting NIST style cracking patterns to 
                            INMS style
                            Made mass variable float to avoid an off-by-one error when 
                            plotting the cracking patterns
                            Added name of calibration data file to structure for identification 
                            of the data source
                            Remove enclosing quotation marks from strings, if present to comply 
                            with PDS 
                            Increased the maximum number of peaks in a spectra to 40 (ex 30)
inms_read_format_file       Corrected errors parsing format file contents
                            Ensure that the path keyword value is of correct type
inms_select_cal             Correct initialization of return value
                            Add REU to list of calibration instruments
                            Return multiple matches under some conditions.
                            Improved argument validation
inms_test                   Added state plot to tests
                            Changed names of isotopes to match current naming convention
                            Changed data set to T18 to include ION data
sprl_date_plotted           Added option to place annotation at lower left instead of default
                            lower right.
Most Routines               Added error handler that posts dialog on window display system or to
                            console log when debugging or when displaying on a non-windowing (PS)
                            display




++++Version 2005325
   Changed default value of c1/c2 count ratio
   Added an option to plot count rates instead of counts per sample period
   Supports latest version of calibration summary files which
   may include fractionation patterns from NIST
   Bug fixes

CHANGED ROUTINES
inms_compute_density      revised default value of C1 C2 ratio
inms_deconvolve           revised default value of C1/C2 ratio
                          displays both abundance and mole fraction
                          displays reduced chi-square and other 
                          goodness of fit measures
inms_file_format          supports calibration system data file formats
inms_format_time_tick     Include seconds in the time string
inms_grid_spectra         corrects source id value in spectra
inms_neat_ticks           added quarter-hour tick marks to routine
inms_plot_histogram       revised default value of C1/C2 ratio
inms_plot_mass_history    count rate display option added
inms_plot_mt_line         count rate display option added
inms_plot_mt_spectra      count rate display option added
inms_plot_stacked_spectra count rate display option added
inms_prepare_plot         corrected file delimiter character for MS Windows
inms_read_cal             handle NIST fractionation patterns
inms_spectra_aux_values   suppress floating point exception messages
inms_test                 updates to display rates

NEW ROUTINES
inms_put_annotations      Adds table of annotations to plots,
                          see inms_deconvolve for example useage
;-

++++Version 2005263
   Added density profile routines
   Added additional ancillary data to spectra records
   Adjusted character sizes in PNG files to better match screen views
   Bug fixes

CHANGED ROUTINES
inms_deconvolve added code to remove outliers
Now returns chi-square, not reduced chi-square, 
added keywords to control annotation and c1 replacement by c2. 
inms_file_format Checks for the presence of a format stack and prompts user for format file to read if absent.
inms_get_spectra Add latitude, longitude, solar zenith angle, and solar local time to spectra structure
inms_grid_spectra Add latitude, longitude, solar zenith angle, and solar local time to spectra structure
inms_list_cal_species molecular mass added to table
inms_make_window MS Windows support
inms_plot_cal Species selection defaults to all, control of plot format
inms_plot_compare minor changes
inms_plot_histogram check input spectra and post error if an array of structures passed
inms_plot_hkg minor changes
inms_plot_mass_history minor changes
Finms_plot_mt_line minor changes
inms_plot_mt_spectra minor changes
inms_plot_stacked_spectra Add auxiliary axes, latitude and either west longitude or solar local time.
inms_prepare_plot MS Windows support, multiple PNG plots
inms_ram_coefficient Keywords available to set source and ambient temperatures
inms_read_cal Initialize output structure prior to use, ensure final line read without 
requiring a trailing null line.
inms_read_fmt_file ensure final line read without requiring a trailing null line.
inms_utc_increment Corrected error when crossing year boundaries
sprl_cvt_jdate_odate Correct off-by-one error in centennial years
sprl_cvt_odate_jdate Correct off-by-one error in leap years and centennial years following day-of-year 58.
sprl_error_plot Simplify and correct size of tick marks on logarithmic plots.
sprl_find_color MS Windows support when displaying color swatch
sprl_load_colors Improved color table for sequential='spectrum" option


NEW ROUTINES
inms_define_xSpecRec Include file to create a spectra record instance
inms_select_cal General calibration record selection function
inms_spectra_aux_values Computes ancillary  values for inclusion in spectra records
inms_make_profiles Determines the density profiles of selected species by repeated calls to inms_deconvolve
inms_plot_density_profile Plots density profiles produced by inms_make_profiles.

++++Version 050713
   Maintenance Release
 Changed Routines:
   sprl_cvt_jdate_odate Correct problem in computing day-of-year in years following a leap year, 
when the day-o-year is greater than 179
++++Version 050623
   Support for HKG files added and compatibility with L1A files as delivered to the PDS

Changed Routines:
   inms_build_locator  changed method of obtaining field names
   inms_compute_mean_density  corrected prolog
   inms_create_l1A_template  added provision for variables of type PDS time
   inms_deconvolve  changed critical frequency and added control of status message production
   inms_get_data added support for HKG
allow time ranges to cross day and year boundaries
  inms_get_spectra support for high resolution (0.125 AMU) mass scans
  inms_grid_spectra code to remove outliers, delete background correction
  inms_l1A_labels support for HKG files
  inms_parse_l1a_name now a wrapper for a general file name parser
  inms_parse_time fix length of loop counter
  inms_validate_time fix length of loop counter
  inms_read_cal     supports PDS compliant calibration summaries
  inms_read_fmt_file support for HKG
  inms_read_label  support for HKG
  inms_plot_series no longer requires a continuous data plot to plot discrete values. 
 Recycles colors when a multi-valued discrete has more states than there are defined colors 
  inms_plot* adjusted fonts and made keywords more consistent
  inms_prepare_plot fixed problem that resulted in exceeded x window resource
availability when creating PNGs. Adjusted fonts
  sprl_cvt_jdate_odate fix and off-by-one error
  sprl_error_plot fix floating point exception when plotting logarithmically

New Routines:
  support for HKG files
inms_file_fmt returns format structure for specified file type
inms_hkg_labels returns axis labels for housekeeping data
inms_plot_hkg plots housekeeping data
inms_validate_hkg validates housekeeping data structure
inms_parse_file_name parses any INMS data file name

   support for plotting
inms_neat_ticks  determines location of time tick marks
inms_label_ticks formats time tick mark labels
inms_set_charsize sets size for characters considering the !p.charsize scaling

   miscellaneous 
inms_plot_compare plots time signal time histories from L1A and spectra data
sprl_cvt_jdate_mdy converts a julian date to month, day and year
sprl_cvt_jtime_tod converts a fractional day to hours, minutes and seconds.