Change Log Version 1.1--April, 2001 1) Corrected bugs. 1.a) Previous version of svdeofs() used a denominator of (N-1) to compute the variance, whilst the data sets were standardized using the sample variance (N) in the denominator. Thus, PCs were actually scaled by the factor sqrt((N-1)/N) and eigenvalues (variances) by a factor (N-1)/N. We are using N in all denominators in this version (hopefully). 1.b) readdat.py is able to handle comments like "#Variance of XXX" (without blank between the "#" and "Variance", which caused a crash in previous versions. 2) To be able to run under Python 2.0, all exception strings have been removed and converted to classes. All the exceptions are instances of a root class (PyClimateException) which can be printed with a very comprehensive message via the __str__ method. The exceptions have an alternative method GetExceptionValue(), which returns the most important data relevant to each exception. 3) The differential operators have been extended. They can work using periodic and non periodic boundary conditions in the longitudinal direction. For latitudes, the previous approach (backward and forward second order finite difference schemes) is used at the borders. In the current version, they are able to work using 3D (Z,lat,lon) and 4D (time,Z,lat,lon) fields arranged according to COARDS conventions, not just 2D fields, like in PyClimate 1.0. This allows to compute the operation for all the records in a data set (if it fits into memory) or for all the levels in a record. 4) A new module 'writedat.py' provides simple functions to write arrays in a way that can be directly inverted by readdat.py. 5) Easier interface for the routines which compute EOFs and the SVD decomposition of coupled fields. The input data sets can be arbitrarily shaped, with the only precondition that the leading axis is the time dimension. The fields are automatically reshaped inside the routines before returning. Similarly, the eigenvectors and singular vectors are automatically reshaped to the original shape before returning to the caller. Some simple functions added to these modules (svd and svdeofs). 6) New versions of the manual and the tests cover the previously described changes. 7) We have slowly started to provide __doc__ strings to SOME (very few, yet) of the routines. 8) New function create_bare_COARDS() to create the bare minimum of a COARDS compliante netCDF file in ncstruct.py Jon Saenz and Jesus Fernandez, April 2001.