IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 40461 for trunk


Ignore:
Timestamp:
Jun 27, 2018, 1:13:56 PM (8 years ago)
Author:
eugene
Message:

improve reporting of failures

File:
1 edited

Legend:

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

    r40444 r40461  
    6464    }
    6565    # print "Reference exp_id: $refExpID\n";
     66}
     67
     68# check the status of summit exposures:
     69if (1) {
     70    if ($verbose) { print "Exposures at summit:\n"; }
     71
     72    $summitSkipped = 0;
     73    $summitPending = 0;
     74
     75#   my $query = "SELECT exp_name, exp_type, fault, state, count(*)";
     76    my $query = "SELECT exp_type, fault, state, count(*)";
     77    $query .= " FROM summitExp";
     78    $query .= " LEFT JOIN pzDownloadExp USING (summit_id)";
     79    $query .= " WHERE dateobs like '$date%'";
     80    $query .= " AND (state != 'drop' or state IS NULL)";
     81    $query .= " AND fault != 1042";
     82    $query .= " GROUP BY exp_type, fault, state";
     83
     84#    print "$query\n";
     85#    die;
     86
     87    my $result = &mysql_select ($query);
     88
     89    if ($verbose) { printf "%8s %15s %6s %4s\n", "exp_type", "fault", "state", "N(exp)"; }
     90    while (@row = $result->fetchrow_array()) {
     91        if ($verbose) { printf "%8s %15s %6s %4d\n", $row[0], $row[1], $row[2], $row[3]; }
     92        if ($row[2] eq "run") {
     93            $summitPending += $row[3];
     94        }
     95        if ($row[2] eq "") {
     96            $summitSkipped += $row[3];
     97        }
     98    }
     99    if ($summitSkipped || $summitPending) { print "*** WARNING: $summitSkipped skipped rawExp, $summitPending incomplete rawExp ***\n\n"; } else { if ($verbose) { print "\n"; }}
     100}
     101
     102# check for exposures not sent to chip:
     103if ($verbose2) {
     104
     105    my $query = "SELECT summitExp.exp_name, exp_type, fault, state";
     106    $query .= " FROM summitExp";
     107    $query .= " LEFT JOIN pzDownloadExp USING (summit_id)";
     108    $query .= " WHERE dateobs like '$date%'";
     109#   $query .= " AND (state != 'drop' or state IS NULL)";
     110    $query .= " AND fault != 1042";
     111    $query .= " AND state IS NULL";
     112
     113    print "$query\n";
     114
     115    my $result = &mysql_select ($query);
     116
     117    $doHeader = 1;
     118    while (@row = $result->fetchrow_array()) {
     119        if ($doHeader) {
     120            print "OBJECT Exposures NOT sent to chipRun:\n";
     121            printf "%11s %15s %14s %14s\n", "exp_name", "exp_type", "fault", "state";
     122            $doHeader = 0;
     123        }
     124        printf "%11s %15s %14s %14s\n", $row[0], $row[1], $row[2], $row[3];
     125    }
     126    if (! $doHeader) { print "\n"; }
    66127}
    67128
     
    263324        # printf "%8s %15s : ", $row[0], $row[1]; # c, count(*)
    264325        if ($row[0] == 1) {
    265             if ($row[1] == 1) { $verb = "chunk has"; } else { $verb = "chunks have"; }
    266             printf "%3d %-11s 1 visit  (visit A       in comments), no WWdiffs\n", $row[1], $verb;
     326            if ($row[1] == 1) { $verb = "quad has"; } else { $verb = "quads have"; }
     327            printf "%3d %-11s 1 visit, no WWdiffs\n", $row[1], $verb;
    267328        } elsif ($row[0] == 2) {
    268             if ($row[1] == 1) { $verb = "chunk has"; } else { $verb = "chunks have"; }
    269             printf "%3d %-11s 2 visits (visit A/B     in comment), expect $row[1] WWdiff(s)\n", $row[1], $verb;
     329            if ($row[1] == 1) { $verb = "quad has"; } else { $verb = "quads have"; }
     330            printf "%3d %-11s 2 visits, expect $row[1] WWdiff(s)\n", $row[1], $verb;
    270331            $diffExpect += $row[1];
    271332        } elsif ($row[0] == 3) {
    272             if ($row[1] == 1) { $verb = "chunk has"; } else { $verb = "chunks have"; }
    273             printf "%3d %-11s 3 visits (visit A/B/C   in comment), expect 2 * %d = %d WWdiffs\n", $row[1], $verb,  $row[1],  2 * $row[1];
     333            if ($row[1] == 1) { $verb = "quad has"; } else { $verb = "quads have"; }
     334            printf "%3d %-11s 3 visits, expect %d WWdiffs (2 per quad)\n", $row[1], $verb,  2 * $row[1];
    274335            $diffExpect += $row[1]*2;
    275336        } elsif ($row[0] == 4) {
    276             if ($row[1] == 1) { $verb = "chunk has"; } else { $verb = "chunks have"; }
    277             printf "%3d %-11s 4 visits (visit A/B/C/D in comment), expect 2 * %d = %d WWdiffs\n", $row[1], $verb,  $row[1],  2 * $row[1];
     337            if ($row[1] == 1) { $verb = "quad has"; } else { $verb = "quads have"; }
     338            printf "%3d %-11s 4 visits, expect %d WWdiffs (2 per quad)\n", $row[1], $verb,  2 * $row[1];
    278339            $diffExpect += $row[1]*2;
    279340        } else {
     
    284345    print " * $diffExpect diffRuns expected *\n";
    285346    if ($verbose) { print "\n"; }
     347}
     348
     349# List chunks with duplicate visits
     350{
     351    # my $result = &mysql_select ("");
     352#   my $query = "SELECT Nvisit, count(*) FROM";
     353#    $query .= " (";
     354    $query .= "   SELECT object, filter, chunk, Nexp_in_chunk FROM";
     355    $query .= "   (";
     356    $query .= "     SELECT object, filter, substr(comment, 1, position(' ' in comment)) as chunk, count(*) as Nexp_in_chunk";
     357    $query .= "     FROM rawExp";
     358    $query .= "     LEFT JOIN chipRun using (exp_id)";
     359    $query .= "     LEFT JOIN camRun using (chip_id)";
     360    $query .= "     LEFT JOIN camProcessedExp using (cam_id)";
     361    $query .= "     WHERE dateobs LIKE '$date%'";
     362    $query .= "     AND exp_id > $refExpID"; #REF
     363    $query .= "     AND exp_type = 'OBJECT'";
     364    $query .= "     AND obs_mode NOT LIKE 'ENGINEERING'";
     365    $query .= "     AND obs_mode like '%SS%'";
     366    $query .= "     AND rawExp.comment like '%visit%'";
     367    $query .= "     AND (camProcessedExp.quality IS NULL or camProcessedExp.quality = 0)";
     368    $query .= "     GROUP BY comment, filter, substr(comment, 1, position(' ' in comment))";
     369    $query .= "   ) AS tableChunks where (Nexp_in_chunk > 1)";
     370#    $query .= " ) AS tableVisits GROUP BY Nvisit";
     371
     372    my $result = &mysql_select ($query);
     373
     374    $doHeader = 1;
     375    while (@row = $result->fetchrow_array()) {
     376        if ($doHeader) {
     377            print "chunks with duplicate visits:\n";
     378            printf "%11s %15s %14s %5s\n", "object", "filter", "chunk", "Nexp in chunk";
     379            $doHeader = 0;
     380        }
     381        printf "%11s %15s %14s %5s\n", $row[0], $row[1], $row[2], $row[3];
     382    }
     383    if (! $doHeader) { print "\n"; }
     384}
     385
     386# List exposures which may be used for WWdiffs
     387if (0) {
     388    print "List exposures for WWdiffs excluding camRuns with bad quality:\n";
     389
     390    # my $result = &mysql_select ("");
     391    my $query = "";
     392    $query .= "     SELECT exp_name, object, filter, substr(comment, 1, position(' ' in comment)) as chunk";
     393    $query .= "     FROM rawExp";
     394    $query .= "     LEFT JOIN chipRun using (exp_id)";
     395    $query .= "     LEFT JOIN camRun using (chip_id)";
     396    $query .= "     LEFT JOIN camProcessedExp using (cam_id)";
     397    $query .= "     WHERE dateobs LIKE '$date%'";
     398    $query .= "     AND exp_id > $refExpID"; #REF
     399    $query .= "     AND exp_type = 'OBJECT'";
     400    $query .= "     AND obs_mode NOT LIKE 'ENGINEERING'";
     401    $query .= "     AND obs_mode like '%SS%'";
     402    $query .= "     AND rawExp.comment like '%visit%'";
     403    $query .= "     AND (camProcessedExp.quality IS NULL or camProcessedExp.quality = 0)";
     404
     405    my $result = &mysql_select ($query);
     406    &mysql_dump_result ($result);
    286407}
    287408
     
    484605# check for unpublished solar-system exposures
    485606{
    486     my $query = "SELECT expall.exp_name, expall.dateobs, expall.comment, exppub.pubstate from";
     607    my $query = "SELECT expall.exp_name, expall.dateobs, expall.comment, expall.warp_id, exppub.diff_id, exppub.pubstate from";
    487608    $query .= "  (";
    488     $query .= "    SELECT exp_name, comment, dateobs";
     609    $query .= "    SELECT exp_name, comment, dateobs, warp_id";
    489610    $query .= "    FROM rawExp";
    490611    $query .= "    JOIN chipRun using (exp_id)";
    491612    $query .= "    JOIN camRun using (chip_id)";
    492613    $query .= "    JOIN camProcessedExp using (cam_id)";
     614    $query .= "    JOIN fakeRun using (cam_id)";
     615    $query .= "    JOIN warpRun using (fake_id)";
    493616    $query .= "    WHERE dateobs like '$date%'";
    494617    $query .= "    AND exp_id > $refExpID"; #REF
     
    498621    $query .= "  LEFT JOIN";
    499622    $query .= "  (";
    500     $query .= "    SELECT exp_name, publishRun.state as pubstate";
     623    $query .= "    SELECT exp_name, warpRun.warp_id, diffRun.diff_id, publishRun.state as pubstate";
    501624    $query .= "    FROM diffRun";
    502625    $query .= "    JOIN diffInputSkyfile using (diff_id)";
     
    524647        if ($doHeader) {
    525648            print "Unpublished Solar System Exposures ( obs_mode like %SS% ) with good camera quality :\n";
    526             printf "%12s %-19s | %-16s\n", "exp_name", "dateobs", "comment";
     649            printf "%12s %12s %12s | %-19s | %-16s\n", "exp_name", "warp_id", "diff_id", "dateobs", "comment";
    527650            $doHeader = 0;
    528651        }
    529         printf "%12s %-19s | %-16s\n", $row[0], $row[1], $row[2]
     652        if ($row[3] eq "") { $row[3] = "NULL"; }
     653        if ($row[4] eq "") { $row[4] = "NULL"; }
     654        printf "%12s %12s %12s | %-19s | %-16s\n", $row[0], $row[3], $row[4], $row[1], $row[2]
    530655    }
    531656}
Note: See TracChangeset for help on using the changeset viewer.