odf_fcns.py 1.82 KB
########################################################
# Defintion des fonctions utilisees par odf2txt.py
#
# James Caveen : juillet 2006
#
# Fonctions ecrites a partir du programme odf2txt de C. Lafleur (IML)
########################################################
import math

#------------------------------------------------
# Calcul de la profondeur (metres) a partir  de la pression (db)
#------------------------------------------------

def pres2depth(pin,lat):
      c = [9.72659e0, -2.2512e-5, 2.279e-10, -1.82e-15]
      
      gammap = 2.184e-6 

      p = pin

      slat = math.sin( lat/57.29578 )
      slat2 = slat*slat

      g = 9.780318*( 1. + 5.2788e-3*slat2 + 2.36e-5*slat2*slat2)

      tmp1 = ( ( ( c[3]  *p + c[2] )*p + c[1] )*p + c[0] )*p

      tmp2 = g + .5*gammap*p

      return tmp1/tmp2


#------------------------------------------------
# Calcul de la pression (db)  a partir de la profondeur (metres) 
#------------------------------------------------


def depth2pres(din,lat):
 
      c = [5.92e-3, 5.25e-3, 8.84e-6, 4.42e-6]
      slat = math.sin( lat/57.29578 )
      slat2 = slat*slat
      c1 = c[0]  + slat2*c[1]
      return ((1-c1)-math.sqrt(((1-c1)**2) - (c[2]*din)))/c[3]



def usage():

      print "Usage: "
      print "odf2csv -i ficin -o ficout [-m interval | -a ]  [-d] [-e ]"
      print " ou:"
      print "odf2csv --input ficin --output ficout [--mean interval | --all] [--error] [--doubtfull]"
      print ""
      print "ficin : fichier entree (input file)"
      print "ficout: fichier sortie (output file"
      print "interval : intervale de profondeurs pour donnees moyennees"
      print "             (depth interval for mean data)"
      print "-d :  eliminer donnees douteuses (discard data flaged as doubtfull)"
      print "-e :  eliminer donnees erronnees (discard data flaged as erroneous)"