IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 1, 2017, 5:55:34 PM (9 years ago)
Author:
watersc1
Message:

Update that adds additional PSF/background model targets to later photometry stages. The key lists generated look correct for each stage.

File:
1 edited

Legend:

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

    r39967 r39969  
    266266                  'warp'   => ['PSWARP.OUTPUT','PSWARP.OUTPUT.MASK','PSWARP.OUTPUT.VARIANCE'],
    267267                  'stack'  => ['PPSTACK.UNCONV.COMP','PPSTACK.UNCONV.MASK.COMP','PPSTACK.UNCONV.VARIANCE.COMP',
    268                                'PPSTACK.UNCONV.EXP','PPSTACK.UNCONV.EXPNUM','PPSTACK.UNCONV.EXPWT.COMP'],
    269                   'skycal' => ['PSASTRO.OUTPUT.CMF','PSPHOT.OUTPUT.CFF'],
    270                   'ff'     => ['PSPHOT.OUT.CMF.MEF','PSPHOT.OUTPUT.CFF','PSPHOT.FULLFORCE.OUTPUT'],
     268                               'PPSTACK.UNCONV.EXP','PPSTACK.UNCONV.EXPNUM','PPSTACK.UNCONV.EXPWT.COMP','PPSTACK.TARGET.PSF'],
     269                  'skycal' => ['PSASTRO.OUTPUT.CMF','PSPHOT.OUTPUT.CFF','PSPHOT.PSF.SKY.SAVE','PSPHOT.BACKMDL.MEF'],
     270                  'ff'     => ['PSPHOT.OUT.CMF.MEF','PSPHOT.OUTPUT.CFF','PSPHOT.FULLFORCE.OUTPUT','PSPHOT.PSF.SKY.SAVE'],
    271271                  'diff'   => ['PPSUB.OUTPUT.SOURCES','PPSUB.INVERSE.SOURCES','PSPHOT.PSF.SKY.SAVE','PSPHOT.BACKMDL.MEF','PPSUB.OUTPUT.KERNELS'],
    272272                  'burntool' => ['BURN.TABLE.DOESNT.HAVE.A.PRODUCT']
     
    279279    my $hostname = $entry->{hostname};
    280280    my $quality  = $entry->{quality};
     281   
     282    # Fixes burntool issues.
     283    unless(defined($path_base)) {
     284        $path_base = 'NO_PB';
     285    }
     286    unless(defined($data_state)) {
     287        $data_state = $entry->{data_state};
     288    }
    281289
    282290    $timer = time() - $timer_start;
     
    337345                foreach my $ff_entry (@$ff_files) {
    338346                    my $ff_path_base = $ff_entry->{path_base};
    339                     push @keys, $ipprc->filename($product,$ff_path_base);
     347                    my $ff_skycell   = $ff_entry->{skycell_id};
     348                    my $warp_id      = $ff_entry->{warp_id};
     349                    if ($product ne 'PSPHOT.PSF.SKY.SAVE') {
     350                        push @keys, $ipprc->filename($product,$ff_path_base);
     351                    }
     352                    else {
     353                        my $warptool_cmd = "$warptool -warped -skycell_id $ff_skycell -warp_id $warp_id -dbname $dbname";
     354                        ($success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
     355                            run(command => $warptool_cmd, verbose => 0);
     356                        unless ($success) {
     357                            $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
     358                            &my_die("Unable to perform stagetool: $error_code", $stage_id);
     359                        }
     360                        my $warp_files = $mdcParser->parse_list(join "", @$stdout_buf) or
     361                            &my_die("Unable to parse metadata from stagetool", $stage_id);
     362                        foreach my $wt_entry (@$warp_files) {
     363                            my $wt_path_base = $wt_entry->{path_base};
     364                            push @keys, $ipprc->filename($product,$wt_path_base,$ff_skycell);
     365                        }
     366                    }               
    340367                }
    341368                $is_done = 1;
     
    344371        elsif ($stage eq 'burntool') {
    345372            if ($product eq 'BURN.TABLE.DOESNT.HAVE.A.PRODUCT') {
    346                 my $bt_file = $imfiles->{uri};
     373                my $bt_state = $entry->{burntool_state};
     374                if ($bt_state != -14) { next; }
     375                my $bt_file = $entry->{uri};
    347376                $bt_file    =~ s/fits$/burn.tbl/;
    348377                push @keys, $bt_file;
    349             }
    350             $is_done = 1;
    351         }
     378
     379                $is_done = 1;
     380            }
     381
     382        }
     383        elsif ($stage eq 'skycal') {
     384            if (($product eq 'PSPHOT.PSF.SKY.SAVE')||($product eq 'PSPHOT.BACKMDL.MEF')) {
     385                my $sky_id = $entry->{sky_id};
     386                my $stack_id = $entry->{stack_id};
     387               
     388                my $ss_cmd = "$staticskytool -result -sky_id $sky_id -dbname $dbname";
     389                my ($success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
     390                    run(command => $ss_cmd, verbose => 0);
     391                unless ($success) {
     392                    $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
     393                    &my_die("Unable to perform stagetool: $error_code", $stage_id);
     394                }
     395                my $stack_files = $mdcParser->parse_list(join "", @$stdout_buf) or
     396                    &my_die("Unable to parse metadata from stagetool", $stage_id);
     397                foreach my $ss_entry (@$stack_files) {
     398                    my $ss_path_base = $ss_entry->{path_base};
     399                    push @keys, $ipprc->filename($product,$ss_path_base,$stack_id);
     400                }
     401                $is_done = 1;
     402            }
     403
     404        }               
    352405
    353406        if ($is_done == 0) {
Note: See TracChangeset for help on using the changeset viewer.