libGHP.pl
changeset 3 55a8c407d38e
child 46 70e566505a12
equal deleted inserted replaced
2:75410953a4d5 3:55a8c407d38e
       
     1 #======================================================================
       
     2 #                    L I B G H P . P L 
       
     3 #                    doc: Fri Sep  7 09:56:08 2012
       
     4 #                    dlm: Mon Oct 22 13:10:47 2012
       
     5 #                    (c) 2012 A.M. Thurnherr
       
     6 #                    uE-Info: 11 0 NIL 0 0 72 2 2 4 NIL ofnI
       
     7 #======================================================================
       
     8 
       
     9 # HISTORY:
       
    10 #	Sep  7, 2012: - created
       
    11 #	Oct 22, 2012: - cosmetics
       
    12 
       
    13 require "$ANTS/libfuns.pl";		# arccosh
       
    14 require "$ANTS/libGM.pl";		# GM_N0
       
    15 
       
    16 #----------------------------------------------------------------------------
       
    17 # h(R_omega)	correction factor for different shear/strain (R_omega) ratios
       
    18 #	- this version from Kunze et al. (2006)
       
    19 #	- R_omega:
       
    20 #		= (N^2-omega^2)/N^2 (omega^2+f^2)/(omega^2-f^2)	Polzin et al. 1995
       
    21 #		= (omega^2+f^2)/(omega^2-f^2)					Kunze et al. 2006
       
    22 #		- the Kunze et al formulation is presumably an approximation valid for
       
    23 #		  omega<<N
       
    24 #----------------------------------------------------------------------------
       
    25 
       
    26 sub h1($)
       
    27 {
       
    28 	my($R_omega) = @_;
       
    29 	return 3*($R_omega+1) / (2*sqrt(2)*$R_omega*sqrt($R_omega-1));
       
    30 }
       
    31 
       
    32 #----------------------------------------------------------------------------
       
    33 # j(f,N)	correction factor for latitude
       
    34 #	- this version from Kunze et al. (2006)
       
    35 #----------------------------------------------------------------------------
       
    36 
       
    37 sub j(@)
       
    38 {
       
    39 	my($f,$N) = @_;
       
    40 	return 0 if ($f == 0);
       
    41 	$N = $GM_N0 unless defined($N);
       
    42 	my($f30) = &f(30);
       
    43 	return $f*acosh($N/$f) / ($f30*acosh($GM_N0/$f30));
       
    44 }
       
    45 
       
    46 1;