LAS 7.4 Release Notes 1.0 Summary: LAS * Added support for entering file names in either the TAE format (i.e. the VAX directory naming style) or the standard unix path names. This includes being case sensitive on file names. Eventually, the old TAE/VAX format will no longer be supported. * Made various improvements to ingest routines. * Added the l7hdf2las ingest routine for ingesting Landsat-7 HDF images. * Added support for the Integerized Sinusoidal (ISIN)projection to handle MODIS data. * Improved support for the Linux platform. o Binary data files written by LAS are now entirely written in big endian format to allow easy sharing of files between platforms. This includes but is not limited to image files and their associated DDR files. If you were using LAS on an i386 platform previously, images created with that version will not be compatible with LAS 7.4 or future versions. The work around to this is to create a DDR print file using the dspddr application from the previous version of LAS, then use the new ascii2ddr application to create a compatible binary DDR. Uncompressed byte image files should be directly usable with the new version of LAS once the DDR has been converted. I*2, I*4, and REAL images have no easy transition path. Some clever use of the unix dd utility may help with that situation. Another option is to convert your local copy to treat little endian byte ordering as the normal case by editing the lasendian.h file and rebuilding. o Files larger than 2 GB are supported on the 2.4 version of the Linux kernel. o We have not extensively tested on the Linux platform yet, but casual use has not revealed issues. o We have only used Linux on the i386 family of processors. If you have Linux on a different platform, we are interested in hearing about your experiences installing and running it. * LAS has been built on the following platforms: o SGI IRIX 6.5 using the SGI MIPSpro C and Fortran Compilers: Version 7.3.1.2m o Sun Solaris 2.7 on a Sparc processor using gcc and g77, version 2.95.2 o Various Redhat, Mandrake, and SuSE Linux distributions with gcc 2.95 and 2.96 RH compilers (a mixture of what we have installed on developer machines, our local beowulf cluster, and developer's home machines). Both the 2.2 and 2.4 kernel series have been used. * Made further updates to the installation and build procedures to make it easier to build. * Various enhancements and bug fixes. ADAPS * Modifications were made to accomodate the processing of NOAA-16 data. The most significant changes were required in calibration, atmospheric correction, and Level-1b product generation. * An X-Windows GUI to monitor critical ADAPS processes, systems and data files has been written. This monitor will alarm if predefined criteria is not met, thereby signaling a problem to operations personnel. * Multiple modifications were made to INGEST to make it smarter when encountering blocks of unstable data. * ARCHIVE was written to manage all archiving activities, modifications were made to other tape routines as appropriate. * PUSHNOA has been written to FTP images to NOAA instead of making archive tapes. ADAPSMENUS and ADAPSTOP have been modified also to accomplish this functionality. * GETCALTYPE was written to return the appropriate calibration technique for a given AVHRR scene. * REANGLE has been written to generate the three 'angles' bands given a US composite date band and the associated date log file. Required libraries: HDF version 4.1r3 is needed to build the l7hdf2las and spothdf2las applications. Other versions may work, but only HDF version 4.1r3 has been tested. This library is available from http://hdf.ncsa.uiuc.edu/ 2.0 Bug Fixes: LASBASE arc2las: arc2las has been modified to calculate the minimum and maximum pixel values in the image instead of depending on the Arc grid to have the correct value since Arc does not always fill in the correct value. Support for datums has been greatly expanded and simple spheroids are also handled properly. Improved support for multiple band grids. copy: copy has been restructured to allow it to be called directly from compiled code or a PDF. edipsin: edipsin now sets the ellipsoid to the International 1909 ellipsoid. editstat: Fixed a bug in editstat to do string comparisons using the correct case. fstfmtin: Enabled fstfmtin to ingest Fast Format A data from foreign receiving stations when the projection parameters are not correct. Also improved user friendliness when CD's are mounted and the file names are known. isoclass: Fixed a core dump when the PRINTIT parameter was set to zero. las2arc: las2arc has much improved support for datums. Added checks to not allow the user to specify Arc grid names with more than nine characters or upper case characters in the file name since Arc does not support them. Added a check to not allow rotated images to be converted into Arc grids since Arc cannot handle them. Improved precision of corner points for the geographic projection. Improved support for creating multiple band grids. ltwgin: ltwgin has improved support for multiple volume SPOT tapes, and tapes in general. ndfin: ndfin has been improved to properly read band interleaved by line (BIL) tapes. The incorrect projection parameters from NLAPS for the UTM projection are now masked out. Made a modification to allow just a DEM to be ingested from an NDF product. Made improvements to allow CD's with upper case file names to be supported. pixcount: Fixed a bug that resulted in incorrect results when more than one band was processed for the accumulative total. Also fixed a core dump that could happen with I*2 data. pixstat: Fixed a core dump that could happen when a window was applied. Added a check to prevent a core dump if the minimum pixel values reported in the DDR are incorrect. Fixed a bug that sometimes resulted in the minimum statistics being reported incorrectly. polyfit: Changed the default for the pdegree (polynomial degree) parameter to be one to prevent unintended warping of the image. projprm: Fixed incorrect handling of the datum parameter for the equirectangular project. Also corrected the semi-major and semi-minor axis values reported for projections that only support a sphere. resample: Disabled the write thread option in the resampler since it can cause buffering problems when disk I/O cannot keep up with the resampling threads. xid: xid has had several conditions were a core dump could occur eliminated. Integration with Netscape to display help pages has also been improved. LAS SUPPORTS GCTP: Fixed a calculation problem in the Oblique Mercator B projection where the results could be incorrect for some longitudes. c_getdatum: Fixed a memory leak. c_projstr2num: Fixed a memory leak. c_ptclos: Fixed a memory leak. c_ptid: Fixed a memory leak. c_tpopen: Fixed a memory leak. c_transinit: Fixed a case where an ellipsoid change might be missed. Improved error checking for projection parameters. set_corn_flag: Fixed an error that would result in corner points in degrees being misinterpretted as being within a half pixel when they were not. tape I/O libraries: Made various improvements to improve back space and forward space operations on some drives. LASLOCAL picmatch: Fixed a bug that would terminate the process if the retry option was used. Also fixed a problem that could sometimes cause the incomplete generation of reference correlation chips. xalloc: Took over ownership of this application since the original project no longer needs it. xgettape: Took over ownership of this application since the original project no longer needs it. LASCONTRIB las2geotiff: Improved some of the tags generated in the GeoTiff file. TAE * Fixed a memory leak that would lose several hundred bytes for each child application that was started. * Fixed a core dump when help was displayed in a window wider than 132 characters. * The command scroll-back buffer now allows the user to get back to a blank line. ADAPSBASE acquman: The acquisition software on the vax now correctly calculates the julian day. adapsbench: Modifications to TESTUS have been made to call RESCALE appropriately. The benchmark results have now been rebuilt to reflect the modifications to NOAA-KLM calibration. ADAPSBENCH no longer generates water vapor images in the CREATE mode, but rather uses pre-existing images (thus making it's results consistent). adapsmonitor: Modify the adaps monitor to display the correct month on the main window. Removed hard-coded window sizes for main and modify windows. atmocor: Remove the temporary code that is checking for solar zenith angles greater than 80 degrees after the global composites have been rescaled. ATMOCOR has been modified to allow input image specification of "image1 + image2" for the AVHRR band input and angles images. ATMOCOR IN file name specification resolved. autoesa: AUTOESA TAE stacker problem resolved, also prototype ANSISTACK. avhrrcal: Added ability to calibrate NOAA-16 data using coefficients generated by Rao. ADAPS documentation has been modified to include AVHRRCAL and remove references to MAKENCAL and HRPTCAL. AVHRRCAL no longer aborts when the first line in an image is a drop line. Updated the NOAA-16 calibration files with newest prelaunch coefficients from NOAA. avhrrstack: The NOAA address for Level-1b tapes is now available. The software has been modified to put it on the tape label. Fix so that it prints a label with all of the scenes on the tape. calibration: Modified support routines to reprime on a sensor change. Also added code to confirm that a sensor change has occurred before repriming. These mods affect AVHRRCAL and MKLEVEL1B. cdacquire: CDACQUIRE now works properly when upper-case file names are present. getatm: GETATM now writes an output image with the same window as the input image DDR as opposed to the ADDR (AVHRR model). ingest: INGEST no longer adds a drop line when there are bit errors in the time stamp. INGEST no longer leaves trailing drop lines in a scene where the acquisition has valid lines near the end. Fix INGEST so that it no longer incorrectly latels scenes as LAC data instead of HRPT data. Correctly generates time stamps for drop lines in image. INGEST Would sometimes hang when encountering a large section of noisy data, will no longer do so. INGEST now uses the header to determine the data type of NOAA KLM satellite scenes from the NOAA ftp site. INGEST_DAEMON no longer exits with a fatal error when either findfiles or lockfil return with fatal errors. It now sleeps for 1 minute and continues. inhale: Fix INHALE on vaxh so that it will download DOMSAT scenes correctly. mklevel1b: MKLEVEL1B now correctly calculates the channel 4 calibration coefficients for NOAA-KLM satellites. MKLEVEL1B uses the model information from the input .ahdr file. If the .ahdr has pitch correction it will be applied properly. prodgen: The 'dlt_avhrr_stage.csh' script has been moved from $LASTOOLS to $ADAPSBASE for the sake of consistency. Modified the PRODGEN process to copy stitched half orbits to unitree instead of edcsgs7. The script 'daac_avhrr_stage.csh' (part of PRODGEN) was modified to allow full access to the Level-1b images prior to copying them to the silo for DAAC usage. rectify: Removed atmospheric correction code from RECTIFY, wasn't being used anyway. RECTIFY was modified so that it will no longer free unallocated memory. schedit: SCHEDIT now updates both the status flag and the operation code when an unscheduled, existing entry in the master schedule is later scheduled. SCHEDIT listing may now be obtained even when the user doesn't have write permission on the ADAPSTABLES/master.sch ADAPSLOCAL compatm: Added a new function to update the output DDR's with the projection information in the input DDR. listedit: LISTEDIT-FETCH no longer incorrectly returns duplicate scene identifiers. loadsilo: LOADSILO has been modified so that it will no longer try to stop the LOADSILO_DAEMON when it errors out before even initiating the daemon. Also, the LAS syntax errors in the LOADSILO and LOADSILO_DAEMON procedures have been fixed. mulli: MULLI (ILLUM backwards) now updates its output ddr to have the same projection information as the input image ddr. Fixed MULLIINFO so that the fields in the date log file do not have to be column dependant. ncepin: NCEPIN can now copy its files to the silo by using a host file name. noaaftp: NOAAFTP will now check the ADAPSTABLES/master.sch to ensure that a pending scene is still pending before downloading the scene. Modified so that it is able to download NOAA-12 scenes as well as NOAA-15 and NOAA-16 imagery. Modified to check for stop file while sleeping orbstitch: When ORBSTITCH encounters an error it now removes temporary metadata files before terminating. pushnoa: Modified PUSHNOA to not iteratively try to push a l1b image which hasn't been created. reatmo: REATMOINFO modified to read log files in a more robust manner. REATMO has been fixed so that if a working directory WORKDIR is specified other than the current working directoy, REATMO will still work properly. REATMO and the ADAPS benchmark have been modified so that NORMD calls specify a NORMLIM of 195 instead of 190 (for US compositing), and a NORMLIM value of 205 instead of 185 (for global compositing). This change was necessary because of the slightly higher NDVI values being generated when applying atmospheric correction with water vapor being considered. Modified the pdf adding a new INWATER parameter that, if specified, will be used as the input water vapor images instead of retrieving them from the water base directories. REATMO has been modified so that water vapor images of size 180 x 380 and 181 x 360 will be copied into a 180 x 360 multi-band image ( the 181 line represents data over the pole and is not significant). silo: SILO, GETWATER and NCEPIN: Modified to handle unitree file names in a more robust manner. CLEANUCFM, NCEPIN and PRODGEN have been modified to use uftp functions for all interaction with Unitree. SILO-WRITE no longer hangs if extra trailing "/'s" are added to the OUTDIR parameter. upnav: Ephemeris data software placed under configuration management. UPNAV now runs at approximately 9:30 every day and every four hours thereafter regardless of when it was started. ADAPSCONTRIB savefiles: SAVEFILES has been modified to successfully create new directories when it needs to. 3.0 New Features: LASBASE ascii2ddr: ascii2ddr is a new application to convert a print file created by dspddr into an image DDR. cib2las: cib2las is a new application to ingest Controlled Image Base (CIB) images into the LAS format. diffddr: diffddr is a new application that performs a diff on image DDR's and reports differences between them. doq2geotiff: doq2geotiff is a new application to convert DOQ files to GeoTiff files in a single step to the user. Internally it converts the DOQ to a LAS image then the LAS image to a GeoTiff file. doq2las: Improved support for datums in doq2las and allow the user to select between the two datums that are in the DOQ header. geotiffin: Added support for additional datums and projections to geotiffin. Note there is still a very large set of datums not supported due to holes in the GeoTIFF format specification. Allow band 6L and 6H for Landsat-7 data to be specified as 61 and 62 respectively. Improved the calculation for the pixel size for rotated images. l7hdf2las: l7hdf2las is a new application for ingesting Landsat-7 HDF images. ls2pc: ls2pc can now create a tiepoint selection file (.tps) in addition to the ticmark (.tic) file. tojulian: tojulian is a new application to convert a gregorian date to a julian date. wavemerge: wavemerge is a new application to merge high resolution data into a lower resolution RGB image using wavelets. This is useful if you want to do something like merge 30 meter Landsat data with 10 meter SPOT data. xid: xid has undergone many improvements: o Added the option to save a thumbnail Tiff image of the current display o Accept the the image to display from the command line o Improved histogram functionality o Improved support for Linux and byte-swapped displays LAS SUPPORTS GCTP: Added the Integerized Sinusoidal (ISIN) projection and MODIS sphere to support MODIS data. Note: This projection should only be used when dealing with MODIS data. imageio and labserv: Updates to support big endian and little endian byte order. c_check_window: New routine to perform the same function as c_chkwnd but accept a DDR structure instead of a DDR file name. Modified c_chkwnd to call c_check_window. c_string2unit: Standardized function to convert a unit string representation to a unit number. Updated applications to use the routine. c_unit2string: Standardized function to convert a unit number to a string representation. Updated applications to use the routine. c_window_proj_to_ls: New routine to perform the same function as c_wndconv but accept a DDR structure instead of a DDR file name. Modified c_wndconv to call this. LASLOCAL catfile: Increased the number of input files supported from 10 to 100. exbrows: Increased the number of browse files supported from 400 to 1300. ndfcopy: Updated to allow for a 5 digit unit number. LASCONTRIB las2geotiff: Added support for specifying more than one input LAS image. las2tiff: Added support for specifying more than one LAS image. TAE * Modified the CTRL-C followed by an "abort" to send the running application a SIGTERM instead of a SIGKILL signal. This allows the running application to catch the signal and do any needed cleanup. If a second CTRL-C/abort cycle occurs for the same application, SIGKILL will be sent the second time. * Modified TAE to allow it to be installed in a directory with uppercase letters in the pathname. * Slightly improved the handling of the tab key. * Eliminated many TAE library routines that are not used by LAS/ADAPS to make TAE easier to maintain. * Modified the communication scheme between TAE and child applications to permanently eliminate a race condition by not depending on the maximum size of pipes on a system. The new scheme uses a call to select in TAE to wait for messages from the child application instead of using a signal. This works on all platforms tried so far, including the Linux 2.4 kernel. * Made it an error to have a valid value for a string parameter that is longer than the length of the string. * LAS/TAE can now be started in a directory where the user does not have write permission. * Use line buffering for the stdout log to prevent losing messages in a log file if an application core dumps. * Most of the source code files were modified to clean up the coding style to at least be readable. ADAPSBASE acqudocs, acquman, shoacqu: Work has been started on a new live acquisition system (Linux platform replacing a VAX VMS platform). This system includes a new software-implemented frame syncronizer. Work has not been completed pending funds to have the vendor upgrade the frame syncronizer to output HRPT video data. acquman: Acquisition software on VAX has been modified to acquire NOAA-16 data. adapsbench: The ADAPS benchmark has been modified to now include the testing of NOAA-16 data. Modified ADAPS benchmark to call DIFFDDR, thus making it checking more accurate. Modifications have been made to the benchmark so that it exercizes the generation of level-1b products. adapsmonitor: A GUI to monitor critical ADAPS processes, systems and data files has been written. This monitor will alarm if predefined criteria is not met, thereby signaling a problem to operations personnel. adapstop: Modify ADAPSTOP to read from a table rather hardcoding the modules it should operate on (make more robust). all daemons: All ADAPS daemons have been modified to periodically touch their log files for use with the ADAPSMONITOR. archive: ARCHIVE has been written to coordinate the ADAPS archiving activities (including a tape archive for NOAA). ARCHIVE_DAEMON has been written to call ARCHIVE iteratively. AUTONOAL1B has been written to stack scenes for NOAA. Stitching software also uses ARCHIVE to generate archive tapes. atmocor: Modifications were made to atmospheric correction software and the it's tables to process NOAA-16 data. avhrrcal: Calibration software and tables has been modified to accomodate NOAA-16 data. calibration: The prelaunch calibration coefficients for NOAA-16 have been updated in the table (in ADAPSTABLES - 'noaa16.cal'). getcaltype: GETCALTYPE written to return the appropriate calibration technique for a given AVHRR scene. ingest: The INGEST software and it's support routines have been modified to ingest NOAA-16 data. ingest tools: TSTAMP was modified to work with NOAA-16 data. nsidc: 'cleannsidc.csh' and cleannsidcfix.csh' have been written to help maintain the NSIDC file sharing. prodgen: The 'prodgen.table' (product generation) table has been modified to accomodate NOAA-16 data. satrack: SATRACK and its associated support routines have been modified to update ephemeris data for NOAA-16. xplot: The scheduling software has been modified to be able to schedule NOAA-16 data. ADAPS SUPPORTS level-1b: Level 1b support routines modified to accomodate NOAA-16 data. ADAPSLOCAL autogen: The software now generates a conflict report for NOAA-16 imagery. noaaftp: The software was modified so that NOAA-16 data can be downloaded from the NOAA server. pushnoa: PUSHNOA has been written to FTP images to NOAA instead of making archive tapes. ADAPSMENUS and ADAPSTOP have been modified also to accomplish this functionality. PUSHNOA has been modified to be able to change remote servers without a change in software. reangle: REANGLE has been written to generate the three 'angles' bands given a US composite date band and the associated date log file. upnav: UPNAV has been modified to process NOAA-16 ephemeris data. 4.0 Removed Applications ADAPS dbsetup: DBSETUP has been modified so that the 'select', fax, and microfiche coding has been removed. faxtrans, faxkey: These applications were obsolete, so they were removed. ------------------------------------------------------------------------