libtides.pl
author Andreas Thurnherr <ant@ldeo.columbia.edu>
Mon, 13 Apr 2020 11:06:22 -0400
changeset 40 c1803ae2540f
parent 0 a5233793bf69
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#                    L I B T I D E S . P L 
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    doc: Thu Aug 24 21:37:14 2006
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     4
#                    dlm: Thu Apr 26 10:22:53 2012
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     5
#                    (c) 2006 A.M. Thurnherr
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     6
#                    uE-Info: 17 0 NIL 0 0 72 2 2 4 NIL ofnI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     7
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     8
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     9
# tidal calculations
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    11
# HISTORY:
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
#   Aug 24, 2006: - created during GRAVILUCK
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
#   Jan 22, 2008: - renamed M2() to M2_bias()
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
#                 - added M2_phase()
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
#   Apr 26, 2012: - added K1 & M2 tidal frequencies
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
#----------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
# tidal frequencies
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
#   - taken from thesis Makefile
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
#   - according to my memory, the values are from Apel's book
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
#----------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
$M2 = 24/1.9322;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
$K1 = 24/1.0027;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
#----------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
# given t0, a decimal day at the beginning of "flood", return a scale
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
# between -1 and 1 that can be multiplied with the max tidal flow amplitude
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    29
# to estimate tidal velocity at time t. 
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    30
#----------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    31
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    32
sub M2_bias(@)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    33
{
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    34
	my($t0,$t) = &antsFunUsage(2,'ff','time-origin, time',@_);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    35
	return sin(2*3.14159265358979 * ($t-$t0) / ($M2/24));
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    36
}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    37
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    38
sub M2_phase(@)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    39
{
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    40
	my($t0,$t) = &antsFunUsage(2,'ff','time-origin, time',@_);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    41
	return round(360 * frac(($t-$t0) / ($M2/24)));
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    42
}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    43
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    44
1;