********** this announcement will come out soon **************** VERSION 3.0 OF SPHEREPACK CREATED TO ELIMINATE ARGUMENT TYPE CONFLICTS. The web site (http://www.scd.ucar.edu/css/software/spherepack ) includes a description and instructions for downloading the SPHEREPACK software and NCAR tech note. A new version 3.0 of spherepack has been created to correct a problem with unsaved real, double precision, and integer work space passage. The changes made will require users to modify their calls to some spherepack routines. These modifications are critical, but very simple, and will be specified below. In several user called subroutines of version 2.0, a real work space argument is passed to lower level subroutines where it is used as a double precision work space. In several of the graphics routines, a real work space is used as type integer. Such type conflicts are nonstandard Fortran and can cause run-time failure on some systems (e.g. SGI Power Challenge). To correct the type conflicts, it was necessary to modify the argument lists in version 3.0 in three ways which are described in Categories A,B,C below. None of the routine names have changed. The affected subroutines are listed under each category along with an example of how to call them. CATEGORY A ARGUMENT CHANGES: ---------------------------- These are user called subroutines for which a double precision unsaved work space "dwork" of length "ldwork" replaces a real unsaved work space "work" of length "lwork". The affected user called subroutines are: shaeci,shseci (in files shaec.f,shsec.f respectively) shagci,shsgci (in files shagc.f,shsgc.f respectively) vhaeci,vhseci (in files vhaec.f,vhsec.f respectively) vhagci,vhsgci (in files vhagc.f,vhsgc.f respectively) vtseci,vtsgci (in files vtsec.f,vtsgc.f respectively) gaqd (in file gaqd.f) shigc (in file shigc.f) Example A: In Version 2.0 CALL VHAGCI(NLAT,NLON,WVHAGC,LVHAGC,WORK,LWORK,IERROR) where LWORK is at least 4*NLAT*(NLAT+1)+2 is replaced by CALL VHAGCI(NLAT,NLON,WVHAGC,LVHAGC,DWORK,LDWORK,IERROR) in version 3.0 of spherepack. The unsaved double precision work space DWORK has length LDWORK which is at least 2*NLAT*(NLAT+1)+1 (see documentation in file vhagc.f). The other arguments remain identical in the two versions of spherepack. CATEGORY B ARGUMENT CHANGES: ---------------------------- A double precision unsaved work space "DWORK" of length "LDWORK" is added to the argument list of the affected subroutines after the real unsaved work space "WORK" of length "LWORK." The value of "LWORK" remains unchanged. The affected subroutines are: shaesi,shsesi (in files shaes.f,shses.f) vhaesi,vhsesi (in files vhaes.f,vhses.f) vtsesi,vtsgsi (in files vtses.f,vtsgs.f) shigs (in file shigs.f) helmsph (in file helmsph.f) trssph,trvsph (in files trssph.f,trvsph.f) testrssph,testrvsph (in files testrssph.f,testrvsph.f) tadvec (in file tadvec.f) Example B: In version 2.0 CALL VHSESI(NLAT,NLON,WVHAGC,LVHAGC,WORK,LWORK,IERROR) is replaced by CALL VHSESI(NLAT,NLON,WVHAGC,LVHAGC,WORK,LWORK,DWORK,LDWORK,IERROR) by adding the two new arguments DWORK and LDWORK in version 3.0. In this case, the length of the unsaved double precision work space DWORK in LDWORK must be at least 2*(NLAT+1) words long in the routine calling VHSESI (see documentation for VHSESI in file vhses.f). The minimum length of WORK in LWORK remains the same in versions 2.0 and 3.0 of spherepack. CATEGORY C ARGUMENT CHANGES: ---------------------------- The following graphics routines in spherepack had a type integer work space "IWORK" added to their arguement list after the real work space "WORK." visgeo (in file visgeo.f) visequ (in file visequ.f) visgau (in file visgau.f) vsurf (in file vsurf.f) Example C: In version 2.0 CALL SUBROUTINE VISGEO (M,IDP,JDP,X,Y,Z,H,EYER,EYELAT,EYELON, + WORK,IERROR) is replaced by CALL SUBROUTINE VISGEO (M,IDP,JDP,X,Y,Z,H,EYER,EYELAT,EYELON, + WORK,IWORK,IERROR) The required lengths for the real unsaved work space "WORK" and integer unsaved work space "IWORK" are described in the documentation which is in file visgeo.f. Binary Library Changes on SCD/NCAR Computers -------------------------------------------- Local library libsphere3.a has been created on these SCD/NCAR computers: winterpark (SGI Challenge), antero, aztec, chipeta, ouray, and paiute (Cray parallel vector). On July 20, the old library libsphere.a will be removed and users must cut over to libsphere3.a, with the changes to their SPHEREPACK subroutine calls specified above. You must also change your f77 or f90 invokations to use compiler flag -lsphere3 instead of -lsphere. === end ===