gemath
ManualThe gemath
package contains methods and function to
conduct some array manipulation, numerical analysis and
mathematical calculations that are commonly encountered in the
atmospheric sciences.
The home page for the package contains the package license, installation and downloading instructions, a complete listing of package contents, help for the modules, and probably all the description and examples most users need to use the package. Most users can ignore this manual you're currently reading.
That being said, this manual describes details of the programming logic behind the package. This information may be useful if you want to add modules, change the source code, etc.
The manual is subdivided into these categories:
The example pages in the documentation
function as unit tests, particularly of applications of
gemath
functions on multi-dimensional arrays
(e.g. calculating the curl). All (or nearly all) modules, however,
also make use of the doctest
module which executes
all example docstrings in the module. For instance, to check that
the deriv
module passes its docstring unit tests,
in the source code directory at the OS command line just type:
>>> python deriv.py
If there are no problems, you should get back nothing.
There is one major caveat. In the curl_2d
module,
there are docstring examples using algorithms in
function curl_2d
that require
the module sphere
implementation
of the NCAR package SPHEREPACK 3.0; sphere
is a contributed
package of CDAT. The current
version of curl_2d
passes doctest
unit testing
with CDAT 3.3 but not CDAT 4.0. In CDAT 4.0 (or its dependencies),
some changes have been made (at least in the Debian install)
that have altered the results from using sphere
. For
values near zero, the difference can be in all significant digits.
For values away from zero, the difference is generally limited to just
1-2 significant digits. It is possible this is a LAPACK problem, but
I do not know. Because the time it would take to track down this
"error" is prohibitive, I'm just documenting it for reference.
As curl_2d
is currently the only module in
gemath
that uses sphere
, all other
gemath
modules pass doctest
unit testing without difficulty.
[Back up top to the Introduction.]
squeeze
after the CDAT name).[Back up top to the Introduction.]