IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 9, 2007, 11:27:51 AM (19 years ago)
Author:
jhoblitt
Message:

stub out caltool modes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/caltoolConfig.c

    r15537 r15545  
    11/*
    2  * dettoolConfig.c
     2 * caltoolConfig.c
    33 *
    4  * Copyright (C) 2006  Joshua Hoblitt
     4 * Copyright (C) 2006-2007  Joshua Hoblitt
    55 *
    66 * This program is free software; you can redistribute it and/or modify it
     
    2525
    2626#include "pxtools.h"
    27 #include "dettool.h"
     27#include "caltool.h"
    2828
    29 pxConfig *dettoolConfig(pxConfig *config, int argc, char **argv)
     29pxConfig *caltoolConfig(pxConfig *config, int argc, char **argv)
    3030{
    3131    if (!config) {
     
    4747    psFree(time);
    4848
    49     // -pending
    50     psMetadata *pendingArgs = psMetadataAlloc();
    51     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,
    52             "search by exposure ID", NULL);
    53     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,
    54             "search by exposure type", NULL);
    55     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,
    56             "search by camera", NULL);
    57     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,
    58             "search by telescope", NULL);
    59     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,
    60             "search by filter", NULL);
    61     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-uri",  0,
    62             "search by URL", NULL);
    63     psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple",  0,
     49    // -adddb
     50    psMetadata *adddbArgs = psMetadataAlloc();
     51    psMetadataAddStr(adddbArgs, PS_LIST_TAIL, "-dvodb",  0,
     52            "define DVO db", NULL);
     53
     54    // -dbs
     55    psMetadata *dbsArgs = psMetadataAlloc();
     56    psMetadataAddU64(dbsArgs, PS_LIST_TAIL, "-limit",  0,
     57            "limit result set to N items", 0);
     58    psMetadataAddBool(dbsArgs, PS_LIST_TAIL, "-simple", 0,
    6459            "use the simple output format", false);
    6560
    66     // -definebytag
    67     psMetadata *definebytagArgs = psMetadataAlloc();
    68     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-exp_id",
    69             PS_META_DUPLICATE_OK,
    70             "include this exposure (multiple OK, required)", NULL);
    71     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-det_type",  0,
    72             "define the type of detrend run (required)", NULL);
    73     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-mode",  0,
    74             "define the mode of this detrend run", "master");
    75     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-filelevel",  0,
    76             "define filelevel", NULL);
    77     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-workdir",  0,
    78             "define workdir (required)", NULL);
    79     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-inst",  0,
    80             "define camera", NULL);
    81     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-telescope",  0,
    82             "define telescope", NULL);
    83     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-exp_type",  0,
    84             "define exposure type", NULL);
    85     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-filter",  0,
    86             "define filter ", NULL);
    87     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-airmass_min",  0,
    88             "define min airmass", NAN);
    89     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-airmass_max",  0,
    90             "define max airmass", NAN);
    91     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-exp_time_min",  0,
    92             "define min exposure time", NAN);
    93     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-exp_time_max",  0,
    94             "define max exposure time", NAN);
    95     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,
    96             "define min ccd tempature", NAN);
    97     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,
    98             "define max ccd tempature", NAN);
    99     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-posang_min",  0,
    100             "define min rotator position angle", NAN);
    101     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-posang_max",  0,
    102             "define max rotator position angle", NAN);
    103     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-solang_min",  0,
    104             "define min solar angle", NAN);
    105     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-solang_max",  0,
    106             "define max solar angle", NAN);
    107     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-registered",  0,
    108             "time detrend run was registered", now);
    109     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-time_begin",  0,
    110             "detrend applyes to exposures taken during this peroid", NULL);
    111     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-time_end",  0,
    112             "detrend applyes to exposures taken during this peroid", NULL);
    113     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-use_begin",  0,
    114             "start of detrend run applicable peroid", NULL);
    115     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-use_end",  0,
    116             "end of detrend run applicable peroid", NULL);
    117     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-reduction",  0,
    118             "define reduction class for processing", NULL);
    119     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-label",  0,
    120             "define detrun label", NULL);
    121     psMetadataAddBool(definebytagArgs, PS_LIST_TAIL, "-simple",  0,
    122             "use the simple output format", false);
    123 
    124     // -definebyquery
    125     psMetadata *definebyqueryArgs = psMetadataAlloc();
    126     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-det_type",  0,
    127             "define the type of detrend run (required)", NULL);
    128     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-mode",  0,
    129             "define the mode of this detrend run", "master");
    130     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filelevel",  0,
    131             "define filelevel", NULL);
    132     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-workdir",  0,
    133             "define workdir (required)", NULL);
    134     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-inst",  0,
    135             "define camera (required)", NULL);
    136     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-telescope",  0,
    137             "define telescope", NULL);
    138     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filter",  0,
    139             "define filter ", NULL);
    140     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-airmass_min",  0,
    141             "define min airmass", NAN);
    142     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-airmass_max",  0,
    143             "define max airmass", NAN);
    144     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-exp_time_min",  0,
    145             "define min exposure time", NAN);
    146     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-exp_time_max",  0,
    147             "define max exposure time", NAN);
    148     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,
    149             "define min ccd tempature", NAN);
    150     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,
    151             "define max ccd tempature", NAN);
    152     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-posang_min",  0,
    153             "define min rotator position angle", NAN);
    154     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-posang_max",  0,
    155             "define max rotator position angle", NAN);
    156     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-solang_min",  0,
    157             "define min solar angle", NAN);
    158     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-solang_max",  0,
    159             "define max solar angle", NAN);
    160     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-registered",  0,
    161             "time detrend run was registered", now);
    162     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-time_begin",  0,
    163             "detrend applyes to exposures taken during this peroid", NULL);
    164     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-time_end",  0,
    165             "detrend applyes to exposures taken during this peroid", NULL);
    166     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-use_begin",  0,
    167             "start of detrend run applicable peroid", NULL);
    168     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-use_end",  0,
    169             "end of detrend run applicable peroid", NULL);
    170     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_type",  0,
    171             "search for exp_type", NULL);
    172     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_inst",  0,
    173             "search for camera", NULL);
    174     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_telescope",  0,
    175             "search for telescope", NULL);
    176     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_filter",  0,
    177             "search for filter", NULL);
    178     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_uri",  0,
    179             "search for uri", NULL);
    180     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_dateobs_begin", 0,
    181             "search for exposures by time (>=)", NULL);
    182     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_dateobs_end", 0,
    183             "search for exposures by time (<)", NULL);
    184     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_airmass_min",  0,
    185             "define min airmass", NAN);
    186     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_airmass_max",  0,
    187             "define max airmass", NAN);
    188     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_sat_pixel_frac_max",  0,
    189             "define max fraction of saturated pixels", NAN);
    190     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_time_min",  0,
    191             "define min exposure time", NAN);
    192     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_time_max",  0,
    193             "define max exposure time", NAN);
    194     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_ccd_temp_min",  0,
    195             "define min ccd tempature", NAN);
    196     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_ccd_temp_max",  0,
    197             "define max ccd tempature", NAN);
    198     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_min",  0,
    199             "define min rotator position angle", NAN);
    200     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_max",  0,
    201             "define max rotator position angle", NAN);
    202     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_solang_min",  0,
    203             "define min solar angle", NAN);
    204     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_solang_max",  0,
    205             "define max solar angle", NAN);
    206     psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",  0,
    207             "print the exposures that would be included in the detrend run and exit", false);
    208     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-reduction",  0,
    209             "define reduction class for processing", NULL);
    210     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label",  0,
    211             "define detrun label", NULL);
    212     psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple",  0,
    213             "use the simple output format", false);
    214 
    215     // -definebydetrun
    216     psMetadata *definebydetrunArgs = psMetadataAlloc();
    217     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-det_id",  0,
    218             "det ID to base a new detRun on (required)", NULL);
    219     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_det_type",  0,
    220             "define the type of detrend run", NULL);
    221     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_mode",  0,
    222             "define the mode of this detrend run", "master");
    223     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_type",  0,
    224             "define exposure type", NULL);
    225     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_filelevel",  0,
    226             "define filelevel", NULL);
    227     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_workdir",  0,
    228             "define workdir", NULL);
    229     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_filter",  0,
    230             "define filter ", NULL);
    231     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_airmass_min",  0,
    232             "define airmass", NAN);
    233     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_airmass_max",  0,
    234             "define airmass", NAN);
    235     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_time_min",  0,
    236             "define exposure time", NAN);
    237     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_time_max",  0,
    238             "define exposure time", NAN);
    239     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_ccd_temp_min",  0,
    240             "define ccd tempature", NAN);
    241     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_ccd_temp_max",  0,
    242             "define ccd tempature", NAN);
    243     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_posang_min",  0,
    244             "define rotator position angle", NAN);
    245     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_posang_max",  0,
    246             "define rotator position angle", NAN);
    247     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_registered",  0,
    248             "time detrend run was registered", now);
    249     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_time_begin",  0,
    250             "start of peroid to apply detrend too", NULL);
    251     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_time_end",  0,
    252             "end of peroid to apply detrend too", NULL);
    253     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_use_begin",  0,
    254             "start of detrend run applicable peroid", NULL);
    255     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_use_end",  0,
    256             "end of detrend run applicable peroid", NULL);
    257     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_solang_min",  0,
    258             "define solar angle", NAN);
    259     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_solang_max",  0,
    260             "define solar angle", NAN);
    261     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-filter_input_begin", 0,
    262             "filter input detrun exp to be in this peroid", NULL);
    263     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-filter_input_end", 0,
    264             "filter input detrun exp to be in this peroid", NULL);
    265     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_reduction",  0,
    266             "define reduction class for processing", NULL);
    267     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_label",  0,
    268             "define detrun label", NULL);
    269     psMetadataAddBool(definebydetrunArgs, PS_LIST_TAIL, "-simple", 0,
    270             "use the simple output format", false);
     61    // -addrun
     62    psMetadata *addrunArgs = psMetadataAlloc();
     63    psMetadataAddStr(addrunArgs, PS_LIST_TAIL, "-cal_id",  0,
     64            "define calibration DB ID", NULL);
     65    psMetadataAddF64(addrunArgs, PS_LIST_TAIL, "-user_1",  0,
     66            "define user statistic (1)", NAN);
     67    psMetadataAddF64(addrunArgs, PS_LIST_TAIL, "-user_2",  0,
     68            "define user statistic (2)", NAN);
     69    psMetadataAddF64(addrunArgs, PS_LIST_TAIL, "-user_3",  0,
     70            "define user statistic (3)", NAN);
     71    psMetadataAddF64(addrunArgs, PS_LIST_TAIL, "-user_4",  0,
     72            "define user statistic (4)", NAN);
     73    psMetadataAddF64(addrunArgs, PS_LIST_TAIL, "-user_5",  0,
     74            "define user statistic (5)", NAN);
     75    psMetadataAddS16(addrunArgs, PS_LIST_TAIL, "-code",  0,
     76            "set fault code", 0);
    27177
    27278    // -runs
    27379    psMetadata *runsArgs = psMetadataAlloc();
    274     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_type",  0,
    275             "search for type of detrend run", NULL);
     80    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-cal_id",  0,
     81            "search for calibration ID", NULL);
     82    psMetadataAddU64(runsArgs, PS_LIST_TAIL, "-limit",  0,
     83            "limit result set to N items", 0);
     84    psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-faulted",  0,
     85            "only return imfiles with a fault status set", false);
    27686    psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple",  0,
    27787            "use the simple output format", false);
    278     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_id", 0,
    279             "search for detrend ID", NULL);
    280 
    281     // -childlessrun
    282     psMetadata *childlessrunArgs = psMetadataAlloc();
    283     psMetadataAddStr(childlessrunArgs, PS_LIST_TAIL, "-det_type",  0,
    284             "search for type of detrend run", NULL);
    285     psMetadataAddU64(childlessrunArgs, PS_LIST_TAIL, "-limit",  0,
    286             "limit result set to N items", 0);
    287     psMetadataAddBool(childlessrunArgs, PS_LIST_TAIL, "-simple",  0,
    288             "use the simple output format", false);
    289 
    290     // -input
    291     psMetadata *inputArgs = psMetadataAlloc();
    292     psMetadataAddStr(inputArgs, PS_LIST_TAIL, "-det_id", 0,
    293             "search for detrend ID", NULL);
    294     psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration",  0,
    295             "define iteration number", 0);
    296     psMetadataAddStr(inputArgs, PS_LIST_TAIL, "-exp_id",  0,
    297             "search for exp ID", NULL);
    298     psMetadataAddBool(inputArgs, PS_LIST_TAIL, "-simple",  0,
    299             "use the simple output format", false);
    300 
    301     // -raw
    302     psMetadata *rawArgs = psMetadataAlloc();
    303     psMetadataAddBool(rawArgs, PS_LIST_TAIL, "-simple",  0,
    304             "use the simple output format", false);
    305 
    306     // -toprocessedimfile
    307     psMetadata *toprocessedimfileArgs = psMetadataAlloc();
    308     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    309             "search for detrend ID", NULL);
    310     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    311             "search for exp ID", NULL);
    312     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    313             "search for class ID", NULL);
    314     psMetadataAddU64(toprocessedimfileArgs, PS_LIST_TAIL, "-limit",  0,
    315             "limit result set to N items", 0);
    316     psMetadataAddBool(toprocessedimfileArgs, PS_LIST_TAIL, "-simple",  0,
    317             "use the simple output format", false);
    318 
    319     // -addprocessedimfile
    320     psMetadata *addprocessedimfileArgs = psMetadataAlloc();
    321     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    322             "define detrend ID (required)", NULL);
    323     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    324             "define exp ID (required)", NULL);
    325     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    326             "define class ID (required)", NULL);
    327     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-uri",  0,
    328             "define URI (required)", NULL);
    329     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-recip",  0,
    330             "define recipe (required)", NULL);
    331     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg",  0,
    332             "define exposure background (required)", NAN);
    333     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    334             "define exposure background stdev (required)", NAN);
    335     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    336             "define exposure background mean stdev", NAN);
    337     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,
    338             "define fringe slope (0th term)", NAN);
    339     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,
    340             "define fringe slope (1st term)", NAN);
    341     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,
    342             "define fringe slope (2nd term)", NAN);
    343     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_1",  0,
    344             "define user statistic (1)", NAN);
    345     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_2",  0,
    346             "define user statistic (2)", NAN);
    347     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_3",  0,
    348             "define user statistic (3)", NAN);
    349     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_4",  0,
    350             "define user statistic (4)", NAN);
    351     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_5",  0,
    352             "define user statistic (5)", NAN);
    353     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-path_base",  0,
    354             "define base output location", NULL);
    355     psMetadataAddS16(addprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
    356             "set fault code", 0);
    357 
    358     // -processedimfile
    359     psMetadata *processedimfileArgs = psMetadataAlloc();
    360     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    361             "search for detrend ID", NULL);
    362     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    363             "search for exp ID", NULL);
    364     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    365             "search for class ID", NULL);
    366     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-select_state",  0,
    367             "search for state", NULL);
    368     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-select_mode",  0,
    369             "search for mode", NULL);
    370     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-chip",  0,
    371             "restrict results to completed 'chip' sets", false);
    372     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-exp",  0,
    373             "restrict results to complete 'exposures'", false);
    374     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-included",  0,
    375             "restrict results to exposures 'includeded' in the current iteration", false);
    376     psMetadataAddU64(processedimfileArgs, PS_LIST_TAIL, "-limit",  0,
    377             "limit result set to N items", 0);
    378     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-faulted",  0,
    379             "only return imfiles with a fault status set", false);
    380     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-simple",  0,
    381             "use the simple output format", false);
    382 
    383     // -revertprocessedimfile
    384     psMetadata *revertprocessedimfileArgs = psMetadataAlloc();
    385     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    386             "search for detrend ID (required)", NULL);
    387     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    388             "search by exposure ID", NULL);
    389     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    390             "search by class ID", NULL);
    391     psMetadataAddS16(revertprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
    392             "search by fault code", 0);
    393 
    394     // -toprocessedexp
    395     psMetadata *toprocessedexpArgs = psMetadataAlloc();
    396     psMetadataAddU64(toprocessedexpArgs, PS_LIST_TAIL, "-limit",  0,
    397             "limit result set to N items", 0);
    398     psMetadataAddBool(toprocessedexpArgs, PS_LIST_TAIL, "-simple",  0,
    399             "use the simple output format", false);
    400 
    401     // -addproccessedexp
    402     psMetadata *addprocessedexpArgs = psMetadataAlloc();
    403     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    404             "define detrend ID (required)", NULL);
    405     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    406             "define detrend ID (required)", NULL);
    407     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-recip",  0,
    408             "define recipe (required)", NULL);
    409     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg",  0,
    410             "define exposure background (required)", NAN);
    411     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    412             "define exposure background stdev (required)", NAN);
    413     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    414             "define exposure background mean stdev", NAN);
    415     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_0",  0,
    416             "define fringe slope (0th term)", NAN);
    417     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_1",  0,
    418             "define fringe slope (1st term)", NAN);
    419     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_2",  0,
    420             "define fringe slope (2nd term)", NAN);
    421     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_1",  0,
    422             "define user statistic (1)", NAN);
    423     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_2",  0,
    424             "define user statistic (2)", NAN);
    425     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_3",  0,
    426             "define user statistic (3)", NAN);
    427     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_4",  0,
    428             "define user statistic (4)", NAN);
    429     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_5",  0,
    430             "define user statistic (5)", NAN);
    431     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-path_base",  0,
    432             "define base output location", NULL);
    433     psMetadataAddS16(addprocessedexpArgs, PS_LIST_TAIL, "-code",  0,
    434             "set fault code", 0);
    435 
    436     // -proccessedexp
    437     psMetadata *processedexpArgs = psMetadataAlloc();
    438     psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    439             "define detrend ID", NULL);
    440     psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    441             "define detrend ID", NULL);
    442     psMetadataAddU64(processedexpArgs, PS_LIST_TAIL, "-limit",  0,
    443             "limit result set to N items", 0);
    444     psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-faulted",  0,
    445             "only return imfiles with a fault status set", false);
    446     psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-simple",  0,
    447             "use the simple output format", false);
    448 
    449     // -revertprocessedexp
    450     psMetadata *revertprocessedexpArgs = psMetadataAlloc();
    451     psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    452             "search by detrend ID (required)", NULL);
    453     psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    454             "search by exposure ID", NULL);
    455     psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-code",  0,
    456             "search by fault code", 0);
    457 
    458     // -tostacked
    459     psMetadata *tostackedArgs = psMetadataAlloc();
    460     psMetadataAddU64(tostackedArgs, PS_LIST_TAIL, "-limit",  0,
    461             "limit result set to N items", 0);
    462     psMetadataAddBool(tostackedArgs, PS_LIST_TAIL, "-simple",  0,
    463             "use the simple output format", false);
    464 
    465     // -addstacked
    466     psMetadata *addstackedArgs = psMetadataAlloc();
    467     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-det_id",  0,
    468             "define detrend ID (required)", NULL);
    469     psMetadataAddS32(addstackedArgs, PS_LIST_TAIL, "-iteration",  0,
    470             "define iteration number", 0);
    471     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-class_id",  0,
    472             "define class ID (required)", NULL);
    473     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-recip",  0,
    474             "define recipe (required)", NULL);
    475     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg",  0,
    476             "define exposure background (required)", NAN);
    477     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    478             "define exposure background stdev (required)", NAN);
    479     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    480             "define exposure background mean stdev", NAN);
    481     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_1",  0,
    482             "define user statistic (1)", NAN);
    483     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_2",  0,
    484             "define user statistic (2)", NAN);
    485     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_3",  0,
    486             "define user statistic (3)", NAN);
    487     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_4",  0,
    488             "define user statistic (4)", NAN);
    489     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_5",  0,
    490             "define user statistic (5)", NAN);
    491     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-uri",  0,
    492             "define URI (required)", NULL);
    493     psMetadataAddS16(addstackedArgs, PS_LIST_TAIL, "-code",  0,
    494             "set fault code", 0);
    495 
    496     // -stacked
    497     psMetadata *stackedArgs = psMetadataAlloc();
    498     psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-det_id",  0,
    499             "search for detrend ID", NULL);
    500     psMetadataAddS32(stackedArgs, PS_LIST_TAIL, "-iteration",  0,
    501             "search for iteration number", 0);
    502     psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-class_id",  0,
    503             "search for class ID", NULL);
    504     psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-recip",  0,
    505             "search for recipe", NULL);
    506     psMetadataAddU64(stackedArgs, PS_LIST_TAIL, "-limit",  0,
    507             "limit result set to N items", 0);
    508     psMetadataAddBool(stackedArgs, PS_LIST_TAIL, "-faulted",  0,
    509             "only return imfiles with a fault status set", false);
    510     psMetadataAddBool(stackedArgs, PS_LIST_TAIL, "-simple",  0,
    511             "use the simple output format", false);
    512 
    513     // -revertstacked
    514     psMetadata *revertstackedArgs= psMetadataAlloc();
    515     psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-det_id",  0,
    516             "search for detrend ID (required)", NULL);
    517     psMetadataAddS32(revertstackedArgs, PS_LIST_TAIL, "-iteration",  0,
    518             "search by iteration number", 0);
    519     psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-class_id",  0,
    520             "search by class ID", NULL);
    521     psMetadataAddS16(revertstackedArgs, PS_LIST_TAIL, "-code",  0,
    522             "search by fault code", 0);
    523 
    524     // -tonormalize
    525     psMetadata *tonormalizeArgs = psMetadataAlloc();
    526     psMetadataAddU64(tonormalizeArgs, PS_LIST_TAIL, "-limit",  0,
    527             "limit result set to N items", 0);
    528     psMetadataAddBool(tonormalizeArgs, PS_LIST_TAIL, "-simple",  0,
    529             "use the simple output format", false);
    530 
    531     // -addnormalizedstat
    532     psMetadata *addnormstatArgs = psMetadataAlloc();
    533     psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-det_id",  0,
    534             "define detrend ID (required)", NULL);
    535     psMetadataAddS32(addnormstatArgs, PS_LIST_TAIL, "-iteration",  0,
    536             "define iteration number", 0);
    537     psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-class_id",  0,
    538             "define class ID (required)", NULL);
    539     psMetadataAddF32(addnormstatArgs, PS_LIST_TAIL, "-norm",  0,
    540             "define normal value (required)", NAN);
    541     psMetadataAddS16(addnormstatArgs, PS_LIST_TAIL, "-code",  0,
    542             "set fault code", 0);
    543 
    544     // -normalizedstat
    545     psMetadata *normalizedstatArgs = psMetadataAlloc();
    546     psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,
    547             "search by detrend ID", NULL);
    548     psMetadataAddS32(normalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,
    549             "search by iteration number", 0);
    550     psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,
    551             "search by class ID", NULL);
    552     psMetadataAddU64(normalizedstatArgs, PS_LIST_TAIL, "-limit",  0,
    553             "limit result set to N items", 0);
    554     psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-faulted",  0,
    555             "only return imfiles with a fault status set", false);
    556     psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-simple",  0,
    557             "use the simple output format", false);
    558 
    559     // -revertnormalizedstat
    560     psMetadata *revertnormalizedstatArgs= psMetadataAlloc();
    561     psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,
    562             "search by detrend ID (required)", NULL);
    563     psMetadataAddS32(revertnormalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,
    564             "search by iteration number", 0);
    565     psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,
    566             "search by class ID", NULL);
    567     psMetadataAddS16(revertnormalizedstatArgs, PS_LIST_TAIL, "-code",  0,
    568             "search by fault code", 0);
    569 
    570     // -tonormstat
    571     psMetadata *tonormstatArgs = psMetadataAlloc();
    572     psMetadataAddU64(tonormstatArgs, PS_LIST_TAIL, "-limit",  0,
    573             "limit result set to N items", 0);
    574     psMetadataAddBool(tonormstatArgs, PS_LIST_TAIL, "-simple",  0,
    575             "use the simple output format", false);
    576 
    577     // -addnormalizedimfile
    578     psMetadata *addnormalizedimfileArgs = psMetadataAlloc();
    579     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,
    580             "define detrend ID (required)", NULL);
    581     psMetadataAddS32(addnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,
    582             "define iteration number", 0);
    583     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,
    584             "define class ID (required)", NULL);
    585     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-uri", 0,
    586             "define URI (required)", NULL);
    587     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg", 0,
    588             "define exposure background", NAN);
    589     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_stdev", 0,
    590             "define exposure background stdev", NAN);
    591     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev", 0,
    592             "define exposure background mean stdev", NAN);
    593     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_1",  0,
    594             "define user statistic (1)", NAN);
    595     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_2",  0,
    596             "define user statistic (2)", NAN);
    597     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_3",  0,
    598             "define user statistic (3)", NAN);
    599     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_4",  0,
    600             "define user statistic (4)", NAN);
    601     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_5",  0,
    602             "define user statistic (5)", NAN);
    603     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-path_base", 0,
    604             "define base output location", NULL);
    605     psMetadataAddS16(addnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,
    606             "set fault code", 0);
    607 
    608     // -normalizedimfile
    609     psMetadata *normalizedimfileArgs = psMetadataAlloc();
    610     psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    611             "search for detrend ID", NULL);
    612     psMetadataAddS32(normalizedimfileArgs, PS_LIST_TAIL, "-iteration",  0,
    613             "search for iteration number", 0);
    614     psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    615             "search for class ID", NULL);
    616     psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-recip",  0,
    617             "search for recipe", NULL);
    618     psMetadataAddU64(normalizedimfileArgs, PS_LIST_TAIL, "-limit",  0,
    619             "limit result set to N items", 0);
    620     psMetadataAddBool(normalizedimfileArgs, PS_LIST_TAIL, "-faulted",  0,
    621             "only return imfiles with a fault status set", false);
    622     psMetadataAddBool(normalizedimfileArgs, PS_LIST_TAIL, "-simple",  0,
    623             "use the simple output format", false);
    624 
    625     // -revertnormalizedimfile
    626     psMetadata *revertnormalizedimfileArgs = psMetadataAlloc();
    627     psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,
    628             "search by detrend ID (required)", NULL);
    629     psMetadataAddS32(revertnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,
    630             "search by iteration number", 0);
    631     psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,
    632             "search by class ID", NULL);
    633     psMetadataAddS16(revertnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,
    634             "search by fault code", 0);
    635 
    636     // -tonormalizedexp
    637     psMetadata *tonormalizedexpArgs = psMetadataAlloc();
    638     psMetadataAddU64(tonormalizedexpArgs, PS_LIST_TAIL, "-limit",  0,
    639             "limit result set to N items", 0);
    640     psMetadataAddBool(tonormalizedexpArgs, PS_LIST_TAIL, "-simple",  0,
    641             "use the simple output format", false);
    642 
    643     // -addnormalizedexp
    644     psMetadata *addnormalizedexpArgs = psMetadataAlloc();
    645     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    646             "define detrend ID (required)", NULL);
    647     psMetadataAddS32(addnormalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,
    648             "define iteration number", 0);
    649     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-recip",  0,
    650             "search for recipe (required)", NULL);
    651     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg",  0,
    652             "define exposure background (required)", NAN);
    653     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    654             "define exposure background stdev (required)", NAN);
    655     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    656             "define exposure background mean stdev", NAN);
    657 
    658     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_1",  0,
    659             "define user statistic (1)", NAN);
    660     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_2",  0,
    661             "define user statistic (2)", NAN);
    662     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_3",  0,
    663             "define user statistic (3)", NAN);
    664     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_4",  0,
    665             "define user statistic (4)", NAN);
    666     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_5",  0,
    667             "define user statistic (5)", NAN);
    668 
    669     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-path_base",  0,
    670             "define base output location", NULL);
    671     psMetadataAddS16(addnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,
    672             "set fault code", 0);
    673 
    674     // -normalizedexp
    675     psMetadata *normalizedexpArgs = psMetadataAlloc();
    676     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    677             "define detrend ID", NULL);
    678     psMetadataAddS32(normalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,
    679             "define iteration number", 0);
    680     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-recip",  0,
    681             "search for recipe", NULL);
    682     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg",  0,
    683             "define exposure background", NAN);
    684     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    685             "define exposure background stdev", NAN);
    686     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    687             "define exposure background mean stdev", NAN);
    688     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-path_base",  0,
    689             "define base output location", NULL);
    690     psMetadataAddU64(normalizedexpArgs, PS_LIST_TAIL, "-limit",  0,
    691             "limit result set to N items", 0);
    692     psMetadataAddBool(normalizedexpArgs, PS_LIST_TAIL, "-faulted",  0,
    693             "only return imfiles with a fault status set", false);
    694     psMetadataAddBool(normalizedexpArgs, PS_LIST_TAIL, "-simple",  0,
    695             "use the simple output format", false);
    696 
    697     // -revertnormalizedexp
    698     psMetadata *revertnormalizedexpArgs = psMetadataAlloc();
    699     psMetadataAddStr(revertnormalizedexpArgs, PS_LIST_TAIL, "-det_id", 0,
    700             "search by detrend ID (required)", NULL);
    701     psMetadataAddS32(revertnormalizedexpArgs, PS_LIST_TAIL, "-iteration", 0,
    702             "search by iteration number", 0);
    703     psMetadataAddS16(revertnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,
    704             "search by fault code", 0);
    705 
    706     // -toresidimfile
    707     psMetadata *toresidimfileArgs = psMetadataAlloc();
    708     psMetadataAddU64(toresidimfileArgs, PS_LIST_TAIL, "-limit",  0,
    709             "limit result set to N items", 0);
    710     psMetadataAddBool(toresidimfileArgs, PS_LIST_TAIL, "-simple",  0,
    711             "use the simple output format", false);
    712 
    713     // -toresidexp
    714     psMetadata *toresidexpArgs = psMetadataAlloc();
    715     psMetadataAddU64(toresidexpArgs, PS_LIST_TAIL, "-limit",  0,
    716             "limit result set to N items", 0);
    717     psMetadataAddBool(toresidexpArgs, PS_LIST_TAIL, "-simple",  0,
    718             "use the simple output format", false);
    719 
    720     // -addresidimfile
    721     psMetadata *addresidimfileArgs = psMetadataAlloc();
    722     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    723             "define detrend ID (required)", NULL);
    724     psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration",  0,
    725             "define iteration number", 0);
    726     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    727             "define detrend ID (required)", NULL);
    728     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    729             "define class ID (required)", NULL);
    730     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-uri",  0,
    731             "define resid file URI (required)", NULL);
    732     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-recip",  0,
    733             "define recipe (required)", NULL);
    734     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg",  0,
    735             "define exposure background (required)", NAN);
    736     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    737             "define exposure background stdev (required)", NAN);
    738     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    739             "define exposure background mean stdev", NAN);
    740     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_skewness",  0,
    741             "define exposure background skewness", NAN);
    742     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_kurtosis",  0,
    743             "define exposure background kurtosis", NAN);
    744     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bin_stdev",  0,
    745             "define exposure background binned stdev", NAN);
    746     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,
    747             "define fringe slope (0th term)", NAN);
    748     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,
    749             "define fringe slope (1st term)", NAN);
    750     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,
    751             "define fringe slope (2nd term)", NAN);
    752     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_0",  0,
    753             "define fringe residual (0th term)", NAN);
    754     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_1",  0,
    755             "define fringe residual (1st term)", NAN);
    756     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_2",  0,
    757             "define fringe residual (2nd term)", NAN);
    758     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_1",  0,
    759             "define user statistic (1)", NAN);
    760     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_2",  0,
    761             "define user statistic (2)", NAN);
    762     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_3",  0,
    763             "define user statistic (3)", NAN);
    764     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_4",  0,
    765             "define user statistic (4)", NAN);
    766     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_5",  0,
    767             "define user statistic (5)", NAN);
    768     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-path_base",  0,
    769             "define base output location", NULL);
    770     psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code",  0,
    771             "set fault code", 0);
    772 
    773     // -residimfile
    774     psMetadata *residimfileArgs = psMetadataAlloc();
    775     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    776             "search for detrend ID", NULL);
    777     psMetadataAddS32(residimfileArgs, PS_LIST_TAIL, "-iteration",  0,
    778             "search for iteration number", 0);
    779     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    780             "define detrend ID", NULL);
    781     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    782             "search for class ID", NULL);
    783     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-recip",  0,
    784             "search for recipe", NULL);
    785     psMetadataAddU64(residimfileArgs, PS_LIST_TAIL, "-limit",  0,
    786             "limit result set to N items", 0);
    787     psMetadataAddBool(residimfileArgs, PS_LIST_TAIL, "-faulted",  0,
    788             "only return imfiles with a fault status set", false);
    789     psMetadataAddBool(residimfileArgs, PS_LIST_TAIL, "-simple",  0,
    790             "use the simple output format", false);
    791     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-select_state",  0,
    792             "search for state", NULL);
    793 
    794     // -revertresidimfile
    795     psMetadata *revertresidimfileArgs =  psMetadataAlloc();
    796     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-det_id", 0,
    797             "search by detrend ID (required)", NULL);
    798     psMetadataAddS32(revertresidimfileArgs, PS_LIST_TAIL, "-iteration", 0,
    799             "search by iteration number", 0);
    800     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    801             "search by detrend ID", NULL);
    802     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    803             "search for class ID", NULL);
    804     psMetadataAddS16(revertresidimfileArgs, PS_LIST_TAIL, "-code",  0,
    805             "search by fault code", 0);
    806 
    807     // -addresidexp
    808     psMetadata *addresidexpArgs = psMetadataAlloc();
    809     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-det_id",  0,
    810             "define detrend ID (required)", NULL);
    811     psMetadataAddS32(addresidexpArgs, PS_LIST_TAIL, "-iteration",  0,
    812             "define iteration number", 0);
    813     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    814             "define detrend ID (required)", NULL);
    815     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-recip",  0,
    816             "define recipe (required)", NULL);
    817     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg",  0,
    818             "define exposure background (required)", NAN);
    819     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    820             "define exposure background stdev (required)", NAN);
    821     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    822             "define exposure background mean stdev", NAN);
    823     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_skewness",  0,
    824             "define exposure background skewness", NAN);
    825     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_kurtosis",  0,
    826             "define exposure background kurtosis", NAN);
    827     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bin_stdev",  0,
    828             "define exposure background binned stdev", NAN);
    829     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_0",  0,
    830             "define fringe slope (0th term)", NAN);
    831     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_1",  0,
    832             "define fringe slope (1st term)", NAN);
    833     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_2",  0,
    834             "define fringe slope (2nd term)", NAN);
    835     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_0",  0,
    836             "define fringe residual (0th term)", NAN);
    837     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_1",  0,
    838             "define fringe residual (1st term)", NAN);
    839     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_2",  0,
    840             "define fringe residual (2nd term)", NAN);
    841     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_1",  0,
    842             "define user statistic (1)", NAN);
    843     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_2",  0,
    844             "define user statistic (2)", NAN);
    845     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_3",  0,
    846             "define user statistic (3)", NAN);
    847     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_4",  0,
    848             "define user statistic (4)", NAN);
    849     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_5",  0,
    850             "define user statistic (5)", NAN);
    851     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-path_base",  0,
    852             "define base output location", NULL);
    853     psMetadataAddS16(addresidexpArgs, PS_LIST_TAIL, "-code",  0,
    854             "set fault code", 0);
    855     psMetadataAddBool(addresidexpArgs, PS_LIST_TAIL, "-reject",  0,
    856             "exposure is not to be stacked in the next iteration", false);
    857 
    858     // -residexp
    859     psMetadata *residexpArgs = psMetadataAlloc();
    860     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-det_id",  0,
    861             "search for detrend ID", NULL);
    862     psMetadataAddS32(residexpArgs, PS_LIST_TAIL, "-iteration",  0,
    863             "search for iteration number", 0);
    864     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    865             "search for exp ID", NULL);
    866     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-recip",  0,
    867             "search for recipe", NULL);
    868     psMetadataAddU64(residexpArgs, PS_LIST_TAIL, "-limit",  0,
    869             "limit result set to N items", 0);
    870     psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-faulted",  0,
    871             "only return imfiles with a fault status set", false);
    872     psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-reject",  0,
    873             "search for acceptable residuals", false);
    874     psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-simple",  0,
    875             "use the simple output format", false);
    876 
    877     // -revertresidexp
    878     psMetadata *revertresidexpArgs = psMetadataAlloc();
    879     psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-det_id", 0,
    880             "search by detrend ID (required)", NULL);
    881     psMetadataAddS32(revertresidexpArgs, PS_LIST_TAIL, "-iteration", 0,
    882             "search by iteration number", 0);
    883     psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    884             "search by detrend ID", NULL);
    885     psMetadataAddS16(revertresidexpArgs, PS_LIST_TAIL, "-code",  0,
    886             "search by fault code", 0);
    887 
    888     // -todetrunsummary
    889     psMetadata *todetrunsummaryArgs = psMetadataAlloc();
    890     psMetadataAddBool(todetrunsummaryArgs, PS_LIST_TAIL, "-simple",  0,
    891             "use the simple output format", false);
    892     psMetadataAddU64(todetrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,
    893             "limit result set to N items", 0);
    894 
    895     // -updateresidexp
    896     psMetadata *updateresidexpArgs = psMetadataAlloc();
    897     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-det_id",  0,
    898             "define detrend ID", NULL);
    899     psMetadataAddS32(updateresidexpArgs, PS_LIST_TAIL, "-iteration",  0,
    900             "define iteration number", 0);
    901     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    902             "define exp ID", NULL);
    903     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-recip",  0,
    904             "define recipe", NULL);
    905     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg",  0,
    906             "define exposure background", NAN);
    907     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    908             "define exposure background stdev", NAN);
    909     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    910             "define exposure background mean stdev", NAN);
    911     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-path_base",  0,
    912             "define base output location", NULL);
    913     psMetadataAddBool(updateresidexpArgs, PS_LIST_TAIL, "-reject",  0,
    914             "exposure is not to be stacked in the next iteration", false);
    915 
    916     // -adddetrunsummary
    917     psMetadata *adddetrunsummaryArgs = psMetadataAlloc();
    918     psMetadataAddStr(adddetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,
    919             "define detrend ID (required)", NULL);
    920     psMetadataAddS32(adddetrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,
    921             "define iteration number", 0);
    922     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg",  0,
    923             "define exposure background (required)", NAN);
    924     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    925             "define exposure background stdev (required)", NAN);
    926     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    927             "define exposure background mean stdev", NAN);
    928     psMetadataAddS16(adddetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,
    929             "set fault code", 0);
    930     psMetadataAddBool(adddetrunsummaryArgs, PS_LIST_TAIL, "-accept",  0,
    931             "declare that this detrun iteration is accepted as a master", false);
    932     psMetadataAddBool(adddetrunsummaryArgs, PS_LIST_TAIL, "-again",  0,
    933             "start a new iteration of this detrend run", false);
    934 
    935     // -detrunsummary
    936     psMetadata *detrunsummaryArgs = psMetadataAlloc();
    937     psMetadataAddStr(detrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,
    938             "search for detrend ID", NULL);
    939     psMetadataAddU64(detrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,
    940                      "limit result set to N items", 0);
    941     psMetadataAddS32(detrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,
    942             "search for iteration number", 0);
    943     psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-faulted",  0,
    944             "only return imfiles with a fault status set", false);
    945     psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-reject",  0,
    946             "search for acceptable residuals", false);
    947     psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-simple",  0,
    948             "use the simple output format", false);
    949 
    950     // -revertdetrunsummary
    951     psMetadata *revertdetrunsummaryArgs = psMetadataAlloc();
    952     psMetadataAddStr(revertdetrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,
    953             "search by detrend ID (required)", NULL);
    954     psMetadataAddS32(revertdetrunsummaryArgs, PS_LIST_TAIL, "-iteration", 0,
    955             "search by iteration number", 0);
    956     psMetadataAddS16(revertdetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,
    957             "search by fault code", 0);
    958 
    959     // -updatedetrun
    960     psMetadata *updatedetrunArgs = psMetadataAlloc();
    961     psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-det_id",  0,
    962             "search for detrend master for detrend ID (required)", NULL);
    963     psMetadataAddBool(updatedetrunArgs, PS_LIST_TAIL, "-again",  0,
    964             "start a new iteration of this detrend run", false);
    965     psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-state",  0,
    966             "set the state of this detrend run", false);
    967 
    968     // -rerun
    969     psMetadata *rerunArgs = psMetadataAlloc();
    970     psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-det_id",  0,
    971             "search for detrend master for detrend ID (required)", NULL);
    972     psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-exp_id",  PS_META_DUPLICATE_OK,
    973             "include this exposure (multiple OK, required)", NULL);
    974 
    975     // -register_detrend
    976     psMetadata *register_detrendArgs = psMetadataAlloc();
    977     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-det_type",  0,
    978             "define the type of detrend run (required)", NULL);
    979     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-mode",  0,
    980             "define the mode of this detrend run", "master");
    981     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-filelevel",  0,
    982             "define filelevel (required)", NULL);
    983     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-workdir",  0,
    984             "define workdir", NULL);
    985     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-inst",  0,
    986             "define camera", NULL);
    987     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-telescope",  0,
    988             "define telescope", NULL);
    989     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-exp_type",  0,
    990             "define exposure type", NULL);
    991     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-filter",  0,
    992             "define filter ", NULL);
    993     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-airmass_min",  0,
    994             "define min airmass", NAN);
    995     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-airmass_max",  0,
    996             "define max airmass", NAN);
    997     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-exp_time_min",  0,
    998             "define min exposure time", NAN);
    999     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-exp_time_max",  0,
    1000             "define max exposure time", NAN);
    1001     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,
    1002             "define min ccd tempature", NAN);
    1003     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,
    1004             "define max ccd tempature", NAN);
    1005     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-posang_min",  0,
    1006             "define min rotator position angle", NAN);
    1007     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-posang_max",  0,
    1008             "define max rotator position angle", NAN);
    1009     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-solang_min",  0,
    1010             "define min solar angle", NAN);
    1011     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-solang_max",  0,
    1012             "define max solar angle", NAN);
    1013     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-registered",  0,
    1014             "time detrend run was registered", now);
    1015     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-time_begin",  0,
    1016             "detrend applyes to exposures taken during this peroid", NULL);
    1017     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-time_end",  0,
    1018             "detrend applyes to exposures taken during this peroid", NULL);
    1019     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-use_begin",  0,
    1020             "start of detrend run applicable peroid", NULL);
    1021     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-use_end",  0,
    1022             "end of detrend run applicable peroid", NULL);
    1023     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-parent",  0,
    1024             "define parent det_id", NULL);
    1025     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-label",  0,
    1026             "define detrun label", NULL);
    1027     psMetadataAddBool(register_detrendArgs, PS_LIST_TAIL, "-simple",  0,
    1028             "use the simple output format", false);
    1029 
    1030     // -register_detrend_imfile
    1031     psMetadata *register_detrend_imfileArgs = psMetadataAlloc();
    1032     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-det_id",  0,
    1033             "define detrend ID (required)", NULL);
    1034     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-class_id",  0,
    1035             "search for class ID (required)", NULL);
    1036     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-uri",  0,
    1037             "define resid file URI (required)", NULL);
    1038     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg",  0,
    1039             "define exposure background", NAN);
    1040     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    1041             "define exposure background stdev", NAN);
    1042     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    1043             "define exposure background mean stdev", NAN);
    1044     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_1",  0,
    1045             "define user statistic (1)", NAN);
    1046     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_2",  0,
    1047             "define user statistic (2)", NAN);
    1048     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_3",  0,
    1049             "define user statistic (3)", NAN);
    1050     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_4",  0,
    1051             "define user statistic (4)", NAN);
    1052     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_5",  0,
    1053             "define user statistic (5)", NAN);
    1054     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-path_base",  0,
    1055             "define base output location", NULL);
    105688
    105789    psFree(now);
     
    106092    psMetadata *modes = psMetadataAlloc();
    106193
    1062     PXTOOL_ADD_MODE("-pending",         "list active detruns", DETTOOL_MODE_PENDING,       pendingArgs);
    1063     PXTOOL_ADD_MODE("-definebytag",     "", DETTOOL_MODE_DEFINEBYTAG,   definebytagArgs);
    1064     PXTOOL_ADD_MODE("-definebyquery",   "", DETTOOL_MODE_DEFINEBYQUERY, definebyqueryArgs);
    1065     PXTOOL_ADD_MODE("-definebydetrun",  "", DETTOOL_MODE_DEFINEBYDETRUN, definebydetrunArgs);
    1066     PXTOOL_ADD_MODE("-raw",             "", DETTOOL_MODE_RAW,           rawArgs);
    1067     PXTOOL_ADD_MODE("-runs",            "", DETTOOL_MODE_RUNS,          runsArgs);
    1068     PXTOOL_ADD_MODE("-childlessrun",    "", DETTOOL_MODE_CHILDLESSRUN,  childlessrunArgs);
    1069     PXTOOL_ADD_MODE("-input",           "", DETTOOL_MODE_INPUT,         inputArgs);
    1070     PXTOOL_ADD_MODE("-toprocessedimfile", "", DETTOOL_MODE_TOPROCESSEDIMFILE, toprocessedimfileArgs);
    1071     PXTOOL_ADD_MODE("-addprocessedimfile", "", DETTOOL_MODE_ADDPROCESSEDIMFILE,  addprocessedimfileArgs);
    1072     PXTOOL_ADD_MODE("-processedimfile", "", DETTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
    1073     PXTOOL_ADD_MODE("-revertprocessedimfile", "", DETTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileArgs);
    1074     PXTOOL_ADD_MODE("-toprocessedexp",  "", DETTOOL_MODE_TOPROCESSEDEXP,  toprocessedexpArgs);
    1075     PXTOOL_ADD_MODE("-addprocessedexp", "", DETTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs);
    1076     PXTOOL_ADD_MODE("-revertprocessedexp", "", DETTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpArgs);
    1077     PXTOOL_ADD_MODE("-processedexp",    "", DETTOOL_MODE_PROCESSEDEXP, processedexpArgs);
    1078     PXTOOL_ADD_MODE("-tostacked",       "", DETTOOL_MODE_TOSTACKED,     tostackedArgs);
    1079     PXTOOL_ADD_MODE("-addstacked",      "", DETTOOL_MODE_ADDSTACKED,    addstackedArgs);
    1080     PXTOOL_ADD_MODE("-stacked",         "", DETTOOL_MODE_STACKED,       stackedArgs);
    1081     PXTOOL_ADD_MODE("-revertstacked",   "", DETTOOL_MODE_REVERTSTACKED,  revertstackedArgs);
    1082     PXTOOL_ADD_MODE("-tonormalize",     "", DETTOOL_MODE_TONORMALIZE,   tonormalizeArgs);
    1083     PXTOOL_ADD_MODE("-addnormalizedstat",     "", DETTOOL_MODE_ADDNORMALIZEDSTAT,   addnormstatArgs);
    1084     PXTOOL_ADD_MODE("-normalizedstat",  "", DETTOOL_MODE_NORMALIZEDSTAT,   normalizedstatArgs);
    1085     PXTOOL_ADD_MODE("-revertnormalizedstat",  "", DETTOOL_MODE_REVERTNORMALIZEDSTAT,   revertnormalizedstatArgs);
    1086 
    1087     PXTOOL_ADD_MODE("-tonormalizedstat",      "", DETTOOL_MODE_TONORMALIZEDSTAT,    tonormstatArgs);
    1088     PXTOOL_ADD_MODE("-addnormalizedimfile", "", DETTOOL_MODE_ADDNORMALIZEDIMFILE,addnormalizedimfileArgs);
    1089     PXTOOL_ADD_MODE("-normalizedimfile","", DETTOOL_MODE_NORMALIZEDIMFILE, normalizedimfileArgs);
    1090     PXTOOL_ADD_MODE("-revertnormalizedimfile","", DETTOOL_MODE_REVERTNORMALIZEDIMFILE, revertnormalizedimfileArgs);
    1091     PXTOOL_ADD_MODE("-tonormalizedexp", "", DETTOOL_MODE_TONORMALIZEDEXP, tonormalizedexpArgs);
    1092     PXTOOL_ADD_MODE("-addnormalizedexp", "", DETTOOL_MODE_ADDNORMALIZEDEXP, addnormalizedexpArgs);
    1093     PXTOOL_ADD_MODE("-normalizedexp",   "", DETTOOL_MODE_NORMALIZEDEXP, normalizedexpArgs);
    1094     PXTOOL_ADD_MODE("-revertnormalizedexp","", DETTOOL_MODE_REVERTNORMALIZEDEXP, revertnormalizedexpArgs);
    1095     PXTOOL_ADD_MODE("-toresidimfile",   "", DETTOOL_MODE_TORESIDIMFILE, toresidimfileArgs);
    1096     PXTOOL_ADD_MODE("-addresidimfile",  "", DETTOOL_MODE_ADDRESIDIMFILE, addresidimfileArgs);
    1097     PXTOOL_ADD_MODE("-residimfile",     "", DETTOOL_MODE_RESIDIMFILE, residimfileArgs);
    1098     PXTOOL_ADD_MODE("-revertresidimfile", "", DETTOOL_MODE_REVERTRESIDIMFILE, revertresidimfileArgs);
    1099     PXTOOL_ADD_MODE("-toresidexp",      "", DETTOOL_MODE_TORESIDEXP,    toresidexpArgs);
    1100     PXTOOL_ADD_MODE("-addresidexp",     "", DETTOOL_MODE_ADDRESIDEXP,  addresidexpArgs);
    1101     PXTOOL_ADD_MODE("-residexp",        "", DETTOOL_MODE_RESIDEXP,     residexpArgs);
    1102     PXTOOL_ADD_MODE("-revertresidexp",  "", DETTOOL_MODE_REVERTRESIDEXP, revertresidexpArgs);
    1103     PXTOOL_ADD_MODE("-todetrunsummary",  "", DETTOOL_MODE_TODETRUNSUMMARY,  todetrunsummaryArgs);
    1104     PXTOOL_ADD_MODE("-updateresidexp", "", DETTOOL_MODE_UPDATERESIDEXP,updateresidexpArgs);
    1105     PXTOOL_ADD_MODE("-adddetrunsummary", "", DETTOOL_MODE_ADDDETRUNSUMMARY,adddetrunsummaryArgs);
    1106     PXTOOL_ADD_MODE("-detrunsummary", "", DETTOOL_MODE_DETRUNSUMMARY,detrunsummaryArgs);
    1107     PXTOOL_ADD_MODE("-revertdetrunsummary", "", DETTOOL_MODE_REVERTDETRUNSUMMARY, revertdetrunsummaryArgs);
    1108     PXTOOL_ADD_MODE("-updatedetrun", "", DETTOOL_MODE_UPDATEDETRUN, updatedetrunArgs);
    1109     PXTOOL_ADD_MODE("-rerun",           "", DETTOOL_MODE_RERUN,         rerunArgs);
    1110     PXTOOL_ADD_MODE("-register_detrend", "", DETTOOL_MODE_REGISTER_DETREND, register_detrendArgs);
    1111     PXTOOL_ADD_MODE("-register_detrend_imfile", "", DETTOOL_MODE_REGISTER_DETREND_IMFILE, register_detrend_imfileArgs);
     94    PXTOOL_ADD_MODE("-adddb",   "add a DVO calibration DB",
     95        CALTOOL_MODE_ADDDB,     adddbArgs);
     96    PXTOOL_ADD_MODE("-dbs",     "list DVO calibration DBs",
     97        CALTOOL_MODE_DBS,       dbsArgs);
     98    PXTOOL_ADD_MODE("-addrun",  "add the results of a calibration run",
     99        CALTOOL_MODE_ADDRUN,    addrunArgs);
     100    PXTOOL_ADD_MODE("-runs",    "list the results of calibration runs",
     101        CALTOOL_MODE_RUNS,      runsArgs);
    1112102
    1113103    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
     
    1151141        }
    1152142    }
    1153     addWhereStr(det_type);
    1154     addWhereStr(exp_id);
    1155     addWhereStr(class_id);
    1156     // convert '-inst' to 'camera'
    1157     {
    1158         psString str = NULL;
    1159         bool status = false;
    1160         if ((str = psMetadataLookupStr(&status, config->args, "-inst"))) {
    1161             if (!psMetadataAddStr(config->where, PS_LIST_TAIL, "camera", 0, "==", str)) {
    1162                 psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    1163                 psFree(config);
    1164                 return NULL;
    1165             }
    1166         }
    1167     }
    1168     addWhereStr(telescope);
    1169     addWhereStr(exp_type);
    1170     {
    1171         int n = 0;
    1172         bool status = false;
    1173         if ((n = psMetadataLookupS32(&status, config->args, "-imfiles"))) {
    1174             if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "imfiles", 0, "==", n)) {
    1175                 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    1176                 psFree(config);
    1177                 return NULL;
    1178             }
    1179         }
    1180     }
    1181     addWhereStr(filter);
    1182     addWhereStr(recipe);
    1183     {
    1184         int n = 0;
    1185         bool status = false;
    1186         if ((n = psMetadataLookupS32(&status, config->args, "-guide_version"))) {
    1187             if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "guide_version", 0, "==", n)) {
    1188                 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    1189                 psFree(config);
    1190                 return NULL;
    1191             }
    1192         }
    1193     }
    1194     {
    1195         bool boolean = false;
    1196         bool status = false;
    1197143
    1198         // map reject -> !accept
    1199         if ((boolean = psMetadataLookupBool(&status, config->args, "-reject"))) {
    1200             if (!psMetadataAddBool(config->where, PS_LIST_TAIL, "accept", 0, "==", !boolean)) {
    1201                 psError(PS_ERR_UNKNOWN, false, "failed to add item reject");
    1202                 psFree(config);
    1203                 return NULL;
    1204             }
    1205         }
    1206     }
     144    addWhereStr(det_id);
    1207145
    1208146    // convert '-code' to 'fault'
Note: See TracChangeset for help on using the changeset viewer.