water
index
/Users/schwehr/projects/xcore/doc/BPSIO-04/work/water.py

Do analysis for weight percent water.
 
Fit exponentials to the data.  Then detrend and show residuals.  This
used to be done in fit-water.gp, but there is no point in doing that
since I need to be able to do more than just plot the exp curve.  I
need to be able to difference the curve and data.
 
$Id: water.py,v 1.8 2005/05/20 14:22:51 schwehr Exp $
 
COPYRIGHT:
 
    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

 
Modules
       
Gnuplot
LinearAlgebra
LinearAlgebra
Numeric
ams
bpsio
os
sqlite
string
sys

 
Functions
       
degreeAnisotropy(db_cx, corenum)
Return a list of sample depth and degree anisotropy as defined by
L. Tauxe here:
 
http://magician.ucsd.edu/sio247/lectures/pdfs/lecture13.pdf, Page 20
 
Anisotropy Degree (Nagata, 1961)  P = Tau_1/Tau_3
detrend(func, params, data)
detrend_core_water(db_cx, corenum, depthRange=None, params=None)
Make a detrended weight % water dataset for a core
 
Arguments
 
db_cx - sqlite database connection
corenum - which core to work on
depthRange - if set, restrict the fit to a subset.  Depth in cm.  e.g.
            [30,101]
            FIX: does not do anything!
params - Set this is you have a specific fit to the data
 
returns params,data_detrended
f(param, t)
f_exp4(params, x)
gnuplotAllFits()
Write out a gnuplot file for fits to all cores
main()
##################################################
percentAnisotropy(db_cx, corenum)
Return a list of sample depth and percent anisotropy as defined by
L. Tauxe here:
 
http://magician.ucsd.edu/sio247/lectures/pdfs/lecture13.pdf, Page 20
 
% Anisotropy (Tauxe et al., 1990)  %h = 100(Tau_1 - Tau_3)
subsetList(list, min, max)
return a subregion of a list of (x,y) pairs based on the x range
 
>>> subsetList([(1,11),(2,22),(12,1212),(15,1515),(21,2121),(30,3030)], 10,20)
[(12, 1212), (15, 1515)]
waterFitGnuplotParam(db_cx, corenum, depthRange=None)
print out the info for making a gnuplot file for water wgt % curves
 
assumes that you already have the data files written to disk

 
Data
        defaultFit = [0.40000000000000002, 0.02, 0.5, 0.40000000000000002]
fitw3 = [0.074698200000000006, 0.0144683, 0.40867500000000001, 0.44624799999999998]
fitw4 = [0.033870299999999999, 0.030640199999999999, 0.969221, 0.39776400000000001]
waterfits = [None, [0.40000000000000002, 0.02, 0.5, 0.40000000000000002], [0.40000000000000002, 0.02, 0.5, 0.40000000000000002], [0.074698200000000006, 0.0144683, 0.40867500000000001, 0.44624799999999998], [0.033870299999999999, 0.030640199999999999, 0.969221, 0.39776400000000001], [0.40000000000000002, 0.02, 0.5, 0.40000000000000002], [0.40000000000000002, 0.02, 0.5, 0.40000000000000002]]