#!/usr/bin/env perl

# $Id: autoEphem 1197 2006-07-28 03:56:47Z fpierfed $
# Auto-generate a script for complete processing of synthetic ephemerides 
# for specified MJD.

sub usage {
    return <<"EOF";
usage: autoSynthDetections DATE
  DATE : mjd of detections to use, integer
EOF
}

foreach my $mjd (@ARGV) {
    die usage() if !$mjd or int($mjd) != $mjd;
}

foreach my $mjd (@ARGV) {
    my $prev = $mjd - 1;
    my $next = $mjd + 1;

    my $vardir = "$ENV{MOPS_HOME}/var";
    die "can't find work directory $vardir" unless -d $vardir;

    my $workdir = "$vardir/$mjd";
    if (!-d $workdir) {
        mkdir $workdir or die "can't create directory $workdir";    # not there, try to create it
    }
    die "not a directory: $workdir" unless -d $workdir;


    open RUN_SCRIPT, ">$workdir/run" or die "can't open $workdir/run for writing";
    print RUN_SCRIPT <<"EOF";
#!/bin/sh

# this file was auto-generated by $0
# generate synthetic detections for MJD $mjd

cd $workdir

# Copy coarse ephem data into tracks file for fieldProximity.  Screen on mag as well.
filterCoarseEphem --limitingMag 25.0 $vardir/coarseEphem/$prev $vardir/coarseEphem/$mjd  $vardir/coarseEphem/$next > coarsetracks

# Write out synthetic observation data in fieldProximity format.
catObservations --date $mjd --radius 2.68 > fields

# Run fieldProximity for associate tracks (objects) with fields.
fieldProximity fieldsfile fields tracksfile coarsetracks method 1 outfile $workdir/fp.out

# Generate synthetic detections and insert into database.
insertFPDetections --fieldSize 7.5 fp.out
EOF

    close RUN_SCRIPT;
}

=pod
filterCoarseEphem --limitingMag 24.75 ../coarseEphem/M-1../coarseEphem/M  ../coarseEphem/M+1 > tracks
catObservations --date M --radius 2.5 > fields
~/MOPS/FieldProximity/FieldProximity fieldsfile fields tracksfile tracks method 1 outfile fp.out
insertFPDetections --radius 1.5 --limiting_mag 24.5 fp.out
=cut
