build_db
index
/Users/schwehr/projects/xcore/data/BPSIO-04/build_db.py

######################################################################
# Table list
######################################################################
# CoreLoc   - for each core collected: date, cruise, lat/lon, water depth
# Sections  - track all the sections that a core gets divided into
# AMS       - Basic anisotropy data - depth, K15 Kappabridge and S matrix
# Weights   - How many grams of goo in each cube
# Mag       - Magnetometer data
######################################################################
 
Using sqlite from the command line... super quick tutorial
SAMPLE QUERIES:
sqlite bpsio04.db "select * from ams;"
sqlite bpsio04.db "select s1,s2,s3,s4,s5,s6,sigma from ams where corenum = 1 order by depth;" | tr '|' '        '
sqlite bpsio04.db "select samplename,s1,s2,s3,s4,s5,s6,sigma from ams where depth > 80 and depth < 100 and corenum = 1 order by depth;"
 
sqlite bpsio04.db ".tables"
sqlite bpsio04.db ".schema CoreLog"
 
Next time use mysql.  Importing is way better there...
http://dev.mysql.com/doc/mysql/en/load-data.html
http://dev.mysql.com/doc/mysql/en/mysqlimport.html

 
Modules
       
ams
os
sqlite
string
sys

 
Functions
       
add_odp_msl(db_cx, odpMSLDataFile)
use what janus web returns for MSL susceptibility
build_ams(db_cx, depthLookup, k15fileName)
Parse Jeff Gee's kappa bridge format file
 
# I think people will hate us come to the end of this century since
# we are using only 2 digits for the year.  NICE!
 
# id            - Unique database id.  Has no meaning
# samplename    - The user specified name in the k15 file
# user          - Who did the measuring on the kappabridge
# datemeasured  - Local time that the sample was measured on the KLY-2
# cruise        - The cruise identifier (e.g. bp04 == bpsio-04)
# corenum       - Number of the core for that cruise.  1 is the first core collected.
# coretype      - g == gravity, m == multicore, b == boxcore, p == piston, t == trigger
# corehalf      - w == working, a == archive half
# section       - section 1 is at the top (closest to the water/bottom interface)
# sectionoffset - cm offset down from the top of that section
#                 the number for pmag cubes refers to the top side of the cube
# depth         - Depth below the water/bottom interface in cm
# counts        - This MAY be the average value read by the kappabridge in counts.  No range mult
# sampleholder  - SI value of the sample holder
# k1 .. k15   - The 15 Jelinek positions from kappabridge.  The raw data
# s1 .. s6    - the results from k15_s
# sigma       - AKA s[7] the sigma for the 6 s values
#
######  HEXT SECTION
#
# bulksusc REAL
# F REAL
# F12 REAL
# F23 REAL
# tau1 REAL
# dec1 REAL
# inc1 REAL
# tau2 REAL
# dec2 REAL
# inc2 REAL
# tau3 REAL
# dec3 REAL
# inc3
build_coreloc(db_cx)
build_mag(db_cx, depthLookup, magfileName)
Create the magnetometer data.  nrm, afdemag, etc
build_sections(db_cx)
How long is each section of cores.  Cores are split to fit into D-tubes.
 
Here is what I did for the TTN136B cruise:
<a href="http://schwehr.org/TTN136B/Data/core_liner_lengths.txt">http://schwehr.org/TTN136B/Data/core_liner_lengths.txt</a>
 
id            - SQL unique id number in this table
cruise        - bp04 for BPSIO-04, unique id for the cruise
corenum       - The number of the core in that cruise.  Core "1" is the first core
section       - Which section of the core.  1 is the top at the bottom/water interface.  2 is deeper, etc
sectopdepth   - add this number to sectionoffset to get the actual depth of a sample
                units are cm
sectionlength - How long is this piece of mud in cm.
 
Using the info from core description sheets plus total length from
processCore to calc sections lengths.
build_weights(db_cx, weightsfileName)
help_pysqlite()
Open a web browser on OSX with the pysqlite web page
help_sqlite()
Open a web browser on OSX with the sqlite web page
makeSqlDate(date, time, ampm)
Convert ' 1/3/05  4:33 PM' -> '2005-03-01 16:33:00'