diff --git a/.travis.yml b/.travis.yml index 8548b78300d5f8910eb543f52bd28c2aec0c6a3b..e8eccc717de0b49046e5146bf41bf72f7087cadf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,8 +10,6 @@ before_install: - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update ; brew outdated cmake || brew upgrade cmake ; fi - cmake --version -before_script: travis_wait - script: - git submodule init - git submodule update diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b7d77f15147f7ab49c6e1bfa92bb2d1d47f950f..3c58d48aa284679692a6fa3fcdb505f90f039502 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -790,7 +790,7 @@ set(CPACK_PACKAGE_VERSION_MAJOR "1") set(CPACK_PACKAGE_VERSION_MINOR "4") set(CPACK_PACKAGE_VERSION_PATCH "0") set(CPACK_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}) -set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/docs/README.txt") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/docs/Legal.txt") set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Aashish Chaudhary") #required set(CPACK_DESTINATION_PREFIX "UVCDAT") diff --git a/Changes.txt b/Changes.txt deleted file mode 100644 index bc7cd069ea1d1dc81e1c4db906c49c7c12dbea65..0000000000000000000000000000000000000000 --- a/Changes.txt +++ /dev/null @@ -1,3 +0,0 @@ -[updated_packages_versions]: Added distribute, added option to choose between ip and easy_install, added option to use cert for pip -[updated_packages_versions]: Upgraded Packages to latest version -1.3.1 diff --git a/TODO.txt b/TODO.txt deleted file mode 100644 index fb03af1f8163c10a0036bd331fead24a1c2f8506..0000000000000000000000000000000000000000 --- a/TODO.txt +++ /dev/null @@ -1,5 +0,0 @@ -- Fix ESMF build -- Verify individual packages -- Verify if we can build using system -- Consistent install and build directories -- Install headers and lib under their own package name diff --git a/docs/CCLRC_CDAT_License.txt b/docs/CCLRC_CDAT_License.txt deleted file mode 100644 index d757528626fbb9ff0fe786efc0917dd4abfd88ce..0000000000000000000000000000000000000000 --- a/docs/CCLRC_CDAT_License.txt +++ /dev/null @@ -1,67 +0,0 @@ -CCLRC Licence for CCLRC Software forming part of the - Climate Data Analysis Tools Package - -The Council for the Central Laboratory of the Research Councils (CCLRC) -grants any person who obtains a copy of this software (the Software), -free of charge, the non-exclusive, worldwide right to use, copy, modify, -distribute and sub-license the use of the Software on the terms and -conditions appearing below: - -1)The Software may be used only as part of the Climate Data Analysis -Tools Package, made available to users free of charge. - -2)The CCLRC copyright notice and any other notice placed by CCLRC on the -Software must be reproduced on every copy of the Software, and on every -Derived Work. A Derived Work means any modification of, or enhancement -or improvement to, any of the Software, and any software or other work -developed or derived from any of the Software. - -3)CCLRC gives no warranty and makes no representation in relation to -the Software. The Licensee and anyone to whom the Licensee makes the -Software or any Derived Work available, use the Software at their own -risk. - -4)All warranties, conditions, terms, undertakings and obligations on the -part of CCLRC, implied by statute, common law, custom, trade usage, -course of dealing or in any other way are excluded to the fullest extent -permitted by law. - -5)Subject to condition 6, CCLRC will not be liable for: - a)any loss of profits, loss of revenue, loss or corruption - of data, loss of contracts or opportunity, loss of savings or third - party claims (in each case whether direct or indirect); - b)any indirect loss or damage arising out of or in - connection with the Software; - c)any direct loss or damage arising out of, or in connection - with, the Software in each case, whether that loss arises as a result of - CCLRC's negligence, or in any other way, even if CCLRC has been - advised of the possibility of that loss arising, or if it was within - CCLRC's contemplation. - -6)None of these conditions limits or excludes CCLRC's liability for -death or personal injury caused by its negligence or for any fraud, or -for any sort of liability that, by law, cannot be limited or excluded. - -7)These conditions set out the entire agreement relating to the -Software. The licensee acknowledges that it has not relied on any -warranty, representation, statement, agreement or undertaking given by -CCLRC, and waives any claim in respect of any of the same. - -8)The rights granted above will cease immediately on any breach of these -conditions and the licensee will destroy all copies of the Software and -any Derived Work in its control or possession. Conditions 3, 4, 5, 6, 7, -8, 9 and 10 will survive termination and continue indefinitely. - -9)The licence and these conditions are governed by, and are to be -construed in accordance with, English law. The English Courts will have -exclusive jurisdiction to deal with any dispute which has arisen or may -arise out of or in connection with the Software, the rights granted and -these conditions, except that CCLRC may bring proceedings for an -injunction in any jurisdiction. - -10)If the whole or any part of these conditions are void or -unenforceable in any jurisdiction, the other provisions, and the rest of -the void or unenforceable provision, will continue in force in that -jurisdiction, and the validity and enforceability of that provision in -any other jurisdiction will not be affected. - diff --git a/docs/ChangeLog.txt b/docs/ChangeLog.txt deleted file mode 100644 index 5f7d4950563869a23e0924b758899defaa8f0a30..0000000000000000000000000000000000000000 --- a/docs/ChangeLog.txt +++ /dev/null @@ -1,20 +0,0 @@ -2011-06-22 : recap (probably forgot many things): - - grib2 support - - restAPI support - - GUI code moved to uv-cdat repo - - forecast support - - gridspec support -2010-06-17 : got Qt to build automatically, (or use the binaries) -2010-06-17 : got --enable-vistrails to work and build SIP and PyQt -2010-06-15 : got the right LDFLAGS going to compile Fortran extensions under mac -2010-04-08 : build system fetches sources, no more gz in repository! -2010-04-08 : preliminary merge with Qt branch. You should be able to build against Qt (which needs to be pre-installed independently for now) -2010-02-11 : added netcdf 4.1 -2010-02-02 : added correct link calls for icc under linux -2010-01-28 : fixed tiny-tiny leak in cdms2 and cdtime (setting dictionary item -w/o decref tmp pyobject for int/string) -2010-01-28 : latest netcdf4 daily from Ed, fixes a LOT of memory leaks. -2010-01-13 : change default cdms2 compress value to no shuffle/deflate 1/defalteLevel 1 -2010-01-13 : newer NetCDF4, daily snapshot that has better chunking parameter, etc.. -2010-01-13 : latest Scientific Python (SP) -2010-01-13 : got vtk to build in framework mode under Mac diff --git a/docs/Changes_3.3_to_4.0.sxc b/docs/Changes_3.3_to_4.0.sxc deleted file mode 100644 index e811c67769e89d740d242f887021e5ac6dfc5dac..0000000000000000000000000000000000000000 Binary files a/docs/Changes_3.3_to_4.0.sxc and /dev/null differ diff --git a/docs/Changes_3.3_to_4.csv b/docs/Changes_3.3_to_4.csv deleted file mode 100644 index 762b7014b1043ea05f3cb49a0d6ed8fd68d272fe..0000000000000000000000000000000000000000 --- a/docs/Changes_3.3_to_4.csv +++ /dev/null @@ -1,133 +0,0 @@ -"Impact";"Package";"Section";"Change" -1;"Cdms";"Axis";"Time dimension does not generate bounds automatically anymore – use cdms.setAutoBounds('on') -" -1;"Cdms";"Curvilinear grids";"CurveGrids can be supplied in the axis list." -1;"Cdms";"Curvilinear grids";"Added conversion routines: rect => curve => generic" -1;"Cdms";"Curvilinear grids";"MV works with curvilinear grids" -1;"Cdms";"Curvilinear grids";"Can read grids from scrip remap files" -1;"Cdms";"Curvilinear grids";"getMesh returns a transposed mesh grid if requested." -1;"Cdms";"Curvilinear grids";"On reading grids from files, check for cell convexity. Where that fails by default fix cells that straddle the 0 / 2pi boundary." -1;"Cdms";"Curvilinear grids";"Added routines to write grids to external files in scrip format" -1;"Cdms";"I/O";"Trapped seg faults on closed file objects." -1;"Cdms";;"Fixed memory leaks." -1;"Doc";"Tutorials";"New tutorials" -1;"Exsrc";"DODS";"Now builds by default under Linux, updated to Version 3.4" -1;"Vcdat";"DV";"A number reflecting selection/operation order appears next to selected variable" -1;"Vcdat";"DV";"Templates and Graphic Method Listbox available (on/off) in Variables and Calculator area" -1;"Vcdat";"Editors";"Template editor accessible from VCDAT (click and drag technology)" -1;"Vcdat";"Editors";"Graphic Method Editors updated, preview/reset option added" -1;"Vcdat";"General";"4 mode: 1-user defined layout; 2- Browse Variable; 3- Data Manipulation; 4- Graphics Display" -1;"Vcdat";"GUI";"Layout changed, now has mode for plot edititng, letting you copy/paste and edit existing template and method" -1;"Vcdat";"Plot";"Annotation pop-up available, with preview/reset/apply/cancel" -1;"Vcdat";"Plot";"Page Layout Table to control what is displayed on the VCS Canvas, can turn on/off plots with one click" -1;"Vcs";"Animations";" update to handle two or more on a page" -1;"Vcs";"Animations";"Can read from a file" -1;"Vcs";"Animations";"Can save to a file" -1;"Vcs";"Curvilinear grids";"Handled automatically" -1;"Vcs";"Projection";"Added gctp package to vcs, 28 new types of projection avalaible" -1;"Vcs";"Templates";"Template editor by clicking" -2;"Cdms";"I/O";"Added writeScripGrid, readScripGrid can read from a SCRIP mapping file" -2;"Cdms";"Libcdms";"Removed spurious calendar error" -2;"Cdms";"Time axis";"TransientAxis getCalendar returns DefaultCalendar if none specified. This is consistent with FileAxis.getCalendar()" -2;"Doc ";"Tutorials";"Data can now be anywhere on user's space" -2;"Genutil";"Arrayindexing";"New module, allows array indexing, e.g:C=genutil.arrayindexing.get(A,B)" -2;"Genutil";"Filters";"Added filters module, so far only “running averageâ€, 121 and custom" -2;"Genutil";"Statistics";"fixed a bug in linear regression when trend is 0, probability are not set to missing" -2;"Install";"All";"Updated external Packages to their latest versions, see README files" -2;"Install";"CDAT";"Mac OS X “offically†supported" -2;"Install";"Cdms";"Fix CDMS build for FreeBSD" -2;"Install";"Cdms";"Added --cdms-only option to express_install." -2;"Install";"Exsrc";"Now can build indiviudal package or exclude some" -2;"Install";"Exsrc";"--list option added" -2;"Install";"Exsrc";"--help option in install_script " -2;"Vcdat";"0D (numbers)";"if no dimensions are present, then show the single vaule in the Defined Variables window" -2;"Vcdat";"1D plot";"Overlay applies, use page layout for other types" -2;"Vcdat";"DV";"Different mode of variable selection single/multiple" -2;"Vcdat";"GUI";"Remove the 1-Plot, 2-Plot, 3-Plot, 4-Plot per page" -2;"Vcdat";"I/O";"Simple binary file reader added" -2;"Vcdat";"I/O";"Can read column arranged ascii files" -2;"Vcdat";"I/O";"Save netcdf now has browser to go between directories" -2;"Vcdat";"I/O";"Simple ascii file reader added" -2;"Vcdat";"Menu";"New interface to user menu, more robust and intuitive" -2;"Vcdat";"Scripting";"Added limited recordings of the functions (not available on beta)" -2;"Vcs";"Boxfill";"Now can specify levels just like in isofill" -2;"Vcs";"Isofill";"Now has legend otpion (i.e can specifiy where to put values)" -2;"Vcs";;"Linewidth option added where line are controlled" -2;"Vcs";;"User can click on the plot and get worldcoordinate/index values, and actual value" -3;"Cdms";"I/O";"picker selector, let you pick non contiguous values" -3;"Cdutil";"Times";"Yearly and xDaily Time Bounds setting, plus accept either slab or axis" -3;"Contrib";"F2py";"Added F2PY, fortran wrapper" -3;"Install";"HDF";"--HDF= option let user point to HDF libraries" -3;"Install";"Scrip";"Source code distributed but not installed" -3;"Vcdat";"DV";"Replacing the eval call for the exec call. Now the user can enter any command" -3;"Vcdat";"DV";"Fix for the automatic Numeric and MA conversion to MV. The user now has a choice to convert Numeric and MA to MV. That is, the user will need to select the ""Automatic Conversion to MV"" toggle in the ""Preferences"" menu to turn this feature on or off" -3;"Vcs";"Plot";"Very High Resolution Continent Files generated via GMT are available on the web" -3;"Vcs";"Templates";"Scaling, now can scale fonts" -3;"Vcs";"Text";"Bg option works" -4;"Cdms";"I/O";"Implemented isClose()." -4;"Contrib";"Install";"Automatically built" -4;"Exsrc";"VTK";"VTK (beta version) added to distrib, not built by default this is experimental" -4;"Genutil";"Xmgrace";"Now can pass arguments at init time" -4;"Vcdat";"General";"Retains user settings" -4;"Vcdat";"General";"Predefined Region" -4;"Vcdat";"General";"Can define colors using intensiy" -4;"Vcdat";"Taylordiagram";"GUI updated" -4;"Vcs";"Primitives";"Projection accessible" -4;"Vcs";"Taylordiagram";"standard dev added to xaxis" -4;"Vcs";"Taylordiagram";"taylor control the xtic/ytic/cticks" -4;"Vcs";"Yxvsx, Xyvsy";"Auto now works again (no more blank canvas)" -4;"Vcs";;"Improved thread support" -5;"Cdms";"Cdscan";"Added –nofiles, --execfile option" -5;"Cdms";"Cdscan";"Added --notrim-lat option" -5;"Cdms";"Cdscan";"Added --filesxml option" -5;"Cdms";"Curvilinear grids";"Raise error if nonrectangular grid has no bounds associated" -5;"Cdms";"I/O";"Added gridftp protocol" -5;"Cdutil";"Times";"fixed times.setTimesBoundsMonthly for end of month storage" -5;"Cdutil";"Vertical";"Vertical Interpolation Tools (sigma2pressure)" -5;"Contrib";"IaGraph";"Package of interactive graphing tools. IaGraph will create line plots, scatter plots, and contour plots" -5;"Exsrc";"R";"Added R (statistical package) sources to distrib, not built by default" -5;"Genutil";"Xmgrace";"safe/nosafe problem solved, version controled before passing the argument" -5;"Ncml";;"New Package" -5;"Scrip";;"New module, interface to scrip regridder" -5;"Vcdat";"DV";"Icons tools added" -5;"Vcdat";"General";"Keep (or not) Windows in front of main window" -6;"Cdms";"Axis";"Align isLatitude, isLongitude test with CF convention" -6;"Contrib";"ComparisonStatistics";"fixed a bug for TimeComponent 18, the seasonal weights used in computing the annual means were slightly off" -6;"Contrib";"Rpy";"Added Rpy package, works if you have R on your system" -6;"Exsrc";"Pbm";"Pbmplus replaced with netpbm on Linux and Mac systems" -6;"Genutil";"Statistics";"Geometric Mean, Median and Rank functions added" -6;"Vcdat";"1D plot";"Fixed multiplier annotation for 1D plots." -6;"Vcdat";"DV";"Support for chemistry attributes" -6;"Vcdat";"General";"Exit Popup to retain settings (can be turned off)" -6;"Vcdat";"Menu";"Option pull down from main menu was changed to “Preferencesâ€" -6;"Vcs";"Animations";"bug fix for pan and zoom" -6;"Vcs";"Templates";"Ratio options now supported, let user definean y/x ratio or if lat/lon let vcs find a good one" -7;"Contrib";"ComparisonStatistics";"Handles fortran NaN" -7;"Vcdat";"Annotations";"Changed annotation so a blank text field will print nothing in on the Canvas" -7;"Vcs";"boxfill/isofill";"Extension bug fix, if levels set after ext_1" -7;"Vcs";"Taylordiagram";"Taylordiags single precision ok now" -8;"Cdms";"Cdscan";"Fixed bug when file has 'bounds' dimension." -8;"Contrib";"ComparisonStatistics";"Updated doc" -8;"Vcs";"Markers";"0 means no marker" -8;"Vcs";"Taylordiagram";"fixed taylordiagrams.script and also listelements('taylordiagram') now works (x.show returns None)" -9;"Cdms";"Drs";"Fixed the cycle process for DRS files. Must close DRS files before you open them again." -9;"Cdutil";;"Removed Propertied Class dependencies, replaced with standard python (object/property)" -9;"Contrib";"ComparisonStatistics";"Bug fixing" -9;"Contrib";"Pyfort";"New version 8.4" -9;"Vcdat";"General";"User can defined the name of its default template/graphic methods" -9;"Vcs";"1D plots";"Bug fixes for graphics methods. That is, if the data only has 1 dimensions and 2 or more dimensions are required, then use Yxvsx to plot the data" -9;"Vcs";"Printer";"lanscape/portrait argument bug fix" -9;"Vcs";"Taylordiagram";"Skill drawing, bug fix" -9;"Vcs";;"Major changes to the VCS graphics methods" -9;"Vcs";;"Fixed attribute settings for missing attributes" -10;"Cdms";"I/O";"Fixed bug in dataset.write when time axis is a float. This shows up with Numeric V23.1" -10;"Cdms";;"Added xmllib to ditrib since it'll be abandoned in future python" -10;"Cdutil";"VariableMatcher";"Added comment keyword" -10;"Genutil";;"Removed Propertied Class dependencies, replaced with standard python (object/property)" -10;"Vcs";"Colormap";"Added the NCAR Color Map to the initial.attribute file." -10;"Vcs";"Colormap";"Cleanedup" -10;"Vcs";"Templates";"fixed JYP comments about ""inconsistency"" on comment#1 of UL1of4 template" -10;"Vcs";;"Removed Propertied Class dependencies, replaced with standard python (object/property)" -11;"Cdms";"Curvilinear grids";"auxcoord, gengrid modules" -11;"Esg";;"New Package" -11;"Install";"CDAT";"Building GNU tar on older systems..." -11;"Install";"CDAT";"--psql option added" diff --git a/docs/Changes_3.3_to_4.pdf b/docs/Changes_3.3_to_4.pdf deleted file mode 100644 index 408ca428a82faabccf24180853af8b797fb397aa..0000000000000000000000000000000000000000 Binary files a/docs/Changes_3.3_to_4.pdf and /dev/null differ diff --git a/docs/Changes_3.3_to_4.xls b/docs/Changes_3.3_to_4.xls deleted file mode 100644 index aabf7d192034c44d1ff0f6151d443b30e2aba7ea..0000000000000000000000000000000000000000 Binary files a/docs/Changes_3.3_to_4.xls and /dev/null differ diff --git a/docs/DeveloperHowTo.html b/docs/DeveloperHowTo.html deleted file mode 100644 index 209b85738d20403e5ecc269f213095b15a331c21..0000000000000000000000000000000000000000 --- a/docs/DeveloperHowTo.html +++ /dev/null @@ -1,6 +0,0 @@ -<html> - -<head> -<meta http-equiv="refresh" content="0; url=http://github.com/UV-CDAT/uvcdat/wiki/Development"/> -</head> -</html> diff --git a/docs/HELP.html b/docs/HELP.html deleted file mode 100644 index 7430ec110119a492443b4dc78206cf10268c1df4..0000000000000000000000000000000000000000 --- a/docs/HELP.html +++ /dev/null @@ -1,6 +0,0 @@ -<html> - -<head> -<meta http-equiv="refresh" content="0; url=http://github.com/UV-CDAT/uvcdat/wiki/Building-UVCDAT"/> -</head> -</html> diff --git a/docs/Legal.htm b/docs/Legal.htm deleted file mode 100644 index 663579d9e3425f583b61adf9ed15b9bc6481746a..0000000000000000000000000000000000000000 --- a/docs/Legal.htm +++ /dev/null @@ -1,137 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - <title>CDAT Legal Statement</title> -</head> -<body lang="EN-US" style=""> -<h1 align="center" style="text-align: center;">Climate Data Analysis -Tools (CDAT)</h1> -<h2 align="center" style="text-align: center;">UCRL-CODE-2002-0021</h2> -This work was produced at the University of California, Lawrence -Livermore -National Laboratory (UC LLNL) under contract no. W-7405-ENG-48 -(Contract 48) between the U.S. Department of Energy (DOE) and The -Regents of -the University of California (University) for the operation of UC LLNL. -The rights of -the Federal Government are reserved under Contract 48 subject to the -restrictions agreed upon by the DOE and University as allowed under DOE -Acquisition Letter 97-1. -<h2 align="center">DISCLAIMER</h2> -<p>This work was prepared as an account of work sponsored by an -agency of the United States Government. Neither the United States -Government -nor the University of California -nor any of their employees, makes any warranty, express or implied, or -assumes -any liability or responsibility for the accuracy, completeness, or -usefulness -of any information, apparatus, product, or process disclosed, or -represents -that its use would not infringe privately-owned rights. -Reference herein to any specific commercial -products, process, or service by trade name, trademark, manufacturer or -otherwise does not necessarily constitute or imply its endorsement, -recommendation, or favoring by the United States Government or the -University -of California. The views and opinions of authors expressed herein do -not necessarily -state or reflect those of the United States Government or the -University of California, and shall not be -used for advertising or product endorsement purposes.</p> -<h2 align="center" style="text-align: center;">NOTIFICATION OF -COMMERCIAL USE</h2> -<p>Commercialization of this product is prohibited without -notifying the Department of Energy (DOE) or Lawrence Livermore National -Laboratory (LLNL).</p> -<h2 align="center">NOTE</h2> -<p>Portions of this software, including especially portions -of the contents of subdirectories pysrc, contrib, and cdat/Tars, were -not written by us and are redistributed here under the terms of their -own licenses.</p> -<h2 align="center">External License Agreements</h2> -<p>This release of CDAT incorporates modules from other organizations -besides LLNL some of which are distributed under software licenses -of their choosing, and therefore may be subject to different terms and -conditions. We ask that users respect these all terms and conditions as -well as any copyright notices requirements. <br> -</p> -<p>This release is subject to different terms and conditions associated -with some component parts. -By installing software components covered by third party licenses you -are agreeing to their terms and conditions. (Terms and Conditions can -be found below.) </p> -<h2 align="center">CCLRC License for CCLRC Software forming part of the -Climate Data Analysis Tools Package</h2> -<p> The Council for the Central Laboratory of the Research Councils -(CCLRC) grants any person who obtains a copy of this software (the -Software), free of charge, the non-exclusive, worldwide right to use, -copy, modify, distribute and sub-license the use of the Software on the -terms and conditions appearing below: -<br> -1)The Software may be used only as part of the Climate Data Analysis -Tools Package, made available to users free of charge. -<br> -2)The CCLRC copyright notice and any other notice placed by CCLRC on -the Software must be reproduced on every copy of the Software, and on -every Derived Work. A Derived Work means any modification of, or -enhancement or improvement to, any of the Software, and any software or -other work developed or derived from any of the Software. -3)CCLRC gives no warranty and makes no representation in relation to -the Software. The Licensee and anyone to whom the Licensee makes the -Software or any Derived Work available, use the Software at their own -risk. <br> -4)All warranties, conditions, terms, undertakings and obligations on -the part of CCLRC, implied by statute, common law, custom, trade usage, -course of dealing or in any other way are excluded to the fullest -extent permitted by law. -<br> -5)Subject to condition 6, CCLRC will not be liable for: -<br> - -a)any loss of profits, loss of revenue, loss or corruption of data, -loss of contracts or opportunity, loss of savings or third party claims -(in each case whether direct or -indirect); -<br> - -b)any indirect loss or damage arising out of or in connection with the -Software; -<br> - -c)any direct loss or damage arising out of, or in connection with, the -Software -in each case, whether that loss arises as a result of CCLRC’s -negligence, or in any other way, even if CCLRC has been advised of the -possibility of that loss arising, or if it was within CCLRC's -contemplation. -<br> -6)None of these conditions limits or excludes CCLRC's liability for -death or personal injury caused by its negligence or for any fraud, or -for any sort of liability that, by law, cannot be limited or excluded. -<br> -7)These conditions set out the entire agreement relating to the -Software. The licensee acknowledges that it has not relied on any -warranty, representation, statement, agreement or undertaking given by -CCLRC, and waives any claim in respect of any of the same. -<br> -8)The rights granted above will cease immediately on any breach of -these conditions and the licensee will destroy all copies of the -Software and any Derived Work in its control or possession. Conditions -3, 4, 5, 6, 7, 8, 9 and 10 will survive termination and continue -indefinitely. -<br> -9)The licence and these conditions are governed by, and are to be -construed in accordance with, English law. The English Courts will have -exclusive jurisdiction to deal with any dispute which has arisen or may -arise out of or in connection with the Software, the rights granted and -these conditions, except that CCLRC may bring proceedings for an -injunction in any jurisdiction. -<br> -10)If the whole or any part of these conditions are void or -unenforceable in any jurisdiction, the other provisions, and the rest -of the void or unenforceable provision, will continue in force in that -jurisdiction, and the validity and enforceability of that provision in -any other jurisdiction will not be affected.</p> -</body> -</html> diff --git a/docs/README.txt b/docs/README.txt deleted file mode 100644 index 99bf6afefee79913d78bd7f13670232197f9eda0..0000000000000000000000000000000000000000 --- a/docs/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -The documentation of UV-CDAT has moved to github. Please visit -this page for the latest documentation: https://github.com/UV-CDAT/uvcdat/wiki diff --git a/docs/ReleaseNotes.txt b/docs/ReleaseNotes.txt deleted file mode 100644 index ca81f7443013c7b2e5fb92cd0658c54cb298bca9..0000000000000000000000000000000000000000 --- a/docs/ReleaseNotes.txt +++ /dev/null @@ -1,226 +0,0 @@ -********************* Changes in the next release **** -********************* Release 4.3 ************************************* -New build system, CDAT is now installed under CDAT/VERSION/bin -New Fonts system: most ttf fonts work now! -New direct postscript output -Hatch/pattern output working (see known bug though) -Improved VCDAT -New Package: Thermo -EZTemplate -genutil.filters -going away from pyfort, using f2py instead -pydebug included -mpeg output -generalized grid support -improved web documentation - -!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!! -There is a known bug in cairo (the postscript rendering library) that will -cause the output to be wrong if you are using both -pattern/hatches and dashed lines - - -********************* Release 4.0 ************************************* - ----------------------------- -MAJOR CHANGES TO THE RELEASE ----------------------------- - -*- Support for Generalized Grids, regridding possible using the SCRIP regridder -(source code provided but not installed) - -*- Template Editor, let you resize, drag, drop object on your VCS Canvas - -*- Major Overhaull of the VCDAT GUI, with template and graphic methods -editors. Various mode of use (variable browsing, computation mode, graphics -mode). - -*- Page Layout Editor available in VCDAT - -*- More projection available (GCTP package), total of 28 new types of -projection, each with full parameters control - -*- Improved install process - -*- New packages: filter, vertical interpolation, IaGraph, f2py, R/Rpy, VTK -(Linux only, and not supported), thermo (thermodynamic diagrams) - -*- Full list of Changes available in files Changes_3.3_to_4.* (Open Office, csv and -pdf formats) - -------------------------- -KNOWN BUGS -------------------------- - -*- There is apparently a bug on the Mac X server, this forces the user to move -the VCS canvas window in order for the threads to start. If not the -application might hang. - -*- Beta version does not have support for inline scripting from VCDAT, final -version and some future beta wiull have full support. - - -********************* Release 3.3 ************************************* -01. vcs plotting now as at-plotting-time overwritting capabilities, i.e, you can change a graphic method or template attribute as you plot by passing it to the plot command -02. vcs text function let you know draw string on the fly, also accepts colors argument passed a colornames -03 vcs canvas object have a new function "match_color" which allows the user to get the color in the colormap (in use or passed) that is closest from its desirted color -04. rank function now available in genutil.statstics - -********************* Release 3.3 (10/01/2002) ************************ -01. Meshfill support is now complete (for graphical output) - all is done at the C level, projection are authorized as well as - axes transformations. MUCH faster than the old python based support -02. CompasrisonsStatistics contrib package added (PCMDI's compall) -03. VariablesMatcher, VariableConditioner objects added, allows easy regrid/masking - of datasets for comparison, module: cdutil -04. Build changes have removed the need for users to set LD_LIBRARY_PATH. -05. Now available on AIX. -06. genutil.statistics now has percentiles and median functions -07. genutil now has grower function (add dimensions to MV so they have matching shapes) -08. genutil.statistics: fixed a bug when input datasets had different masks - (now uses the union of both masks) -09. pyclimate package added to the contrib, which is a Python package designed - to accomplish some usual tasks during the analysis of climate variability - using Python. It provides functions to perform some simple IO operations, - operations with COARDS-compliant netCDF files, EOF analysis, SVD and CCA - analysis of coupled data sets, some linear digital filters, kernel based - probabilitydensity function estimation and access to DCDFLIB.C library from - Python. -10. Fixed the Read Script File file browser dialog "File of type". The - text said "Search for netCDF" and "Search for GrADS". This has - been replaced with "Search fo VCS file" and "Search for Python files". -11. Sync'ed the continents to work with the Page Editor. In the process, - I fixed the canvas update to work with threads -12. Ran Insure++ on code to clean up memory leaks in XGKS and VCS. -13. Fixed "open" bug. That is, fixed bug for when x.open() called. It no - longer exists out of python from the command line. -14. Can now print a VCS Canvas plot, produced in background mode, - to an output file (i.e., postscript, cgm, gif, or eps.). -15. Reordered the include files to find the VCS include files first. - This solves the problem of VCS not compiling on Solaris 2.8 - platforms. Solaris 2.8 platforms have a project.h file located in - the /usr/lib directory. project.h is also an include file for VCS. - In any case, forcing the VCS include files to be seen first, solves - this problem and should have no effect on other platforms. -16. Bug fixes for the DEC platform. The low-level primative attribute settings - now work for the DEC platform. -17. Fixed the legend label to be positioned at the bottom right corner of - the plot. It will also move with the legend when the legend is - altered by the user. -18. Now the user does not have to specify the DISPLAY variable in order to run - VCS or VCDAT. That is the user can now run the VCS module from the - command-line, script, background mode, or from VCDAT without specifying - the environment variable DISPLAY. That is, XOpenDisplay is now set - to ":0.0" or "localhost:0.0" for VCS and for Tkinter. -19. This function displays graphics segments, which are currently stored in - the frame buffer, on the VCS Canvas. That is, if the plot function - was called with the option bg = 1 (i.e., background mode), then the - plot is produced in the frame buffer and not visible to the user. - In order to view the graphics segments, this function will copy - the contents of the frame buffer to the VCS Canvas, where the - graphics can be viewed by the user. -20. Added outfill and outline to the browser interface. They are now part of the - graphics method pulldown selection. Also add a graphics method attribute - settings interface for the two graphics method so the user can - change their attributes. -21. Added the capability for low-level primatives to accept Numeric arrays for - their list of x and y axis point values. -22. Bug fix for generating more than 140 plots. That is, commented out - Py_DECREF(dict); ---- - This DECREF causes memory problems for Python if the - user chooses to generate more than 140 plots in a Python loop. - That is, needed memory is removed then overwritten, which causes - Python to give the undefined global name error for "range", "len", - or some other globally defined Python key word. -23. vcdat_teaching_script_file.py now work with appropriate graphics methods. - That is, you can now run "python vcdat_teaching_script_file.py" to replay - what was done in the VCDAT session. - - Note: vcdat_recording_script_file.py worked because it did not rely on the - ASD.scr file. -24. Show the index values for 1D axis variables -25. Updated the "Alter Plot" GUI to reflect the minor ticks settings and the - axis type (i.e., Linear or Log10). Currently, the user can only view the - axis representation. Later when time permits, I will change the "View" - text input window to an "Edit" text input window. This will let the user - specify (via a Python dictionary) the location of the axis label and the - label text string. For example, { -90: "south pole", 0: "equator", - 90: "north pole"}. -26. Modified the VCDAT module to track user directory, file, and variable requests. - It also logs the user's wall clock and cpu time. Examples: "vcdat -u", - "vcdat -h". -27. Updated the VCS initial.attributes file to Mike Wehner's initial.attibutes file. -28. The Boxfill legend labels can be set with a list or a dictionary. For - example: [0, 10, 20, 30, 40] or {40:'some text', 50:'some more text'}. -29. boxfill.legend={.5:'hi'} will now work if the legend is vertical - or horizontal. -30. Colormap bug fix. The default colormap can now be changed, - then saved as a new colormap. -31. VCDAT option menu: -h, print out help menu; -n, turn splash screen off, -u, turn - user tracking mode on. See item 17. -32. Corrected the legend when plotting log based boxfill plots. -33. Updated the X and Y axes, so that the user can modify and - change the axes values. -34. The graphics method's data world coordinates (i.e., datawc_x1, datawc_x2, - datawc_y1, and datawc_y2) will override the incoming variable's coordinates. -35. VCDAT has a new icon to bookmark files, works just like the directories -36. Beta DODS support on Linux, build using --dods=/path/to/DODS/directory -37. gplot now builds automatically -38. various utilies necessary to produce GIF output are also now provided as part - of the install process. -39. VCS template object now have scale, reset, move and moveto associated function -40. added cddump utility (ncdump like utility that works on any type of file that - cdms can open) -41. VCDAT has new icon functions: grower, mask, getmask, less, greater, equal, not, standard deviation - -********************* Release 3.2 (4/15/2002) ************************ -1. Revised build system allows for installation into an existing Python. - Please see README.txt to learn the new installation system. - (Paul Dubois). DRS and QL support are not built by default, unless you - use the --PCMDI option. -2. In genutil.statistics, the linearegression now can return std error - and probabilities for regression constant (in addition of the regression coef). - Power users that used this capability should be aware that the syntax slightly - changed, see the doc string. (Charles Doutriaux) -3. Contributed package shgrid, cssgrid, dsgrid added (Clyde Dease) - See "INTRODUCTION TO NGMATH" below for descriptions. - After installation, go to the Test subdirectory of each and run python shgridtest.py; - a documentation file will be produced as a byproduct. -4. Updated averager so it now takes integer for single axis operation. - Updated averager so the weights options are now "unweighted" and "weighted" instead of - "equal" and "generate"; old options still work. - Updated averager so the weights keyword now works. - Updated the doc strings of averager so they reflect the previous 2 changes. - Updated genutil.statistics so weights options are now compatible with cdutil.averager. - -5. Solution to the high CPU usage problem when displaying a VCS Canvas. - Modification to the VCS Canvas event mainloop was done to avoid high CPU - usage while the VCS Canvas sat idle. This modification has no other - effects on the graphics or the VCS Canvas behavior. - -6. Extensive improvements to the VCDAT browser. These are detailed at: - http://esg.llnl.gov/cdat/GUI_Modifications.html - - INTRODUCTION TO NGMATH - - The ngmath library is a collection of interpolators and approximators -for one-dimensional, two-dimensional and three-dimensional data. The packages, -which were obtained from NCAR, are: - - natgrid -- a two-dimensional random data interpolation package based on - Dave Watson's nngridr. NOT built by default in CDAT due to - compile problems on some platforms. Works on linux. - - dsgrid -- a three-dimensional random data interpolator based on a - simple inverse distance weighting algorithm. - - fitgrid -- an interpolation package for one-dimensional and two-dimensional - gridded data based on Alan Cline's Fitpack. Fitpack uses splines - under tension to interpolate in one and two dimensions. - NOT IN CDAT. - - csagrid -- an approximation package for one-dimensional, two-dimensional and - three-dimensional random data based on David Fulker's Splpack. - csagrid uses cubic splines to calculate its approximation function. - diff --git a/esg/find_site.py b/esg/find_site.py deleted file mode 100644 index 62be737261a5a11784fccee01aa9c3a833303475..0000000000000000000000000000000000000000 --- a/esg/find_site.py +++ /dev/null @@ -1,8 +0,0 @@ -# a utility script to find Python's site-packages directory and print it. -# used for installing Python megawidgets. -import sys, os -for x in sys.path: - if os.path.basename(x) == 'site-packages': - print x;raise SystemExit, 0 -else: - raise SystemExit, 1 diff --git a/esg/fnorb-1.1.tar.gz b/esg/fnorb-1.1.tar.gz deleted file mode 100644 index 8a670e24c13013d7d59ac183ef78e8ffdfd31e5f..0000000000000000000000000000000000000000 Binary files a/esg/fnorb-1.1.tar.gz and /dev/null differ diff --git a/esg/fnorb.sh b/esg/fnorb.sh deleted file mode 100755 index 0c783265b87bfac379d92f100bf675ceb3d6cc4e..0000000000000000000000000000000000000000 --- a/esg/fnorb.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -. ./prolog.sh -sitepackages=`${prefix}/bin/python ../find_site.py` -(cd Fnorb-*; \ -fullpath=`pwd`; -FNORB=`basename ${fullpath}`; \ -cd src; \ -make -f Makefile.pre.in boot; \ -make; \ -/bin/cp *.so ${sitepackages}; \ -cd ../..; \ -if (test -d ${sitepackages}/${FNORB}) then \ - chmod -R +w ${sitepackages}/${FNORB}; \ -fi; \ -/bin/cp -R ${FNORB} ${sitepackages}; \ -if (test ! -d ${sitepackages}/Fnorb) then \ - ln -s ${sitepackages}/${FNORB} ${sitepackages}/Fnorb; \ -fi; ) - diff --git a/esg/install_script b/esg/install_script deleted file mode 100755 index 6d78f4374802815f6807b0fbb000a3c1d236c1e8..0000000000000000000000000000000000000000 --- a/esg/install_script +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -FNORBTAR=fnorb-1.1.tar -FNORBDIR=Fnorb-1.1 -LDAPDIR=ldapmodule -LDAPTAR=ldapmodule-1.5.tar -if (test "$#" -ne 2) then - echo "Usage: install_script INSTALL_DIR LDAP_DIR" - exit 1 -fi -if (test ! -d build) then - mkdir build -fi -if (test ! -d build/${FNORBDIR}) then - echo "Unpacking ${FNORBTAR}.gz" - /bin/cp ${FNORBTAR}.gz build - cd build - gunzip ${FNORBTAR}.gz - chmod +w ${FNORBTAR} - tar xf ${FNORBTAR} - /bin/rm ${FNORBTAR} - cd .. -fi -if (test ! -d build/${LDAPDIR}) then - echo "Unpacking ${LDAPTAR}.gz" - /bin/cp ${LDAPTAR}.gz build - cd build - gunzip ${LDAPTAR}.gz - chmod +w ${LDAPTAR} - tar xf ${LDAPTAR} - /bin/rm ${LDAPTAR} - cd .. -fi - -(./prolog.sh $*) || exit 1 -echo "See subdirectory build for logs of the build." -echo "Building Fnorb" -(./fnorb.sh $* >build/LOG.Fnorb) || exit 1 -echo "Building ldap" -(./ldap.sh $* >build/LOG.ldap) || exit 1 diff --git a/esg/ldap.sh b/esg/ldap.sh deleted file mode 100755 index 5696e6ebf8682521cf80f00ad6c54f8ce1e3d88c..0000000000000000000000000000000000000000 --- a/esg/ldap.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -. ./prolog.sh -sitepackages=`${prefix}/bin/python ../find_site.py` -if (test "$#" -ne 2) then - echo "Usage: $0 prefix ldapdir"; - exit 1 -fi -(cd ldapmodule; \ -./configure --prefix=${prefix} --with-ldap=$2; \ -make; \ -/bin/cp ldapmodule.so ${sitepackages} ) diff --git a/esg/ldapmodule-1.5.tar.gz b/esg/ldapmodule-1.5.tar.gz deleted file mode 100644 index c3fd61236dc1041faabbcc72aa30df55de38e4d7..0000000000000000000000000000000000000000 Binary files a/esg/ldapmodule-1.5.tar.gz and /dev/null differ diff --git a/esg/prolog.sh b/esg/prolog.sh deleted file mode 100755 index 671a9fe5abffb8b46ee30030224436b569efa44d..0000000000000000000000000000000000000000 --- a/esg/prolog.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# superstition -unset PYTHONPATH -unset PYTHONSTARTUP -unset PYTHONHOME - -if (test "$1" = "--debug") then - D="--debug"; - OPT=-g; - shift -else - D=""; - OPT=${OPT:=-O} -fi -export OPT - -OS=`uname` -if (test "${OS}" = "SunOS") then - CC=cc; export CC -fi -if (test "${OS}" = "OSF1") then - CC=cc; export CC -fi - -if (test -z "$1") then - echo "Usage: $0 prefix"; - exit 1 -fi -if (test ! -d $1) then - echo -n "$1 is not a directory; create it? (y/[n])"; - y='n' - read y; - if (test ${y} = 'y') then - mkdir $1; mkdir $1/bin; mkdir $1/lib; mkdir $1/include - if (test ! -d $1) then - echo "Could not create $1, installation aborted."; - exit 1 - fi - else - echo 'Installation aborted.'; - exit 1 - fi -fi -prefix=`(cd $1;pwd)` - -if (test ! -d build) then - # Unpack everything into build - mkdir build - /bin/cp *.gz build - cd build - chmod +w *.gz - for x in *.gz; - do - echo "$x"; - gunzip -f $x; - tar xf `basename $x .gz`; - /bin/rm -f `basename $x .gz` - done - cd .. -fi -cd build -echo "Installation to ${prefix}" diff --git a/testing/vcs/vtk_ui/test_vtk_ui_manager_resize.py b/testing/vcs/vtk_ui/test_vtk_ui_manager_resize.py index 57de060ecc2410b3069415bd88bc3b74ac8d3df7..0611eea41039f906a92c90369bab7a55b48fbb22 100644 --- a/testing/vcs/vtk_ui/test_vtk_ui_manager_resize.py +++ b/testing/vcs/vtk_ui/test_vtk_ui_manager_resize.py @@ -5,9 +5,6 @@ import vcs.vtk_ui from vtk_ui_test import vtk_ui_test -from time import sleep - - class test_vtk_ui_manager_resize(vtk_ui_test): def do_test(self): self.win.SetSize(250, 100) @@ -20,8 +17,6 @@ class test_vtk_ui_manager_resize(vtk_ui_test): self.win.SetSize(200, 50) - sleep(1) ; # Added delay to prevent race condition - test being triggered before resize is complete - self.win.Modified() self.test_file = "test_vtk_ui_manager_resize.png" diff --git a/tests/cdat/test_cdat.py b/tests/cdat/test_cdat.py deleted file mode 100644 index 3c87d0c0bf5677739cb4fbef94490e1ea11d9b41..0000000000000000000000000000000000000000 --- a/tests/cdat/test_cdat.py +++ /dev/null @@ -1,500 +0,0 @@ -#!/usr/bin/env python -version='%prog 1.0' -usage = "usage: %prog [options] PACKAGE1, PACKAGE2, CONTRIB1, CONTRIB2, ..." -import subprocess,os,sys -import optparse -import time -import bz2,ftplib -ftp_site = "climate.llnl.gov" -ftp_dir = "Shadow" -ftp_user = "cdat" -ftp_password = "Changeme1" - -import cdat_info -default_time_format = "%Y-%m-%d %H:%M:%S" - -def get_shadow_name(test_dir,test): - fnm = os.path.join(test_dir,test)[:-3]+'.shadow.bz2' - path = list(os.path.split(fnm)) - while path[0]!='': - tmp = os.path.split(path.pop(0)) - path.insert(0,tmp[1]) - path.insert(0,tmp[0]) - fnm2 = '.'.join(path[1:]) - return fnm,fnm2 - -def get_shadow_ftp(test_dir,test): - fnm,ftpnm = get_shadow_name(test_dir,test) - f = open(fnm,"w") - try: - ftp=ftplib.FTP(ftp_site) - ftp.login(ftp_user,ftp_password) - ftp.cwd(ftp_dir) - ftp.retrbinary('RETR %s' % ftpnm, f.write) - ftp.close() - f.close() - f = open(fnm) - s=f.read() - f.close() - s = bz2.decompress(s) - f = open(fnm[:-4],"w") # open w/o bz2 ext - f.write(s) - f.close() - os.remove(fnm) - except Exception,err: - f.close() - os.remove(fnm) - pass - - -def get_shadow_local(test_dir,test): - fnm = os.path.join(test_dir,test)[:-3]+'.shadow' - if os.path.exists(fnm): - f=open(fnm,"r") - s=f.read() - f.close() - shadow_dict=eval(s) - else: - shadow_dict={} - return shadow_dict - -def get_shadow(test_dir,test): - # first try from ftp - get_shadow_ftp(test_dir,test) - return get_shadow_local(test_dir,test) - -def set_shadow_local(test_dir,test,dict): - try: - fnm = os.path.join(test_dir,test)[:-3]+'.shadow' - os.remove(fnm) - except: - pass - try: - fnm = os.path.join(test_dir,test)[:-3]+'.shadow.bz2' - f=open(fnm,"w") - s= bz2.compress(repr(dict)) - print >> f, s - f.close() - except Exception,err: - pass - return - -def put_shadow_ftp(test_dir,test): - fnm,ftpnm = get_shadow_name(test_dir,test) - try: - ftp=ftplib.FTP(ftp_site) - ftp.login(ftp_user,ftp_password) - ftp.cwd(ftp_dir) - f=open(fnm) - ftp.storbinary('STOR %s' % ftpnm, f) - ftp.close() - os.remove(fnm) - except Exception,err: - print 'Error putting ftp bz2',err - pass - -def set_shadow(test_dir,test,dict): - set_shadow_local(test_dir,test,dict) - if int(o.upload)>0: - put_shadow_ftp(test_dir,test) - return - -def make_tests_string_machine(machine,dict): - details="" - details = "\t\t\tlast successful run: %s" % dict.get("last","never") - if dict.has_key("time"): - details+="\n\t\t\tduration (min,avg,max) %i, %i, %i seconds" % (dict["fastest"],dict["time"],dict["slowest"]) - if dict.has_key("count") and o.verbose>1: - details+='\n\t\t\tSuccesfully tested %i times on at least : %i independent machines' % (dict["count"],len(dict["machines"])) - return details - -def make_tests_string(dict_all): - details="" - for os in dict_all.keys(): - details += "\n\t\tOS: %s" % os - dict_os = dict_all[os] - for v in dict_os.keys(): - details += "\n\t\t Version: %s" % v - dict_system = dict_os[v] - for m in dict_system.keys(): - details += "\n\t\t Machine: %s" % m - dict=dict_system[m] - details+='\n'+make_tests_string_machine(m,dict) - return details - -def run_dir(test_dir,lst): - lst.sort() - passed=True - output={} - for test in lst: - if test[-3:]=='.py' and (test.lower()[:4]=='test' or test.lower()[:6]=='cdtest'): - Dict_all = get_shadow(test_dir,test) - if o.query_mode: - output[(test_dir,test)]=Dict_all - try: - fnm = os.path.join(test_dir,test)[:-3]+'.shadow' - os.remove(fnm) - except: - pass - continue - myversion = ".".join(map(str,cdat_info.version())) - dict_all = Dict_all.get(myversion,{}) - myos = os.uname()[0] - system = os.uname()[2] - machine = os.uname()[4] - dict_os = dict_all.get(myos,{}) - dict_system = dict_os.get(system,{}) - dict = dict_system.get(machine,{}) - dict_system[machine] = dict - dict_os[system] = dict_system - dict_all[myos] = dict_os - details = "" - last = dict.get("last","1980-01-01 00:00:00") # ok ever ago! - format = dict.get("format",default_time_format) - tlast = time.strptime(last,format) - delta = time.mktime(tlast)-time.mktime(time.strptime(o.date,o.format)) - if delta>0: - if o.verbose>0: - print "\tRunning: %s" % (test) - print "\t\tSuccessful run newer than threshold %s vs %s " % (last,o.date) - continue - if o.verbose>0: - print "\tRunning: %s" % (test) - if o.verbose<3 or dict_all.keys()==[]: - details=make_tests_string_machine(machine,dict) - else: - details+=make_tests_string(dict_all) - print details - t = time.time() - out,err= run_test(os.path.join(test_dir,test)) - err2 = [] - for l in err: - if l.find("Warning")>-1: - pass - else: - err2.append(l) - err=err2 - t2 = time.time() - if err!=[]: - passed = False - if o.verbose>1: - for l in out: - st='\t\t%s' % l.strip() - print st - if o.verbose>0: - if err!=[]: - print '\t FAILED\n\n',err - if o.verbose>1: - for l in err: - st='\t\t%s' % l.strip() - print st - else: - print '\t PASSED\n\n' - runtime = int(t2-t)+1 - fastest = dict.get("fastest",runtime+1) - if fastest>runtime: - fastest = runtime - dict["fastest"]=fastest - slowest = dict.get("slowest",runtime-1) - if slowest<runtime: - slowest = runtime - dict["slowest"]=slowest - dict["format"]=default_time_format - dict["last"] = time.strftime(default_time_format,time.localtime()) - count=dict.get("count",0) - count+=1 - dict["count"]=count - avg = dict.get("time",0.)*(count-1) - avg+=runtime - avg/=count - dict["time"] = avg - machines = dict.get("machines",[]) - if int(o.upload)>1: - mymachine = os.uname()[1] - else: - mymachine = "private" - if not mymachine in machines: - machines.append(mymachine) - dict["machines"] = machines - - dict_system[machine] = dict - dict_os[system] = dict_system - dict_all[myos] = dict_os - Dict_all[myversion] = dict_all - output[(test_dir,test)]=dict - if out==[] or str(out[-1]).lower().find('skipped')==-1: - # ok the test havent been skipped - # we can replace stat file - set_shadow(test_dir,test,Dict_all) - - if o.skip is False and passed is False: - sys.exit() - return output - -def run_test(test): - wd, test = os.path.split(test) - cmd = 'cd %s ; %s %s' % (wd, sys.executable, test) - if o.full_testing: - cmd+=' --full --extended' - if o.extended_testing: - cmd += ' --extended' - #print cmd - P=subprocess.Popen(cmd,stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True,shell=True) - - out = P.stdout.readlines() - err = P.stderr.readlines() - rmv =[] - for l in err: - for e in o.error_strings: - if l.find(e)>-1: - rmv.append(l) - break - for l in rmv: - err.remove(l) - - return out,err - -format = default_time_format -date = time.strftime(format,time.localtime()) # Now! - -p=optparse.OptionParser(version=version,usage=usage) - -time_format_help_string = """format for time, default: %default -Format can be constructed from the following keys: -%a Locale's abbreviated weekday name. -%A Locale's full weekday name. -%b Locale's abbreviated month name. -%B Locale's full month name. -%c Locale's appropriate date and time representation. -%d Day of the month as a decimal number [01,31]. -%H Hour (24-hour clock) as a decimal number [00,23]. -%I Hour (12-hour clock) as a decimal number [01,12]. -%j Day of the year as a decimal number [001,366]. -%m Month as a decimal number [01,12]. -%M Minute as a decimal number [00,59]. -%p Locale's equivalent of either AM or PM. -%S Second as a decimal number [00,61]. -%U Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. -%w Weekday as a decimal number [0(Sunday),6]. -%W Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. -%x Locale's appropriate date representation. -%X Locale's appropriate time representation. -%y Year without century as a decimal number [00,99]. -%Y Year with century as a decimal number. -%Z Time zone name (no characters if no time zone exists). -%% A literal "%" character. -""" - -## Adds options to test utility -p.add_option("-a","--all","-A","--ALL",dest="all",help="Run test for ALL Packages and contributed Packages",action="store_true",default=False) -p.add_option("-P","--packages",dest="all_packages",help="Run test on all packages",action="store_true",default=False) -p.add_option("-C","--contribs",dest="all_contrib",help="Run test on all contributed packages",action="store_true",default=False) -p.add_option("-p","--package",dest="Packages",metavar="PACKAGE",help="Run test on this package",action="append",type="string",default=[]) -p.add_option("-c","--contrib","--contributed",dest="Contribs",metavar="CONTRIBUTED",help="Run test on this contributed package",action="append",type="string",default=[]) -p.add_option("-s","--stop","--noerror",dest="skip",help="Stop on errors (default: %default)",action="store_false",default=False) -p.add_option("-S","--nostop","--skip",dest="skip",help="Do not stop on errors",action="store_true",default=False) -p.add_option("-v","--verbose",metavar="LEVEL",dest="verbose",help="Level of verbosity (0, 1, 2 or 3), default is %default",type="choice",default="1",choices=("0","1","2","3")) -p.add_option("-u","--upload",metavar="LEVEL",dest="upload",help="Level of upload privacy (0, 1, or 2), 0 no data uploaded, 1 no private data uploaded, 2 uploads hostname, default is %default",type="choice",default="2",choices=("0","1","2")) -p.add_option("-e","--okerror",metavar="ERROR STRING",dest="error_strings",help="Identify 'none' error merror messages (removes lines in error messages containing this)",default=["ppmtogif","pnmcolormap","pnmremap","ppmtogif","ppmquant","pnmcrop","Definition of","DeprecationWarning","self.nxo"],action="append",type="string") -p.add_option("-d","--date",dest="date",type="string",help="Will run a test if last successfull time is older than 'date', default is now: %default See --timeformat option for date format",default=date) -p.add_option("-f","--timeformat",dest="format",type="string",help=time_format_help_string,default=default_time_format) -p.add_option("-q","--query_mode",dest="query_mode",help="Runs a query of successfully run test only, does not execute anything",action="store_true",default=False) -p.add_option("-F","--full",dest="full_testing",help="Full testing (more detailed testing) default is %default",default=False,action="store_true") - - -# short test is default -jd082007 -p.add_option("-E","--extended",dest="extended_testing",help="Extended testing (runs testing completely) default is %default",default=False,action="store_true") - - -(o,args) = p.parse_args() - -if int(o.upload)==2 and o.query_mode is False: - print 'Your upload level is set to 2\nThis means CDAT will recover your machine\'s name (only when running the test suite).\nTo turn this off use option: --upload=1 (no private data uploaded) or 0 (no data uploaded at all)' - print "Your machine's name (%s) will be stored for statistical purposes only" % os.uname()[1] - cont = raw_input("Do you wish to continue? (y/n) [y]") - if not cont.lower() in ['','y','yes']: - sys.exit() -try: - time.strptime(o.date,o.format) -except: - p.error('date must be in format: "%s", or specify format on command line (use --help)' % o.format) -# Handles case where nothing is passed! -if not (o.all_packages or o.all_contrib or o.all) and o.Packages==[] and o.Contribs==[] and args==[]: - (o,args) = p.parse_args(["-h"]) - -if o.all: - o.all_packages=True - o.all_contrib=True - -# Append all the Packages -packages=[] -pckgs = os.listdir("Packages") -pckgs.sort() -for pk in pckgs: - if pk in ['cmor','cdms','regrid','Properties']: - continue - if os.path.isdir(os.path.join("Packages",pk)): - lst=[] - try: - dr = os.path.join("Packages",pk,"Test") - lst = os.listdir(os.path.join("Packages",pk,"Test")) - except: - pass - try: - lst = os.listdir(os.path.join("Packages",pk,"test")) - except: - pass - if lst!=[]: - packages.append(pk) - -if o.all_packages: - for pk in packages: - if not pk in o.Packages: - o.Packages.append(pk) - -contribs=o.Contribs -if contribs==[]: - pckgs = os.listdir("contrib") - pckgs.sort() - for pk in pckgs: - if pk in ['spanlib']: - try: - import spanlib - except: - continue - if os.path.isdir(os.path.join("contrib",pk)): - lst=[] - try: - lst = os.listdir(os.path.join("contrib",pk,"Test")) - except: - pass - try: - lst = os.listdir(os.path.join("contrib",pk,"test")) - except: - pass - if lst!=[] and pk not in o.Contribs: - # first try to see if contrib has been built - contribs.append(pk) - -if o.all_contrib: - for pk in contribs: - if pk not in o.Contribs: - o.Contribs.append(pk) - -#Now adds the extra arguments -for pk in args: - ok=False - if pk in packages: - ok = True - if not pk in o.Packages: - o.Packages.append(pk) - if pk in contribs: - ok = True - if not pk in o.Contribs: - o.Contribs.append(pk) - if not ok: - if o.skip: - print 'Will skip Package:',pk - else: - print "Package %s does not exists or has not test suite" % pk - print 'type "%s --help" for help and usage' % sys.argv[0] - sys.exit() - - -# Ok now runs the test to see if packages are good -skipped=[] -for pk in o.Packages: - if not pk in packages: - if o.skip: - print 'Will skip Package:',pk - skipped.append(pk) - else: - print "Package %s does not exists or has no test suite" % pk - print 'type "%s --help" for help and usage' % sys.argv[0] - sys.exit() -for pk in skipped: - o.Packages.remove(pk) -# Ok now runs the test to see if contribs are good -skipped=[] -for pk in o.Contribs: - if not pk in contribs: - if o.skip: - print 'Will skip Contributed Package:',pk - skipped.append(pk) - else: - print "Contributed Package %s does not exists or has not test suite" % pk - print 'type "%s --help" for help and usage' % sys.argv[0] - print 'valid contributed packages: %s' % ' '.join(contribs) - sys.exit() -for pk in skipped: - o.Contribs.remove(pk) -o.verbose=int(o.verbose) -results ={} -for pk in o.Packages: - print "Running Test on Official Package: %s" % pk - test_dir = os.path.join("Packages",pk,"Test") - try: - lst = os.listdir(test_dir) - except: - test_dir = os.path.join("Packages",pk,"test") - lst = os.listdir(test_dir) - tmp = run_dir(test_dir,lst) - for k in tmp.keys(): - results[k]=tmp[k] -for pk in o.Contribs: - print "Running Test on Contributed Package: %s" % pk - test_dir = os.path.join("contrib",pk,"Test") - try: - lst = os.listdir(test_dir) - except: - test_dir = os.path.join("contrib",pk,"test") - lst = os.listdir(test_dir) - tmp = run_dir(test_dir,lst) - for k in tmp.keys(): - results[k]=tmp[k] - - - -import cdat_info -Packages=[] -OS=[] -Versions=[] -Machines=[] -CDATVersions=[] -#code to display nicely all the results -if o.query_mode: - for test in results.keys(): - pnm =test[0] - if not pnm in Packages: - Packages.append(pnm) - CDATVersions=results[test] - oses = CDATVersions.get(str(cdat_info.version()),{}) - for aos in oses.keys(): - if not aos in OS: - OS.append(aos) - versions = oses[aos] - for v in versions.keys(): - syst = versions[v] - for asys in syst: - full = "%s_%s_%s" % (aos,v,asys) - if not full in Versions: - Versions.append(full) - res = syst[asys] - machines = res["machines"] - for m in machines: - if not m in Machines: - Machines.append(m) - print 'Your version:',cdat_info.version() - print 'Total Test:',len(results.keys()) - print 'Total Packages:',len(Packages) - print 'Total OS:',len(OS),'---',', '.join(OS) - print 'Total OS Versions:',len(Versions) - print 'Total Independent Machines:',len(Machines) -## else: -## for test_dir,test in results.keys(): -## print '\n\n' -## fn = test_dir+test -## print fn,'--------------' -## tr = results[test_dir,test] -## for t in tr: -## print '\t',t,': ' ,tr[t] diff --git a/tests/cdat/test_exsrc_ok.py b/tests/cdat/test_exsrc_ok.py deleted file mode 100644 index 923dfc9d7a798475e7e4de7dcf7e270583b43b0d..0000000000000000000000000000000000000000 --- a/tests/cdat/test_exsrc_ok.py +++ /dev/null @@ -1,107 +0,0 @@ -""" Test external packages dependencies for CDAT -Prints out Packages that need to be installed and why -""" -import sys,os - -## Test 1: Pyfort -min_ver=8.5 -a=os.popen4(sys.prefix+'/bin/pyfort -V')[1].readlines() -sp=a[0].split() -if sp[0]!='Pyfort': - print 'Pyfort : Not Present in your python distribution' -elif float(sp[1])<min_ver: - print 'Pyfort : Version '+str(min_ver)+' minimum is required, you have: '+sp[1] - -## Test 2: Numeric -min_ver=23.1 -try: - import Numeric - if float(Numeric.__version__)<min_ver: - print 'Numeric : Version '+str(min_ver)+' minimum is required, you have: '+Numeric.__version__ -except: - print 'Numeric : Not Present in your python distribution' - -## Test 3: Pmw -min_ver=1.2 -try: - import Pmw - if float(Pmw.version())<min_ver: - print 'Pmw : Version '+str(min_ver)+' minimum is required, you have: '+Pmw.version() -except: - print 'Pmw : Not Present in your python distribution' - -## Test 4: gplot -a=os.popen4('which gplot')[1].readlines()[0] -if a.find('not found')>-1: - print 'gplot : Not present on your system' - -## Test 5: xgks -if not os.path.exists(sys.prefix+'/lib/xgksfonts'): - print 'xgks : xgksfonts directory not present in your python distribution' - -## Test 6: gifsicle -a=os.popen4('which gifsicle')[1].readlines()[0] -if a.find('not found')>-1: - print 'gifsicle : Not present on your system' - -## Test 7: ghostscript and fonts -a=os.popen4('which gs')[1].readlines()[0] -if a.find('not found')>-1: - print 'ghostscript : Not present on your system' -else: - jpeg=0 - png=0 - a=os.popen4('gs -h')[1].readlines() - while a.pop(0).find('Available devices:')<0: - continue - for l in a: - s=l.strip().split() - if 'jpeg' in s: - jpeg=1 - if 'png16' in s: - png=1 - - font=0 - a=os.popen4('gs -h')[1].readlines() - while a.pop(0).find('Search path:')<0: - continue - for l in a: - if l[0]==' ': # path lines starts with blank - s=l.strip().split(':') - for p in s: - #print os.listdir(p.strip()) - if os.path.exists(p.strip()+'/n022003l.afm'): - font=1 - else: - break - if jpeg==0 and png==0 and font==0: - print 'ghostscript : no jpeg nor png support built, missing extra fonts' - elif jpeg==0 and png==0: - print 'ghostscript : no jpeg nor png support built' - elif jpeg==0: - print 'ghostscript : no jpeg support built' - elif png==0: - print 'ghostscript : no png support built' - elif font==0: - print 'ghostscript : extra fonts not installed' - -## Test 8: Netpbm/pbmplus -a=os.popen4('which ppmtogif')[1].readlines()[0] -if a.find('not found')>-1: - if sys.platform in ['linux2','darwin','cygwin']: - print 'netpbm : Not present on your system' - else: - print 'pbmplus : Not present on your system' - - -## Test 9: R libraries (not python module) -a=os.popen4('which R')[1].readlines()[0] -if a.find('not found')>-1: - print 'R : Not present on your system' - -## Test 10: VTK -try: - import vtk -except: - print 'VTK : Not present on your Python' - diff --git a/tests/test_script b/tests/test_script deleted file mode 100755 index 883bb3b5b7bcf8ce799ef3f9a3d465f7cf261c4b..0000000000000000000000000000000000000000 --- a/tests/test_script +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# usage: ./test_script [-v] [targetdir] -# -v prevents run of vcdat -# -unset PYTHONPATH -unset PYTHONHOME -unset PYTHONSTARTUP -if (test "$1" = "-v") then - vopt=0; shift; -else - vopt=1 -fi -if (test $# -eq 0) then - p=`which python`; v=`which vcdat` -else - here=`pwd`; - cd $1/bin; - pdir=`pwd`; - p=$pdir/python; v=$pdir/vcdat; - cd $here -fi -prefix=`${p} -c "import sys; print sys.exec_prefix"` -echo "Testing $p" -(cd Packages/cdms/Test; $p cdtest.py) -if (test $vopt -eq 1) then - echo "Testing $v"; - $v -fi -echo "-------------------------------------------------------------------" -echo "Tests completed." -