IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 28154


Ignore:
Timestamp:
May 28, 2010, 8:26:37 AM (16 years ago)
Author:
eugene
Message:

staticsky tools, tasks, and script all working at the basic level

Location:
trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippScripts/scripts/staticsky.pl

    r28096 r28154  
    3838}
    3939
    40 my ($sky_id, $camera, $dbname, $threads, $outroot, $reduction, $inverse, $run_state, $verbose, $no_update, $no_op, $redirect, $save_temps);
     40# XXX test:
     41print "run staticsky.pl @ARGV\n";
     42# exit 0;
     43
     44my ($sky_id, $camera, $dbname, $threads, $outroot, $reduction, $verbose, $no_update, $no_op, $redirect, $save_temps);
    4145GetOptions(
    4246    'sky_id=s'          => \$sky_id, # Diff identifier
     
    4448    'dbname|d=s'        => \$dbname, # Database name
    4549    'threads=s'         => \$threads,   # Number of threads to use
    46     'run-state=s'       => \$run_state,   # state for run: 'new' or 'update'
    4750    'outroot=s'         => \$outroot, # Output root name
    4851    'reduction=s'       => \$reduction, # Reduction class
     
    5659pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;
    5760pod2usage(
    58     -msg => "Required options: --sky_id --outroot --camera (--run_state)",
     61    -msg => "Required options: --sky_id --outroot --camera",
    5962    -exitval => 3,
    6063          ) unless
     
    6265    defined $outroot and
    6366    defined $camera;
    64 #   and defined $run_state;
    6567
    6668my $ipprc = PS::IPP::Config->new( $camera ) or my_die( "Unable to set up", $sky_id, $PS_EXIT_CONFIG_ERROR ); # IPP configuration
    6769
    6870my $logDest = $ipprc->filename("LOG.EXP", $outroot);
    69 # $logDest .= ".update" if $run_state eq "update";
    7071$ipprc->redirect_output($logDest) or my_die( "Unable to redirect output", $sky_id, $PS_EXIT_SYS_ERROR ) if $redirect;
    7172
     
    8586    unless ($success) {
    8687        $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
    87         &my_die("Unable to perform difftool -inputskyfile: $error_code", $sky_id, $error_code);
     88        &my_die("Unable to perform staticskytool -inputs: $error_code", $sky_id, $error_code);
    8889    }
    8990
     
    152153print "recipe_psphot: $recipe_psphot\n";
    153154
    154 my $cmdflags;
    155 
    156 # Perform subtraction
     155# my $cmdflags;
     156
     157# Perform stack photometry analysis
    157158{
    158159    my $command = "$psphotStack $outroot";
     
    167168
    168169    unless ($no_op) {
    169         my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
    170             run(command => $command, verbose => $verbose);
    171         unless ($success) {
    172             $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
    173             &my_die("Unable to perform ppSub: $error_code", $sky_id, $error_code);
    174         }
     170        my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = run(command => $command, verbose => $verbose);
     171        unless ($success) {
     172            $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
     173            &my_die("Unable to perform psphotStack: $error_code", $sky_id, $error_code);
     174        }
    175175
    176176        # my $outputStatsReal = $ipprc->file_resolve($outputStats);
     
    190190        # chomp $cmdflags;
    191191
    192         my ($quality) = $cmdflags =~ /-quality (\d+)/; # Quality flag
    193 
     192        # my ($quality) = $cmdflags =~ /-quality (\d+)/; # Quality flag
     193
     194        my $quality = 0;
    194195        if (!$quality) {
    195196
     
    197198            # we have one set of output files per input file set
    198199            for (my $i = 0; $i < @$files; $i++) {
    199                 my $outputName     = $ipprc->filename("PSPHOT.STACK.OUTPUT.IMAGE", $outroot);
    200                 my $outputMask     = $ipprc->filename("PSPHOT.STACK.OUTPUT.MASK", $outroot);
    201                 my $outputVariance = $ipprc->filename("PSPHOT.STACK.OUTPUT.VARIANCE", $outroot);
    202                 my $outputSources  = $ipprc->filename("PSPHOT.STACK.OUTPUT", $outroot);
     200                my $outputName     = $ipprc->filename("PSPHOT.STACK.OUTPUT.IMAGE", $outroot, $i);
     201                my $outputMask     = $ipprc->filename("PSPHOT.STACK.OUTPUT.MASK", $outroot, $i);
     202                my $outputVariance = $ipprc->filename("PSPHOT.STACK.OUTPUT.VARIANCE", $outroot, $i);
     203                my $outputSources  = $ipprc->filename("PSPHOT.STACK.OUTPUT", $outroot, $i);
    203204
    204205                &my_die("Couldn't find expected output file: $outputName", $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputName);
     
    211212            #my $outputStats    = $ipprc->filename("SKYCELL.STATS", $outroot);
    212213            #my $traceDest      = $ipprc->filename("TRACE.EXP", $outroot);
    213 
    214             # if ($run_state eq 'update') {
    215             #   $traceDest .= '.update';
    216             #   $outputStats .= '.update';
    217             # }
    218214
    219215            my $chisqName     = $ipprc->filename("PSPHOT.CHISQ.IMAGE", $outroot);
     
    235231    {
    236232        my $command = "$staticskytool -sky_id $sky_id";
    237         # if ($run_state eq 'new') {
    238233        $command .= " -addresult -path_base $outroot";
    239234        $command .= " -num_inputs $nInputs";
    240         $command .= " $cmdflags";
     235        # $command .= " $cmdflags";
    241236        $command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400));
    242237        $command .= " -hostname $host" if defined $host;
    243         # } else {
    244         #     $command .= " -tofullskyfile";
    245         # }
    246238        $command .= " -dbname $dbname" if defined $dbname;
    247239
     
    250242        unless ($success) {
    251243            $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
    252             my $err_message = $run_state eq "update" ?
    253                 "Unable to perform difftool -adddiffskyfile" :
    254                 "Unable to perform difftool -tofullskyfile";
    255             &my_die("$err_message: $error_code", $sky_id, $error_code);
     244            my $err_message = "Unable to perform staticskytool -addresult";
     245            warn($err_message);
     246            exit $error_code;
    256247        }
    257248    }
     
    270261    if (defined $sky_id and not $no_update) {
    271262        my $command = "$staticskytool -sky_id $sky_id -fault $exit_code";
    272         if ($run_state eq 'new') {
    273             $command .= " -adddiffskyfile";
    274             $command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400));
    275             $command .= " -hostname $host" if defined $host;
    276             $command .= " -path_base $outroot" if defined $outroot;
    277             $command .= " -dbname $dbname" if defined $dbname;
    278         } else {
    279             $command .= " -updatediffskyfile";
    280         }
     263        $command .= " -addresult";
     264        $command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400));
     265        $command .= " -hostname $host" if defined $host;
     266        $command .= " -path_base $outroot" if defined $outroot;
     267        $command .= " -dbname $dbname" if defined $dbname;
    281268        run(command => $command, verbose => $verbose);
    282269    }
  • trunk/ippTasks/Makefile.am

    r27149 r28154  
    2020        diff.pro \
    2121        stack.pro \
     22        staticsky.pro \
    2223        summit.copy.pro \
    2324        survey.pro \
  • trunk/ippTools/share/Makefile.am

    r28091 r28154  
    294294     staticskytool_todo.sql \
    295295     staticskytool_result.sql \
     296     staticskytool_revert.sql \
    296297     warptool_change_skyfile_data_state.sql \
    297298     warptool_change_run_state.sql \
  • trunk/ippTools/share/staticskytool_todo.sql

    r28091 r28154  
    44    staticskyRun.reduction,
    55    staticskyRun.label,
    6     staticskyRun.state
     6    staticskyRun.state,
     7    stackRun.tess_id,
     8    stackRun.skycell_id
    79FROM staticskyRun
    810JOIN staticskyInput USING (sky_id)
  • trunk/ippTools/src

    • Property svn:ignore
      •  

        old new  
        3838stamp-h1
        3939warptool
        40 
         40staticskytool
  • trunk/ippTools/src/staticskytool.c

    r28096 r28154  
    4242static bool importrunMode(pxConfig *config);
    4343
     44static bool setstaticskyRunState(pxConfig *config, psS64 sky_id, const char *state);
     45
    4446# define MODECASE(caseName, func) \
    4547    case caseName: \
     
    129131    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    130132    PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
     133    PXOPT_LOOKUP_BOOL(check_inputs, config->args, "-check_inputs", false);
    131134
    132135    psString select = pxDataGet("staticskytool_definebyquery_select.sql");
     
    255258            psWarning("staticskytool ERROR: no rows found for known tess_id, skycell_id?");
    256259            continue;
     260        }
     261
     262        if (check_inputs) {
     263          // negative simple so the default is true
     264          if (!ippdbPrintMetadatas(stdout, inputs, "staticskyInput", !simple)) {
     265            psError(PS_ERR_UNKNOWN, false, "failed to print array");
     266            psFree(output);
     267            psFree(where);
     268            return false;
     269          }
     270          psFree(inputs);
     271          continue;
    257272        }
    258273
     
    550565    }
    551566
     567    if (!fault) {
     568        if (!setstaticskyRunState(config, sky_id, "full")) {
     569            if (!psDBRollback(config->dbh)) {
     570                psError(PS_ERR_UNKNOWN, false, "database error");
     571            }
     572            psError(PS_ERR_UNKNOWN, false, "failed to change staticskyRun state");
     573            return false;
     574        }
     575    }
     576
    552577    // point of no return
    553578    if (!psDBCommit(config->dbh)) {
     
    643668    PS_ASSERT_PTR_NON_NULL(config, false);
    644669
    645 # if (0)
    646670    psMetadata *where = psMetadataAlloc();
    647     PXOPT_COPY_S64(config->args, where, "-stack_id", "stackSumSkyfile.stack_id", "==");
    648     pxAddLabelSearchArgs(config, where, "-label", "stackRun.label", "==");
    649     PXOPT_COPY_S16(config->args, where, "-fault", "stackSumSkyfile.fault", "==");
     671    PXOPT_COPY_S64(config->args, where, "-sky_id", "staticskyResult.sky_id", "==");
     672    pxAddLabelSearchArgs(config, where, "-label", "staticskyRun.label", "==");
     673    PXOPT_COPY_S16(config->args, where, "-fault", "staticskyResult.fault", "==");
    650674
    651675    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
     
    656680
    657681    // Delete product
    658     psString delete = pxDataGet("staticskytool_revertsumskyfile_delete.sql");
     682    psString delete = pxDataGet("staticskytool_revert.sql");
    659683    if (!delete) {
    660684        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     
    680704
    681705    psFree(where);
    682 # endif
    683 
    684706    return true;
    685707}
    686708
    687 # if (0)
    688 static bool updateresultState(pxConfig *config)
    689 {
    690     // check that state is a valid string value
    691     if (!pxIsValidState(state)) {
    692         psError(PS_ERR_UNKNOWN, false, "invalid stackRun state: %s", state);
    693         return false;
    694     }
    695 
    696     char *query = "UPDATE stackRun SET state = '%s' WHERE stack_id = %"PRId64;
    697     if (!p_psDBRunQueryF(config->dbh, query, state, stack_id)) {
    698         psError(PS_ERR_UNKNOWN, false,
    699                 "failed to change state for stack_id %"PRId64, stack_id);
    700         return false;
    701     }
    702     return true;
    703 }
    704 # endif
    705 
    706709static bool updateresult(pxConfig *config)
    707710{
    708711    PS_ASSERT_PTR_NON_NULL(config, false);
    709712
    710 # if (0)
    711713    PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false);
    712714
    713715    psMetadata *where = psMetadataAlloc();
    714     PXOPT_COPY_S64(config->args, where, "-stack_id",   "stack_id",   "==");
    715 
    716     if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault)) {
     716    PXOPT_COPY_S64(config->args, where, "-sky_id",   "sky_id",   "==");
     717
     718    if (!pxSetFaultCode(config->dbh, "staticskyResult", where, fault)) {
    717719        psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
    718720        psFree (where);
     
    720722    }
    721723    psFree (where);
    722 
    723 # endif
    724724    return true;
    725725}
     
    898898# endif
    899899  return true;
     900}
     901
     902static bool setstaticskyRunState(pxConfig *config, psS64 sky_id, const char *state)
     903{
     904    PS_ASSERT_PTR_NON_NULL(state, false);
     905
     906    // check that state is a valid string value
     907    if (!pxIsValidState(state)) {
     908        psError(PS_ERR_UNKNOWN, false, "invalid staticskyRun state: %s", state);
     909        return false;
     910    }
     911
     912    char *query = "UPDATE staticskyRun SET state = '%s' WHERE sky_id = %"PRId64;
     913    if (!p_psDBRunQueryF(config->dbh, query, state, sky_id)) {
     914        psError(PS_ERR_UNKNOWN, false, "failed to change state for sky_id %"PRId64, sky_id);
     915        return false;
     916    }
     917    return true;
     918
    900919}
    901920
  • trunk/ippTools/src/staticskytoolConfig.c

    r28096 r28154  
    6161    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-set_registered", 0, "time detrend run was registered", now);
    6262    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",  0, "do not actually modify the database", false);
     63    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-check_inputs",  0, "list inputs, do not modify database", false);
    6364    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false);
    6465
Note: See TracChangeset for help on using the changeset viewer.