IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 37823


Ignore:
Timestamp:
Jan 12, 2015, 12:31:04 PM (12 years ago)
Author:
eugene
Message:

merge changes from trunk

Location:
branches/eam_branches/ipp-pv3-20140717-merge
Files:
57 edited
45 copied

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-pv3-20140717-merge/DataStoreServer/scripts/dsreg

  • branches/eam_branches/ipp-pv3-20140717-merge/ippTasks/addstar.pro

    r35305 r37823  
    5252    active false
    5353  end
     54  task addstar.revert.diff
     55    active false
     56  end
     57  task addstar.revert.fullforce
     58    active false
     59  end
    5460end
    5561
     
    6571  end
    6672  task addstar.revert.skycal
     73    active true
     74  end
     75  task addstar.revert.diff
     76    active true
     77  end
     78  task addstar.revert.fullforce
    6779    active true
    6880  end
     
    141153$addstar_revert_DB_SSM = 0
    142154$addstar_revert_DB_SC = 0
     155$addstar_revert_DB_FF = 0
     156$addstar_revert_DB_DF = 0
    143157
    144158#$LOADEXEC_ADD = 300
     
    275289        sprintf outroot "%s.add.%s" $STAGEROOT $ADD_ID
    276290    end
     291    if ("$STAGE" == "diff")
     292        sprintf outroot "%s.add.%s" $STAGEROOT $ADD_ID
     293    end
     294    if ("$STAGE" == "fullforce")
     295        sprintf outroot "%s.add.%s" $STAGEROOT $ADD_ID
     296    end
    277297
    278298 
     
    293313   if ("$STAGE" == "skycal")
    294314      $run = $run --stage_id $STAGE_ID
     315    end
     316   if ("$STAGE" == "diff")
     317      $run = $run --stage_id $STAGE_ID --stage_extra1 $STAGE_EXTRA1
     318    end
     319   if ("$STAGE" == "fullforce")
     320      $run = $run --stage_id $STAGE_ID --stage_extra1 $STAGE_EXTRA1
    295321    end
    296322
     
    526552  end
    527553end
     554
     555
     556task addstar.revert.diff
     557  host         local
     558
     559  periods      -poll 5.0
     560  periods      -exec 60.0
     561  periods      -timeout 1200
     562  npending     1
     563  active        false
     564
     565  stdout NULL
     566  stderr $LOGDIR/revert.log
     567
     568  task.exec
     569    if ($LABEL:n == 0) break
     570    $run = addtool -revertprocessedexp -stage diff
     571    if ($DB:n == 0)
     572      option DEFAULT
     573    else
     574      # save the DB name for the exit tasks                                                                   
     575      option $DB:$addstar_revert_DB_DF
     576      $run = $run -dbname $DB:$addstar_revert_DB_DF
     577      $addstar_revert_DB_DF ++
     578      if ($addstar_revert_DB_DF >= $DB:n) set addstar_revert_DB_DF = 0
     579    end
     580     add_poll_labels run
     581    command $run
     582  end
     583
     584  # success                                                                                                   
     585  task.exit    0
     586  end
     587
     588  # locked list                                                                                               
     589  task.exit    default
     590    showcommand failure
     591  end
     592
     593  task.exit    crash
     594    showcommand crash
     595  end
     596
     597  # operation times out?                                                                                     
     598  task.exit    timeout
     599    showcommand timeout
     600  end
     601end
     602
     603
     604task addstar.revert.fullforce
     605  host         local
     606
     607  periods      -poll 5.0
     608  periods      -exec 60.0
     609  periods      -timeout 1200
     610  npending     1
     611  active        false
     612
     613  stdout NULL
     614  stderr $LOGDIR/revert.log
     615
     616  task.exec
     617    if ($LABEL:n == 0) break
     618    $run = addtool -revertprocessedexp -stage fullforce
     619    if ($DB:n == 0)
     620      option DEFAULT
     621    else
     622      # save the DB name for the exit tasks                                                                   
     623      option $DB:$addstar_revert_DB_FF
     624      $run = $run -dbname $DB:$addstar_revert_DB_FF
     625      $addstar_revert_DB_FF ++
     626      if ($addstar_revert_DB_FF >= $DB:n) set addstar_revert_DB_FF = 0
     627    end
     628     add_poll_labels run
     629    command $run
     630  end
     631
     632  # success                                                                                                   
     633  task.exit    0
     634  end
     635
     636  # locked list                                                                                               
     637  task.exit    default
     638    showcommand failure
     639  end
     640
     641  task.exit    crash
     642    showcommand crash
     643  end
     644
     645  # operation times out?                                                                                     
     646  task.exit    timeout
     647    showcommand timeout
     648  end
     649end
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTasks/register.pro

    r35830 r37823  
    3636    active false
    3737  end
     38  task register.exp.revert
     39    active false
     40  end
    3841  task register.exp.load
    3942    active true
     
    6063    active false
    6164  end
     65  task register.exp.revert
     66    active false
     67  end
    6268  task register.exp.load
    6369    active false
     
    7884    active true
    7985  end
     86  task register.exp.revert
     87    active true
     88  end
    8089end
    8190
    8291macro register.revert.off
    8392  task register.imfile.revert
     93    active false
     94  end
     95  task register.exp.revert
    8496    active false
    8597  end
     
    202214$regPendingBurntoolImfile_DB = 0
    203215$regRevertImfile_DB = 0
     216$regRevertExp_DB = 0
    204217$regPendingExp_DB = 0
    205218$reg_datePAGE = 0
     
    371384      $regRevertImfile_DB ++
    372385      if ($regRevertImfile_DB >= $DB:n) set regRevertImfile_DB = 0
     386    end
     387    add_poll_args run
     388    command $run
     389  end
     390
     391  # success
     392  task.exit    0
     393  end
     394
     395  # locked list
     396  task.exit    default
     397    showcommand failure
     398  end
     399
     400  task.exit    crash
     401    showcommand crash
     402  end
     403
     404  # operation times out
     405  task.exit    timeout
     406    showcommand timeout
     407  end
     408end
     409
     410
     411
     412task register.exp.revert
     413  host         local
     414  periods      -poll 60.0
     415  periods      -exec 1800.0
     416  periods      -timeout 120.0
     417  npending     1
     418
     419  stdout       NULL
     420  stderr       $LOGDIR/register.exp.revert.log
     421
     422  task.exec
     423# Only revert fault 2, because other faults likely mean something horrible is happening.
     424    $run = regtool -revertprocessedexp -fault 2
     425    if ($DB:n == 0)
     426      option DEFAULT
     427    else
     428      option $DB:$regRevertExp_DB
     429      $run = $run -dbname $DB:$regRevertExp_DB
     430      $regRevertExp_DB ++
     431      if ($regRevertExp_DB >= $DB:n) set regRevertExp_DB = 0
    373432    end
    374433    add_poll_args run
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTasks/stack.pro

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTasks/survey.pro

    r37082 r37823  
    178178# user functions to manipulate warp/stack diff labels
    179179macro survey.add.WSdiff
    180   if ($0 != 6)
    181     echo "USAGE: survey.add.WSdiff (warp label) (stack label) (dist_group) (workdir base) (target label)"
     180  if ($0 != 7)
     181    echo "USAGE: survey.add.WSdiff (key) (warp label) (stack label) (dist_group) (workdir base) (target label)"
    182182    break
    183183  end
    184184  book newpage SURVEY_DIFF_WARPSTACK $1
    185   book setword SURVEY_DIFF_WARPSTACK $1 STACK_LABEL $2
    186   book setword SURVEY_DIFF_WARPSTACK $1 DIST_GROUP $3
    187   book setword SURVEY_DIFF_WARPSTACK $1 WORKDIR $4
    188   book setword SURVEY_DIFF_WARPSTACK $1 TARGET_LABEL $5
     185  book setword SURVEY_DIFF_WARPSTACK $1 WARP_LABEL $2
     186  book setword SURVEY_DIFF_WARPSTACK $1 STACK_LABEL $3
     187  book setword SURVEY_DIFF_WARPSTACK $1 DIST_GROUP $4
     188  book setword SURVEY_DIFF_WARPSTACK $1 WORKDIR $5
     189  book setword SURVEY_DIFF_WARPSTACK $1 TARGET_LABEL $6
    189190  book setword SURVEY_DIFF_WARPSTACK $1 STATE PENDING
    190191end
     
    697698  periods      -exec $SURVEY_EXEC
    698699  periods      -timeout $SURVEY_TIMEOUT
     700  ## time in UT -- want to start ~0900 HST and run until next night starts. 24h boundary so two trange needed?
     701  trange        19:00:00 23:59:00
     702  trange        00:00:00 05:00:00
    699703  npending     1
    700704
     
    710714    endif
    711715
    712     book getpage SURVEY_DIFF_WARPSTACK 0 -var label -key STATE NEW
    713     if ("$label" == "NULL")
     716    book getpage SURVEY_DIFF_WARPSTACK 0 -var wsKey -key STATE NEW
     717    if ("$wsKey" == "NULL")
    714718      # All labels have been done --- reset
    715719#      echo "Resetting labels"
    716720      for i 0 $N
    717         book getpage SURVEY_DIFF_WARPSTACK $i -var label
    718         book setword SURVEY_DIFF_WARPSTACK $label STATE NEW
     721        book getpage SURVEY_DIFF_WARPSTACK $i -var wsKey
     722        book setword SURVEY_DIFF_WARPSTACK $wsKey STATE NEW
    719723      end
    720       book getpage SURVEY_DIFF_WARPSTACK 0 -var label -key STATE NEW
     724      book getpage SURVEY_DIFF_WARPSTACK 0 -var wsKey -key STATE NEW
    721725
    722726      # Select different database
     
    725729    end
    726730
    727     book setword SURVEY_DIFF_WARPSTACK $label STATE DONE
    728     book getword SURVEY_DIFF_WARPSTACK $label STACK_LABEL -var stack_label
    729     book getword SURVEY_DIFF_WARPSTACK $label WORKDIR -var workdir
    730     book getword SURVEY_DIFF_WARPSTACK $label DIST_GROUP -var dist_group
    731     book getword SURVEY_DIFF_WARPSTACK $label TARGET_LABEL -var target_label
     731    book setword SURVEY_DIFF_WARPSTACK $wsKey STATE DONE
     732    book getword SURVEY_DIFF_WARPSTACK $wsKey WARP_LABEL -var warp_label
     733    book getword SURVEY_DIFF_WARPSTACK $wsKey STACK_LABEL -var stack_label
     734    book getword SURVEY_DIFF_WARPSTACK $wsKey WORKDIR -var workdir
     735    book getword SURVEY_DIFF_WARPSTACK $wsKey DIST_GROUP -var dist_group
     736    book getword SURVEY_DIFF_WARPSTACK $wsKey TARGET_LABEL -var target_label
    732737
    733738    $year = `date +%Y`
     
    737742# Do we need anything else here?
    738743    $run = difftool -definewarpstack -good_frac 0.2
    739     $run = $run -warp_label $label
     744    $run = $run -warp_label $warp_label
    740745    $run = $run -stack_label $stack_label
    741746    $run = $run -set_dist_group $dist_group
     
    10121017        $run = $run -uncensored
    10131018    end
    1014 
     1019    if ("$stage" == "fullforce")
     1020        $run = $run -uncensored
     1021    end
     1022    if ("$stage" == "diff")
     1023        $run = $run -uncensored)
     1024    end
    10151025    # we need to handle isp/gpc1: gpc1 wants destreaked, isp wants uncensored.  Perhaps the best way is by default do destreaked (the most paranoid), and if db = isp (is this the best way?) then do uncensored
    10161026   
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/share/Makefile.am

    r37544 r37823  
    88        addtool_find_cam_id_dvo.sql \
    99        addtool_find_cam_id.sql \
     10        addtool_find_diff_id.sql \
     11        addtool_find_diff_id_dvo.sql \
     12        addtool_find_ff_id.sql \
     13        addtool_find_ff_id_dvo.sql \
    1014        addtool_find_skycal_id_dvo.sql \
    1115        addtool_find_skycal_id.sql \
     
    1620        addtool_find_pendingexp.sql \
    1721        addtool_find_pendingexp_cam.sql \
     22        addtool_find_pendingexp_diff.sql \
     23        addtool_find_pendingexp_ff.sql \
    1824        addtool_find_pendingexp_skycal.sql \
    1925        addtool_find_pendingexp_stack.sql \
     
    2127        addtool_find_pendingmergeprocess.sql \
    2228        addtool_find_processedexp_cam.sql \
     29        addtool_find_processedexp_diff.sql \
     30        addtool_find_processedexp_ff.sql \
    2331        addtool_find_processedexp_skycal.sql \
    2432        addtool_find_processedexp_stack.sql \
     
    2937        addtool_pendingcleanuprun.sql \
    3038        addtool_queue_cam_id.sql \
     39        addtool_queue_diff_id.sql \
     40        addtool_queue_ff_id.sql \
    3141        addtool_queue_stack_id.sql \
    3242        addtool_queue_sky_id_multi.sql \
     
    3545        addtool_revertminidvodbprocessed.sql \
    3646        addtool_revertprocessedexp_cam.sql \
     47        addtool_revertprocessedexp_diff.sql \
     48        addtool_revertprocessedexp_ff.sql \
    3749        addtool_revertprocessedexp_skycal.sql \
    3850        addtool_revertprocessedexp_stack.sql \
     
    471483        laptool_revertgroup.sql \
    472484        laptool_filtersforgroup.sql \
     485        laptool_revertsass.sql \
    473486        vptool_find_rawexp.sql \
    474487        vptool_pendingimfile.sql \
     
    484497        releasetool_definerelstack.sql \
    485498        releasetool_definerelstack_with_skycal.sql \
     499        releasetool_deleterelexp.sql \
     500        releasetool_deleterelstack.sql \
    486501        releasetool_listrelstack.sql \
     502        releasetool_setrelstackcalibratedfromskycal.sql \
    487503        releasetool_summary.sql \
    488504        releasetool_definerelgroup_select_lap.sql \
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/share/fftool_result.sql

    r36633 r37823  
    1111    stackRun.skycell_id,
    1212    stackRun.filter,
     13    rawExp.exp_id,
     14    rawExp.exp_name,
    1315    rawExp.camera
    1416FROM fullForceRun
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/share/laptool_exposures.sql

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/share/pstamptool_pendingdependent.sql

    r36167 r37823  
    22    pstampDependent.*,
    33    pstampRequest.label,
     4    MIN(req_id) as first_req_id,
    45    concat( pstampDependent.outdir, '/checkdep.', dep_id, '.log') as logfile,
    56    IFNULL(Label.priority, 10000) AS priority
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/addtool.c

    r35304 r37823  
    122122    PXOPT_COPY_S64(config->args, where,  "-sky_id",    "staticskyRun.sky_id", "==");
    123123    PXOPT_COPY_S64(config->args, where,  "-skycal_id",  "skycalRun.skycal_id", "==");
     124    PXOPT_COPY_S64(config->args, where,  "-diff_id",  "diffRun.diff_id", "==");
     125    PXOPT_COPY_S64(config->args, where,  "-ff_id",  "fullForceRun.ff_id", "==");
     126
    124127    PXOPT_LOOKUP_STR(stage,       config->args, "-stage", false, false);
    125128    if (strcmp(stage, "cam")== 0) {
     
    146149      PXOPT_COPY_STR(config->args, where,  "-reduction", "skycalRun.reduction",  "==");
    147150    }
    148 
     151    if (strcmp(stage, "diff")==0) {
     152      pxAddLabelSearchArgs (config, where, "-label",     "diffRun.label", "=="); //define using skycalRun label
     153      pxAddLabelSearchArgs (config, where, "-data_group","diffRun.data_group", "==");
     154      PXOPT_COPY_STR(config->args, where,  "-reduction", "diffRun.reduction",  "==");
     155    }
     156    if (strcmp(stage, "fullforce")==0) {
     157      pxAddLabelSearchArgs (config, where, "-label",     "fullForceRun.label", "=="); //define using skycalRun label
     158      pxAddLabelSearchArgs (config, where, "-data_group","fullForceRun.data_group", "==");
     159      PXOPT_COPY_STR(config->args, where,  "-reduction", "fullForceRun.reduction",  "==");
     160    }
     161
     162 
     163 
    149164    if (!psListLength(where->list)) {
    150165        psFree(where);
     
    258273    }
    259274
    260 
     275    if (strcmp(stage,"diff") == 0) {
     276      if (dvodb ) {
     277        psTrace("addtool.c", PS_LOG_INFO, "dvodb argument found (%s) using addtool_find_diff_id_dvo.sql\n%s\n", dvodb,stage);
     278        // find the skycal_id of all the exposures that we want to queue up.                                                                                                   
     279        bare_query = pxDataGet("addtool_find_diff_id_dvo.sql");
     280        // user supplied dvodb                                                                                                                                             
     281        psStringAppend(&dvodb_string, "addRun.dvodb = '%s'", dvodb);
     282      } else {
     283        psTrace("addtool.c", PS_LOG_INFO, "dvodb argument not found using addtool_find_diff_id.sql\n%s\n",stage);
     284        // find the skycal_id of all the exposures that we want to queue up.                                                                                                   
     285        bare_query = pxDataGet("addtool_find_diff_id.sql");
     286        // inherit dvodb from skycalRun, avoid matching NULL                                                                                                                   
     287        psStringAppend(&dvodb_string, "(diffRun.dvodb IS NOT NULL AND previous_dvodb = diffRun.dvodb)");
     288        // this is silly, there is no dvodb in skycalRun...?
     289      }
     290    }
     291
     292    if (strcmp(stage,"fullforce") == 0) {
     293      if (dvodb ) {
     294        psTrace("addtool.c", PS_LOG_INFO, "dvodb argument found (%s) using addtool_find_ff_id_dvo.sql\n%s\n", dvodb,stage);
     295        // find the skycal_id of all the exposures that we want to queue up.                                                                                                   
     296        bare_query = pxDataGet("addtool_find_ff_id_dvo.sql");
     297        // user supplied dvodb                                                                                                                                             
     298        psStringAppend(&dvodb_string, "addRun.dvodb = '%s'", dvodb);
     299      } else {
     300        psTrace("addtool.c", PS_LOG_INFO, "dvodb argument not found using addtool_ff_id.sql\n%s\n",stage);
     301        // find the skycal_id of all the exposures that we want to queue up.                                                                                                   
     302        bare_query = pxDataGet("addtool_find_ff_id.sql");
     303        // inherit dvodb from skycalRun, avoid matching NULL                                                                                                                   
     304        psStringAppend(&dvodb_string, "(fullForceRun.dvodb IS NOT NULL AND previous_dvodb = fullForceRun.dvodb)");
     305        // this is silly, there is no dvodb in skycalRun...?
     306      }
     307    }
    261308
    262309
     
    324371        psStringAppend(&query, " GROUP BY skycal_id, sky_id, stack_id ");  //this needs checking, but I think it shoul be fine? it groups by lots of stuff (including stack - we only want one of each stack in there
    325372      }
     373      //needs to be checked HAF xxx
     374      if (strcmp(stage,"diff") == 0) {
     375        psStringAppend(&query, " GROUP BY diff_id, diff_skyfile_id ");  //this needs checking, but I think it shoul be fine? it groups by lots of stuff (including stack - we only want one of each stack in there
     376      }
     377      //needs to be checked HAF xxx
     378      if (strcmp(stage,"fullforce") == 0) {
     379        psStringAppend(&query, " GROUP BY ff_id, warp_id ");  //this needs checking, but I think it shoul be fine? it groups by lots of stuff (including stack - we only want one of each stack in there
     380      }
     381
     382
     383
    326384
    327385    psTrace("addtool.c", PS_LOG_INFO,"query: \n\n%s\n\n",query);
     
    476534    }
    477535
     536    if (strcmp(stage,"diff") == 0) {
     537     
     538      for (long i = 0; i < psArrayLength(output); i++) {
     539        psMetadata *md = output->data[i];
     540
     541        diffRunRow *row = diffRunObjectFromMetadata(md);
     542       
     543        if (!row) {
     544          psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into diffRun");
     545          psFree(output);
     546          return false;
     547        }
     548
     549        if (!dvodb) {  // there's no skycalRun.dvodb
     550          psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined dvodb: label: %s, diff_id %" PRId64, row->label, row->diff_id);
     551          psFree(output);
     552          return false;
     553        }
     554        if (!workdir && !row->workdir) {
     555          psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined workdir: label: %s, diff_id %" PRId64, row->label, row->diff_id);
     556          psFree(output);
     557          return false;
     558        }
     559
     560        psFree(row);
     561      }
     562    }
     563
     564    if (strcmp(stage,"fullforce") == 0) {
     565      for (long i = 0; i < psArrayLength(output); i++) {
     566        psMetadata *md = output->data[i];
     567
     568        fullForceRunRow *row = fullForceRunObjectFromMetadata(md);
     569
     570        if (!row) {
     571          psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into fullforceRun");
     572          psFree(output);
     573          return false;
     574        }
     575
     576        if (!dvodb) {  // there's no skycalRun.dvodb
     577          psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined dvodb: label: %s, ff_id %" PRId64, row->label, row->ff_id);
     578          psFree(output);
     579          return false;
     580        }
     581        if (!workdir && !row->workdir) {
     582          psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined workdir: label: %s, ff_id %" PRId64, row->label, row->ff_id);
     583          psFree(output);
     584          return false;
     585        }
     586
     587        psFree(row);
     588      }
     589    }
    478590
    479591
     
    672784      }
    673785   
     786    if (strcmp(stage,"diff") == 0) {
     787     
     788    for (long i = 0; i < psArrayLength(output); i++) {
     789        psMetadata *md = output->data[i];
     790        psS64 stage_id =0;
     791        //      psS64 stage_extra1 = 0;
     792        diffRunRow *row = diffRunObjectFromMetadata(md);
     793        stage_id = row->diff_id;
     794        bool status = false;
     795        psS32 stage_extra1 = psMetadataLookupS32(&status, md, "diff_skyfile_id");
     796        if (!status) {
     797          psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_skyfile_id");
     798          return false;
     799        }
     800
     801       
     802        if (!row) {
     803            psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into skycalRun");
     804            psFree(output);
     805            return false;
     806        }
     807       
     808        // queue the exp
     809        if (!pxaddQueueByCamID(config,
     810                               stage,
     811                               stage_id,
     812                               stage_extra1,
     813                               workdir     ? workdir   : row->workdir,
     814                               reduction   ? reduction : row->reduction,
     815                               label       ? label     : row->label,
     816                               data_group  ? data_group : (row->data_group ? row->data_group :  (label ? label : row->label)),
     817                               dvodb       ? dvodb     : NULL,
     818                               note        ? note      : NULL,
     819                               image_only,
     820                               minidvodb,
     821                               minidvodb_group,
     822                               minidvodb_name
     823        )) {
     824            if (!psDBRollback(config->dbh)) {
     825                psError(PS_ERR_UNKNOWN, false, "database error sfg");
     826            }
     827            psError(PS_ERR_UNKNOWN, false,
     828                    "failed to trying to queue stage %s %" PRId64,stage, stage_id);
     829            psFree(row);
     830            psFree(output);
     831            return false;
     832        }
     833        psFree(row);
     834    }
     835      }
     836 
     837    if (strcmp(stage,"fullforce") == 0) {
     838    for (long i = 0; i < psArrayLength(output); i++) {
     839        psMetadata *md = output->data[i];
     840        psS64 stage_id =0;
     841       
     842        fullForceRunRow *row = fullForceRunObjectFromMetadata(md);
     843        stage_id = row->ff_id;
     844        bool status = false;
     845        psS32 stage_extra1 = psMetadataLookupS32(&status, md, "warp_id");
     846        if (!status) {
     847          psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
     848          return false;
     849        }
     850
     851        if (!row) {
     852            psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into skycalRun");
     853            psFree(output);
     854            return false;
     855        }
     856
     857        // queue the exp
     858        if (!pxaddQueueByCamID(config,
     859                               stage,
     860                               stage_id,
     861                               stage_extra1,
     862                               workdir     ? workdir   : row->workdir,
     863                               reduction   ? reduction : row->reduction,
     864                               label       ? label     : row->label,
     865                               data_group  ? data_group : (row->data_group ? row->data_group :  (label ? label : row->label)),
     866                               dvodb       ? dvodb     : NULL,
     867                               note        ? note      : NULL,
     868                               image_only,
     869                               minidvodb,
     870                               minidvodb_group,
     871                               minidvodb_name
     872        )) {
     873            if (!psDBRollback(config->dbh)) {
     874                psError(PS_ERR_UNKNOWN, false, "database error sfg");
     875            }
     876            psError(PS_ERR_UNKNOWN, false,
     877                    "failed to trying to queue stage %s %" PRId64,stage, stage_id);
     878            psFree(row);
     879            psFree(output);
     880            return false;
     881        }
     882        psFree(row);
     883    }
     884      }
     885
     886
     887
    674888
    675889
     
    695909    PXOPT_COPY_S64(config->args, where, "-sky_id",    "staticskyRun.sky_id", "==");
    696910    PXOPT_COPY_S64(config->args, where, "-skycal_id", "skycalRun.skycal_id", "==");
     911    PXOPT_COPY_S64(config->args, where, "-diff_id", "diffRun.diff_id", "==");
     912    PXOPT_COPY_S64(config->args, where, "-ff_id", "fullForceRun.ff_id", "==");
     913
    697914    PXOPT_LOOKUP_STR(stage,       config->args, "-stage", false, false);
    698915    pxcamGetSearchArgs (config, where); // most search arguments based on camera
     
    709926    psString query = NULL;
    710927    if (strcmp(stage, "cam")==0) {
    711       query = psStringCopy("UPDATE addRun JOIN camRun on cam_id = stage_id JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id)");
     928      query = psStringCopy("UPDATE addRun JOIN camRun on (cam_id = stage_id and stage = 'cam') JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id)");
    712929    }
    713930    if (strcmp(stage, "stack")==0) {
    714       query = psStringCopy("UPDATE addRun JOIN stackRun on stack_id = stage_id");
     931      query = psStringCopy("UPDATE addRun JOIN stackRun on (stack_id = stage_id and stage = 'stack')");
    715932    }
    716933    if (strcmp(stage, "staticsky")==0) {
    717       query = psStringCopy("UPDATE addRun JOIN staticskyRun on sky_id = stage_id");
     934      query = psStringCopy("UPDATE addRun JOIN staticskyRun on (sky_id = stage_id and stage = 'staticsky')");
    718935    }
    719936    if (strcmp(stage, "skycal")==0) {
    720       query = psStringCopy("UPDATE addRun JOIN skycalRun on skycal_id = stage_id");
     937      query = psStringCopy("UPDATE addRun JOIN skycalRun on (skycal_id = stage_id and stage = 'skycal')");
     938    }
     939    if (strcmp(stage, "diff")==0) {
     940      query = psStringCopy("UPDATE addRun JOIN diffInputSkyfile on (diff_id = stage_id and diff_skyfile_id = stage_extra1 and stage = 'diff') JOIN diffSkyfile on (diff_id, skycell_id) JOIN diffRun using (diff_id)");
     941    }
     942    if (strcmp(stage, "fullforce")==0) {
     943      query = psStringCopy("UPDATE addRun JOIN fullForceResult on (ff_id = stage_id and warp_id = stage_extra1 and stage = 'fullforce') JOIN fullForceRun on (ff_id)");
    721944    }
    722945
     
    743966    PXOPT_COPY_S64(config->args, where, "-sky_id",    "staticskyRun.sky_id", "==");
    744967    PXOPT_COPY_S64(config->args, where, "-skycal_id", "skycalRun.skycal_id", "==");
     968    PXOPT_COPY_S64(config->args, where, "-ff_id",    "fullForceRun.ff_id", "==");
     969    PXOPT_COPY_S64(config->args, where, "-diff_id",    "diffRun.diff_id", "==");
    745970    PXOPT_LOOKUP_STR(stage,       config->args, "-stage", false, false);
    746971    pxcamGetSearchArgs (config, where);
     
    764989      query = pxDataGet("addtool_find_pendingexp_skycal.sql");
    765990    }
     991    if (strcmp(stage, "diff")==0) {
     992      query = pxDataGet("addtool_find_pendingexp_diff.sql");
     993    }
     994    if (strcmp(stage, "fullforce")==0) {
     995      query = pxDataGet("addtool_find_pendingexp_ff.sql");
     996    }
    766997
    767998
     
    7901021      psStringAppend(&query, " GROUP BY %s", "sky_id, stage_extra1");
    7911022    }
     1023    if (strcmp(stage, "diff") == 0) {
     1024      //this group by is needed to join against all the warps (to get camera)
     1025      psStringAppend(&query, " GROUP BY %s", "diff_id, stage_extra1");
     1026    }
     1027    if (strcmp(stage, "fullforce") == 0) {
     1028      //this group by is needed to join against all the warps (to get camera)
     1029      psStringAppend(&query, " GROUP BY %s", "ff_id, stage_extra1");
     1030    }
     1031
     1032
     1033
    7921034    // treat limit == 0 as "no limit"
    7931035    if (limit) {
     
    9941236    } else if (strcmp (stage,"skycal") == 0) {
    9951237      query = pxDataGet("addtool_find_processedexp_skycal.sql");
     1238    } else if (strcmp (stage,"diff") == 0) {
     1239      query = pxDataGet("addtool_find_processedexp_diff.sql");
     1240    } else if (strcmp (stage,"fullforce") == 0) {
     1241      query = pxDataGet("addtool_find_processedexp_ff.sql");
     1242
    9961243    } else {
    9971244        psFree(where);
     
    11121359    if (strcmp(stage, "skycal") == 0) {
    11131360      query = pxDataGet("addtool_revertprocessedexp_skycal.sql");
     1361    }
     1362    if (strcmp(stage, "diff") == 0) {
     1363      query = pxDataGet("addtool_revertprocessedexp_diff.sql");
     1364    }
     1365    if (strcmp(stage, "fullforce") == 0) {
     1366      query = pxDataGet("addtool_revertprocessedexp_ff.sql");
    11141367    }
    11151368
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/addtoolConfig.c

    r35228 r37823  
    5555    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-skycal_id",          0, "search by skycal_id", 0);
    5656    pxcamSetSearchArgs(definebyqueryArgs);
     57    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-diff_id",            0, "search by diff_id", 0);
     58    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-ff_id",              0, "search by ff_id", 0);
    5759    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by camRun label", NULL);
    5860    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by camRun data_group", NULL);
     
    8385    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-sky_id",                 0, "search by sky_id", 0);
    8486    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-skycal_id",                 0, "search by skycal_id", 0);
     87    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-diff_id",                0, "search by diff_id",0);
     88    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-ff_id",                  0, "search by _ff_id",0);
    8589    pxcamSetSearchArgs(updaterunArgs);
    8690    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label",                  0, "search by addRun label", NULL);
     
    101105    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-add_id",            0, "search by add_id", 0);
    102106    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-cam_id",            0, "search by cam_id", 0);
    103     psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-stack_id",                 0, "search by stack_id", 0);
    104     psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-sky_id",                 0, "search by sky_id", 0);
    105     psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-skycal_id",                 0, "search by skycal_id", 0);
     107    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-stack_id",                0, "search by stack_id", 0);
     108    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-sky_id",                  0, "search by sky_id", 0);
     109    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-skycal_id",               0, "search by skycal_id", 0);
     110    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-diff_id",                 0, "search by diff_id",0);
     111    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-ff_id",                   0, "search by ff_id",0);
    106112    pxcamSetSearchArgs(pendingexpArgs);
    107113    psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by addRun label", NULL);
     
    236242    psMetadata *modes = psMetadataAlloc();
    237243
    238     PXOPT_ADD_MODE("-definebyquery",        "create runs from cam stage",           ADDTOOL_MODE_DEFINEBYQUERY, definebyqueryArgs);
     244    PXOPT_ADD_MODE("-definebyquery",        "create runs from cam/skycal/forcedwarp/diff stage",           ADDTOOL_MODE_DEFINEBYQUERY, definebyqueryArgs);
    239245    PXOPT_ADD_MODE("-updaterun",            "change add run properties",            ADDTOOL_MODE_UPDATERUN,      updaterunArgs);
    240246    PXOPT_ADD_MODE("-pendingexp",           "show pending exps",                    ADDTOOL_MODE_PENDINGEXP,    pendingexpArgs);
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/chiptool.c

    r36431 r37823  
    14541454    PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "==");
    14551455    PXOPT_COPY_STR(config->args, where, "-reduction", "chipRun.reduction", "==");
    1456     pxAddLabelSearchArgs (config, where, "-label", "label", "==");
    1457     PXOPT_COPY_STR(config->args, where, "-state", "state", "==");
     1456    pxAddLabelSearchArgs (config, where, "-label", "chipRun.label", "==");
     1457    PXOPT_COPY_STR(config->args, where, "-state", "chipRun.state", "==");
    14581458
    14591459    psString query = pxDataGet("chiptool_run.sql");
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/disttool.c

    r36555 r37823  
    605605    PXOPT_COPY_TIME(config->args, where, "-time_stamp_begin", "distRun.time_stamp", ">=");
    606606    PXOPT_COPY_TIME(config->args, where, "-time_stamp_end", "distRun.time_stamp", "<=");
     607    PXOPT_COPY_S64(config->args, where, "-dist_id_min", "dist_id", ">=");
     608    PXOPT_COPY_S64(config->args, where, "-dist_id_max", "dist_id", "<=");
    607609
    608610    PXOPT_LOOKUP_BOOL(clean, config->args, "-clean", false);
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/disttoolConfig.c

    r36248 r37823  
    8585    psMetadataAddTime(updaterunArgs, PS_LIST_TAIL, "-time_stamp_begin", 0, "limit updates by time_stamp (>=)", NULL);
    8686    psMetadataAddTime(updaterunArgs, PS_LIST_TAIL, "-time_stamp_end", 0, "limit updates by time_stamp (<=)", NULL);
     87    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-dist_id_min",  0, "limit updates by dist_id (>=)", 0);
     88    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-dist_id_max",  0, "limit updates by dist_id (<=)", 0);
    8789    psMetadataAddBool(updaterunArgs, PS_LIST_TAIL,"-clean",     0, "limit updates to clean distRuns", false);
    8890    psMetadataAddBool(updaterunArgs, PS_LIST_TAIL,"-full",      0, "limit updates to not clean distRuns", false);
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/fftool.c

    r36665 r37823  
    859859    PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "LIKE");
    860860    PXOPT_COPY_STR(config->args, where, "-filter",     "stackRun.filter", "LIKE");
    861     PXOPT_COPY_S16(config->args, where, "-fault",      "staticskyResult.fault", "==");
     861    PXOPT_COPY_S16(config->args, where, "-fault",      "fullForceSummary.fault", "==");
    862862    pxskycellAddWhere(config, where);
    863863
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/laptool.c

    r36555 r37823  
    2525static bool pendingrunMode(pxConfig *config);
    2626static bool updaterunMode(pxConfig *config);
     27static bool revertsassMode(pxConfig *config);
    2728
    2829// Exposure level
     
    6970    MODECASE(LAPTOOL_MODE_PENDINGRUN,    pendingrunMode);
    7071    MODECASE(LAPTOOL_MODE_UPDATERUN,     updaterunMode);
    71 
     72    MODECASE(LAPTOOL_MODE_REVERTSASS,    revertsassMode);
     73   
    7274    MODECASE(LAPTOOL_MODE_PENDINGEXP,    pendingexpMode);
    7375    MODECASE(LAPTOOL_MODE_EXPOSURES,     exposuresMode);
     
    695697}
    696698
     699static bool revertsassMode(pxConfig *config)
     700{
     701  PS_ASSERT_PTR_NON_NULL(config, false);
     702
     703  psMetadata *where = psMetadataAlloc();
     704  PXOPT_COPY_S64(config->args, where, "-lap_id", "lap_id", "==");
     705  PXOPT_COPY_S64(config->args, where, "-sass_id", "final_sass_id", "==");
     706  if (!psListLength(where->list)) {
     707    psFree(where);
     708    psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
     709    return false;
     710  }
     711
     712  psString query = pxDataGet("laptool_revertsass.sql");
     713  if (!query) {
     714    psError(PXTOOLS_ERR_SYS, false, "failed to retrieve SQL statement");
     715    return(false);
     716  }
     717  psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     718  psStringAppend(&query, "\n WHERE %s", whereClause);
     719  psFree(whereClause);
     720
     721  if (!psDBTransaction(config->dbh)) {
     722    psError(PS_ERR_UNKNOWN, false, "database error");
     723    return false;
     724  }
     725 
     726  if (!p_psDBRunQuery(config->dbh, query)) {
     727    psError(PS_ERR_UNKNOWN, false, "database error");
     728    psFree(query);
     729    return false;
     730  }
     731  psFree(query);
     732
     733  long numUpdated = psDBAffectedRows(config->dbh);
     734  if (numUpdated != 1) {
     735    psError(PS_ERR_UNKNOWN, false, "should have updated only one row. updated %ld", numUpdated);
     736    return false;
     737  }
     738
     739  if (!psDBCommit(config->dbh)) {
     740    psError(PS_ERR_UNKNOWN, false, "database error");
     741    return false;
     742  }
     743 
     744  return true;
     745}
    697746// Exposure level
    698747
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/laptool.h

    r35566 r37823  
    1919  LAPTOOL_MODE_EXPOSURES,
    2020  LAPTOOL_MODE_STACKS,
     21  LAPTOOL_MODE_REVERTSASS,
    2122  LAPTOOL_MODE_UPDATEEXP,
    2223  LAPTOOL_MODE_DIFFCHECK,
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/laptoolConfig.c

    r35568 r37823  
    117117  ADD_OPT(S64, updaterunArgs, "-set_final_sass_id",           "set final stack sass_id", 0);
    118118 
     119  // -revertsass
     120  psMetadata *revertsassArgs = psMetadataAlloc();
     121  ADD_OPT(S64, revertsassArgs, "-lap_id",                     "search by lap run id", 0);
     122  ADD_OPT(S64, revertsassArgs, "-sass_id",                    "sass id that is being removed", 0);
     123
    119124  // -pendingexp
    120125  psMetadata *pendingexpArgs = psMetadataAlloc();
     
    136141  ADD_OPT(Bool,stacksArgs, "-simple",                         "use the simple output format", false);
    137142  ADD_OPT(U64, stacksArgs, "-limit",                          "limit result set to N items", 0);
    138  
     143         
    139144  // -updateexp
    140145  psMetadata *updateexpArgs = psMetadataAlloc();
     
    227232  PXOPT_ADD_MODE("-listrun",                 "", LAPTOOL_MODE_PENDINGRUN,       listrunArgs);
    228233  PXOPT_ADD_MODE("-updaterun",               "", LAPTOOL_MODE_UPDATERUN,        updaterunArgs);
     234  PXOPT_ADD_MODE("-revertsass",              "mode to remove the sass_id", LAPTOOL_MODE_REVERTSASS,   revertsassArgs);
    229235  PXOPT_ADD_MODE("-pendingexp",              "", LAPTOOL_MODE_PENDINGEXP,       pendingexpArgs);
    230236  PXOPT_ADD_MODE("-exposures",               "", LAPTOOL_MODE_EXPOSURES,        exposuresArgs);
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/pxadd.c

    r34265 r37823  
    164164        psMemSetPersistent(query, true);
    165165      }
     166      else if (strcmp(stage,"diff") == 0) {
     167        query = pxDataGet("addtool_queue_diff_id.sql");
     168        psMemSetPersistent(query, true);
     169      }
     170      else if (strcmp(stage,"fullforce") == 0) {
     171        query = pxDataGet("addtool_queue_ff_id.sql");
     172        psMemSetPersistent(query, true);
     173      }
     174
     175
    166176      else
    167177        {
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/releasetool.c

    r37082 r37823  
    4444static bool updaterelexpMode(pxConfig *config);
    4545static bool listrelexpMode(pxConfig *config);
     46static bool deleterelexpMode(pxConfig *config);
    4647static bool definerelstackMode(pxConfig *config);
    4748static bool updaterelstackMode(pxConfig *config);
     49static bool setrelstackcalibratedfromskycalMode(pxConfig *config);
    4850static bool listrelstackMode(pxConfig *config);
     51static bool deleterelstackMode(pxConfig *config);
    4952static bool summaryMode(pxConfig *config);
    5053static bool definerelgroupMode(pxConfig *config);
     
    8184        MODECASE(RELEASETOOL_MODE_UPDATERELEXP,     updaterelexpMode);
    8285        MODECASE(RELEASETOOL_MODE_LISTRELEXP,       listrelexpMode);
     86        MODECASE(RELEASETOOL_MODE_DELETERELEXP,     deleterelexpMode);
    8387
    8488        MODECASE(RELEASETOOL_MODE_DEFINERELSTACK,   definerelstackMode);
    8589        MODECASE(RELEASETOOL_MODE_UPDATERELSTACK,   updaterelstackMode);
     90        MODECASE(RELEASETOOL_MODE_SETRELSTACKCALIBRATEDFROMSKYCAL, setrelstackcalibratedfromskycalMode);
    8691        MODECASE(RELEASETOOL_MODE_LISTRELSTACK,     listrelstackMode);
     92        MODECASE(RELEASETOOL_MODE_DELETERELSTACK,   deleterelstackMode);
    8793        MODECASE(RELEASETOOL_MODE_SUMMARY,          summaryMode);
    8894
     
    817823
    818824    psFree(output);
     825
     826    return true;
     827}
     828
     829static bool deleterelexpMode(pxConfig *config)
     830{
     831    PS_ASSERT_PTR_NON_NULL(config, false);
     832
     833    PXOPT_LOOKUP_S64(relexp_id, config->args,   "-relexp_id", false, false);
     834    // If relexp_id is supplied that is all that we need
     835    if (!relexp_id) {
     836        // Otherwise we need to identify the release ...
     837        PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false);
     838        PXOPT_LOOKUP_S32(rel_id, config->args,      "-rel_id", false, false);
     839
     840        if (!release_name && !rel_id) {
     841            psError(PXTOOLS_ERR_CONFIG, true, "at least one of -relexp_id, -release_name, or -rel_id is required\n");
     842            return false;
     843        }
     844        // ... and the exposure
     845        PXOPT_LOOKUP_STR(label, config->args,       "-label", false, false);
     846        PXOPT_LOOKUP_S64(cam_id, config->args,      "-cam_id", false, false);
     847        PXOPT_LOOKUP_S64(exp_id, config->args,      "-exp_id", false, false);
     848        PXOPT_LOOKUP_STR(exp_name, config->args,    "-exp_name", false, false);
     849        if (!label && !cam_id && !exp_id && !exp_name) {
     850            psError(PXTOOLS_ERR_CONFIG, true, "at least one of -label, -cam_id, -exp_id, -exp_name is required\n");
     851            return false;
     852        }
     853    }
     854
     855    psMetadata *where = psMetadataAlloc();
     856
     857    PXOPT_COPY_S32(config->args, where, "-relexp_id", "relExp.relexp_id", "==");
     858    PXOPT_COPY_STR(config->args, where, "-label",  "camRun.label", "==");
     859    PXOPT_COPY_S64(config->args, where, "-cam_id", "relExp.cam_id", "==");
     860    PXOPT_COPY_S64(config->args, where, "-exp_id", "relExp.exp_id", "==");
     861    PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "==");
     862
     863    PXOPT_COPY_S32(config->args, where, "-rel_id",  "relExp.rel_id", "==");
     864    PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "==");
     865
     866    psString query = pxDataGet("releasetool_deleterelexp.sql");
     867
     868    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     869    psStringAppend(&query, "\n    AND %s", whereClause);
     870    psFree(whereClause);
     871
     872    if (!p_psDBRunQuery(config->dbh, query)) {
     873        psError(PS_ERR_UNKNOWN, false, "database error");
     874        psFree(query);
     875        return false;
     876    }
     877
     878    psU64 affected = psDBAffectedRows(config->dbh);
     879    psLogMsg("releasetool", PS_LOG_INFO, "Deleted %" PRIu64 " relExp rows", affected);
     880
     881
     882    psFree(query);
    819883
    820884    return true;
     
    10281092    return false;
    10291093}
     1094static bool setrelstackcalibratedfromskycalMode(pxConfig *config)
     1095{
     1096    PS_ASSERT_PTR_NON_NULL(config, NULL);
     1097
     1098    psMetadata *where = psMetadataAlloc();
     1099
     1100    PXOPT_COPY_STR(config->args, where, "-skycal_label", "skycalRun.label", "==");
     1101    PXOPT_COPY_STR(config->args, where, "-skycal_data_group", "skycalRun.data_group", "LIKE");
     1102    PXOPT_COPY_S64(config->args, where, "-skycal_id",  "skycalRun.skycal_id", "==");
     1103    if (!psListLength(where->list)) {
     1104        psError(PXTOOLS_ERR_CONFIG, false, "at least one of -skycal_label, -skycal_data_group, or -skycal_id is required");
     1105        return false;
     1106    }
     1107
     1108    PXOPT_COPY_STR(config->args, where, "-tess_id",    "stackRun.tess_id", "==");
     1109    PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "==");
     1110    pxskycellAddWhere(config, where);
     1111
     1112    // insure that at least one of these is supplied to select the release
     1113    PXOPT_LOOKUP_S64(rel_id, config->args,      "-rel_id", false, false);
     1114    PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false);
     1115    if (!rel_id && !release_name) {
     1116        psError(PXTOOLS_ERR_CONFIG, true, "either -rel_id or -release_name is required");
     1117        return false;
     1118    }
     1119
     1120    // limit query to the target release. (Note: this will select nothing if release_name and rel_id don't match)
     1121    // note: we add these after above to insure that search args are supplied
     1122    PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "==");
     1123    PXOPT_COPY_S32(config->args, where, "-rel_id", "ippRelease.rel_id", "==");
     1124
     1125    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     1126    PXOPT_LOOKUP_BOOL(replace, config->args, "-replace", false);
     1127
     1128    psString query = pxDataGet("releasetool_setrelstackcalibratedfromskycal.sql");
     1129    if (!query) {
     1130        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     1131        psFree(where);
     1132        return false;
     1133    }
     1134
     1135    if (replace) {
     1136        // don't cut on relStack.state
     1137        psStringAppend(&query, "\nWHERE ");;
     1138    } else {
     1139        // normal path only update rows in state processed
     1140        psStringAppend(&query, "\nWHERE relStack.state = 'processed'\nAND ");;
     1141    }
     1142       
     1143    // Add in the where conditions
     1144    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     1145    psStringAppend(&query, "%s", whereClause);
     1146    psFree(whereClause);
     1147
     1148    if (limit) {
     1149        psString limitString = psDBGenerateLimitSQL(limit);
     1150        psStringAppend(&query, " %s", limitString);
     1151        psFree(limitString);
     1152    }
     1153
     1154    if (!p_psDBRunQuery(config->dbh, query)) {
     1155        psError(PS_ERR_UNKNOWN, false, "database error");
     1156        psFree(query);
     1157        return false;
     1158    }
     1159    psFree(query);
     1160
     1161    psU64 affected = psDBAffectedRows(config->dbh);
     1162    psLogMsg("releasetool", PS_LOG_INFO, "Updated %" PRIu64 " relStack rows", affected);
     1163
     1164    return true;
     1165}
     1166
     1167static bool deleterelstackMode(pxConfig *config)
     1168{
     1169    PS_ASSERT_PTR_NON_NULL(config, false);
     1170
     1171    PXOPT_LOOKUP_S64(relstack_id, config->args,   "-relstack_id", false, false);
     1172    // If relexp_id is supplied that is all that we need
     1173    if (!relstack_id) {
     1174        // Otherwise we need to identify the release ...
     1175        PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false);
     1176        PXOPT_LOOKUP_S32(rel_id, config->args,      "-rel_id", false, false);
     1177
     1178        if (!release_name && !rel_id) {
     1179            psError(PXTOOLS_ERR_CONFIG, true, "at least one of -relstack_id, -release_name, or -rel_id is required\n");
     1180            return false;
     1181        }
     1182        // ... and the Stack
     1183        PXOPT_LOOKUP_STR(label, config->args,       "-label", false, false);
     1184        PXOPT_LOOKUP_S64(stack_id, config->args,    "-stack_id", false, false);
     1185        if (!label && !stack_id) {
     1186            psError(PXTOOLS_ERR_CONFIG, true, "at least one of -label and  -stack_id is required\n");
     1187            return false;
     1188        }
     1189    }
     1190
     1191    psMetadata *where = psMetadataAlloc();
     1192
     1193    PXOPT_COPY_S32(config->args, where, "-relstack_id", "relStack.relstack_id", "==");
     1194    PXOPT_COPY_STR(config->args, where, "-label", "stackRun.label", "==");
     1195    PXOPT_COPY_S64(config->args, where, "-stack_id", "relStack.stack_id", "==");
     1196
     1197    PXOPT_COPY_S32(config->args, where, "-rel_id", "relStack.rel_id", "==");
     1198    PXOPT_COPY_STR(config->args, where, "-release_name", "ippRelease.release_name", "==");
     1199
     1200    psString query = pxDataGet("releasetool_deleterelstack.sql");
     1201
     1202    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     1203    psStringAppend(&query, "\n    AND %s", whereClause);
     1204    psFree(whereClause);
     1205
     1206    if (!p_psDBRunQuery(config->dbh, query)) {
     1207        psError(PS_ERR_UNKNOWN, false, "database error");
     1208        psFree(query);
     1209        return false;
     1210    }
     1211
     1212    psU64 affected = psDBAffectedRows(config->dbh);
     1213    psLogMsg("releasetool", PS_LOG_INFO, "Deleted %" PRIu64 " relStack rows", affected);
     1214
     1215
     1216    psFree(query);
     1217
     1218    return true;
     1219}
    10301220
    10311221static bool listrelstackMode(pxConfig *config)
     
    10521242
    10531243    PXOPT_COPY_STR(config->args, where, "-surveyName",  "survey.surveyName", "LIKE");
    1054     PXOPT_COPY_S32(config->args, where, "-rel_id",      "relExp.rel_id", "==");
     1244    PXOPT_COPY_S32(config->args, where, "-rel_id",      "relStack.rel_id", "==");
    10551245    pxskycellAddWhere(config, where);
    10561246
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/releasetool.h

    r36041 r37823  
    3434    RELEASETOOL_MODE_TOCALIBEXP,
    3535    RELEASETOOL_MODE_LISTRELEXP,
     36    RELEASETOOL_MODE_DELETERELEXP,
    3637    RELEASETOOL_MODE_DEFINERELSTACK,
    3738    RELEASETOOL_MODE_UPDATERELSTACK,
     39    RELEASETOOL_MODE_SETRELSTACKCALIBRATEDFROMSKYCAL,
     40    RELEASETOOL_MODE_DELETERELSTACK,
    3841    RELEASETOOL_MODE_TOCALIBSTACK,
    3942    RELEASETOOL_MODE_LISTRELSTACK,
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/releasetoolConfig.c

    r36046 r37823  
    6767    psMetadataAddStr(definereleaseArgs, PS_LIST_TAIL, "-set_ubercal_file", 0,  "define ubercal file name", NULL);
    6868
    69     // -uptdaterelease
     69    // -updaterelease
    7070    psMetadata *updatereleaseArgs = psMetadataAlloc();
    7171
     
    183183    psMetadataAddBool(listrelexpArgs, PS_LIST_TAIL, "-simple",      0, "use the simple output format", false);
    184184
     185    // -deleterelexp
     186    psMetadata *deleterelexpArgs = psMetadataAlloc();
     187    psMetadataAddS64(deleterelexpArgs, PS_LIST_TAIL,  "-relexp_id", 0,   "select by released exposure ID", 0);
     188    psMetadataAddS64(deleterelexpArgs, PS_LIST_TAIL,  "-exp_id", 0,      "select by exposure ID", 0);
     189    psMetadataAddStr(deleterelexpArgs,  PS_LIST_TAIL, "-exp_name", 0,    "select by exposure name", NULL);
     190    psMetadataAddS32(deleterelexpArgs, PS_LIST_TAIL,  "-rel_id", 0,      "select by release ID", 0);
     191    psMetadataAddS32(deleterelexpArgs, PS_LIST_TAIL,  "-cam_id", 0,      "select by cam run ID", 0);
     192    psMetadataAddStr(deleterelexpArgs,  PS_LIST_TAIL, "-label", 0,       "select by camRun.label", NULL);
     193    psMetadataAddStr(deleterelexpArgs,  PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL);
     194
     195
    185196    // -definerelstack
    186197    psMetadata *definerelstackArgs = psMetadataAlloc();
     
    248259    psMetadataAddBool(listrelstackArgs, PS_LIST_TAIL, "-simple",      0, "use the simple output format", false);
    249260
     261    // -updaterelstack
     262    psMetadata *updaterelstackArgs = psMetadataAlloc();
     263
     264    psMetadata *calibraterelstackArgs = psMetadataAlloc();
     265
     266        // set the target release and collection of relStacks (one of these is required)
     267    psMetadataAddStr(calibraterelstackArgs,  PS_LIST_TAIL, "-release_name", 0, "define release name", NULL);
     268    psMetadataAddS32(calibraterelstackArgs, PS_LIST_TAIL,  "-rel_id", 0,      "define release ID", 0);
     269
     270        // select the processing
     271    psMetadataAddStr(calibraterelstackArgs,  PS_LIST_TAIL, "-skycal_label",  0, "select by skycalRun.label", NULL);
     272    psMetadataAddStr(calibraterelstackArgs,  PS_LIST_TAIL, "-skycal_data_group", 0,  "select by skycalRun.data_group", NULL);
     273    psMetadataAddS64(calibraterelstackArgs, PS_LIST_TAIL,  "-skycal_id", 0,      "select by skycalRun.skycal_id", 0);
     274
     275    psMetadataAddStr(calibraterelstackArgs,  PS_LIST_TAIL, "-tess_id", 0,  "select by tess_id", NULL);
     276    psMetadataAddStr(calibraterelstackArgs,  PS_LIST_TAIL, "-skycell_id", 0,  "select by skycell_id", NULL);
     277    pxskycellAddArguments(calibraterelstackArgs);
     278
     279    psMetadataAddBool(calibraterelstackArgs, PS_LIST_TAIL, "-replace",   0, "replace any existing calibrations", false);
     280    psMetadataAddU64(calibraterelstackArgs, PS_LIST_TAIL,  "-limit",   0, "limit result set to N items", 0);
     281
     282    // -deleterelstack
     283    psMetadata *deleterelstackArgs = psMetadataAlloc();
     284    psMetadataAddS64(deleterelstackArgs, PS_LIST_TAIL,  "-relstack_id", 0,   "select by released exposure ID", 0);
     285    psMetadataAddS64(deleterelstackArgs, PS_LIST_TAIL,  "-stack_id", 0,   "select by stack ID", 0);
     286//    psMetadataAddS64(deleterelstackArgs, PS_LIST_TAIL,  "-skycal_id", 0,   "select by skycal ID", 0);
     287    psMetadataAddStr(deleterelstackArgs,  PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL);
     288    psMetadataAddS32(deleterelstackArgs, PS_LIST_TAIL,  "-rel_id", 0,   "select by release ID", 0);
     289
     290    psMetadataAddStr(deleterelstackArgs,  PS_LIST_TAIL, "-label",  0,      "select by stackRun.label", NULL);
     291//    psMetadataAddStr(deleterelstackArgs,  PS_LIST_TAIL, "-data_group", 0,  "select by stackRun.data_group", NULL);
     292//    psMetadataAddStr(deleterelstackArgs,  PS_LIST_TAIL, "-skycal_label",  0, "select by skycalRun.label", NULL);
     293//    psMetadataAddStr(deleterelstackArgs,  PS_LIST_TAIL, "-skycal_data_group", 0,  "select by skycalRun.data_group", NULL);
     294
    250295    // -summary
    251296    psMetadata *summaryArgs = psMetadataAlloc();
     
    348393    PXOPT_ADD_MODE("-tocalibexp",       "list relExps pending calibration",  RELEASETOOL_MODE_TOCALIBEXP,  tocalibexpArgs);
    349394    PXOPT_ADD_MODE("-listrelexp",       "list released exposures",      RELEASETOOL_MODE_LISTRELEXP,    listrelexpArgs);
     395    PXOPT_ADD_MODE("-deleterelexp",     "delete a released exposure",   RELEASETOOL_MODE_DELETERELEXP,  deleterelexpArgs);
    350396
    351397    PXOPT_ADD_MODE("-definerelstack",     "define a released stack",    RELEASETOOL_MODE_DEFINERELSTACK,  definerelstackArgs);
    352398    PXOPT_ADD_MODE("-listrelstack",       "list released stacks",      RELEASETOOL_MODE_LISTRELSTACK,    listrelstackArgs);
     399    PXOPT_ADD_MODE("-updaterelstack",     "update parameters of released stacks",      RELEASETOOL_MODE_LISTRELSTACK,    updaterelstackArgs);
     400    PXOPT_ADD_MODE("-setrelstackcalibratedfromskycal", "update parameters of using skycalResults",      RELEASETOOL_MODE_SETRELSTACKCALIBRATEDFROMSKYCAL,    calibraterelstackArgs);
     401    PXOPT_ADD_MODE("-deleterelstack",     "update parameters of released stacks",      RELEASETOOL_MODE_DELETERELSTACK,  deleterelstackArgs);
     402
    353403    PXOPT_ADD_MODE("-summary",            "list stackSummaryes for released stacks", RELEASETOOL_MODE_SUMMARY,    summaryArgs);
    354404
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/stacktool.c

    r37105 r37823  
    4141static bool sumskyfileMode(pxConfig *config);
    4242static bool sassskyfileMode(pxConfig *config);
     43static bool updatesassMode(pxConfig *config);
    4344static bool revertsumskyfileMode(pxConfig *config);
    4445static bool tosummaryMode(pxConfig *config);
     
    8283        MODECASE(STACKTOOL_MODE_ADDSUMSKYFILE,         addsumskyfileMode);
    8384        MODECASE(STACKTOOL_MODE_SUMSKYFILE,            sumskyfileMode);
    84         MODECASE(STACKTOOL_MODE_SASSSKYFILE,            sassskyfileMode);
     85        MODECASE(STACKTOOL_MODE_SASSSKYFILE,           sassskyfileMode);
     86        MODECASE(STACKTOOL_MODE_UPDATESASS,            updatesassMode);
    8587        MODECASE(STACKTOOL_MODE_REVERTSUMSKYFILE,      revertsumskyfileMode);
    8688        MODECASE(STACKTOOL_MODE_TOSUMMARY,             tosummaryMode);
     
    756758    PXOPT_COPY_STR(config->args, where, "-data_group", "stackRun.data_group", "==");
    757759    PXOPT_COPY_STR(config->args, where, "-state",     "stackRun.state",     "==");
    758     PXOPT_COPY_S64(config->args, where, "-sass_id",   "stackAssociationMap.sass_id",  "==");
     760
    759761    PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false);
     762    PXOPT_LOOKUP_S64(sass_id, config->args, "-sass_id", false, false);
     763
     764    if (sass_id) {
     765      PXOPT_COPY_S64(config->args, where, "-sass_id",   "stackAssociationMap.sass_id",  "==");
     766    }
     767   
    760768    if (!psListLength(where->list)) {
    761769        psFree(where);
     
    771779        PXOPT_COPY_S16(config->args, where, "-fault", "stackSumSkyfile.fault", "==");
    772780    }
    773 
     781    if (sass_id) {
     782      psStringAppend(&query, " JOIN stackAssociationMap USING(stack_id)");
     783    }
     784   
    774785    // pxUpdateRun gets parameters from config->args and updates
    775786    bool result = pxUpdateRun(config, where, &query, "stackRun", "stack_id", "stackSumSkyfile", true, false);
     
    12951306    PXOPT_COPY_STR(config->args, where, "-data_group", "stackAssociation.data_group", "LIKE");
    12961307
    1297 //  The following three selectors are incompatible with the sql so omit them
    1298 //    PXOPT_COPY_S64(config->args, where, "-warp_id", "warpRun.warp_id", "==");
    1299 //     PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "==");
    1300 //    PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "==");
    1301 
    13021308    PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
    13031309
     
    13691375}
    13701376
     1377static bool updatesassMode(pxConfig *config)
     1378{
     1379  PS_ASSERT_PTR_NON_NULL(config, false);
     1380
     1381  psMetadata *where = psMetadataAlloc();
     1382  PXOPT_COPY_S64(config->args, where, "-sass_id", "sass_id", "==");
     1383  PXOPT_COPY_STR(config->args, where, "-data_group", "data_group", "==");
     1384  PXOPT_COPY_STR(config->args, where, "-projection_cell", "projection_cell", "==");
     1385  PXOPT_COPY_STR(config->args, where, "-tess_id", "tess_id", "==");
     1386  PXOPT_COPY_STR(config->args, where, "-filter", "filter", "==");
     1387  if (!psListLength(where->list)) {
     1388    psFree(where);
     1389    psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required");
     1390    return false;
     1391  }
     1392
     1393  psMetadata *values = psMetadataAlloc();
     1394  PXOPT_COPY_STR(config->args, values, "-set_data_group", "data_group", "==");
     1395  if (!psListLength(values->list)) {
     1396    psFree(values);
     1397    psError(PXTOOLS_ERR_CONFIG, false, "data_group to assign not found");
     1398    return false;
     1399  }
     1400
     1401  if (!psDBTransaction(config->dbh)) {
     1402    psError(PS_ERR_UNKNOWN, false, "database error");
     1403    return false;
     1404  }
     1405 
     1406  long rows = psDBUpdateRows(config->dbh, "stackAssociation", where, values);
     1407  psFree(values);
     1408  psFree(where);
     1409
     1410  if (rows != 1) {
     1411    psError(PS_ERR_UNKNOWN, false, "should have updated only one row. updated %ld", rows);
     1412    return false;
     1413  }
     1414
     1415  if (!psDBCommit(config->dbh)) {
     1416    psError(PS_ERR_UNKNOWN, false, "database error");
     1417    return false;
     1418  }
     1419
     1420  return true;
     1421}
    13711422
    13721423static bool revertsumskyfileMode(pxConfig *config)
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/stacktool.h

    r36361 r37823  
    3535    STACKTOOL_MODE_SUMSKYFILE,
    3636    STACKTOOL_MODE_SASSSKYFILE,
     37    STACKTOOL_MODE_UPDATESASS,
    3738    STACKTOOL_MODE_REVERTSUMSKYFILE,
    3839    STACKTOOL_MODE_TOSUMMARY,
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/stacktoolConfig.c

    r37105 r37823  
    238238    psMetadataAddBool(sassskyfileArgs, PS_LIST_TAIL, "-all",  0,            "enable search without arguments", false);
    239239
     240    // -updatesass
     241    psMetadata *updatesassArgs = psMetadataAlloc();
     242    psMetadataAddS64(updatesassArgs, PS_LIST_TAIL, "-sass_id", 0,           "search by stack association id", 0);
     243    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-data_group", 0,        "search by data group", 0);
     244    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-projection_cell", 0,   "search by projection cell", 0);
     245    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-tess_id", 0,           "search by tess_id", 0);
     246    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-filter", 0,            "search by filter", 0);
     247
     248    psMetadataAddStr(updatesassArgs, PS_LIST_TAIL, "-set_data_group", 0,    "data_group to assign", 0);
     249
    240250    // -revertsumskyfile
    241251    psMetadata *revertsumskyfileArgs= psMetadataAlloc();
     
    348358    PXOPT_ADD_MODE("-donecleanup",           "show runs that have been cleaned",     STACKTOOL_MODE_DONECLEANUP,          donecleanupArgs);
    349359
    350     PXOPT_ADD_MODE("-sassskyfile",      "list results of stackAssociation", STACKTOOL_MODE_SASSSKYFILE,      sassskyfileArgs);
     360    PXOPT_ADD_MODE("-sassskyfile",          "list results of stackAssociation", STACKTOOL_MODE_SASSSKYFILE,      sassskyfileArgs);
     361    PXOPT_ADD_MODE("-updatesass",           "update data_group of stackAssociation", STACKTOOL_MODE_UPDATESASS,  updatesassArgs);
    351362    PXOPT_ADD_MODE("-tosummary",            "show runs that can be summarized", STACKTOOL_MODE_TOSUMMARY, tosummaryArgs);
    352363    PXOPT_ADD_MODE("-summary",              "show runs that have been summarized", STACKTOOL_MODE_SUMMARY, summaryArgs);
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/staticskytool.c

    r36633 r37823  
    10571057    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    10581058    PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
     1059    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    10591060
    10601061    psString query = pxDataGet("staticskytool_defineskycalrun.sql");
     
    10841085    }
    10851086
     1087    if (limit) {
     1088        psString limitString = psDBGenerateLimitSQL(limit);
     1089        psStringAppend(&query, "\n%s", limitString);
     1090        psFree(limitString);
     1091    }
    10861092
    10871093    if (!p_psDBRunQueryF(config->dbh, query, labelHook)) {
     
    11711177    PXOPT_COPY_S64(config->args, where, "-sky_id",   "sky_id",   "==");
    11721178    PXOPT_COPY_S64(config->args, where, "-stack_id", "stack_id",   "==");
     1179    PXOPT_COPY_STR(config->args, where, "-skycell_id",  "stackRun.skycell_id",    "==");
    11731180    PXOPT_COPY_STR(config->args, where, "-label",   "skycalRun.label",    "==");
    11741181    PXOPT_COPY_STR(config->args, where, "-state",   "skycalRun.state",    "==");
  • branches/eam_branches/ipp-pv3-20140717-merge/ippTools/src/staticskytoolConfig.c

    r35960 r37823  
    181181    psMetadataAddBool(defineskycalrunArgs, PS_LIST_TAIL, "-check_inputs",  0, "list inputs, do not modify database", false);
    182182    psMetadataAddBool(defineskycalrunArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false);
     183    psMetadataAddU64(defineskycalrunArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0);
    183184
    184185    // -updateskycalrun
     
    188189    psMetadataAddS64(updateskycalrunArgs, PS_LIST_TAIL, "-stack_id", 0,  "search by stack ID", 0);
    189190    psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL);
     191    psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell_id", 0);
    190192    psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-label", 0, "search by label", 0);
    191193    pxskycellAddArguments(updateskycalrunArgs);
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig

  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/Makefile.am

    r36094 r37823  
    44        gpc1 \
    55        gpc1-tdi \
     6        gpc2 \
    67        cfh12k \
    78        megacam \
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/configure.ac

    r36094 r37823  
    1515  gpc1/Makefile
    1616  gpc1-tdi/Makefile
     17  gpc2/Makefile
    1718  cfh12k/Makefile
    1819  megacam/Makefile
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/dvo.photcodes

    r37052 r37823  
    159159  2016  WISE_W3              ref   0.000  0.000 0.000     -     - 0.0000     0     -   0.080 0.000 5.000  0.000   0x0000 0x0000  0x0000 0x0000
    160160  2017  WISE_W4              ref   0.000  0.000 0.000     -     - 0.0000     0     -   0.080 0.000 5.000  0.000   0x0000 0x0000  0x0000 0x0000
     161
     162  # ICRF QSOs have astrometric error stored in dX,dY as 1/100th mas
     163  2090  ICRF_S               ref   0.000  0.000 0.000     -     - 0.0000     0     -   0.000 0.001 0.000  0.000   0x0000 0x0000  0x0000 0x0000
     164  2091  ICRF_C               ref   0.000  0.000 0.000     -     - 0.0000     0     -   0.000 0.001 0.000  0.000   0x0000 0x0000  0x0000 0x0000
     165  2092  ICRF_X               ref   0.000  0.000 0.000     -     - 0.0000     0     -   0.000 0.001 0.000  0.000   0x0000 0x0000  0x0000 0x0000
     166  2093  ICRF_U               ref   0.000  0.000 0.000     -     - 0.0000     0     -   0.000 0.001 0.000  0.000   0x0000 0x0000  0x0000 0x0000
     167  2094  ICRF_K               ref   0.000  0.000 0.000     -     - 0.0000     0     -   0.000 0.001 0.000  0.000   0x0000 0x0000  0x0000 0x0000
    161168
    162169  3001  SYNTH.g              ref   0.000  0.000 0.000     -     - 0.0000     0     1     nan 0.000 2.000  0.600   0x0000 0x0000  0x0000 0x0000
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/gpc1/format_20100723.config

    r33243 r37823  
    210210        FPA.BURNTOOL.APPLIED STR BTOOLAPP
    211211        CHIP.VIDEOCELL  STR     CELLMODE
     212
     213        FPA.SHUTOUTC    STR     SHUTOUTC
    212214
    213215        FPA.PON.TIME    STR     PONTIME
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/gpc1/ppStack.config

    r37301 r37823  
    277277
    278278
     279
     280
     281STACK_CNP_PV3_IQ_1DG  METADATA       ## revised -- based on STACK_THREEPI/STACK_MD_DEEP_1DG -- not complete
     282    OUTPUT.NOCOMP           BOOL  FALSE
     283    OUTPUT.LOGFLUX          BOOL  TRUE
     284    STACK.TYPE              STR   DEEP_STACK
     285    PSF.INPUT.CLIP.SIMPLE   BOOL  True
     286    PSF.INPUT.MAX           F32   10.0    # 
     287    PSF.INPUT.CLIP.NSIGMA   F32   100.0
     288    PSF.INPUT.THRESH        F32   NAN
     289    PSF.INPUT.ASYMMETRY     F32   NAN
     290    MATCH.REJ        F32    4.0
     291    SAFE                 BOOL   F
     292    PSF.TARGET.AS.MAX.EPSILON F32 0.1
     293    ## also unclear what rej mods needed
     294    ##
     295    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
     296    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
     297    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
     298END
     299
     300STACK_CNP_PV3_REF_1DG  METADATA  ## revised CNP PV3 REF stack -- not complete
     301    OUTPUT.NOCOMP            BOOL  TRUE   # unclear if this necessary for CNP REF
     302    OUTPUT.LOGFLUX           BOOL  FALSE  #
     303    OUTPUT.REPLICATE         BOOL  TRUE
     304    STACK.TYPE               STR   DEEP_STACK 
     305    PSF.INPUT.CLIP.SIMPLE    BOOL  True
     306    PSF.INPUT.MAX            F32   10.0   # CNP large FWHM, center/edge vary 1-2 pix?
     307    PSF.INPUT.CLIP.NSIGMA    F32   1.0    # sample typically on rising side of distribution (set smaller?)
     308    PSF.INPUT.THRESH         F32   NAN
     309    PSF.INPUT.ASYMMETRY      F32   NAN
     310    MATCH.REJ                F32   4.0    # need ot tune?
     311    SAFE                     BOOL  FALSE
     312    PSF.TARGET.AS.MAX        BOOL  TRUE   # Set the target PSF FWHM as the maximum of accepted input FWHM values.
     313    PSF.TARGET.AS.MAX.EPSILON F32 0.1     # set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
     314    ## extra rej -- turn default for initial test run
     315    #THRESHOLD.MASK  F32     0.1          # Threshold for mask deconvolution (0..1)
     316    #COMBINE.ITER    F32     0.5          # Number of rejection iterations per input
     317    #COMBINE.REJ     F32     3.0          # Rejection threshold in combination (sigma)
     318    #COMBINE.SYS     F32     0.1          # Relative systematic error in combination
     319    #COMBINE.DISCARD F32     0.2          # Discard fraction for Olympic weighted mean
     320    #IMAGE.REJ       F32     0.1          # Rejected pixel fraction threshold for rejecting entire image
     321    #NMINPIX         S32     4            # Minimum input per pixel
     322    #MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
     323    ##
     324    MASK.BLANKBORDER S32    20           # Mask blank border in final stack output
     325    BSCALEOFFSET    BOOL    FALSE        # MUST be FALSE for PV3
     326END
     327
     328STACK_CNP_PV3_DEEP_1DG  METADATA   ## -- not complete
     329    OUTPUT.NOCOMP           BOOL  TRUE
     330    OUTPUT.LOGFLUX          BOOL  FALSE
     331    OUTPUT.REPLICATE        BOOL  TRUE
     332    STACK.TYPE              STR   DEEP_STACK
     333    PSF.INPUT.CLIP.SIMPLE   BOOL  True
     334    PSF.INPUT.MAX           F32   16.0    # large FWHM images up to 20 -- 
     335    PSF.INPUT.CLIP.NSIGMA   F32   100.0   # do not want to clip really
     336    PSF.INPUT.THRESH        F32   NAN
     337    PSF.INPUT.ASYMMETRY     F32   NAN
     338    MATCH.REJ               F32   4.0     # need ot tune?
     339    SAFE                    BOOL  FALSE
     340    PSF.TARGET.AS.MAX  BOOL  TRUE
     341    PSF.TARGET.AS.MAX.EPSILON F32 0.1
     342    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
     343    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
     344    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
     345    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
     346    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
     347    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
     348    NMINPIX         S32     3               # Minimum input per pixel -- more and get crazy structures..
     349    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels -- many, dont trust SUSPECT
     350    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
     351    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3 (PV2 bias hack fix)
     352END
     353
     354
     355STACK_MD_PV3_NIGHT_1DG  METADATA   ## Revised MD 8 input NIGHT stacks for PV3 -- not complete
     356    OUTPUT.NOCOMP             BOOL  FALSE
     357    OUTPUT.LOGFLUX            BOOL  FALSE
     358    PSF.INPUT.CLIP.SIMPLE     BOOL  True
     359    PSF.INPUT.MAX             F32   12.0    # what FWHM does diffim become mostly useless, if any?
     360    PSF.INPUT.CLIP.NSIGMA     F32   1000.0  # want to use up to MAX, but sig could possibly be small?
     361    PSF.INPUT.THRESH        F32   NAN
     362    PSF.INPUT.ASYMMETRY     F32   NAN
     363    MATCH.REJ               F32   4.0   # need ot tune?
     364    SAFE                    BOOL  FALSE
     365    ##
     366    PSF.TARGET.AS.MAX       BOOL  TRUE      # Set the target PSF FWHM as the maximum of accepted input FWHM values.
     367    PSF.TARGET.AS.MAX.EPSILON F32 0.1       # Amount to set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
     368    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
     369    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
     370    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
     371    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
     372    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
     373    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
     374    NMINPIX         S32     4               # Minimum input per pixel
     375    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
     376    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
     377    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
     378END
     379
     380STACK_MD_PV3_IQ_1DG       METADATA  ## revised config for MD PV3 IQ stacks -- not complete
     381    OUTPUT.NOCOMP           BOOL  TRUE
     382    OUTPUT.LOGFLUX          BOOL  FALSE
     383    OUTPUT.REPLICATE        BOOL  TRUE
     384    STACK.TYPE              STR   DEEP_STACK  ## needed?
     385    PSF.INPUT.CLIP.SIMPLE   BOOL  True
     386    PSF.INPUT.MAX           F32   10.0   # center/edge can vary 1-2 pix, prefer <6 pix but needs to be <10 pix for edges until code improved..
     387    PSF.INPUT.CLIP.NSIGMA   F32   100.0  # any change to inputs can greatly impact edge filling factor..
     388    PSF.INPUT.THRESH        F32   NAN
     389    PSF.INPUT.ASYMMETRY     F32   NAN
     390    MATCH.REJ               F32   4.0   # need ot tune?
     391    SAFE                    BOOL  FALSE
     392    PSF.TARGET.AS.MAX       BOOL  TRUE      # Set the target PSF FWHM as the maximum of accepted input FWHM values.
     393    PSF.TARGET.AS.MAX.EPSILON F32 0.1       # Amount to set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
     394    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
     395    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
     396    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
     397    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
     398    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
     399    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
     400    NMINPIX         S32     4               # Minimum input per pixel
     401    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
     402    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
     403    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
     404END
     405
     406STACK_MD_PV3_REF_1DG       METADATA  ## revised config for MD PV3 refstacks -- not complete
     407    OUTPUT.NOCOMP           BOOL  TRUE
     408    OUTPUT.LOGFLUX          BOOL  FALSE
     409    OUTPUT.REPLICATE        BOOL  TRUE
     410    STACK.TYPE              STR   DEEP_STACK  ## needed?
     411    PSF.INPUT.CLIP.SIMPLE   BOOL  True
     412    PSF.INPUT.MAX           F32   7.0   # center/edge can vary 1-2 pix, prefer <6 pix but needs to be <7 pix for edges
     413    PSF.INPUT.CLIP.NSIGMA   F32   1.0   # sample typically on rising side of distribution (set even smaller?)
     414    PSF.INPUT.THRESH        F32   NAN
     415    PSF.INPUT.ASYMMETRY     F32   NAN
     416    MATCH.REJ               F32   4.0   # need ot tune?
     417    SAFE                    BOOL  FALSE
     418    PSF.TARGET.AS.MAX       BOOL  TRUE      # Set the target PSF FWHM as the maximum of accepted input FWHM values.
     419    PSF.TARGET.AS.MAX.EPSILON F32 0.1       # Amount to set the target PSF FWHM larger than the maximum input. Target = eps + max(input)
     420    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
     421    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
     422    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
     423    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
     424    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
     425    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
     426    NMINPIX         S32     4               # Minimum input per pixel
     427    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
     428    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
     429    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
     430END
     431
     432STACK_MD_PV3_DEEP_1DG     METADATA   ## revised config for MD PV3 deepstack -- not complete
     433    OUTPUT.NOCOMP           BOOL  TRUE
     434    OUTPUT.LOGFLUX          BOOL  FALSE
     435    OUTPUT.REPLICATE        BOOL  TRUE
     436    STACK.TYPE              STR   DEEP_STACK
     437    PSF.INPUT.CLIP.SIMPLE   BOOL  True
     438    PSF.INPUT.MAX           F32   10.0    # 
     439    PSF.INPUT.CLIP.NSIGMA   F32   100.0
     440    PSF.INPUT.THRESH        F32   NAN
     441    PSF.INPUT.ASYMMETRY     F32   NAN
     442    MATCH.REJ               F32   4.0     # need ot tune?
     443    SAFE                    BOOL  FALSE
     444    PSF.TARGET.AS.MAX  BOOL  TRUE
     445    PSF.TARGET.AS.MAX.EPSILON F32 0.1
     446    THRESHOLD.MASK  F32     0.1             # Threshold for mask deconvolution (0..1)
     447    COMBINE.ITER    F32     0.5             # Number of rejection iterations per input
     448    COMBINE.REJ     F32     3.0             # Rejection threshold in combination (sigma)
     449    COMBINE.SYS     F32     0.1             # Relative systematic error in combination
     450    COMBINE.DISCARD F32     0.2             # Discard fraction for Olympic weighted mean
     451    IMAGE.REJ       F32     0.1             # Rejected pixel fraction threshold for rejecting entire image
     452    NMINPIX         S32     30              # Minimum input per pixel
     453    MASK.VAL        STR     SUSPECT,MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
     454    MASK.BLANKBORDER S32    20              # Mask blank border in final stack output
     455    BSCALEOFFSET    BOOL    FALSE           # MUST be FALSE for PV3
     456END
     457
     458
     459
    279460# Recipe overrides for STACK
    280461STACKPHOT METADATA
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/gpc1/psastro.config

    r37303 r37823  
    365365#  PSASTRO.CATDIR               STR     PS1.REF.20120503
    366366#  PSASTRO.CATDIR               STR     PS1.REF.20120524
    367    PSASTRO.CATDIR               STR     PS1.REF.20140605
     367#   PSASTRO.CATDIR               STR     PS1.REF.20140605
     368   PSASTRO.CATDIR               STR     PS1.REF.20140713
    368369   ZERO.POINT.USE.MEAN          BOOL    TRUE 
    369370END
     
    396397   PSASTRO.FIELD.PADDING        F32   0.5
    397398END
     399
     400CNP_ASTRO_PV3 METADATA
     401   PSASTRO.MAX.ALLOWED.FWHM    F32   25  # larger number typical >12, so include 2x larger
     402   PSASTRO.CATDIR              STR   PS1.REF.20140713
     403   PSASTRO.GRID.MIN.ANGLE      F32   -20
     404   PSASTRO.GRID.MAX.ANGLE      F32   +20
     405   PSASTRO.GRID.DEL.ANGLE      F32   0.5
     406   PSASTRO.FIELD.PADDING       F32   0.5
     407   DVO.GETSTAR.MAX.RHO         F32   5000.0  # globally changed to 10k, huge numbers in soln and larger sigma
     408   DVO.GETSTAR.MIN.MAG         F32   8.0     # can go brighter in marginal nights (like MD done every night as possible)
     409   PSASTRO.GRID.NREF.MAX       S32   1600    # defaults
     410   PSASTRO.GRID.NRAW.MAX       S32   800   
     411   PSASTRO.MIN.INST.MAG.RAW       F32     -15.0   # min instrumental magnitude for stars accepted for fitting
     412   PSASTRO.MAX.INST.MAG.RAW       F32      -8.5   # reduce instrumental faint end a bit (cuts most if rho>5k anyways)
     413   PSASTRO.GRID.MIN.INST.MAG.RAW  F32     -15.0   # min instrumental magnitude for stars accepted for grid search
     414   PSASTRO.GRID.MAX.INST.MAG.RAW  F32      -8.0   # max instrumental magnitude for stars accepted for grid search
     415
     416   ZERO.POINT.USE.MEAN         BOOL  TRUE 
     417   ## refcat -- want to be able to further limit for ZP, general settings
     418   ## -- concern w/ new refcat >20 extra sources w/ larger merr can over-dominating scatter in ZP
     419   ## -- CLAMP will limit both astrom and zp -- CNP are shorter exposures
     420   REFSTAR_CLAMP_MAG_MAX       F32   20.0 
     421   REFSTAR.ZP.MIN.MAG          F32   8.0   
     422   REFSTAR.ZP.MAX.MAG          F32   19.0
     423   ## for ZP need extra restriction by filter to avoid poorer photometry scatter on faint end
     424   ## -- ZP is by exposure so can easily reduce numbers 
     425   ## -- cannot restrict on bright end due to possible marginal nights
     426   ## -- set for merr<0.03 in refcat, similar to MD
     427#   PHOTCODE.DATA MULTI UPDATE
     428   PHOTCODE.DATA MULTI   
     429   PHOTCODE.DATA METADATA
     430     FILTER   STR g
     431     PHOTCODE STR g
     432     #REFSTAR.ZP.MAX.MAG    F32  19.0
     433     REFSTAR.ZP.MAX.MAG    F32  18.0  # changed after PV3.20141111 run to match raw merr
     434   END
     435   PHOTCODE.DATA METADATA
     436     FILTER   STR r
     437     PHOTCODE STR r
     438     REFSTAR.ZP.MAX.MAG    F32  18.0
     439   END
     440   PHOTCODE.DATA METADATA
     441     FILTER   STR i
     442     PHOTCODE STR i
     443     REFSTAR.ZP.MAX.MAG    F32  18.0
     444   END
     445   PHOTCODE.DATA METADATA
     446     FILTER   STR z
     447     PHOTCODE STR z
     448     REFSTAR.ZP.MAX.MAG    F32  18.0
     449   END
     450   PHOTCODE.DATA METADATA
     451     FILTER   STR y
     452     PHOTCODE STR y
     453     REFSTAR.ZP.MAX.MAG    F32  17.0
     454   END
     455END
     456
     457MD_ASTRO_PV3 METADATA
     458   ZERO.POINT.BY.EXPOSURE      BOOL  TRUE
     459   ZERO.POINT.USE.MEAN         BOOL  TRUE
     460   DVO.GETSTAR.MAX.RHO         F32   6000.0  # was globally changed to 10k
     461   PSASTRO.GRID.NREF.MAX       S32   1600    # max stars for grid search from ref catalog
     462   PSASTRO.GRID.NRAW.MAX       S32   800     # max stars for grid search from raw/image 
     463   DVO.GETSTAR.MIN.MAG         F32   12.0    # leave similar to default, MD in marginal weather and can lose 1-3 mags
     464   DVO.GETSTAR.MIN.MAG.INST    F32   -25.0
     465   PSASTRO.CATDIR              STR   PS1.REF.20140713
     466   ## refcat may be okay astrom but not faint phot -- so need to be able to further limit by ZP
     467   ## -- concern w/ new refcat >20 extra sources w/ larger merr over-dominating scatter in ZP
     468   ## -- CLAMP will limit both astrom and zp --
     469   REFSTAR_CLAMP_MAG_MAX       F32   22.0
     470   REFSTAR.ZP.MIN.MAG          F32   12.0
     471   REFSTAR.ZP.MAX.MAG          F32   19.0
     472   ## for ZP need extra limit by filter to avoid poorer photometry scatter on faint end
     473   ## -- cannot restrict on bright end due to possible marginal nights
     474   ## -- set for merr<0.02-0.03 in refcat, ~similar for each MD field
     475#   PHOTCODE.DATA MULTI UPDATE
     476   PHOTCODE.DATA MULTI   
     477   PHOTCODE.DATA METADATA
     478     FILTER   STR g
     479     PHOTCODE STR g
     480     REFSTAR.ZP.MAX.MAG    F32  19.0
     481   END
     482   PHOTCODE.DATA METADATA
     483     FILTER   STR r
     484     PHOTCODE STR r
     485     REFSTAR.ZP.MAX.MAG    F32  19.0
     486   END
     487   PHOTCODE.DATA METADATA
     488     FILTER   STR i
     489     PHOTCODE STR i
     490     REFSTAR.ZP.MAX.MAG    F32  18.5
     491   END
     492   PHOTCODE.DATA METADATA
     493     FILTER   STR z
     494     PHOTCODE STR z
     495     REFSTAR.ZP.MAX.MAG    F32  18.5
     496   END
     497   PHOTCODE.DATA METADATA
     498     FILTER   STR y
     499     PHOTCODE STR y
     500     REFSTAR.ZP.MAX.MAG    F32  17.5
     501   END
     502END
     503
    398504
    399505TEST_REFCAT METADATA
     
    430536    DVO.GETSTAR.MIN.MAG.INST    F32   -15.0
    431537#   PSASTRO.CATDIR                       STR     PS1.REF.20120524
    432     PSASTRO.CATDIR               STR     PS1.REF.20140605
     538#    PSASTRO.CATDIR               STR     PS1.REF.20140605
     539    PSASTRO.CATDIR               STR  PS1.REF.20140713
    433540    ZERO.POINT.USE.MEAN                  BOOL    TRUE
    434541
     
    525632
    526633## if defined for MD, needs to have MD name in group so shouldn't be modified except for MD work
    527 ## -- ad hoc limit for NREF due to issues fainter than 19 mag in all filters and brighter than 17.0 mag (except y ~16.5) in MD
    528 ## -- better solution and other issues need to really be dealt with for PV3
    529 STATICSKY_MD_DEEPCAL   METADATA
     634## -- was ad hoc limit for NREF~150, rho~6000 due to issues fainter than 19 mag in all filters and brighter than 17.0 mag (except y ~16.5) in MD
     635## -- for PV3 add refcat min/max mag REFSTAR.ZP.MIN.MAG for ZP range only
     636STATICSKY_MD_PV3_DEEPCAL   METADATA
    530637   PSASTRO.CATDIR                  STR   PS1.REF.20140713
    531638   REFSTAR_MASK                    BOOL  FALSE
     
    537644   PSASTRO.FIELD.PADDING           F32   0.01   # skycells are well defined, don't need large padding. 1% of 6400 is 64 pixels
    538645   PSASTRO.MAX.NRAW                S32   1500   # include more than MAX.NREF to account for extras like false-positives
    539    PSASTRO.MAX.NREF                S32   150    # if edge skycell ~10% then try ~50 to match. increase to help odd bulk offsets
     646   PSASTRO.MAX.NREF                S32   500    # if edge skycell ~10% then try ~50 to match. increase to help odd bulk offsets
    540647   PSASTRO.MIN.INST.MAG.RAW        F32   -25.0  #
    541648   PSASTRO.MAX.INST.MAG.RAW        F32   -5.0
     
    544651   DVO.GETSTAR.MAX.RHO             F32   6000.0  # N/sqdeg, slightly larger than MAX.NREF
    545652   DVO.GETSTAR.MIN.MAG.INST        F32   -25.0   # set absurd range to cover large range of exptime, then clamp...
    546    DVO.GETSTAR.MIN.MAG             F32   17.0    # only used if keyword problem so also using CLAMP_MAG_MIN
    547    REFSTAR_CLAMP_MAG_MIN           F32   17.0    # saturation in MD ~14 even in y-band, so toss out brighter in the list. seeing offset in brighter stars
     653   DVO.GETSTAR.MIN.MAG             F32   15.0    # only used if keyword problem so also using CLAMP_MAG_MIN
     654   REFSTAR_CLAMP_MAG_MIN           F32   15.0    # saturation in MD ~14 even in y-band, so toss out brighter in the list. offset in brighter stars
    548655   DVO.GETSTAR.FIXED.ZEROPT        F32   0.0     # not really needed, exptime overly dominates
    549656
     
    557664   PSASTRO.MIN.NSTAR               S32   10   # edges may not have many and require special treatment
    558665
    559    KH.CORRECT.APPLY              BOOL     FALSE
    560 END
    561 
    562 
    563 
     666   KH.CORRECT.APPLY                BOOL     FALSE
     667
     668   REFSTAR.ZP.MIN.MAG      F32  15.0  # general refcat zp min/max setting -- need to use photcode below
     669   REFSTAR.ZP.MAX.MAG      F32  19.0
     670   ## set min to avoid bright turnover and max to limit merr<0.04
     671   ## --
     672#   PHOTCODE.DATA MULTI UPDATE
     673   PHOTCODE.DATA MULTI
     674   PHOTCODE.DATA METADATA
     675     FILTER   STR g
     676     PHOTCODE STR g
     677     REFSTAR.ZP.MIN.MAG    F32  17.0  #
     678     REFSTAR.ZP.MAX.MAG    F32  20.0  #
     679   END
     680   PHOTCODE.DATA METADATA
     681     FILTER   STR r
     682     PHOTCODE STR r
     683     REFSTAR.ZP.MIN.MAG    F32  17.0  #
     684     REFSTAR.ZP.MAX.MAG    F32  19.0  #
     685   END
     686   PHOTCODE.DATA METADATA
     687     FILTER   STR i
     688     PHOTCODE STR i
     689     REFSTAR.ZP.MIN.MAG    F32  17.0  #
     690     REFSTAR.ZP.MAX.MAG    F32  19.0  #
     691   END
     692   PHOTCODE.DATA METADATA
     693     FILTER   STR z
     694     PHOTCODE STR z
     695     REFSTAR.ZP.MIN.MAG    F32  16.0  #
     696     REFSTAR.ZP.MAX.MAG    F32  18.0  #
     697   END
     698   PHOTCODE.DATA METADATA
     699     FILTER   STR y
     700     PHOTCODE STR y
     701     REFSTAR.ZP.MIN.MAG    F32  15.0  #
     702     REFSTAR.ZP.MAX.MAG    F32  17.0  #
     703   END
     704END
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/recipes/ppImage.config

    r37768 r37823  
    643643  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image?
    644644  OVERSCAN           BOOL    FALSE           # Overscan subtraction
     645  NONLIN             BOOL    FALSE           # Non-linearity correction; not implemented
     646  BIAS               BOOL    FALSE           # Bias subtraction
     647  DARK               BOOL    TRUE            # Dark subtraction
     648  SHUTTER            BOOL    FALSE           # Shutter correction
     649  FLAT               BOOL    FALSE           # Flat-field normalisation
     650  MASK               BOOL    FALSE           # Mask bad pixels
     651  MASK.BUILD         BOOL    FALSE         # Build internal mask?
     652  FRINGE             BOOL    FALSE           # Fringe subtraction
     653  PHOTOM             BOOL    FALSE           # Source identification and photometry
     654  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
     655  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
     656  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
     657  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
     658END
     659
     660# Dark & Overscan subtraction only
     661PPIMAGE_OD          METADATA
     662  BASE.FITS          BOOL    FALSE           # Save base detrended image?
     663  BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
     664  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
     665  CHIP.FITS          BOOL    TRUE            # Save chip-mosaic-ed image?
     666  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image?
     667  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image?
     668  OVERSCAN           BOOL    TRUE            # Overscan subtraction
    645669  NONLIN             BOOL    FALSE           # Non-linearity correction; not implemented
    646670  BIAS               BOOL    FALSE           # Bias subtraction
     
    25282552END
    25292553
     2554# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
     2555PPIMAGE_PREMASK_PROCESS      METADATA
     2556  BASE.FITS        BOOL    FALSE            # Save base detrended image?
     2557  BASE.MASK.FITS   BOOL    FALSE            # Save base detrended image?
     2558  BASE.VARIANCE.FITS BOOL  FALSE            # Save base detrended image?
     2559  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image?
     2560  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image?
     2561  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image?
     2562  OVERSCAN         BOOL    TRUE            # Overscan subtraction
     2563  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
     2564  BIAS             BOOL    TRUE            # Bias subtraction
     2565  DARK             BOOL    TRUE            # Dark subtraction
     2566  SHUTTER          BOOL    FALSE           # Shutter correction
     2567  FLAT             BOOL    TRUE            # Flat-field normalisation
     2568  MASK             BOOL    FALSE           # Mask bad pixels
     2569  MASK.BUILD       BOOL    FALSE           # Build internal mask?
     2570  FRINGE           BOOL    FALSE           # Fringe subtraction
     2571  PHOTOM           BOOL    FALSE           # Source identification and photometry
     2572  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
     2573  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
     2574  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
     2575  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
     2576
     2577  DETREND.CONSTRAINTS  METADATA
     2578    DARK METADATA
     2579      DETTYPE STR DARK_PREMASK
     2580      EXPTIME STR FPA.EXPOSURE
     2581    END
     2582    FLAT METADATA
     2583      DETTYPE STR FLAT_PREMASK
     2584      FILTER  STR FPA.FILTERID
     2585    END
     2586  END   
     2587END
     2588
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/recipes/ppStack.config

    r37299 r37823  
    169169STACK_THREEPI_ALT  METADATA
    170170END
     171
    171172STACK_CNP  METADATA
    172173END
     
    199200STACK_MDTHREEPI_DEEP_1DG   METADATA
    200201END
     202
     203STACK_MD_PV3_IQ_1DG    METADATA
     204END
     205
     206STACK_MD_PV3_REF_1DG    METADATA
     207END
     208
     209STACK_MD_PV3_DEEP_1DG   METADATA
     210END
     211
     212STACK_MD_PV3_NIGHT_1DG  METADATA
     213    STACK.TYPE      STR     NIGHTLY_STACK
     214END
     215
     216STACK_CNP_PV3_IQ_1DG    METADATA
     217END
     218
     219STACK_CNP_PV3_REF_1DG    METADATA
     220END
     221
     222STACK_CNP_PV3_DEEP_1DG   METADATA
     223END
     224
     225
    201226
    202227
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/recipes/ppSub.config

  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/recipes/psastro.config

    r37302 r37823  
    170170# report and reject stars with reported magnitudes less than this value. These non physical
    171171# magnitudes are errors in the reference catalog (this value is sky magnitude, not instrumental)
     172# -- and now also for greater than a sky magnitude (should be 24-25?)
    172173REFSTAR_CLAMP_MAG_MIN           F32 -3.0
     174REFSTAR_CLAMP_MAG_MAX           F32 30.0
     175
     176# restrict ref catalog for zero point determination
     177# -- can be put into photcode groups as well
     178REFSTAR.ZP.MAX.MAG  F32  30.0
     179REFSTAR.ZP.MIN.MAG  F32  -3.0
    173180
    174181EXTRACT_MAX_MAG                 F32 -15.0
     
    274281END
    275282
     283CNP_ASTRO_PV3 METADATA
     284END
     285
     286MD_ASTRO_PV3 METADATA
     287END
     288
    276289SYNTH_CAT METADATA
    277290END
     
    299312END
    300313
     314STATICSKY_MD_PV3_DEEPCAL   METADATA
     315END
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/recipes/psphot.config

    r37052 r37823  
    233233# Extended source fit parameters
    234234# these models are used for high-quality shape analysis after all sources have been removed
    235 EXTENDED_SOURCE_FITS                BOOL  FALSE  # perform the detailed extended sourc fits?
    236 EXTENDED_SOURCE_FITS_INTERACTIVE    BOOL  FALSE  # perform the detailed extended sourc fits?
     235EXTENDED_SOURCE_FITS                BOOL  FALSE  # perform the detailed extended source fits?
     236EXTENDED_SOURCE_FITS_INTERACTIVE    BOOL  FALSE  # perform the detailed extended source fits?
    237237EXTENDED_SOURCE_FITS_POISSON        BOOL  FALSE   # use poisson errors for extended source models
     238EXTENDED_SOURCE_GALAXY_PARAMS       BOOL  FALSE  # measure galaxy parameters
    238239
    239240EXTENDED_SOURCE_MODELS_SELECTION    STR   ALL
     
    315316# ANALYSIS_REGION                   STR   [1000:1600,2800:3400]
    316317
     318GROWTH_FROM_SOURCES                 BOOL  TRUE
    317319IGNORE_GROWTH                       BOOL  FALSE
    318320CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  FALSE
     
    412414
    413415# psphotStack source matching parameters
    414 PSPHOT.STACK.MIN.DETECT.FOR.FORCED  S32   2   # number of bands that an object must be detected in before creating
     416PSPHOT.STACK.MIN.DETECT.FOR.FORCED  S32   1   # number of bands that an object must be detected in before creating
    415417                                              # sources in undetected bands
    416418                                             
     
    426428PSPHOT.STACK.MATCH.FILTERS   METADATA
    427429    TYPE        PSPHOT_STACK.MATCH.FILTER FILTER.ID ORDER MATCH.ALL Y.RATIO.MAX
    428     gband       PSPHOT_STACK.MATCH.FILTER   g        4       FALSE      0
    429     rband       PSPHOT_STACK.MATCH.FILTER   r        2       FALSE      1.7
    430     iband       PSPHOT_STACK.MATCH.FILTER   i        1       FALSE      1.6
    431     zband       PSPHOT_STACK.MATCH.FILTER   z        3       FALSE      1.65
     430    gband       PSPHOT_STACK.MATCH.FILTER   g        4       TRUE      0
     431    rband       PSPHOT_STACK.MATCH.FILTER   r        2       TRUE      0
     432    iband       PSPHOT_STACK.MATCH.FILTER   i        1       TRUE      0
     433    zband       PSPHOT_STACK.MATCH.FILTER   z        3       TRUE      0
    432434    yband       PSPHOT_STACK.MATCH.FILTER   y        5       TRUE       0
    433     wband       PSPHOT_STACK.MATCH.FILTER   w        0       FALSE      0
     435    wband       PSPHOT_STACK.MATCH.FILTER   w        0       TRUE      0
    434436END
    435437
     
    446448
    447449# if true keep all matched sources, even if we get a non-finite aperture flux measurement
    448 PSPHOT.STACK.KEEP.BAD.MATCHES  BOOL     F
     450PSPHOT.STACK.KEEP.BAD.MATCHES  BOOL     T
    449451
    450452RADIAL_APERTURES                    BOOL  F    # calculate flux in circular radial apertures?
     
    479481STACKPHOT                             METADATA
    480482  EXTENDED_SOURCE_FITS                BOOL  TRUE  # perform any of the aperture-like measurements?
     483  EXTENDED_SOURCE_GALAXY_PARAMS       BOOL  TRUE  # measure additional paramters for "galaxies"
    481484  EXTENDED_SOURCE_SN_LIM              F32   10.0
    482485  EXTENDED_SOURCE_PETROSIAN           BOOL  TRUE
     
    494497  RADIAL_APERTURES                    BOOL  T    # calculate flux in circular radial apertures?
    495498  RADIAL_APERTURES_SN_LIM             F32   0.0  # S/N limit for radial aperture calculation
    496   OUTPUT.FORMAT                       STR   PS1_SV3
     499  OUTPUT.FORMAT                       STR   PS1_SV4
    497500
    498501  # subtract radial profiles for extremely bright stars?
     
    653656
    654657SSTF_DIFF METADATA
    655   PEAKS_NSIGMA_LIMIT_2                F32   4.0             # peak significance threshold 
     658  PEAKS_NSIGMA_LIMIT_2              F32  3.5           # peak significance threshold -- MOPS would like to see 4.0->3.5 since ppMops fixed
    656659  DIFF_STATS                        BOOL TRUE          # Calculate diff-specific stats
    657660  OUTPUT.FORMAT                     STR  PS1_DV3       # Format of output file
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/recipes/reductionClasses.mdc

    r37297 r37823  
    717717END
    718718
     719## MD stacks -- PV3 version (NO bscale correction and other changes)
     720MD_PV3_NIGHT_STACK_1DG         METADATA
     721      STACK_PPSTACK   STR      STACK_MD_PV3_NIGHT_1DG
     722      STACK_PPSUB     STR      STACK_1DG
     723      STACK_PSPHOT    STR      STACK
     724      STACKPHOT_PSPHOT        STR     STACKPHOT
     725      STATICSKY_CALIBRATION   STR     STATICSKY_NIGHTCAL
     726END
     727
     728MD_PV3_IQ_STACK_1DG            METADATA
     729      STACK_PPSTACK           STR     STACK_MD_PV3_IQ_1DG
     730      STACK_PPSUB             STR     STACK_1DG
     731      STACK_PSPHOT            STR     STACK
     732      STACKPHOT_PSPHOT        STR     STACKPHOT
     733      STACKPHOT_PPSUB         STR     STACKPHOT_1DG
     734      STACKPHOT_PPSTACK       STR     STACKPHOT
     735      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
     736      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL
     737END
     738
     739MD_PV3_REF_STACK_1DG            METADATA
     740      STACK_PPSTACK           STR     STACK_MD_PV3_REF_1DG
     741      STACK_PPSUB             STR     STACK_1DG
     742      STACK_PSPHOT            STR     STACK
     743      STACKPHOT_PSPHOT        STR     STACKPHOT
     744      STACKPHOT_PPSUB         STR     STACKPHOT_1DG
     745      STACKPHOT_PPSTACK       STR     STACKPHOT
     746      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
     747      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL
     748END
     749
     750MD_PV3_DEEP_STACK_1DG            METADATA
     751      STACK_PPSTACK           STR     STACK_MD_PV3_DEEP_1DG
     752      STACK_PPSUB             STR     STACK_1DG
     753      STACK_PSPHOT            STR     STACK
     754      STACKPHOT_PSPHOT        STR     STACKPHOT
     755      STACKPHOT_PPSUB         STR     STACKPHOT_1DG
     756      STACKPHOT_PPSTACK       STR     STACKPHOT
     757      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
     758      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL
     759END
     760
     761## CNP stacks -- PV3 version (NO bscale correction and other changes)
     762CNP_PV3_IQ_STACK_1DG            METADATA
     763      STACK_PPSTACK           STR     STACK_CNP_PV3_IQ_1DG
     764      STACK_PPSUB             STR     STACK_1DG
     765      STACK_PSPHOT            STR     STACK
     766      STACKPHOT_PSPHOT        STR     STACKPHOT
     767      STACKPHOT_PPSUB         STR     STACKPHOT_1DG
     768      STACKPHOT_PPSTACK       STR     STACKPHOT
     769      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
     770      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL
     771END
     772
     773CNP_PV3_REF_STACK_1DG            METADATA
     774      STACK_PPSTACK           STR     STACK_CNP_PV3_REF_1DG
     775      STACK_PPSUB             STR     STACK_1DG
     776      STACK_PSPHOT            STR     STACK
     777      STACKPHOT_PSPHOT        STR     STACKPHOT
     778      STACKPHOT_PPSUB         STR     STACKPHOT_1DG
     779      STACKPHOT_PPSTACK       STR     STACKPHOT
     780      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
     781      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL
     782END
     783
     784CNP_PV3_DEEP_STACK_1DG            METADATA
     785      STACK_PPSTACK           STR     STACK_CNP_PV3_DEEP_1DG
     786      STACK_PPSUB             STR     STACK_1DG
     787      STACK_PSPHOT            STR     STACK
     788      STACKPHOT_PSPHOT        STR     STACKPHOT
     789      STACKPHOT_PPSUB         STR     STACKPHOT_1DG
     790      STACKPHOT_PPSTACK       STR     STACKPHOT
     791      STACKPHOT_SINGLE_PSPHOT STR     STACKPHOT_SINGLE
     792      STATICSKY_CALIBRATION   STR     STATICSKY_MD_PV3_DEEPCAL
     793END
     794
     795
     796
     797
    719798
    720799# quick stacks
     
    10221101DETREND_ONLY            METADATA
    10231102        CHIP_PPIMAGE    STR     PPIMAGE_DET_ONLY
     1103        CHIP_PSPHOT     STR     CHIP
     1104        WARP_PSWARP     STR     WARP
     1105        STACK_PPSTACK   STR     STACK
     1106        STACK_PPSUB     STR     STACK
     1107        STACK_PSPHOT    STR     STACK
     1108        DIFF_PPSUB      STR     DIFF
     1109        DIFF_PSPHOT     STR     DIFF
     1110        JPEG_BIN1       STR     PPIMAGE_J1
     1111        JPEG_BIN2       STR     PPIMAGE_J2
     1112        FAKEPHOT        STR     FAKEPHOT
     1113        PSASTRO         STR     DEFAULT_RECIPE
     1114END
     1115
     1116# Detrend Processing only for raw data
     1117DARK_ONLY               METADATA
     1118        CHIP_PPIMAGE    STR     PPIMAGE_OD
    10241119        CHIP_PSPHOT     STR     CHIP
    10251120        WARP_PSWARP     STR     WARP
     
    12961391END
    12971392
     1393CNP_PV3     METADATA
     1394        CHIP_PPIMAGE      STR     CHIP
     1395        CHIP_PSPHOT       STR     CHIP
     1396        WARP_PSWARP       STR     WARP
     1397        STACK_PPSTACK     STR     STACK
     1398        STACK_PPSUB       STR     STACK
     1399        STACK_PSPHOT      STR     STACK
     1400        DIFF_PPSUB        STR     DIFF
     1401        DIFF_PSPHOT       STR     DIFF
     1402        JPEG_BIN1         STR     PPIMAGE_J1
     1403        JPEG_BIN2         STR     PPIMAGE_J2
     1404        FAKEPHOT          STR     FAKEPHOT
     1405        ADDSTAR           STR     ADDSTAR
     1406        PSASTRO           STR     CNP_ASTRO_PV3
     1407        STACKPHOT_PSPHOT  STR     STACKPHOT
     1408        STACKPHOT_PPSUB   STR     STACKPHOT
     1409        STACKPHOT_PPSTACK STR     STACKPHOT
     1410        STACKPHOT_SINGLE_PSPHOT  STR     STACKPHOT_SINGLE
     1411        BACKGROUND_PPBACKGROUND STR     BACKGROUND
     1412        BACKGROUND_PSWARP       STR     BACKGROUND
     1413        PSVIDEOPHOT             STR     PSVIDEOPHOT
     1414        STATICSKY_CALIBRATION   STR     STATICSKY_CAL
     1415END
     1416
     1417MD_PV3     METADATA
     1418        CHIP_PPIMAGE      STR     CHIP
     1419        CHIP_PSPHOT       STR     CHIP
     1420        WARP_PSWARP       STR     WARP
     1421        STACK_PPSTACK     STR     STACK_1DG
     1422        STACK_PPSUB       STR     STACK
     1423        STACK_PSPHOT      STR     STACK_1DG
     1424        DIFF_PPSUB        STR     DIFF
     1425        DIFF_PSPHOT       STR     DIFF
     1426        JPEG_BIN1         STR     PPIMAGE_J1
     1427        JPEG_BIN2         STR     PPIMAGE_J2
     1428        FAKEPHOT          STR     FAKEPHOT
     1429        ADDSTAR           STR     ADDSTAR
     1430        PSASTRO           STR     MD_ASTRO_PV3
     1431        STACKPHOT_PSPHOT  STR     STACKPHOT
     1432        STACKPHOT_PPSUB   STR     STACKPHOT
     1433        STACKPHOT_PPSTACK STR     STACKPHOT
     1434        STACKPHOT_SINGLE_PSPHOT  STR     STACKPHOT_SINGLE
     1435        BACKGROUND_PPBACKGROUND STR     BACKGROUND
     1436        BACKGROUND_PSWARP       STR     BACKGROUND
     1437        PSVIDEOPHOT             STR     PSVIDEOPHOT
     1438        STATICSKY_CALIBRATION   STR     STATICSKY_MD_DEEPCAL_PV3
     1439END
     1440
     1441
    12981442# random user tests (may not be stable or consistent)
    12991443TEST1 METADATA
    1300    STACK_PPSTACK   STR TEST1
    1301    STACK_PPSUB     STR STACK
    1302    STACK_PSPHOT    STR STACK
     1444#  CHIP_PPIMAGE    STR PPIMAGE_PREMASK_PROCESS
     1445   CHIP_PPIMAGE    STR APTEST_V1
     1446   CHIP_PSPHOT     STR APTEST_V1
     1447   PSASTRO                  STR     DEFAULT_RECIPE
     1448   FAKEPHOT                 STR     FAKEPHOT
     1449   WARP_PSWARP              STR     WARP
     1450   STACK_PPSTACK            STR     STACK
     1451   STACK_PPSUB              STR     STACK
     1452   STACK_PSPHOT             STR     STACK
     1453   DIFF_PPSUB               STR     DIFF
     1454   DIFF_PSPHOT              STR     DIFF
     1455   JPEG_BIN1                STR     PPIMAGE_J1
     1456   JPEG_BIN2                STR     PPIMAGE_J2
     1457   ADDSTAR                  STR     ADDSTAR
     1458   STACKPHOT_PSPHOT         STR     STACKPHOT
     1459   STACKPHOT_PPSUB          STR     STACKPHOT
     1460   STACKPHOT_PPSTACK        STR     STACKPHOT
     1461   STACKPHOT_SINGLE_PSPHOT  STR     STACKPHOT_SINGLE
     1462   BACKGROUND_PPBACKGROUND  STR     BACKGROUND
     1463   BACKGROUND_PSWARP        STR     BACKGROUND
     1464   PSVIDEOPHOT              STR     PSVIDEOPHOT
     1465   STATICSKY_CALIBRATION    STR     STATICSKY_CAL
     1466   FULLFORCE_PSPHOT         STR     FULLFORCE_WARP
     1467#   STACK_PPSTACK   STR TEST1
     1468#   STACK_PPSUB     STR STACK
     1469#   STACK_PSPHOT    STR STACK
    13031470END
    13041471   
    13051472TEST2 METADATA
     1473   CHIP_PPIMAGE    STR PPIMAGE_DET_ONLY
     1474   CHIP_PSPHOT     STR CHIP
    13061475   STACK_PPSTACK   STR TEST2
    13071476   STACK_PPSUB     STR STACK
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/simple/psphot.config

    • Property svn:mergeinfo changed (with no actual effect on merging)
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/system.config

    r36094 r37823  
    1111        GPC1                    STR     gpc1/camera.config              # Pan-STARRS GPC1
    1212        GPC1-TDI                STR     gpc1-tdi/camera.config          # Pan-STARRS GPC1 with TDI guiding
     13        GPC2                    STR     gpc2/camera.config              # Pan-STARRS GPC2
    1314        TC3                     STR     tc3/camera.config               # Pan-STARRS Test Camera III
    1415        ESOWFI                  STR     esowfi/camera.config            # ESO Wide-Field Imager
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/tc3/Makefile.am

    r35836 r37823  
    33
    44install_files = \
    5         dvo.config \
    6         camera.config \
    7         format.config \
     5        dvo.config        \
     6        camera.config     \
     7        format.config     \
    88        format_ps2.config \
    9         ppImage.config
     9        ppImage.config    \
     10        ppMerge.config
    1011
    1112install_DATA = $(install_files)
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/tc3/camera.config

    r35836 r37823  
    4747# move this elsewhere?  we need a lookup table to go from filter ID to abstract name
    4848FILTER.ID       METADATA
     49   r        MULTI
     50   r        STR   Not available
     51   g        STR   g.00001
     52   r        STR   r.00001
     53   i        STR   i.00001
     54   z        STR   z.00001
     55   y        STR   y.00001
     56   w        STR   w.00001
    4957        NONE    STR     NONE
    5058        B       STR     B
     
    7482END
    7583
    76 # Recipe options
     84# Recipe options (if not listed here, we only use the default)
    7785RECIPES         METADATA
    78         # Other recipes
    79 #        PSPHOT          STR     tc3/psphot.config           # psphot details
    80 #        PSASTRO         STR     tc3/psastro.config          # psastro details
    81 #       PPSTATS         STR     tc3/ppStats.config              # ppStats recipe
    82         PPIMAGE         STR     tc3/ppImage.config              # ppImage recipe
     86        PPIMAGE         STR     tc3/ppImage.config
     87        PPMERGE         STR     tc3/ppMerge.config
     88#       PSASTRO         STR     tc3/psastro.config
     89#       PSPHOT          STR     tc3/psphot.config
     90#       PSWARP          STR     tc3/pswarp.config
     91#       PSVIDEOPHOT     STR     tc3/psvideophot.config
     92#       REJECTIONS      STR     tc3/rejections.config       # rejection recipe
     93#       PPSTACK         STR     tc3/ppStack.config
    8394END
     95
     96# reduction classes (recipes which are grouped together)
     97REDUCTION       STR     recipes/reductionClasses.mdc
    8498
    8599FITSTYPES       STR     recipes/fitstypes.mdc
    86100
    87101FILERULES       STR     recipes/filerules-split.mdc
     102
     103EXTNAME.RULES METADATA
     104  CMF.HEAD STR {CHIP.NAME}.hdr
     105  CMF.DATA STR {CHIP.NAME}.psf # use .PSF and .EXT?
     106  CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
     107  CMF.XRAD STR {CHIP.NAME}.xrad # use .PSF and .EXT?
     108  CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
     109  CMF.DETEFF STR {CHIP.NAME}.deteff
     110
     111  PSF.HEAD  STR {CHIP.NAME}.hdr
     112  PSF.TABLE STR {CHIP.NAME}.psf_model
     113  PSF.RESID STR {CHIP.NAME}.psf_resid
     114END
    88115
    89116BLANK.HEADERS   METADATA
     
    93120        FPA.OBS         STR     EXPNUM
    94121END
     122
     123PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}.{CHIP.NAME}      # Rule for generating photcode
     124
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/tc3/format_ps2.config

    r35836 r37823  
    77        CONTROLR        STR     STARGRASP
    88        INSTRUME        STR     tc3
    9         EXTEND          BOOL    T
     9#       EXTEND          BOOL    T
    1010END
    1111
     
    304304# Where there might be some ambiguity, specify the format
    305305FORMATS         METADATA
    306         FPA.RA          STR     HOURS
     306        FPA.RA          STR     DEGREES
    307307        FPA.DEC         STR     DEGREES
    308308        FPA.LONGITUDE   STR     HOURS
    309309        FPA.LATITUDE    STR     DEGREES
    310         FPA.TIME        STR     MJD
    311         CELL.TIME       STR     MJD
     310        FPA.TIME        STR     YEAR.FIRST
     311        CELL.TIME       STR     YEAR.FIRST
     312#       FPA.TIME        STR     MJD
     313#       CELL.TIME       STR     MJD
    312314        CELL.BINNING    STR     TOGETHER
    313315        CELL.READNOISE  STR     ADU
  • branches/eam_branches/ipp-pv3-20140717-merge/ippconfig/tc3/ppImage.config

    r20445 r37823  
    11### ppImage recipe configuration file for Megacam
     2
     3# binned output image options
     4BIN1.XBIN               S32      16
     5BIN1.YBIN               S32      16
     6BIN2.XBIN               S32     150
     7BIN2.YBIN               S32     150
    28
    39# Overscan subtraction
    410OVERSCAN.SINGLE         BOOL    FALSE           # Reduce overscan to a single value?
     11OVERSCAN.STAT           STR     MEDIAN
     12OVERSCAN.BOXCAR         S32     3
    513OVERSCAN.FIT            STR     NONE            # NONE | POLYNOMIAL | SPLINE
    614OVERSCAN.ORDER          S32     0               # Order of polynomial fit
    7 OVERSCAN.STAT           STR     MEAN            # MEAN | MEDIAN
    815
    916OVERSCAN        BOOL    TRUE            # Overscan subtraction
     
    1320SHUTTER         BOOL    FALSE           # Shutter correction
    1421FRINGE          BOOL    FALSE           # Fringe subtraction
     22
     23# Normalization class
     24NORM.CLASS              STR     CHIP             # How to find the per-class normalizations
    1525
    1626# this table lists extra constraints which should be applied when
     
    3848# only apply the fringe for these filters
    3949FRINGE.FILTERS  MULTI
    40 FRINGE.FILTERS  STR r
    41 FRINGE.FILTERS  STR i
    42 FRINGE.FILTERS  STR z
    43 
     50FRINGE.FILTERS  STR NONE
    4451
    4552################################################################################
     
    5057CHIP   METADATA
    5158  OVERSCAN        BOOL    TRUE            # Overscan subtraction
    52   BIAS            BOOL    TRUE            # Bias subtraction
     59  BIAS            BOOL    FALSE            # Bias subtraction
    5360  DARK            BOOL    TRUE            # Dark subtraction
    5461  SHUTTER         BOOL    FALSE            # Shutter correction
     
    182189PPIMAGE_OB        METADATA
    183190  OVERSCAN        BOOL    TRUE            # Overscan subtraction
    184   BIAS            BOOL    TRUE            # Bias subtraction
     191  BIAS            BOOL    FALSE           # Bias subtraction
    185192  DARK            BOOL    FALSE           # Dark subtraction
    186193  SHUTTER         BOOL    FALSE           # Shutter correction
     
    315322  BIN2.YBIN       S32     1               # Image is already binned
    316323END
     324
     325# Overscan, bias, dark, shutter
     326PPIMAGE_FLATPROC_PREMASK       METADATA
     327  BASE.FITS          BOOL    TRUE            # Save base detrended image?
     328  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
     329  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
     330  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image?
     331  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image?
     332  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image?
     333  OVERSCAN           BOOL    TRUE            # Overscan subtraction
     334  NONLIN             BOOL    FALSE           # apply non-linearity correction
     335  BIAS               BOOL    FALSE           # Bias subtraction
     336  DARK               BOOL    TRUE            # Dark subtraction
     337  SHUTTER            BOOL    FALSE           # Shutter correction
     338  FLAT               BOOL    FALSE           # Flat-field normalisation
     339  MASK               BOOL    FALSE           # Mask bad pixels
     340  MASK.BUILD         BOOL    FALSE           # Build internal mask?
     341  FRINGE             BOOL    FALSE           # Fringe subtraction
     342  PHOTOM             BOOL    FALSE           # Source identification and photometry
     343  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
     344  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
     345  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
     346  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
     347
     348  DETREND.CONSTRAINTS  METADATA
     349    DARK METADATA
     350      DETTYPE STR DARK
     351      EXPTIME STR FPA.EXPOSURE
     352    END
     353  END   
     354END
     355
     356# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
     357PPIMAGE_FLATMASK_PROCESS      METADATA
     358  BASE.FITS        BOOL    TRUE            # Save base detrended image?
     359  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
     360  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
     361  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image?
     362  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image?
     363  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image?
     364  OVERSCAN         BOOL    TRUE            # Overscan subtraction
     365  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
     366  BIAS             BOOL    FALSE           # Bias subtraction
     367  DARK             BOOL    TRUE            # Dark subtraction
     368  SHUTTER          BOOL    FALSE           # Shutter correction
     369  FLAT             BOOL    TRUE            # Flat-field normalisation
     370  MASK             BOOL    FALSE           # Mask bad pixels
     371  MASK.BUILD       BOOL    FALSE           # Build internal mask?
     372  FRINGE           BOOL    FALSE           # Fringe subtraction
     373  PHOTOM           BOOL    FALSE           # Source identification and photometry
     374  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
     375  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
     376  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
     377  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
     378
     379  DETREND.CONSTRAINTS  METADATA
     380    DARK METADATA
     381      DETTYPE STR DARK
     382      EXPTIME STR FPA.EXPOSURE
     383    END
     384    FLAT METADATA
     385      DETTYPE STR FLAT_PREMASK
     386      FILTER  STR FPA.FILTERID
     387    END
     388  END   
     389END
     390
     391
     392# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
     393PPIMAGE_PREMASK_PROCESS      METADATA
     394  BASE.FITS        BOOL    FALSE            # Save base detrended image?
     395  BASE.MASK.FITS   BOOL    FALSE            # Save base detrended image?
     396  BASE.VARIANCE.FITS BOOL  FALSE            # Save base detrended image?
     397  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image?
     398  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image?
     399  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image?
     400  OVERSCAN         BOOL    TRUE            # Overscan subtraction
     401  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
     402  BIAS             BOOL    FALSE           # Bias subtraction
     403  DARK             BOOL    TRUE            # Dark subtraction
     404  SHUTTER          BOOL    FALSE           # Shutter correction
     405  FLAT             BOOL    TRUE            # Flat-field normalisation
     406  MASK             BOOL    FALSE           # Mask bad pixels
     407  MASK.BUILD       BOOL    FALSE           # Build internal mask?
     408  FRINGE           BOOL    FALSE           # Fringe subtraction
     409  PHOTOM           BOOL    FALSE           # Source identification and photometry
     410  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
     411  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
     412  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
     413  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
     414
     415  DETREND.CONSTRAINTS  METADATA
     416    DARK METADATA
     417      DETTYPE STR DARK
     418      EXPTIME STR FPA.EXPOSURE
     419    END
     420    FLAT METADATA
     421      DETTYPE STR FLAT_PREMASK
     422      FILTER  STR FPA.FILTERID
     423    END
     424  END   
     425END
  • branches/eam_branches/ipp-pv3-20140717-merge/ppTranslate/src/ppMops.h

    r34824 r37823  
    66
    77#define IN_EXTNAME "SkyChip.psf"        // Extension name for data in input
    8 #define OBSERVATORY_CODE "F51"          // IAU Observatory Code
     8// #define OBSERVATORY_CODE "F51"          // IAU Observatory Code
    99#define OUT_EXTNAME "MOPS_TRANSIENT_DETECTIONS" // Extension name for data in output
    1010#define SOURCE_MASK (PM_SOURCE_MODE_FAIL | PM_SOURCE_MODE_BADPSF | PM_SOURCE_MODE_SATURATED | \
     
    2323  psS64 warp_id;                      // Warp stage identifier
    2424  psS64 diff_id;                      // Diff stage identifier
     25  psString camera;                    // Camera name
     26  psString obscode;                   // observatory code (derived from camera)
    2527  bool positive;                      // Sense of subtraction, T=positive, F=negative
    2628  float zp, zpErr;                    // Magnitude zero point and error
     
    5961  psVector *raExtErr, *decExtErr;     // Error in sky coordinates for RA_EXT and DEC_EXT
    6062  psVector *mask;                     // Mask for detections
    61     float platescale; //Plate scale at centroid
     63  float platescale;                   // Plate scale at centroid
     64  psString fpashutoutc;               // FPA shutoutc
    6265} ppMopsDetections;
    6366
  • branches/eam_branches/ipp-pv3-20140717-merge/ppTranslate/src/ppMopsArguments.c

    r34474 r37823  
    4242static void mopsArgumentsFree(ppMopsArguments *args)
    4343{
     44    psFree(args->camera);
     45    psFree(args->obscode);
    4446    psFree(args->input);
    4547    psFree(args->exp_name);
     
    6365    args->warp_id = 0;
    6466    args->diff_id = 0;
     67    args->camera = NULL;
     68    args->obscode = NULL;
    6569    args->zp = NAN;
    6670    args->positive = true;
     
    9498    psMetadataAddS64(arguments, PS_LIST_TAIL, "-warp_id", 0, "Warp stage identifier", 0);
    9599    psMetadataAddS64(arguments, PS_LIST_TAIL, "-diff_id", 0, "Diff stage identifier", 0);
     100    psMetadataAddStr(arguments, PS_LIST_TAIL, "-camera", 0, "Camera name", "No comment provided");
    96101    psMetadataAddBool(arguments, PS_LIST_TAIL, "-inverse", 0, "Inverse subtraction?", false);
    97102    psMetadataAddF32(arguments, PS_LIST_TAIL, "-zp", 0, "Magnitude zero point", NAN);
     
    126131    args->warp_id = psMetadataLookupS64(NULL, arguments, "-warp_id");
    127132    args->diff_id = psMetadataLookupS64(NULL, arguments, "-diff_id");
     133    args->camera = psMemIncrRefCounter(psMetadataLookupStr(NULL, arguments, "-camera"));
    128134    args->positive = !psMetadataLookupBool(NULL, arguments, "-inverse"); // NOTE: negated
    129135    args->zp = psMetadataLookupF32(NULL, arguments, "-zp");
     
    137143    args->shutoutc = psMemIncrRefCounter(psMetadataLookupStr(NULL, arguments, "-shutoutc"));
    138144
     145    if (!args->camera) {
     146        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "camera name not provided.");
     147        return NULL;
     148    }
     149    if (!strcasecmp(args->camera, "GPC1")) {
     150      args->obscode = psStringCopy("F51");
     151    }
     152    if (!strcasecmp(args->camera, "GPC2")) {
     153      args->obscode = psStringCopy("F52");
     154    }
     155    if (!args->obscode) {
     156        psError(PS_ERR_BAD_PARAMETER_VALUE, true, "unknown camera name.");
     157        return NULL;
     158    }
     159
    139160    psTrace("ppMops.args", 1, "Done parsing command-line arguments\n");
    140161
  • branches/eam_branches/ipp-pv3-20140717-merge/ppTranslate/src/ppMopsDetections.c

    r34824 r37823  
    2020    psFree(det->decErr);
    2121    psFree(det->mask);
     22    psFree(det->fpashutoutc);
    2223    return;
    2324}
     
    4849    det->mask = NULL;
    4950    det->diffSkyfileId = 0;
     51    det->fpashutoutc = NULL;
    5052    return det;
    5153}
  • branches/eam_branches/ipp-pv3-20140717-merge/ppTranslate/src/ppMopsRead.c

    r34824 r37823  
    105105    det->naxis1 = psMetadataLookupS32(NULL, header, "IMNAXIS1"); // Number of columns
    106106    det->naxis2 = psMetadataLookupS32(NULL, header, "IMNAXIS2"); // Number of rows
     107    det->fpashutoutc = psMemIncrRefCounter(psMetadataLookupStr(NULL, header, "FPA.SHUTOUTC"));
    107108    psFree(header);
    108109
     
    241242    long numGood = 0;               // Number of good rows
    242243    for (long row = 0; row < size; row++) {
    243       psU32 flags = flagsV->data.U32[row]; // psFitsTableGetU32(NULL, table, row, "FLAGS");
     244      //psU32 flags = flagsV->data.U32[row]; // psFitsTableGetU32(NULL, table, row, "FLAGS");
     245      psU64 flags = flagsV->data.U64[row]; // table reads in as U64
    244246      if (flags & SOURCE_MASK) {
    245         psTrace("ppMops.read", 10, "Discarding row %ld from input %d because of flags: %ud", row, i, flags);
     247        psTrace("ppMops.read", 10, "Discarding row %ld from input %d because of flags: %lud", row, i, flags);
    246248        det->mask->data.U8[row] = 0xFF;
    247249        continue;
  • branches/eam_branches/ipp-pv3-20140717-merge/ppTranslate/src/ppMopsWrite.c

    r34779 r37823  
    8989    psWarning("no inputs with surviving detections. output header will be incomplete");
    9090  }
    91   psMetadataAddStr(header, PS_LIST_TAIL, "OBSCODE", 0, "IAU Observatory code", OBSERVATORY_CODE);
     91  psMetadataAddStr(header, PS_LIST_TAIL, "OBSCODE", 0, "IAU Observatory code", args->obscode);
    9292  psMetadataAddF32(header, PS_LIST_TAIL, "MAGZP", 0, "Magnitude zero point", args->zp);
    9393  //MOPS want the name ZEROPOINT for MAGZP
     
    102102  psMetadataAddF32(header, PS_LIST_TAIL, "PLTSCALE_EXT", 0, "Plate scale at centroid", det->platescale);
    103103  psMetadataAddF32(header, PS_LIST_TAIL, "PLTSCALE", 0, "Plate scale at centroid", det->platescale);
     104  psMetadataAddStr(header, PS_LIST_TAIL, "FPA.SHUTOUTC", 0, "Time of exposure", det->fpashutoutc);
    104105
    105106  //field in header that tells about the CMF version
  • branches/eam_branches/ipp-pv3-20140717-merge/pstamp/scripts/pstamp_checkdependent.pl

    r37082 r37823  
    2424my $ra_max_3PI_hours = 22.5;  # disable updates for skycells with ra greater than this (hours)
    2525my $ra_max_3PI = $ra_max_3PI_hours * 15 * 3.14149 / 180.; # rawExp.ra is in radians
     26
     27# verbose flag for parse commands
     28my $parse_verbose = 0;
    2629
    2730# XXX: put this in a module somewhere
     
    4952    'dbserver=s'    =>  \$ps_dbserver,  # postage stamp server dbserver
    5053    'verbose'       =>  \$verbose,
     54    'parse-verbose' =>  \$parse_verbose,
    5155    'save-temps'    =>  \$save_temps,
    5256    'no-update'     =>  \$no_update,
     
    7882}
    7983
     84print "\n==== Starting dependency checking for $dep_id $stage $stage_id $component at " . (scalar localtime) . ". ====\n";
     85
    8086if ($label) {
    8187    # rlabel is deprecated. Use one based on the supplied label parameter which is the current label
     
    8490    # (and formerly in pstampparse.pl) is not particularly clean but it's simple.
    8591    my $new_rlabel = 'ps_ud_' . $label;
     92    $rlabel = "undefined" if !defined $rlabel;
    8693    if ($new_rlabel ne $rlabel) {
    8794        print "Notice: using $new_rlabel instead of $rlabel for update label.\n";
     
    120127}
    121128
    122 my $it = runToolAndParseExpectOne($cmd, $verbose);
     129my $it = runToolAndParseExpectOne($cmd, $parse_verbose);
    123130
    124131my_die("no components found", $PS_EXIT_PROG_ERROR) if ( !$it);
     
    136143}
    137144
     145
    138146# magic is no longer rquired
    139147$need_magic = 0;
     
    142150if ((($it->{state} eq 'full') or ($it->{state} eq 'update')) and ($it->{data_state} eq 'full')) {
    143151
     152    print "\nDependency Satisfied for $stage $stage_id $component\n";
    144153    # This Dependency is satisfied. All done. Release the pstampJobs
    145154    #
     
    178187        }
    179188
    180         # assume the fault is transient.
     189        # hope the fault is transient.
    181190        # fault the dependent to give the fault a chance to correct itself
    182191        my_die("Component faulted on update dep_id: $dep_id", $PS_EXIT_SYS_ERROR);
     
    279288            ($fault eq $PSTAMP_GONE)) {
    280289
    281             print "chipRun state is $chip->{chip_id} has state: $state data_state: $data_state fault: $fault cannot update\n";
     290            print "chipRun state is $chip->{chip_id} has state: $state class_id $chip->{class_id} data_state: $data_state fault: $fault cannot update.\n";
    282291            my $error_code;
    283292            if (($state eq 'error_cleaned') or ($data_state ='error_cleaned')) {
     
    291300        } elsif ($chip->{state} eq 'goto_cleaned') {
    292301
    293             # we don't need to check for full data_state
    294             # if ($chip->{data_state} eq 'full') {
    295302            {
     303                print "dependent chip is in state goto_cleaned, changing state to update.\n";
     304
    296305                # cleanup must not be running. Set state to update. If this chip is not 'full' it will be
    297306                # set to be updated the next time this script is invoked
    298                 # XXX: In the very rare case that this chip run is actually in the running cleanup pantasks
     307                # XXX: In the very unlikely case that this chip run is actually in the running cleanup pantasks
    299308                # queue things may get confused but we can live with that
    300309                my $command = "$chiptool -updaterun -set_state update -chip_id $chip_id";
     
    313322            }
    314323        } elsif (($chip->{data_state} ne 'update') and ($chip->{data_state} ne 'full')) {
     324
     325            print "Setting chip imfile $chip_id $chip->{class_id} to be updated.\n";
    315326
    316327            # chiptool does more state checking to insure this isn't done prematurely.
     
    343354            # we've had a number of runs in this limbo state
    344355
     356            print "Changing chip run $chip_id to state update for $chip->{class_id} which is in data_state update.\n";
    345357            my $command = "$chiptool -updaterun -set_state update -chip_id $chip_id";
    346358            $command .= " -set_label $rlabel" if $rlabel;
     
    364376                return $PSTAMP_GONE;
    365377            } elsif ($fault_count > $max_fault_count) {
    366                 print "$stage $stage_id has faulted $fault_count times. Giving up\n";
     378                print "Dependency for $stage $stage_id has been found in fault state $fault_count times. Giving up. Fault: $fault\n";
    367379                # XXX: stop faulting chips for now
    368380#                $fault = $PSTAMP_GONE;
     
    421433    if (($state =~ /error/) or ($state =~ /purged/) or ($state =~ /scrubbed/) or ($state eq 'drop') or
    422434         ($data_state =~ /error/) or ($data_state =~ /purged/) or ($data_state =~ /scrubbed/) or ($data_state eq 'drop')) {
    423         print STDERR "warpRun $warp_id $skycell_id has state $state $data_state faulting jobs\n";
     435        print STDERR "warpRun $warp_id $skycell_id has state $state $data_state faulting jobs.\n";
    424436        my $error_code;
    425437        if (($state eq 'error_cleaned') or ($data_state eq 'error_cleaned')) {
     
    430442        return $error_code
    431443    }
    432     if (($data_state eq 'full') and ($metadata->{fault})) {
     444    if ((($data_state eq 'full') or ($data_state eq 'update')) and ($metadata->{fault})) {
    433445        # fault dependent.
    434446        my $fault = $metadata->{fault};
    435         print STDERR "warp $warp_id $skycell_id faulted: $fault";
     447        print STDERR "warp $warp_id $skycell_id faulted with code: $fault.";
     448        # XXX: TODO maybe: If ($fault != 2 and $fault != $PSTAMP_GONE) revert the skycell. The warp task only reverts fault 2
     449        # and sometimes warps will fault due to nfs problems that end up with fault = 4;.
    436450        return $fault;
    437451    }
    438452    if ($metadata->{quality} ne 0) {
    439         print STDERR "warp $warp_id $skycell_id bad quality on update: $metadata->{quality}\n";
     453        print STDERR "warp $warp_id $skycell_id bad quality on update: $metadata->{quality}.\n";
    440454        return $PSTAMP_GONE;
    441455    }
     
    448462        # It's "safe" to set the state to update. If the skycell is not full it will be set to update
    449463        # the next time this task runs
     464        print "Change state of warp $warp_id to update.\n";
    450465        my $command = "$warptool -updaterun -set_state update -warp_id $warp_id";
    451466        $command .= " -set_label $rlabel" if $rlabel;
     
    465480    # get the list of input chips for this skycell
    466481    my $command = "$warptool -scmap -warp_id $warp_id -skycell_id $skycell_id";
    467     my $data = runToolAndParse($command, $verbose);
     482    my $data = runToolAndParse($command, $parse_verbose);
    468483    if (!$data or scalar @$data == 0) {
    469484        # This happens if the chipProcessedImfile disappears which happened when earlier
    470485        # versions of chiptool -revertprocessedimfile didn't check the chipRun.state before
    471486        # deleting the row.
    472         print STDERR "failed to find warpSkyCelllMap for warpRun $warp_id skycell_id $skycell_id";
     487        print STDERR "failed to find warpSkyCellMap for warpRun $warp_id skycell_id $skycell_id";
    473488        return $PSTAMP_GONE;
    474489    }
     
    478493    my $chip_id;
    479494    foreach my $chip (@$data) {
     495        # XXX: change tools to include cam_state (camRun.state). If it is not full the warp updates will never run.
    480496        my $cam_fault = $chip->{cam_fault};
    481497        if (defined $cam_fault and $cam_fault > 0) {
     
    488504        $chip->{decl} = $metadata->{decl};
    489505
     506if (0) {
    490507        # if chip has been magicked before require it to be magicked again
    491508        # because the warp pending query requires it.
    492 if (0) {
    493509        if ($chip->{magicked} < 0) {
    494510            print "Input has been destreaked so we must destreak before warping\n";
     
    514530        # the reason we defer setting the warp to update is so that we can handle error conditions at previous
    515531        # stages more easily.
     532        print "Chips are ready for warp $warp_id $skycell->{skycell_id}. Setting skycell to be updated.\n";
    516533        my $command = "$warptool -setskyfiletoupdate -warp_id $warp_id -skycell_id $skycell->{skycell_id}";
    517534        $command .= " -set_label $rlabel" if $rlabel;
     
    527544        }
    528545    } elsif ($chips_ready and $skycell->{data_state} eq 'update' and $skycell->{state} ne 'update') {
     546        print "Chips are ready for warp $warp_id $skycell->{skycell_id} but run state is $skycell->{state}. Changing state to update.\n";
    529547        my $command = "$warptool -updaterun -warp_id $warp_id -set_state update";
    530548        $command .= " -set_label $rlabel" if $rlabel;
     
    566584    my $skycell_id = $skycell->{skycell_id};
    567585
    568     # if ($metadata->{state} eq 'goto_cleaned' and $metadata->{data_state} eq 'full') {
    569586    if ($metadata->{state} eq 'goto_cleaned') {
    570587        # cleanup must not be running. Set state to update. If the skycell is not 'full' it will be
    571         # set to be updated the next time this script is invoked
    572         print "changing state of diffRun $diff_id from goto_cleaned to update. skycell $skycell_id is full\n";
     588        # set to be updated the next time this script is invoked.
     589        print "Changing state of diffRun $diff_id from goto_cleaned to update.\n";
    573590        my $command = "$difftool -updaterun -set_state update -diff_id $diff_id";
    574591        $command .= " -set_label $rlabel" if $rlabel;
     
    589606        # check the state of the template stack
    590607        my $command = "$stacktool -sumskyfile -stack_id $skycell->{stack2}";
    591         my $stack = runToolAndParseExpectOne($command, $verbose);
     608        my $stack = runToolAndParseExpectOne($command, $parse_verbose);
    592609        my_die("failed to find stackSumSkyfile for stack_id $skycell->{stack2}", $PS_EXIT_UNKNOWN_ERROR) if !$stack;
    593610
     
    597614            return $PSTAMP_GONE;
    598615        }
     616        print " Stack $skycell->{stack2} is ready.\n";
    599617
    600618        # now check the warp
    601619        $command = "$warptool -warped -warp_id $skycell->{warp1} -skycell_id $skycell_id";
    602         my $warp = runToolAndParseExpectOne($command, $verbose);
     620        my $warp = runToolAndParseExpectOne($command, $parse_verbose);
    603621        my_die("failed to find warpSkyfile for warpRun $skycell->{warp1} skycell_id $skycell_id", $PS_EXIT_UNKNOWN_ERROR) if !$warp;
    604622
     
    615633        }
    616634        # warps are ready fall through and queue the diff update
     635        print " Warp $skycell->{warp1} $skycell_id is ready.\n";
    617636    } elsif ($diff_mode eq $IPP_DIFF_MODE_WARP_WARP) {
    618637        my $command = "$warptool -warped -warp_id $skycell->{warp1} -skycell_id $skycell_id";
    619         my $warp1 = runToolAndParseExpectOne($command, $verbose);
     638        my $warp1 = runToolAndParseExpectOne($command, $parse_verbose);
    620639        my_die("failed to find warpSkyfile for warpRun $skycell->{warp1} skycell_id $skycell_id", $PS_EXIT_UNKNOWN_ERROR) if !$warp1;
    621640
     
    637656        }
    638657        $command = "$warptool -warped -warp_id $skycell->{warp2} -skycell_id $skycell_id";
    639         my $warp2 = runToolAndParseExpectOne($command, $verbose);
     658        my $warp2 = runToolAndParseExpectOne($command, $parse_verbose);
    640659        my_die("failed to find warpSkyfile for warpRun $skycell->{warp2} skycell_id $skycell_id", $PS_EXIT_UNKNOWN_ERROR) if !$warp2;
    641660
     
    661680        # check the state of the input stack
    662681        my $command = "$stacktool -sumskyfile -stack_id $skycell->{stack1}";
    663         my $stack1 = runToolAndParseExpectOne($command, $verbose);
     682        my $stack1 = runToolAndParseExpectOne($command, $parse_verbose);
    664683        my_die("failed to find stackSumSkyfile for stack_id $skycell->{stack1}", $PS_EXIT_UNKNOWN_ERROR) if !$stack1;
    665684
     
    671690        # check the state of the template stack
    672691        $command = "$stacktool -sumskyfile -stack_id $skycell->{stack2}";
    673         my $stack2 = runToolAndParseExpectOne($command, $verbose);
     692        my $stack2 = runToolAndParseExpectOne($command, $parse_verbose);
    674693        my_die("failed to find stackSumSkyfile for stack_id $skycell->{stack2}", $PS_EXIT_UNKNOWN_ERROR) if !$stack2;
    675694
     
    684703        # check the state of the input stack
    685704        my $command = "$stacktool -sumskyfile -stack_id $skycell->{stack1}";
    686         my $stack = runToolAndParseExpectOne($command, $verbose);
     705        my $stack = runToolAndParseExpectOne($command, $parse_verbose);
    687706        my_die("failed to find stackSumSkyfile for stack_id $skycell->{stack1}", $PS_EXIT_UNKNOWN_ERROR) if !$stack;
    688707
     
    695714        # now check the template warp
    696715        $command = "$warptool -warped -warp_id $skycell->{warp2} -skycell_id $skycell_id";
    697         my $warp = runToolAndParseExpectOne($command, $verbose);
     716        my $warp = runToolAndParseExpectOne($command, $parse_verbose);
    698717        my_die("failed to find warpSkyfile for warpRun $skycell->{warp2} skycell_id $skycell_id", $PS_EXIT_UNKNOWN_ERROR) if !$warp;
    699718
     
    736755            print "skipping $command\n";
    737756        }
     757    } else {
     758        print " diff is in update state\n";
    738759    }
    739760
     
    763784    my $now = DateTime->now->mjd;
    764785    my $dtime_tool = (DateTime->now->mjd - $start_tool) * 86400.;
    765     print "Time to run $program: $dtime_tool\n";
     786    if ($dtime_tool > 0.1) {
     787        print "Time to run $program: $dtime_tool\n";
     788    }
    766789
    767790    my $buf = join "", @$stdout_buf;
     
    777800
    778801    my $dtime_parse = (DateTime->now->mjd - $start_parse) * 86400.;
    779     print "Time to parse results from $program: $dtime_parse\n";
     802    if ($dtime_parse > 0.1) {
     803        print "Time to parse results from $program: $dtime_parse\n";
     804    }
    780805
    781806    return $results;
     
    848873    if (!$dsRun_state) {
    849874        my $command = "$chiptool -listrun -chip_id $stage_id";
    850         my $data = runToolAndParse($command, $verbose);
     875        my $data = runToolAndParse($command, $parse_verbose);
    851876        my $chipRun = $data->[0];
    852877        $dsRun_state = $chipRun->{dsRun_state};
     
    862887            foreach my $c (@$components) {
    863888                my $command = "$magicdstool -destreakedfile -magic_ds_id $magic_ds_id -component $c";
    864                 my $dsfile = runToolAndParseExpectOne($command, $verbose);
     889                my $dsfile = runToolAndParseExpectOne($command, $parse_verbose);
    865890                if (!$dsfile) {
    866891                    my_die("failed to find magicDSFile for ${stage}Run $stage_id $c", $PS_EXIT_UNKNOWN_ERROR);
  • branches/eam_branches/ipp-pv3-20140717-merge/pstamp/scripts/pstamp_finish.pl

  • branches/eam_branches/ipp-pv3-20140717-merge/pstamp/scripts/pstamp_job_run.pl

  • branches/eam_branches/ipp-pv3-20140717-merge/pstamp/scripts/pstampparse.pl

  • branches/eam_branches/ipp-pv3-20140717-merge/pstamp/scripts/request_finish.pl

  • branches/eam_branches/ipp-pv3-20140717-merge/tools/heather/queuesliceslap2.pl

    r36187 r37823  
    44
    55
    6 $label = "LAP.ThreePi.20130717";
    7 
     6$label1 = "LAP.ThreePi.20130717";
     7$label2 = "LAP.ThreePi.20130717.pole3";
     8$label3 = "LAP.ThreePi.20130717.pole3.CNP";
     9#heather done bad things to segments and slices...
     10@labels = ($label1, $label2, $label3);
    811@segments = (0,1,2,3,4,5,6,7,8);
     12#@segments=(0,1);
    913@segments1 = ( -35, -22,-10,2,14,26,38,50,62);
    1014@segments2 = ( -22,-10,2,14,26,38,50,62,75);
    1115
    1216
    13 @slices = ("00","02","04","06","08",10,12,14,16,18,20,22);
    14    
    15 $slice = $slices[0];
    16 $slice = $slices[1];
     17@slices = ("00","02","04","06","08","10","12","14","16","18","20","22");
     18#@slices = ("00","02","04");
     19
     20foreach $label (@labels) {
     21
     22foreach $slice (@slices) {
     23   
     24#$slice = $slices[0];
     25#$slice = $slices[1];
    1726    foreach $num (@segments) {
    1827
    19         $dvodb = "LAP.20130717";
    20         $minidvodb_group = "LAP.slice$slice.$segments[$num].cam";
     28        $dvodb = "LAP.PV2.V2.20130717";
     29        $minidvodb_group = "LAP.PV2.V2.slice$slice.$segments[$num].cam";
    2130        $dvodb_label = "$minidvodb_group";
    2231        $ra_min = $slice*15.0;
     
    2736
    2837       
    29         print "addtool -definebyquery  -label $label -set_dvodb $dvodb -set_minidvodb_group $minidvodb_group -set_minidvodb -set_label $dvodb_label -stage cam -uncensored -ra_min $ra_min -ra_max $ra_max -decl_min $dec_min -decl_max $dec_max -dbname gpc1 \n";
    30 
    31 
     38        $com =  "addtool -definebyquery  -label $label -set_dvodb $dvodb -set_minidvodb_group $minidvodb_group -set_minidvodb -set_label $dvodb_label -stage cam -uncensored -ra_min $ra_min -ra_max $ra_max -decl_min $dec_min -decl_max $dec_max -dbname gpc1";
     39        print "$com\n";
     40        `$com`;
     41    }
    3242
    3343}
     44$com2 = "addtool -definebyquery  -label $label -set_dvodb $dvodb -set_minidvodb_group LAP.PV2.V2.pole.cam -set_minidvodb -set_label LAP.PV2.V2.pole.cam -stage cam -uncensored -ra_min 0 -ra_max 360 -decl_min 75 -decl_max 90 -dbname gpc1";
     45print "$com2\n";
     46`$com2`;
     47}
Note: See TracChangeset for help on using the changeset viewer.