#!/usr/bin/perl

# Routine to fix the IUE general index table columns

while ($line=<>)
  { chop $line;

    printf "iuecdb_xxxx/";
    printf substr($line,0,42);
    printf "IUE-C-qqq-3-EDR-IUECDB-V1.0 ";
    printf substr($line,54,46);
    printf "qqq ";
    printf substr($line,100,13);

    printf "%6.2f ",fix(substr($line,113,6),0);            # SLIT_POSITION_ANGLE
    printf "%6.2f ",fix(substr($line,120,6),0);            # SOLAR_VECTOR_POS
    printf "%7.1f ",fix(substr($line,127,7),"-9999.9");    # SLIT_OFFSET_ARC
    printf "%3d ",  fix(substr($line,134,3),"-99");        # SLIT_OFFSET_POSITIO
    printf substr($line,138,72);                           # times
    printf "%9.3f ",fix(substr($line,210,10),"-9999.999"); # EXPOSURE_DURATION
    printf "%7.4f ",fix(substr($line,220,7),"-9.9999");    # HELIOCENTRIC_DIS
    printf "%5.1f ",fix(substr($line,227,5),"999.9");      # HELIOCENTRIC_VELO
    printf "%7.4f ",fix(substr($line,233,7),"-9.9999");    # GEOCENTRIC_DIS
    printf "%5.1f ",fix(substr($line,241,5),"999.9");      # GEOCENTRIC_VEL
    printf "%9.3f ",fix(substr($line,247,9),"-9999.999");  # TIME_FROM_PERIHEL
    printf "%5.1f ",fix(substr($line,258,5),"-99.9");      # SOLAR_ELONGATION
    printf "%5.1f ",fix(substr($line,264,5),"-99.9");      # PHASE_ANGLE
    printf "%8.4f ",fix(substr($line,269,8),"-99.9999");   # RIGHT_ASCENSION
    printf "%8.4f",fix(substr($line,279,8),"-99.9999");    # DECLINATION
    printf "\r\n";
  }
    




#------------------------

sub fix
  # Apply the same adjustments to all number fields

  { local ($s,$def) = @_;   # input string and default value

    $s =~ s/ //g;
    $s =~ s/<.*//;

    $s = $def if ($s =~ /UNK/  ||  $s =~ /N\/A/);

    return $s;
  }