IDL Command: vso prep

From RHESSI Wiki

Jump to: navigation, search

Contents

Purpose

vso_prep is an IDL routine that can be used to remotely pre-process solar data from within an SSW enabled IDL session. The user does not have to have all the instrument software packages or calibration data installed.

Requirements

Description

vso_prep, file, outfile=outfile, instrument=instrument, oprep=oprep, image_no=image_no, status=status, err=err, _extra=extra

Either file or instrument must be specified, all other parameters are optional. See table below for keyword details.

Keyword Description Example
file This is either an HTTP link or a local file path to a data file that needs pre-processing. It can be empty for some instruments (such as RHESSI). file='http://stereo-ssc.nascom.nasa.gov/data/ins_data/secchi/L0/b/img/euvi/20070420/20070420_235900_n4euB.fts', file='/home/user1/20070420_235900_n4euB.fts'
outfile This is an optional file name for the pre-processed file. If left empty, vso_prep will assign it a default name (prepped_ + infile). outfile='my_prepped_data.fits'
instrument This parameter specifies the instrument type. It can be left empty and the system will try to find out the type by analyzing the data's FITS header. instrument='rhessi', or 'xrt', 'eit', 'euvi', 'trace', 'eis'
oprep After successful pre-processing, this variable will contain a reference to the pre-processed data in form of an IDL object. This object can be displayed directly with plotman.
oprep->plot, oprep->plotman
image_no This parameter is only used for TRACE pre-processing requests where it is necessary to specify the index (or indices) within a TRACE data archive. image_no=0, image_no=[1,2,5]
status Is set to 1 for success and 0 for failure. N/A
err This parameter will contain error messages after an error occurred. N/A
_extra This is an IDL variable that absorbs all parameters not specified in the keyword list of vso_prep and passes them on to future routine calls. N/A

Troubleshooting

If the pre-processing fails, it is advisable to use vso_debug to receive more information on the error.

java.lang.OutOfMemoryError: Java heap space

This error occurs when Java takes up too much memory in your IDL session. To resolve this check the following:

1. The current IDL session's heap contains unreferenced objects. Removing those objects by calling the IDL command heap_gc will free up space. 2. The allowed heap size for Java is too small. The maximum amount can be increased by opening the IDL-Java Bridge configuration file at <IDL_DIR>resource/bridges/import/java/.idljavabrc (on Windows systems there is no leading "." in the file name) and then by adding the following two lines to the section labeled JVM start options:

JVM Option1 -Xms32m
JVM Option2 -Xmx128m

This will set the minimum heap space to 32MB, and the maximum to 128MB.

VSO_PREP: IDL-Java bridge failed to initialize: No valid JVM shared library

This error means that the IDL-Java Bridge could not determine what Java Virtual Machine should be used. Check the following:

  1. Sun (or since recently Oracle) Java is not installed or the wrong Java version has been selected. This can be checked by opening a console window and then by executing java -version. If this command is unknown then install Sun Java from here or follow the installation guidelines for your system (e.g. if you have Ubuntu Linux, see here). If the command returns text, check and make sure it says something like Sun Java version 1.5 (or 1.6) or Oracle Java version 1.5 (or 1.6). Should this not be the case, install the proper Sun Java version (see above). On Linux systems, Sun Java may be installed but not active. See here for more information.
  2. There is a variable that points to the Java Virtual Machine (JVM) library. Set this variable manually to make sure it points to an active and valid JVM:
    SETENV IDLJAVAB_LIB_LOCATION xyz
    (on Linux, the command line tool locate may help finding the library libjvm.so), or use the SSW IDL routine locate_java to find an set this library.

vso_prep fails repeatedly on Linux in IDL 7.0+ with or without the mention of libstdc++.so.5

It seems as if IDL was linked to an older standard C++ library on Linux. On more modern Linux versions, you may only find standard C++ library in version 6 (or higher). To install version 5, follow the instructions below for Ubuntu Linux (taken from here):

# Add the "old" source repository to the package manager's search path (careful: two commands)
# Remove underscore(s) from command(s) and file path
_nano /_etc/apt/sources.list
 
# Add this to the end of the sources.list file (if it is not already in this file)
deb http://ubuntu.cs.utah.edu/ubuntu jaunty main universe
 
# Update your source list
# Remove underscore(s) from command(s)
_sudo apt-get update
 
# Install libstdc++5
# Remove underscore(s) from command(s)
_sudo apt-get install libstdc++5

vso_prep fails repeatedly on Linux in IDL 6.4

At the time when IDL 6.4 came out, the IDL-Java Bridge (and other components in IDL) were compiled with the library libtermcap. On newer Linux systems, this library is not available anymore and needs to be added manually. Please follow the instructions below for Ubuntu Linux (taken from here):

# CDir into a temporary folder
# Remove underscore(s) from command(s)
_cd /tmp
 
# Get the dependency files and data
# Remove underscore(s) from command(s)
_wget http://old-releases.ubuntu.com/ubuntu/pool/universe/l/ld.so/ldso_1.9.11-15_i386.deb
_wget http://old-releases.ubuntu.com/ubuntu/pool/universe/libc/libc/libc5_5.4.46-15_i386.deb
_wget http://old-releases.ubuntu.com/ubuntu/pool/universe/t/termcap-compat/termcap-compat_1.2.3_i386.deb
 
# Install the packages
# Remove underscore(s) from command(s)
_sudo dpkg -i ldso_1.9.11-15_i386.deb
_sudo dpkg -i libc5_5.4.46-15_i386.deb
_sudo dpkg -i termcap-compat_1.2.3_i386.deb

Examples

The following example shows how to search with vso_files for the level-0 EIT image which is closest to April, 21 2002 01:15 UT and then how to send the pre-processing request to the remote server with vso_prep. The pre-processed EIT image will be saves and named eit.fits and then displayed with plotman.

file=vso_files('21-apr-2002 01:15', inst='eit')
vso_prep, file, oprep=o, out='eit.fits'
o->plotman
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox