units (version 1.9, 2005/11/10)
index
/Users/schwehr/projects/xcore/src/pmag-kds-py/units.py

Magnetic and paleomagnetic unit conversions and constants
 
SEE ALSO: Lisa Tauxe's 2005 Paleomagnetic Lectures, Ch 1, P 9
 
http://earthref.org/MAGIC/books/Tauxe/2005/
 
     Copyright (C) 2005  Kurt Schwehr
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
$Id: units.py,v 1.9 2005/11/10 21:39:47 schwehr Exp $

 
Modules
       
math
unittest

 
Classes
       
unittest.TestCase(__builtin__.object)
testconversions

 
class testconversions(unittest.TestCase)
    FIX: would be good to have some better tests with know conversions!
 
 
Method resolution order:
testconversions
unittest.TestCase
__builtin__.object

Methods defined here:
test_B(self)
Check B_si2cgs and B_cgs2si
test_H(self)
Check H_si2cgs and H_cgs2si
test_Hyst1(self)
Hysteresis slope to high field susceptability
test_m(self)
Check m_si2cgs and m_cgs2si

Methods inherited from unittest.TestCase:
__call__(self, *args, **kwds)
__init__(self, methodName='runTest')
Create an instance of the class that will use the named test
method when executed. Raises a ValueError if the instance does
not have a method with the specified name.
__repr__(self)
__str__(self)
assertAlmostEqual = failUnlessAlmostEqual(self, first, second, places=7, msg=None)
Fail if the two objects are unequal as determined by their
difference rounded to the given number of decimal places
(default 7) and comparing to zero.
 
Note that decimal places (from zero) are usually not the same
as significant digits (measured from the most signficant digit).
assertAlmostEquals = failUnlessAlmostEqual(self, first, second, places=7, msg=None)
Fail if the two objects are unequal as determined by their
difference rounded to the given number of decimal places
(default 7) and comparing to zero.
 
Note that decimal places (from zero) are usually not the same
as significant digits (measured from the most signficant digit).
assertEqual = failUnlessEqual(self, first, second, msg=None)
Fail if the two objects are unequal as determined by the '=='
operator.
assertEquals = failUnlessEqual(self, first, second, msg=None)
Fail if the two objects are unequal as determined by the '=='
operator.
assertFalse = failIf(self, expr, msg=None)
Fail the test if the expression is true.
assertNotAlmostEqual = failIfAlmostEqual(self, first, second, places=7, msg=None)
Fail if the two objects are equal as determined by their
difference rounded to the given number of decimal places
(default 7) and comparing to zero.
 
Note that decimal places (from zero) are usually not the same
as significant digits (measured from the most signficant digit).
assertNotAlmostEquals = failIfAlmostEqual(self, first, second, places=7, msg=None)
Fail if the two objects are equal as determined by their
difference rounded to the given number of decimal places
(default 7) and comparing to zero.
 
Note that decimal places (from zero) are usually not the same
as significant digits (measured from the most signficant digit).
assertNotEqual = failIfEqual(self, first, second, msg=None)
Fail if the two objects are equal as determined by the '=='
operator.
assertNotEquals = failIfEqual(self, first, second, msg=None)
Fail if the two objects are equal as determined by the '=='
operator.
assertRaises = failUnlessRaises(self, excClass, callableObj, *args, **kwargs)
Fail unless an exception of class excClass is thrown
by callableObj when invoked with arguments args and keyword
arguments kwargs. If a different type of exception is
thrown, it will not be caught, and the test case will be
deemed to have suffered an error, exactly as for an
unexpected exception.
assertTrue = failUnless(self, expr, msg=None)
Fail the test unless the expression is true.
assert_ = failUnless(self, expr, msg=None)
Fail the test unless the expression is true.
countTestCases(self)
debug(self)
Run the test without collecting errors in a TestResult
defaultTestResult(self)
fail(self, msg=None)
Fail immediately, with the given message.
failIf(self, expr, msg=None)
Fail the test if the expression is true.
failIfAlmostEqual(self, first, second, places=7, msg=None)
Fail if the two objects are equal as determined by their
difference rounded to the given number of decimal places
(default 7) and comparing to zero.
 
Note that decimal places (from zero) are usually not the same
as significant digits (measured from the most signficant digit).
failIfEqual(self, first, second, msg=None)
Fail if the two objects are equal as determined by the '=='
operator.
failUnless(self, expr, msg=None)
Fail the test unless the expression is true.
failUnlessAlmostEqual(self, first, second, places=7, msg=None)
Fail if the two objects are unequal as determined by their
difference rounded to the given number of decimal places
(default 7) and comparing to zero.
 
Note that decimal places (from zero) are usually not the same
as significant digits (measured from the most signficant digit).
failUnlessEqual(self, first, second, msg=None)
Fail if the two objects are unequal as determined by the '=='
operator.
failUnlessRaises(self, excClass, callableObj, *args, **kwargs)
Fail unless an exception of class excClass is thrown
by callableObj when invoked with arguments args and keyword
arguments kwargs. If a different type of exception is
thrown, it will not be caught, and the test case will be
deemed to have suffered an error, exactly as for an
unexpected exception.
id(self)
run(self, result=None)
setUp(self)
Hook method for setting up the test fixture before exercising it.
shortDescription(self)
Returns a one-line description of the test, or None if no
description has been provided.
 
The default implementation of this method returns the first line of
the specified test method's docstring.
tearDown(self)
Hook method for deconstructing the test fixture after testing it.

Data and other attributes inherited from unittest.TestCase:
__dict__ = <dictproxy object>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'TestCase' objects>
list of weak references to the object (if defined)
failureException = <class exceptions.AssertionError>
Assertion failed.

 
Functions
       
B_cgs2si(cgs)
Magnetic Induction (B) from Gauss to T
B_si2cgs(si)
Magnetic Induction (B) from T to Gauss
H_cgs2si(cgs)
Magnetic field (H) from Oersted (oe) to A/m
H_si2cgs(si)
Magnetic field (H) from A/m to Oersted (oe)
Oe2T(Oe)
Convert Oersteds to Teslas... FIX: reference?
T2Oe(T)
Convert  Teslas to Oersteds... FIX: reference?
agfmS_2_volChiHiSI(slopeAm2perT, massKg, densityKg_m3=1500)
SI slope from AGFM to SI susceptibility normalized by volume
 
A/(m*T) to SI volume normalized
deg2rad(degrees)
emuPerOe_2_SIslope(emuPerOe)
Convert the CGS slope of emu/Oe (e.g. from 2900 AGFM) to SI slope (Am^2 / T)
 
Hysteresis
emuPerOe_2_volChiSI(emuPerOe, massGrams, densityKg_m3=1500)
Convert slope from AGFM in emu/Oe, mass, and density to a volume normalized High Field Susceptability (in SI)
 
emuPerOe - slope from the Model 2900 AGFM (cgs units)
massGrams - weight of the sample
densityKg_m3 - density in kg/m^3
 
returns - volume normalized 
 
FIX: validate what that 8.33e5 is
incFromLat(latitudeDegrees)
Assumes a geocentric axial dipole (GAD), what should the inclination be for a latitude?
 
2-7 in Tauxe 2005 lectures
tan I = Bv/Bn = 2 cot theta = 2 tan lambda
I = inclination
lambda = latitude
m_cgs2si(cgs)
Magnetic moment (m) from emu to Am^2
m_si2cgs(si)
Magnetic moment (m) from Am^2 to emu
rad2deg(radians)

 
Data
        ALWAYS = 0
BOMBASTIC = 4
TERSE = 1
TRACE = 2
VERBOSE = 3
__author__ = 'Kurt Schwehr'
__date__ = '2005/11/10'
__version__ = '1.9'
mu0_cgs = 1
mu0_si = 125663706.14359173
pi = 3.1415926535897931
u0_cgs = 1
u0_si = 125663706.14359173

 
Author
        Kurt Schwehr