#!/usr/local/bin/perl

# *** Programm zum Auswerten von AZM-Messungen ***

sub read_lengths {
  open (L_DATA, "zm.dat");
  for ($i=-3; $i<$day; $i++) { <L_DATA>; }
  chomp($l1 = <L_DATA>);
  #print "l1= \'$l1\'\n";
  @ll1 = split " ",$l1;
  #print '@ll1[',$mon,']= ',$ll1[$mon], "\n";
  $l1 = $ll1[$mon];
  #print "l1= $l1\n";
  chomp($l2 = <L_DATA>);
  #print "l2= \'$l2\'\n";
  @ll2 = split " ",$l2;
  #print '@ll2[',$mon,']= ',$ll12[$mon], "\n";
  $l2 = $ll2[$mon];
  #print "l2= $l2\n";
  close L_DATA;
  print "\nl1 = ", $l1, "\n";
  print "l2 = ", $l2, "\n";
}

sub comp_dt {
  return (($h + ($m / 60)) / 24);
}

sub comp_l {
  return (((( ($l2<$l1 ? $l2 : $l2-360) - $l1) * $dt) + $l1) + $azm);
}
 
($day, $mon, $h, $m, $azm, $b) = split " ", $ARGV[0];
#print "M = ", $mon, "\n";
#print "d = ", $day, "\n";
#print "h = ", $h, "\n";
#print "m = ", $m, "\n";
#print "AZM = ", $azm, "\n";
#print "B = ", $b, "\n\n";

&read_lengths;
$dt = &comp_dt;
#print "dt = ", $dt, "\n";
$l = &comp_l;
if ( $l <    0 ) { $l += 360; }
if ( $l >= 360 ) { $l -= 360; }
#print "l = ", $l, "\n";

print "\n";

$date = $day.'.'.$mon.'.';
$time = $h.':'.$m;
write;


# Ein Format - Test

format STDOUT_TOP =
Datum   Zeit      ZvT     AZM     L       B
.
format STDOUT =
@>>>>   @>>>>   @>>>>>  @>>>>>  @>>>>> @>>>>
$date   $time   $dt     $azm    $l     $b
.
