#!/usr/bin/perl -w

#
#  Make starting head files
#  Use annual runs after 2000, V12p7 before.
#
#  Willem A. Schreuder
#  October 9, 2003
#

use strict;
use lib '/pm/grflib/perl';
use GetOpt;

#
#  Check command line arguments
#
my %args = GetOpt('d:l:r:' , d=>undef , l=>4 , r=>8);
(@ARGV==1) || die "Usage: $0 [-d dir] [-r real] [-l len] <year>\n";
my $yr = shift @ARGV;

#  This record length depends on:
#    Record length head and tail (4 bytes)
#    Header record is 36 bytes plus two reals
#    Head data record is 326*165 reals
#  It is assumed that last year's head file contains 12 values,
#  so we skip 11 and copy the last one
my $l = $args{l};
my $r = $args{r};
my $recl=$l+36+2*$r+$l + $l+$r*326*165+$l;

#  Source directory and file root
my $yr0  = $yr-1;
my $dir  = defined($args{d}) ? $args{d} : "../$yr0";
my $root = ($dir =~ /v12p7/) ? '12p' : $yr0;

#  Number of time steps to skip
my $n = ($dir =~ /v12p7/) ? 12*($yr-1918) : 11;

#  Run names
my @run = ($dir =~ /v12p7/) ? ('' , 1 , 2 , 3 , 4) : ('','a','b','c','d');
my @ver = ('','a','b','c','d');

#
#  One each for reference and four impact runs
#
for (my $k=0;$k<@ver;$k++)
{
   my $file = "$dir/$root$run[$k].head";

   my $head;
   open(DAT,"<$file") || die "Cannot open file $file\n";
   binmode(DAT);
   seek(DAT,$n*$recl,0) || die "Cannot seek in file $file\n";
   (read(DAT,$head,$recl)==$recl) || die "Cannot read file $file\n";
   close(DAT);

   open(DAT,">$yr$ver[$k].shead") || die "Cannot open file $yr$ver[$k].shead\n";
   binmode(DAT);
   print DAT $head;
   close(DAT);
}
