ChangeLog for ssclib ==================== Open SPRs: ---------- Nil Version 3.24 - 0000-00-00 (IMS/LUX) ---------------------- - Added subroutine tanRadiusToPixelsEllipse to wcs_aux with overloading to scalar and vector arguments. - Overloaded detection_stats.f90:pearsonsChi2 to take 3D array arguments. - Added hasWcsColumnsName, hasWcsColumns to wcs_aux. - Overloaded detection_stats.f90:chi2Prob, integratedChi2Prob and chi2Unlike to take either integer or real(single) degfree argument. - Added inverseIntChi2Prob to detection_stats. Version 3.23 - 2005-02-21 (IMS/LUX) ---------------------- - Added brentsMethod and powellsMethod to minimizations.f90. - Type of the 'equivalent' argument of wcs_aux.f90:checkImageEqivalence changed from logical(bool) to logical. This only seems to affect package edetect, which has been modified accordingly. - Added chi2Unlike to detection_stats. - Added optional intent(in) argument maxNumIterationsArg to minimizations.f90:simplexMinimization. Version 3.22 - 2004-11-29 (IMS/LUX) ---------------------- - dal_aux:readGtis now checks to see if the table is present before trying to open it. If not, it issues a warning and allocates the gti pointer vector to size 0. - The array-argument array_utils:median overloads failed if the optional mask argument was not present. This has now been corrected. - Added function findUniqueValues to array_utils. - Corrected an error in rebinners in which vectors of uncertainties were not being initialized. - Overloaded ssc_misc:orLists to int8, int16 and int32. - Overloaded sort_mod:quickSort to int8. - random_aux:getPoissonRandoms overloaded to take either 1D or 2D array arguments. - Fixed bug in math_utils:incompleteGammaQ and :incompleteGammaP in which the status return integer could in some circumstances be uninitialized. Version 3.21 - 2004-11-18 (IMS/LUX) ---------------------- - Overloaded detection_stats:pearsonsChi2 to take either 2D or 1D array arguments. - readGtis with several overloads introduced into dal_aux. The two subroutines readGtis and readGtisFromDss in dss_aux have been condensed into a single (overloaded) routine readGtisFromDss. - The changes to coordinate:raDecToTel and :tanToTel done in version 3.18 introduced errors, which have now been fixed. - Introduced a workaround in coordinate:cc1ToRawMasterCcd to avoid trouble associated with SOC SPR 2586. This should fix SSC SPR 3354 on esky2det. Version 3.20 - 2004-11-14 (IMS/LUX) ---------------------- - Now making sure that values of phi returned from coordinate:raDecToTel and :tanToTel are between 0 and 2*pi (fixes SPR 3427 on lccorr). Version 3.19 - 2004-11-10 (IMS/LUX) ---------------------- - Overloaded ssc_misc:isNaN also to single or double 2D array arguments. Version 3.18 - 2004-11-08 (IMS/LUX) ---------------------- - Added routines intBitMaskToBinaryStr, intBitMaskToHexStr, binaryStrToIntBitMask and hexStrToIntBitMask to ssc_misc. - Changed ssc_misc:isNaN function data type from logical(bool) to logical (doesn't seem to break anything) and overloaded it to single/double precision, scalar or vector arguments. - Modified the real-valued routines in sort_mod so that they test the input for NaN values before attempting to sort. These subroutines now return a non-zero (optional) status return if any NaNs are found. This should close SPR 3123. - Slight mods to some routines in coordinate, to remove duplicated code, also so that all chip<->sky routines now access the boresight information via coordinate:ims_getBoresightMatrix. - Fixed SPR 3423 (TELCOORD theta was not being converted to radians in coordinate:telToRaDec). - Some unnecessary pointer arrays changed to allocatables in module coordinate. Version 3.17 - 2004-10-28 (IMS/LUX) ---------------------- - Added RootFive, RootSeven and GoldenRatio to constants. - Added function chooseRandomNewColName (and so also 'use random_aux') to dal_aux. - Added subroutine writeColData to dal_aux. - Added optional argument integerNullValue to dal_aux:addOrOpenColumn. - Added double-precision overload to array_utils:median and array_utils:valueAtHistoFraction. - Mask argument to array_utils:median and array_utils:valueAtHistoFraction changed from logical(bool) to logical. - Changed name of detection_stats:chi2Prob to integratedChi2Prob, and added new chi2 probability-density routine which will now take the name of chi2Prob. - Added subroutine pearsonsChi2 to detection_stats. - Overloaded ssc_misc:swap function to 3 integer and 3 real types. - Fixed error in detection_stats:minDetPoissonCountsScalar in which total counts was used instead of the correct src counts. Version 3.16.1 - 2004-10-20 (IMS/LUX) ---------------------- - Fixed SPR 3410 by including selector in the USEDLIBS line of the makefile. Version 3.16 - 2004-09-06 (IMS/LUX) ---------------------- - Moved gtiVecType (was intervalVecType) structure definition from eimchip2sky:cube_aux to intervals_aux, and an integer 'gtiType' added to the definition. - Added 'set' type to overload of dal_aux:readArrayData. Version 3.15 - 2004-08-18 (IMS/LUX) ---------------------- - Changed data type of argument vigSamplesCube of exposure.f90:constructVignettingCube from real(double) to real(single). - save_image:saveImage routines now delete any DSS keywords. - wcs_aux.f90:readWcs now made more generic. - wcs_aux column access now reads/writes TMPTCROT keyword. - Introduced wcs as an optional argument to saveImage. Version 3.14 - 2004-08-13 (IMS/LUX) ---------------------- - Fixed bug in linear.f90:decomposeCholesky. - linear.f90:solveLinearEquations argument pivotPlease: changed type from logical(bool) to logical. Version 3.13 - 2004-07-27 (IMS/LUX) ---------------------- - Overloaded array_utils:getBinNumber to accept also real(double). - Overloaded wcs_aux:hasWcs to accept just the set name as an argument. These 'hasWcs' functions have also all been changed from logical(bool) to logical. - Rearranged the arguments of minimizations:simplexMinimization to a more orderly arrangement. Version 3.12 - 2004-06-25 (IMS/LUX) ---------------------- - Added double-precision overloading to array_utils:getBinNumber. - Changed wcs_aux:tanToPixels and pixelsToTan so they accept any wcs for which both CTYPE1 and CTYPE2 end in 'TAN'. - Added a warning if the user attempts to store a non-zero CROTA value to a column (dal doesn't yet allow this). - Made wcs_aux:checkWcsType a little more general. - Added sensyDegradnFromGaussSmooth to detection_stats. - Fixed SPR 3351 (doubled the size of the frame buffer). - Changed exposure:correctForGtiAndAlias so it takes an optional binPrecisionArg argument. Where this is not supplied, binPrecision is calculated from 2.5e-11 times the time of the 1st bin. Where the event times are not randomized (ie all present PN), bins are discarded which contain frame centre times within binPrecision of the bin edge. Version 3.11 - 2004-06-11 (IMS/LUX) ---------------------- - Removed pointless checks on CTYPE in wcs_aux:readWcs, convertOldToNew and convertNewToOld. - coordinate:calcTransformAndOffset now sets cal randomize=.false. during its processing (then restores the previous randomize setting). - In dss_bitmasks_aux:andBitMasksVecVecVec the pointer andedBitMasks was not being allocated under some conditions (SPR 3339). Fixed this. Version 3.10 - 2004-06-10 (IMS/LUX) ---------------------- - Added convertPhaToEeV to exposure. - Fixed the problem in dss_ranges_aux:rangeToStr where the lower limit was 0.1. This has been changed to -99999. (spr 3281) - exposure:getQe and constructQeArray now take optional rawX and rawY arguments (so as to fix SPR 3297 and allow lccorr to fix SPR 3306). - Added readGtisFromDss to dss_aux. - Added optional argument isNewAtt to coordinate:detToTan and telToTan. This won't break anything which calls these routines. - Created new module 'regridders' to take much of the non-generic stuff in polygon. - Old routine polygon:regrid renamed to regridders:regridCartesian. - dss_ranges_aux, dss_aux, dump_dss: calls to dumpRanges and dumpBounds changed a little (optional integer argument supplied instead of a complicated string expression). This seems to be another compiler problem - seg faults at point of call of a subroutine. - dsslib routine dssFilterName replaces dssFilterComps in dss_bitmask_aux.f90:getBitMasksDssComp (fixes SPR 3313). - Removed nearly all instances of declarations of variables to the size of an argument, since these occasionally seem to cause seg faults (see eg SPR 3301). I've left them in only when 'variable' is the name of a vector function. - Rearranged the argument order in exposure:getVigMap. - Changed '>' to '<' in some routines of dss_ranges_aux in order to fix SPR 3317. - Changed a sign in routine getPsfImagePixelCorners of coordinate.f90 to fix SPR 3201. - Added routines regridCartesianToPolar and regridPolarToCartesian to regridders. - In module polygon, changed structure name curvedSideType to CurvedSideT to adhere to sas formalism; also added structure PolycurveVectorT. - Added regridScalarDouble to overloading of regridders:regridCartesian. - Added interpolateVigMap to module exposure. - exposure:constructPsfCubeTelcoord amended (error replaced by warning) so as to fix SPR 3309. Version 3.9 - 2004-04-19 (IMS/LUX) ---------------------- - Most of the routines in coordinate have been changed rather extensively in an effort to rationalize them. - Work-arounds have been put in place until SOC SPR 2518 is fixed. - The 'getInstrumentAttitude' and 'getScAttitude' routines have been moved from cal_aux to coordinate. - Module source_cutouts has been adjusted to accord with the above changes. - 'use coordinate' was removed from exposure.f90 because it appears to be obsolete. - Modified the dss_ranges_aux.f90:dumpRanges call a little so as to have better indenting. - Added dss_ranges_aux.f90:dumpBounds. - wcs_aux.f90:convertNewToOld made public. - Temporarily stopped wcs_aux from trying to write TCROT keyword to columns. See SOC SPR 2523. - Changed presized local arrays to allocatable in wcs_aux.f90:tanToPixelsVector in order to work around what seems to be a compiler bug. See SPR 3301 on lccorr. Version 3.8 - 2004-04-16 (IMS/LUX) ---------------------- - Deleted 'use datafilter' from exposure.f90, 'selector' from the src/Makefile USEDLIBS and selectlib from DEPEND. No routine in exposure uses any selectlib functions. This surplus 'use' seems to have been giving problems in the compilation of other tasks which 'use exposure'. - Added routine getRandomOrder to random_aux. - Modified dal_aux.f90:splitSetTabName to better cope with the situation in which the user wants to write rather than read a dataset table. - Deleted some obsolete backed-up code. - Changed detection_stats to fix SPR 3290. - Added a boolean mask as an optional argument to array_utils:median. - Added int16, int32 and double overloading to array_utils:selectArraySubset. Version 3.7 - 2004-03-25 (IMS/LUX) ---------------------- - Copy of patches to devtrack. Version 3.6.8 - 2004-03-04 (IMS SSC/LUX) ------------- - Some changes and bug fixes to accommodate fixes in lccorr-2.2.4. Version 3.6.7 - 2004-01-30 (IMS SSC/LUX) ------------- - Uploaded now before lccorr is fixed so as to be consistent with region-7.1.5 upload. - Documentation more or less complete to the end of module intervals. - New routines added to module dss_aux to accommodate necessary changes in lccorr. - Relevant dss_aux routines moved to new module boxchains. - Relevant exposure routines moved to new lccorr module exposure_map. - Writing of new-style wcs keywords turned off in module wcs_aux. Version 3.6.6 - 2004-01-30 (IMS SSC/LUX) ------------- - Changes in wcs_aux and save_image to fix SPR 3227. Version 3.6.5 - 2004-01-29 (IMS SSC/LUX) ------------- - Fix of SPR 3237 on lccorr required changes to interface of exposure.f90:calcCcdExpMap. - Modules dump and ellipse documented. Version 3.6.4 - 2004-01-16 (IMS SSC/LUX) ------------- - Fixed bug in coordinate.f90:calcTransformAndOffset (fixes SPR 3216). - Rearranged argument lists for overloaded coordinate.f90:instToRaw (fixes SPR 3217). - Fixed SPR 3209. Version 3.6.3 - 2004-01-14 (IMS SSC/LUX) ------------- - Fixed SPR 3208 (corrected bug in ellipse.f90:ellipsePhaseToAngle). - Fixed SPR 3207 (submitted on region, but it was in fact a bug in source_cutouts.f90:getSourceCutoutsFewArgs). Version 3.6.2 - 2003-12-18 (IMS SSC/LUX) ------------- - Modified valueAtHistoFractionVector and valueAtHistoFractionArray in array_utils to fix SPR 3187. - Added psfToDet to coordinate in order to fix a problem with lccorr (SPR 3189). - Modified getPsfImagePixelCorners (plus a couple of other minor bug fixes) in coordinate for the same reason. Version 3.6.1 - 2003-12-12 (IMS SSC/LUX) ------------- - Fixed bug in coordinate:getPsfImagePixelCorners (SPR 3171). - Fixed bug in detection_stats:minDetPoissonCounts (SPR 3172). Version 3.6 - 2003-12-11 (IMS SSC/LUX) ------------- - andIntervals removed from dss_aux - it already exists in intervals_aux! - The routines in intervals_aux converted from functions to subroutines. exposure modified to be consistent with this. - bilinearSample, bilinearValue moved from math_utils to a new module interpolate. - interpolateInPolarCoord added to interpolate. - calcAitoff moved from math_utils to coordinate. Version 3.5 - 2003-12-10 (IMS SSC/LUX) ------------- - Introduced a check on -ve args in loadXYindices of coordinate. - Added andIntervals to dss_aux. Version 3.4 - 2003-12-08 (IMS SSC/LUX) ------------- - Module dss_aux documented. - Added a task dssremove. - Added checkImageEquivalence and readWcsColumns to wcs_aux. - Added calcChi2HalfDegFree to detection_stats. - Added tanToPsf and psfToTan to coordinate. - Added some extra overloading to integrateRanges in dss_aux. - Increased the generality of findConfusedSets in confused (won't break any interfaces). - Fixed a bug in getRealKwd, getIntKwd in dal_aux (was using column/array data type variable definitions for attribute data-type check). - Modified incompleteGammaP and incompleteGammaQ in math_utils so as to cope better with zero arguments. - Added lnIncompleteGammaP and lnIncompleteGammaQ to math_utils. - Modified maxNonNullValueSingle, readColToFixedColReal32 in dal_aux to deal with 1- or 2-dimensional columns. - Amended dumpWcs in wcs_aux. Version 3.3 - 2003-11-21 (IMS SSC/LUX) ------------- - Added a new module minimizations.f90 which will take routines such as hybridNewtonsMethod and riddersMethod, formerly in math_utils.f90. - Added a new subroutine simplexMinimization to this module. - Slight changes to minLoc1d and maxLoc1d in array_utils. - Changed incorrect TAN---RA and TAN--DEC to correct form RA---TAN, DEC--TAN. - Fixed bug in wcs_aux:readWcsSourceList. - Rearrangement in dss_aux. - Some work on documentation. - Removed some old code. Version 3.2 - 2003-11-21 (IMS SSC/LUX) ------------- - Included a task dssdump. - Included param on the USEDLIBS line in src/makefile to cater for this task. I note that ssclib already depended on param, which it should not have before. - Documentation complete for module detection_stats. - Restored the module parse_list_mod (this was causing test problems). - Slight modifications to module detection_stats. - Fixed test/testsort.f90. Version 3.1 - 2003-11-21 (IMS SSC/LUX) ------------- - Removed ssclib from the DEPEND(!) - Removed old code and unnecessary files. - Updated cal, sas and saslib entries in DEPEND. Version 3.0 - 2003-11-20 (IMS SSC/LUX) ------------- - Massive distillation into ssclib of stuff that was in separate tasks before. - All logical arguments and function values changed to boolean (because overloading with a logical and a logical(boolean) assumes, unsafely, that the two kinds will always be different) Version 2.5 - 2002-08-12 (IMS/LUX) ------------- - Now depends on sas. Version 2.4.1 - 05 Jun 2002 (IMS/LUX) ------------- - Fixed SPR 2868 (on rgssources). It was a 'status' in coordinate_mod that was not initialised. Version 2.4 - 08 Mar 2002 (IMS/LUX) ------------- - Functionally this is exactly the same as 2.3.9, it is just uploaded as 2.4 so that dependencies of other tasks can be updated. Version 2.3.9 - 07 Mar 2002 (IMS/LUX) ------------- - (Sigh) yet another bug, that showed up on Dean's build, but not on mine! Version 2.3.8 - 07 Mar 2002 (IMS/LUX) ------------- - Changes to my_psf_mod and coordinate_mod as more bugs, this time affecting the interface with rgssources, are dicovered. These concern replacing rates with fluxes in some of the getPsfEllipseAxes() interfaces, and changing the type srcEnvelopeType. Version 2.3.7 - 07 Mar 2002 (IMS/LUX) ------------- - o22 at MPE didn't like select case(<int16 var>), case(<integer value>), so I changed the select case to 'select case(int(<int16 var>))'. Version 2.3.6 - 06 Mar 2002 (IMS/LUX) ------------- - A few more subtle bugs found and fixed in my_psf_mod and mathutils_mod. Version 2.3.5 - 05 Mar 2002 (IMS/LUX) ------------- - Slight change to my_psf_mod:getPsfEllipseAxes_kernel - variable 'status' was not initialized under all circumstances. - Fixed a problem in mathutils_mod:mergeStatuses - changed an incorrect iand() to a simple addition. Version 2.3.4 - 04 Mar 2002 (IMS/LUX) ------------- - Added hybridNewtonsMethod (which implements a more robust Newton's method) to mathutils_mod and adapted routines in my_psf_mod to make use of it. Version 2.3.3 - 25 Feb 2002 (IMS/LUX) ------------- - Added some explanatory comments and did some rearrangements to the function getInstrumentAttitude() in coordinate_mod. Version 2.3.2 - 15 Feb 2002 (IMS/LUX) ------------- - Added some noisy messages to help debugging. Version 2.3.1 - 11 Feb 2002 (IMS/LUX) ------------- - Added caloalutils, oal, taskmain and utils to DEPEND and removed param. - Added oal to USEDLIBS line in src/Makefile. - Changes to coordinate_mod, mathutils_mod and my_psf_mod to correct mistakes (SPR 2744 on region). Version 2.3 - 23 Jan 2002 (IMS/LUX) ------------- - Slight changes to subroutine calcEllipse in mathutils_mod. - Added function pointInEllipse to mathutils_mod. Version 2.2 - 18 Jan 2002 (IMS/LUX) ------------- - Added cal dependency now required by coordinate_mod. Version 2.1 - 17 Jan 2002 (IMS/LUX) ------------- - Added my_psf_mod, coordinate_mod and confusion_mod (not yet documented). Version 2.0 - 17 Nov 2001 (IMS/LUX) ------------- - Version upgrade as per GV request. Some as-yet-undocumented modules added. Version 1.6.2 - 2001-09-01 (GV/SOC) ------------- + param version should have been 1.62. Version 1.6.1 - 2001-08-24 (DH) ------------- + Add dependency on the param packages. Closes SSC-SPR-2541 Version 1.6 - 2001-07-20 (IMS) ------------- + Added a bit more doco for sort_mod; + Expanded and modernized constants. Version 1.5.1 - 2000-10-31 (DH) ------------- + Add info file. Version 1.5 - 2000-10-10 (GV/SOC) ----------- + re-uploaded for v5. Version 1.4.1 - 2000-06-20 (DH) ------------- + Modify quick sort such that it will work with arrays whose range does not start at 1. Closes SPR 1383. Version 1.4 - 05-01-00 (DH) ----------- + Remove param from USEDLIBS in test/Makefile . Version 1.3 - 30-11-99 (DH) ----------- + Change documentation version number. Add DISTRIBUTION file. Version 1.2 - 17-11-98 (DH) ----------- + More changes to make makedepend happy. Version 1.1 - 17-11-98 (DH) ----------- + Delete spurious files which were causing problems for the new makedepend. Version 1.0 - 29-6-98 (DH) ----------- + Just a change to the version number. Version 0.1 - 19-6-98 (DH) ----------- + Initial version, not deemed complete.