#!/home/aimsds/utils/perl64/bin/perl -I/home/aimsds/utils/site_perl/lib -I/home/aimpro/utils/perl64/site/lib

use File::Basename;

my $processing = 1;
my $dirlist = "";
my @released_orbits;
my $local_pan_dir = "/aim/pdc/processed_pans";
my $test = "$local_pan_dir/cips_sci_3a_20??-???_v05.?0_r01.png.pan";	# Don't forget to change the version/revision #
my $vetted_info_filename = '/aim/pdc/cips_vetted_files_info_l3.txt';
my $start_date = 2016123;

sub processed($@)
{
	my ($orbit, @search_array ) = @_;
	my $num_records = scalar( @search_array );
	for( $loc = 0; $loc < $num_records; $loc++ )
	{
		if( $orbit == $search_array[$loc] )
		{
			return( 1 );
		}
	}
	
	return( -1 );
}

open( my $FH, '<', $vetted_info_filename)  || die "Cannot open $vetted_info_filename" ;
while (my $row = <$FH>) {
    chomp $row;
    if ($row > $start_date)
    {
        push @released_orbits, $row;
        print "$row\n";
    }
}
close( $FH );

#########################################
# Get a list of all PROCESSED PAN files
#########################################
while( defined( $dirlist = glob($test) ))
{
	my ($name, $path, $suffix) = fileparse( $dirlist );
	
	my @file_parts = split /[_-]/, $name;
	my $yeardoy = (int( $file_parts[3]) * 1000 ) + int( $file_parts[4]);
	
	my $processed = processed( $yeardoy, @processed_orbits );
	if( $processed != 1 && $yeardoy > $start_date )
	{
		push @processed_orbits, $yeardoy;
		print "Adding $yeardoy\n";
	}
}
print "Found ", scalar( @processed_orbits ), " PANS\n";
#########################################
# Sort the arrays
#########################################
@released_orbits = sort {lc $a cmp lc $b} @released_orbits;
my @processed_orbits = sort {lc $a cmp lc $b} @processed_orbits;
# We now have all the info we need to generate the missing PANS
my $num_released = scalar( @released_orbits );
print "Processing $num_released orbits\n";
for( $i = 0; $i < $num_released; $i++ )
{
	my $sent = processed( $released_orbits[$i], @processed_orbits );
	if( $sent != 1 )
	{
		print "PANS for orbit $released_orbits[$i] has not been sent\n";
		my $command = "ssh aimpro\@aimcips2 \'idl -e \"create_l2_pans, $released_orbits[$i], /YD\"\'";
		print "$command\n";
		my $retval = `$command`;

		$command = "ssh aimpro\@aimcips2 \'idl -e \"create_l3_pans, $released_orbits[$i], /YD\"\'";
		print "$command\n";
		$retval = `$command`;

		$command = "ssh aimpro\@aimcips2 \'idl -e \"level_3c_summary_indexer, $released_orbits[$i], /YD\"\'";
		print "$command\n";
		$retval = `$command`;
	}
}

SENDPANS:
print("Released: $released_orbits[0]\n");
print("Processed: $processed_orbits[0]\n");

$local_pan_dir = "/aim/pdc/pans_pending_resp";
opendir (DIR, $local_pan_dir) or die "Cannot open directory: $!";
my @files = readdir(DIR);
my @pans = ();
foreach (@files)
{
    if ($_ =~ /.+\.pan$/)
    {
        print("$_\n");
        push @pans, $_
    }
}
my $pan_count = scalar @pans;
if ($pan_count == 0)
{
	print("No new pan files were created\n");
	exit;
}


$test = "$local_pan_dir/*.pan";
print(  "scp $test aim_cips\@aim.hamptonu.edu:/mnt/home/aim_cips/pans/pans_pending_resp/\n" );
system( "scp $test aim_cips\@aim.hamptonu.edu:/mnt/home/aim_cips/pans/pans_pending_resp/" );
system( "mv -f $test /aim/pdc/processed_pans/" );

# Run send_pans_from_hampton.pl on hampton's ssh site
system( "ssh aim_cips\@aim.hamptonu.edu /usr/bin/perl /mnt/home/aim_cips/send_pans_from_hampton.pl" );
