Skip to content. | Skip to navigation

Personal tools
You are here: GES DISC Home Additional Features Technology Lab S4PM 5.4.0 RELEASE NOTES


Release Date

November 23, 2004

Functional Changes

  1. CPAN Style Packaging - Building of S4PM using the CPAN style of packaging is now different in version 5.4.0. The new method for installing requires a separate installation for each automounted platform (IRIX, Solaris, and Linux).

    The new procedure is to log onto a box for each platform and perform the installation as follows:

    (1) cd /tools/share/DEV/SSDEsource/s4pm/s4p
    (2) perl Makefile.PL PREFIX=/tools/gdaac/ CC=gcc LD=gcc
    (3) make
    (4) make install
    (5) make clean

    The above steps are automated by running a script named: inst

    The machines for each platform are g0spp12 for Linux, g0ais01 for Solaris, and g0spg01 for IRIX.

  2. New Installed Code Location - The location of installed code has also changed to more closely follow community standards:

    (a) Perl scripts are now found in /tools/gdaac//bin
    (b) Configuration file (templates) are now found in /tools/gdaac//cfg
    (c) S4P modules are now found in /tools/gdaac//lib/site_perl/5.8.5/
    (d) S4PM modules are now found in /tools/gdaac//lib/site_perl/5.8.5/{IP35-irix,sun4-solaris,i686-linux}

  3. Modifications to .mycshrc - The .mycshrc file in the home directory of s4pmops, s4pmts1, and s4pmts2 have been modified to capture environment changes such as PATH.

  4. S4PM and Perl 5.8.5 - S4PM 5.4.0 has been tested with Perl 5.8.5 and depends on that version of Perl on all platforms.

Detailed File Changes

All Code

Several significant changes have been made to the underlying code that should be invisible to the user at runtime. Most of these have been driven by the Public Release of S4PM code.

All scripts using either or modules were modified fr the CPAN style of building. As part of this, references to packages needed to be modified. For example, 'use' statements were modified throughout as:

use S4PM::S4PM;
use S4P::S4P;

were changed to:

use S4PM;
use S4P;


use S4P::PDR;
my $pdr = PDR->new();

were changed to:

use S4P::PDR;
my $pdr = S4P::PDR->new();

Not affecting the code per se, but the baseline for S4PM and S4P were moved from daacdev2 to B0 automounted under /tools/share/DEV/SSDEsource/s4pm. All baselined configuration files were moved to /tools/share/DEV/SSDEsource/s4pm_config. The processes for maintaining the baseline, building, and installation were modified accordingly.

User Environment Changes

Several of the code changes require changes to the user environment for S4PM to continue working. These are:

  1. Changed PATH to include /tools/gdaac//bin, where the new Perl scripts are located Removed /tools/gdaac//bin/ (the old location) from PATH.
  2. Changed PERLLIB to include /tools/gdaac//site_perl/5.8.5/ and one of (depending on machine):
  • /tools/gdaac//site_perl/5.8.5/IP35-irix
  • /tools/gdaac//site_perl/5.8.5/sun4-solaris
  • /tools/gdaac//site_perl/5.8.5/i686-linux

Added DB_USER and DB_PWD environment variable settings for anonymous database login.

  • REMOVED. Replaced by

  • REMOVED. Replaced by


  • REMOVED. This third party Perl module has been removed and replaced by standard Perl glob(). Since Perl 5.6.1, the standard glob() function has been fixed and the KGlob is no longer required.

  • REMOVED. Replaced by

  • REMOVED. Replaced by

  • REMOVED. Replaced by


  • REMOVED. This C code was replaced by

Removed from the baseline as it is no longer used.

  • Changed 'run_pge' to 'run_algorithm' in the get_child_pid() function.

  • Added -d argument to set the name of the Allocate Disk database file rather than having it hardwired in the code.

  • New name for

  • Replaced the 'stat' function with 'lstat' as the latter works when the files are symlinks. The 'stat' was giving us a problem when data were polled from the Datapool and brought into S4PM as symlinks.


  • Fix so that the PH data type gets added to the s4pm_export.cfg file if $export_ph is set in the
    string-specific configuration file.
  • Modified command line for running to include the -d argument specifying the database file name.
  • Added in a section that builds the ACQParmfile.
  • Added handling of PGEs that use the script.

  • New name for

  • New name for

  • New script that does QC checking of GDAS_0ZF in the Register Data station. It only checks for valid file size.

  • Modified so that on insert to the Datapool, the file name used is what is contained in the XML file as the
    LocalGranuleID rather than the internal S4PM name.

  • Perl replacement for C is_hdf.

  • Minor changes to prolog and the messages output when QC checking fails.

  • New name for

  • Removed dependency on Date::Calc and replaced it with a TimeTools package equivalent.

  • Fix for problem whereby XML files weren't getting deleted by Sweep Data because they weren't getting renamed by when the data and .met files were being renamed.

  • Replaced truncation of log file with truncation of STDERR followed by rewind of STDERR and STDOUT. Changed exit status to 0 when not repeating. Changed first argument to S4P::perish() to 1 when system command fails.

  • This new script is designed to be a wrapper around data mining programs. (Further modifications are forthcoming in release 5.5.)


  • This C binary was replaced by a Perl interface to C routine, S4PM::rusage. The C code is built automatically from S4PM.xs as part of the CPAN-style installation.

  • New script that does QC checking of SEA_ICE in the Register Data station. It only checks for valid file size.


  • Got rid of code that creates a link to in the Register Data and Register Local Data stations since this script is no longer used.
  • Got rid of some code that partially built the ACQParmfile and moved it over to s4pm_derived.cfg instead.
  • Got rid of the setting of PERLLIB and PERL_LIB in the Run Algorithm station.cfg file. In the new environment, PERLLIB is already set.


  • Added %run_easy_pges hash to enable/disable PGEs using the new script.

  • The upgrade to Perl 5.8.5 introduced an exposure to a Perl memory allocation bug. The code was rewritten to attach string values to checkboxes instead of object references. The user should not notice any difference, though submission of requests will be slightly slower.

  • In previous releases, a bug on Sun machines caused an error message to be displayed when executing failure handler and manual override buttons, even when the action has been successful. This was due to handling of the SIG_CHLD signals, and has now been fixed by undefining the SIG_CHLD signal handler in S4P::exec_system() before executing system calls.
  • A second change to changes back to the directory where tkstat.cfg is found before executing system calls (though this turned out not to have the desired effect). Since the commands in tkstat.cfg do a cd first anyways, this should have little effect in S4PM installations on the B.0 network.


Document Actions
NASA Logo -
NASA Privacy Policy and Important Notices
Last updated: Dec 08, 2010 11:06 AM ET