#!/usr/bin/perl -w

use Getopt::Long;
use Astro::Time;

use strict;

my $year = 1900 + (localtime)[5];

GetOptions('year'=>\$year);

my @LBA = ('Ho', 'Hh', 'Yg', 'Ww', 'Ke');

sub lba_stations(@) {
  my @stations = ();
  foreach (@_) {
    foreach my $a (@LBA) {
      if (uc($_) eq uc($a)) {
	push @stations, $_;
	last;
      }
    }
  }
  return @stations;
}


while (<>) {
  if (/\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|([^|]+)\|/) {
    
    my $dayno = $4;
    my $start = $5;
    my $dur = $6;
    my $stations = $7;
    $stations =~ s/\s*-.*//;  # Stations which did not participate?
    my @stations = ( $stations =~ m/../g );
    my $lba_stations = join('', lba_stations(@stations));

    next if ($lba_stations eq '');

    $start = str2turn("${start}:00",'H');


    

    my $mjd_start = dayno2mjd($dayno, $year, $start);
    my $mjd_end = $mjd_start + $dur/24.0;

    my ($dayno_start, $year_start, $ut_start) = mjd2dayno($mjd_start);
    my ($dayno_end, $year_end, $ut_end) = mjd2dayno($mjd_end);

    my ($sign, $hh, $mm, $ss) = time2hms($ut_start, 'H', 0);
    my $start_time = sprintf("%02d%02d", $hh, $mm);
    ($sign, $hh, $mm, $ss) = time2hms($ut_end, 'H', 0);
    my $end_time = sprintf("%02d%02d", $hh, $mm);

    printf("No_%-8s %03d $start_time %03d $end_time\n", $lba_stations, $dayno_start, $dayno_end);
    
  } else {
    #print "DEBUG: Skipping $_";
  }
}
