#!/usr/bin/perl -w
#
use File::Copy;
use Time::Local;

#BEGIN
#  {
#  $ENV{LD_LIBRARY_PATH}="LD_LIBRARY_PATH:/data/starfs1/libs/netcdf-4.2/lib:/data/starfs1/libs/hdf5-1.8.7/lib";
#  }


# This script copies data from multiple GOES ABI granule files into a GDDF

#print " ";
#print "Processing the GOES ABI data";
#print " ";
#system "date";
#print "\n\n";

my $raw_data_dir = "/data/data065/nprovs/data/matchup/DailyFiles_incoming/raw_data/goes_abi_g16";
chdir $raw_data_dir;



#-------------------------------------------------------------------------
# Copy the files for the selected date from SCDR to the incoming directory

printf("\nCopying the data from SCDR...\n\n");


# Temperature full
system "/data/starfs1/bin/scdr-files -t ABI-L2-LVTPF -satid G16 -d yesterday | xargs -L100 -P2 cp -t " . $raw_data_dir;

# Moisture full
system "/data/starfs1/bin/scdr-files -t ABI-L2-LVMPF -satid G16 -d yesterday | xargs -L100 -P2 cp -t " . $raw_data_dir;

# TPW full
system "/data/starfs1/bin/scdr-files -t ABI-L2-TPWF -satid G16 -d yesterday | xargs -L100 -P2 cp -t " . $raw_data_dir;

# Stability full
system "/data/starfs1/bin/scdr-files -t ABI-L2-DSIF -satid G16 -d yesterday | xargs -L100 -P2 cp -t " . $raw_data_dir;

# Cloud top height full
system "/data/starfs1/bin/scdr-files -t ABI-L2-ACHAF -satid G16 -d yesterday | xargs -L100 -P2 cp -t " . $raw_data_dir;

# Cloud top pressure full
system "/data/starfs1/bin/scdr-files -t ABI-L2-CTPF -satid G16 -d yesterday | xargs -L100 -P2 cp -t " . $raw_data_dir;

# Land surface skin temperature full
system "/data/starfs1/bin/scdr-files -t ABI-L2-LSTF -satid G16 -d yesterday | xargs -L100 -P2 cp -t " . $raw_data_dir;



# Build a date string

$data_day = time();
$data_day -= 86400;

($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime($data_day);
$year += 1900;
$mon++;
$sec   = 0;
$min   = 0;
$hour  = 12;
$wday  = 0;
$yday  = 0;
$isdst = 0;

$data_date = ($year * 10000) + ($mon * 100) + $mday;

my $epoch  = timegm(0, 0, 0, $mday, $mon-1, $year-2000);
my $julday = (gmtime($epoch))[7] + 1;

printf("Date to be transferred:  %d  (julian day %d)\n\n", $data_date, $julday);

# Loop through each hour and delete the 10, 20, 40 and 50 minute files
# which should leave only the 00 and 30 files

printf("Removing the 10, 20, 40 and 50 minute files...\n\n");

for ($hour=0; $hour<24; $hour++)
  {
  $string_10 = sprintf("*_s%d%03d%02d10*", $year, $julday, $hour);
  $string_20 = sprintf("*_s%d%03d%02d20*", $year, $julday, $hour);
  $string_40 = sprintf("*_s%d%03d%02d40*", $year, $julday, $hour);
  $string_50 = sprintf("*_s%d%03d%02d50*", $year, $julday, $hour);

#$string_30 = sprintf("*_s%d%03d%02d50*", $year, $julday, $hour);

  system "rm " . $string_10;
  system "rm " . $string_20;
  system "rm " . $string_40;
  system "rm " . $string_50;

#system "rm " . $string_30;
  }  # for ($hour=0...




# end of file
