IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 15, 2008, 10:30:59 AM (18 years ago)
Author:
eugene
Message:

completely deprecate config->where; make all command-line handling consistent; move nearly all sql into share/*.sql; ensure consistency between args supplied and used

File:
1 edited

Legend:

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

    r18172 r18561  
    1818 */
    1919
    20 #ifdef HAVE_CONFIG_H
    21 #include <config.h>
    22 #endif
    23 
    24 #include <psmodules.h>
    25 
    26 #include "pxtools.h"
    2720#include "dettool.h"
    2821
     
    4639
    4740    // -pending
     41    // XXX EAM : is this used?  does it make sense?
    4842    psMetadata *pendingArgs = psMetadataAlloc();
    49     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,
    50             "search by exposure ID", NULL);
    51     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,
    52             "search by exposure type", NULL);
    53     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,
    54             "search by camera", NULL);
    55     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,
    56             "search by telescope", NULL);
    57     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,
    58             "search by filter", NULL);
    59     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-uri",  0,
    60             "search by URL", NULL);
    61     psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple",  0,
    62             "use the simple output format", false);
     43    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", NULL);
     44    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,            "search by exposure type", NULL);
     45    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,            "search by camera", NULL);
     46    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,            "search by telescope", NULL);
     47    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,            "search by filter", NULL);
     48    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-uri",  0,            "search by URL", NULL);
     49    psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    6350
    6451    // -definebytag
    6552    psMetadata *definebytagArgs = psMetadataAlloc();
    66     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-exp_id",
    67             PS_META_DUPLICATE_OK,
    68             "include this exposure (multiple OK, required)", NULL);
    69     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-det_type",  0,
    70             "define the type of detrend run (required)", NULL);
    71     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-mode",  0,
    72             "define the mode of this detrend run", "master");
    73     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-filelevel",  0,
    74             "define filelevel", NULL);
    75     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-workdir",  0,
    76             "define workdir (required)", NULL);
    77     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-inst",  0,
    78             "define camera", NULL);
    79     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-telescope",  0,
    80             "define telescope", NULL);
    81     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-exp_type",  0,
    82             "define exposure type", NULL);
    83     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-filter",  0,
    84             "define filter ", NULL);
    85     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-airmass_min",  0,
    86             "define min airmass", NAN);
    87     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-airmass_max",  0,
    88             "define max airmass", NAN);
    89     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-exp_time_min",  0,
    90             "define min exposure time", NAN);
    91     psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-exp_time_max",  0,
    92             "define max exposure time", NAN);
    93     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,
    94             "define min ccd tempature", NAN);
    95     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,
    96             "define max ccd tempature", NAN);
    97     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-posang_min",  0,
    98             "define min rotator position angle", NAN);
    99     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-posang_max",  0,
    100             "define max rotator position angle", NAN);
    101     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-solang_min",  0,
    102             "define min solar angle", NAN);
    103     psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-solang_max",  0,
    104             "define max solar angle", NAN);
    105     psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-registered",  0,
    106             "time detrend run was registered", now);
    107     psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-time_begin",  0,
    108             "detrend applies to exposures taken during this period", NULL);
    109     psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-time_end",  0,
    110             "detrend applies to exposures taken during this period", NULL);
    111     psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-use_begin",  0,
    112             "start of detrend run applicable period", NULL);
    113     psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-use_end",  0,
    114             "end of detrend run applicable period", NULL);
    115     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-reduction",  0,
    116             "define reduction class for processing", NULL);
    117     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-label",  0,
    118             "define detrun label", NULL);
    119     psMetadataAddBool(definebytagArgs, PS_LIST_TAIL, "-simple",  0,
    120             "use the simple output format", false);
     53    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-exp_id",            PS_META_DUPLICATE_OK,           "include this exposure (multiple OK, required)", NULL);
     54    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-det_type",  0,            "define the type of detrend run (required)", NULL);
     55    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-mode",  0,            "define the mode of this detrend run", "master");
     56    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-filelevel",  0,            "define filelevel", NULL);
     57    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-workdir",  0,            "define workdir (required)", NULL);
     58    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-inst",  0,            "define camera", NULL);
     59    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-telescope",  0,            "define telescope", NULL);
     60    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-exp_type",  0,            "define exposure type", NULL);
     61    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-filter",  0,            "define filter ", NULL);
     62    psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-airmass_min",  0,            "define min airmass", NAN);
     63    psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-airmass_max",  0,            "define max airmass", NAN);
     64    psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-exp_time_min",  0,            "define min exposure time", NAN);
     65    psMetadataAddF32(definebytagArgs, PS_LIST_TAIL, "-exp_time_max",  0,            "define max exposure time", NAN);
     66    psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,            "define min ccd tempature", NAN);
     67    psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,            "define max ccd tempature", NAN);
     68    psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-posang_min",  0,            "define min rotator position angle", NAN);
     69    psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-posang_max",  0,            "define max rotator position angle", NAN);
     70    psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-solang_min",  0,            "define min solar angle", NAN);
     71    psMetadataAddF64(definebytagArgs, PS_LIST_TAIL, "-solang_max",  0,            "define max solar angle", NAN);
     72    psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
     73    psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-time_begin",  0,            "detrend applies to exposures taken during this period", NULL);
     74    psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-time_end",  0,            "detrend applies to exposures taken during this period", NULL);
     75    psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-use_begin",  0,            "start of detrend run applicable period", NULL);
     76    psMetadataAddTime(definebytagArgs, PS_LIST_TAIL, "-use_end",  0,            "end of detrend run applicable period", NULL);
     77    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-reduction",  0,            "define reduction class for processing", NULL);
     78    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-label",  0,            "define detrun label", NULL);
     79    psMetadataAddBool(definebytagArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    12180
    12281    // -definebyquery
    12382    psMetadata *definebyqueryArgs = psMetadataAlloc();
    124     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-det_type",  0,
    125             "define the type of detrend run (required)", NULL);
    126     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-mode",  0,
    127             "define the mode of this detrend run", "master");
    128     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filelevel",  0,
    129             "define filelevel", NULL);
    130     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-workdir",  0,
    131             "define workdir (required)", NULL);
    132     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-inst",  0,
    133             "define camera (required)", NULL);
    134     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-telescope",  0,
    135             "define telescope", NULL);
    136     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filter",  0,
    137             "define filter ", NULL);
    138     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-airmass_min",  0,
    139             "define min airmass", NAN);
    140     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-airmass_max",  0,
    141             "define max airmass", NAN);
    142     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-exp_time_min",  0,
    143             "define min exposure time", NAN);
    144     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-exp_time_max",  0,
    145             "define max exposure time", NAN);
    146     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,
    147             "define min ccd tempature", NAN);
    148     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,
    149             "define max ccd tempature", NAN);
    150     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-posang_min",  0,
    151             "define min rotator position angle", NAN);
    152     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-posang_max",  0,
    153             "define max rotator position angle", NAN);
    154     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-solang_min",  0,
    155             "define min solar angle", NAN);
    156     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-solang_max",  0,
    157             "define max solar angle", NAN);
    158     psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-registered",  0,
    159             "time detrend run was registered", now);
    160     psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-time_begin",  0,
    161             "detrend applies to exposures taken during this period", NULL);
    162     psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-time_end",  0,
    163             "detrend applies to exposures taken during this period", NULL);
    164     psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-use_begin",  0,
    165             "start of detrend run applicable period", NULL);
    166     psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-use_end",  0,
    167             "end of detrend run applicable period", NULL);
    168     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_type",  0,
    169             "search for exp_type", NULL);
    170     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_inst",  0,
    171             "search for camera", NULL);
    172     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_telescope",  0,
    173             "search for telescope", NULL);
    174     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_filter",  0,
    175             "search for filter", NULL);
    176     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_uri",  0,
    177             "search for uri", NULL);
    178     psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-select_dateobs_begin", 0,
    179             "search for exposures by time (>=)", NULL);
    180     psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-select_dateobs_end", 0,
    181             "search for exposures by time (<)", NULL);
    182     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_airmass_min",  0,
    183             "define min airmass", NAN);
    184     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_airmass_max",  0,
    185             "define max airmass", NAN);
    186     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_sat_pixel_frac_max",  0,
    187             "define max fraction of saturated pixels", NAN);
    188     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_time_min",  0,
    189             "define min exposure time", NAN);
    190     psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_time_max",  0,
    191             "define max exposure time", NAN);
    192     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_ccd_temp_min",  0,
    193             "define min ccd tempature", NAN);
    194     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_ccd_temp_max",  0,
    195             "define max ccd tempature", NAN);
    196     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_pon_time_min",  0,
    197             "define min power-on time", NAN);
    198     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_pon_time_max",  0,
    199             "define max power-on time", NAN);
    200     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_min",  0,
    201             "define min rotator position angle", NAN);
    202     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_max",  0,
    203             "define max rotator position angle", NAN);
    204     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_solang_min",  0,
    205             "define min solar angle", NAN);
    206     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_solang_max",  0,
    207             "define max solar angle", NAN);
    208     psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",  0,
    209             "print the exposures that would be included in the detrend run and exit", false);
    210     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-reduction",  0,
    211             "define reduction class for processing", NULL);
    212     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label",  0,
    213             "define detrun label", NULL);
    214     psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple",  0,
    215             "use the simple output format", false);
    216 
    217     psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-random_subset",  0,
    218             "use a random subset of elements", false);
    219     psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-random_limit",  0,
    220             "use this number of random elements", 20);
     83    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-det_type",  0,            "define the type of detrend run (required)", NULL);
     84    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-mode",  0,            "define the mode of this detrend run", "master");
     85    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filelevel",  0,            "define filelevel", NULL);
     86    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-workdir",  0,            "define workdir (required)", NULL);
     87    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-inst",  0,            "define camera (required)", NULL);
     88    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-telescope",  0,            "define telescope", NULL);
     89    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filter",  0,            "define filter ", NULL);
     90    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-airmass_min",  0,            "define min airmass", NAN);
     91    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-airmass_max",  0,            "define max airmass", NAN);
     92    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-exp_time_min",  0,            "define min exposure time", NAN);
     93    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-exp_time_max",  0,            "define max exposure time", NAN);
     94    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,            "define min ccd tempature", NAN);
     95    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,            "define max ccd tempature", NAN);
     96    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-posang_min",  0,            "define min rotator position angle", NAN);
     97    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-posang_max",  0,            "define max rotator position angle", NAN);
     98    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-solang_min",  0,            "define min solar angle", NAN);
     99    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-solang_max",  0,            "define max solar angle", NAN);
     100    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
     101    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-time_begin",  0,            "detrend applies to exposures taken during this period", NULL);
     102    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-time_end",  0,            "detrend applies to exposures taken during this period", NULL);
     103    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-use_begin",  0,            "start of detrend run applicable period", NULL);
     104    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-use_end",  0,            "end of detrend run applicable period", NULL);
     105    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_type",  0,            "search for exp_type", NULL);
     106    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_inst",  0,            "search for camera", NULL);
     107    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_telescope",  0,            "search for telescope", NULL);
     108    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_filter",  0,            "search for filter", NULL);
     109    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_uri",  0,            "search for uri", NULL);
     110    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-select_dateobs_begin", 0,            "search for exposures by time (>=)", NULL);
     111    psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-select_dateobs_end", 0,            "search for exposures by time (<)", NULL);
     112    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_airmass_min",  0,            "define min airmass", NAN);
     113    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_airmass_max",  0,            "define max airmass", NAN);
     114    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_sat_pixel_frac_max",  0,            "define max fraction of saturated pixels", NAN);
     115    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_time_min",  0,            "define min exposure time", NAN);
     116    psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_exp_time_max",  0,            "define max exposure time", NAN);
     117    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_ccd_temp_min",  0,            "define min ccd tempature", NAN);
     118    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_ccd_temp_max",  0,            "define max ccd tempature", NAN);
     119    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_pon_time_min",  0,            "define min power-on time", NAN);
     120    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_pon_time_max",  0,            "define max power-on time", NAN);
     121    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_min",  0,            "define min rotator position angle", NAN);
     122    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_max",  0,            "define max rotator position angle", NAN);
     123    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_solang_min",  0,            "define min solar angle", NAN);
     124    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_solang_max",  0,            "define max solar angle", NAN);
     125    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",  0,            "print the exposures that would be included in the detrend run and exit", false);
     126    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-reduction",  0,            "define reduction class for processing", NULL);
     127    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label",  0,            "define detrun label", NULL);
     128    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     129    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-random_subset",  0,            "use a random subset of elements", false);
     130    psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-random_limit",  0,            "use this number of random elements", 20);
    221131
    222132    // -definebydetrun
    223133    psMetadata *definebydetrunArgs = psMetadataAlloc();
    224     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-det_id",  0,
    225             "det ID to base a new detRun on (required)", NULL);
    226     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_det_type",  0,
    227             "define the type of detrend run", NULL);
    228     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_mode",  0,
    229             "define the mode of this detrend run", "master");
    230     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_type",  0,
    231             "define exposure type", NULL);
    232     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_filelevel",  0,
    233             "define filelevel", NULL);
    234     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_workdir",  0,
    235             "define workdir", NULL);
    236     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_filter",  0,
    237             "define filter ", NULL);
    238     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_airmass_min",  0,
    239             "define airmass", NAN);
    240     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_airmass_max",  0,
    241             "define airmass", NAN);
    242     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_time_min",  0,
    243             "define exposure time", NAN);
    244     psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_time_max",  0,
    245             "define exposure time", NAN);
    246     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_ccd_temp_min",  0,
    247             "define ccd tempature", NAN);
    248     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_ccd_temp_max",  0,
    249             "define ccd tempature", NAN);
    250     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_posang_min",  0,
    251             "define rotator position angle", NAN);
    252     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_posang_max",  0,
    253             "define rotator position angle", NAN);
    254     psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_registered",  0,
    255             "time detrend run was registered", now);
    256     psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_time_begin",  0,
    257             "start of period to apply detrend too", NULL);
    258     psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_time_end",  0,
    259             "end of period to apply detrend too", NULL);
    260     psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_use_begin",  0,
    261             "start of detrend run applicable period", NULL);
    262     psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_use_end",  0,
    263             "end of detrend run applicable period", NULL);
    264     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_solang_min",  0,
    265             "define solar angle", NAN);
    266     psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_solang_max",  0,
    267             "define solar angle", NAN);
    268     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-filter_input_begin", 0,
    269             "filter input detrun exp to be in this period", NULL);
    270     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-filter_input_end", 0,
    271             "filter input detrun exp to be in this period", NULL);
    272     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_reduction",  0,
    273             "define reduction class for processing", NULL);
    274     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_label",  0,
    275             "define detrun label", NULL);
    276     psMetadataAddBool(definebydetrunArgs, PS_LIST_TAIL, "-simple", 0,
    277             "use the simple output format", false);
    278 
     134    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-det_id",  0,            "det ID to base a new detRun on (required)", NULL);
     135    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_det_type",  0,            "define the type of detrend run", NULL);
     136    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_mode",  0,            "define the mode of this detrend run", "master");
     137    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_type",  0,            "define exposure type", NULL);
     138    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_filelevel",  0,            "define filelevel", NULL);
     139    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_workdir",  0,            "define workdir", NULL);
     140    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_filter",  0,            "define filter ", NULL);
     141    psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_airmass_min",  0,            "define airmass", NAN);
     142    psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_airmass_max",  0,            "define airmass", NAN);
     143    psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_time_min",  0,            "define exposure time", NAN);
     144    psMetadataAddF32(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_time_max",  0,            "define exposure time", NAN);
     145    psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_ccd_temp_min",  0,            "define ccd tempature", NAN);
     146    psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_ccd_temp_max",  0,            "define ccd tempature", NAN);
     147    psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_posang_min",  0,            "define rotator position angle", NAN);
     148    psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_posang_max",  0,            "define rotator position angle", NAN);
     149    psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_solang_min",  0,            "define solar angle", NAN);
     150    psMetadataAddF64(definebydetrunArgs, PS_LIST_TAIL, "-set_solang_max",  0,            "define solar angle", NAN);
     151    psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_registered",  0,            "time detrend run was registered", now);
     152    psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_time_begin",  0,            "start of period to apply detrend too", NULL);
     153    psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_time_end",  0,            "end of period to apply detrend too", NULL);
     154    psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_use_begin",  0,            "start of detrend run applicable period", NULL);
     155    psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_use_end",  0,            "end of detrend run applicable period", NULL);
     156    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_reduction",  0,            "define reduction class for processing", NULL);
     157    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_label",  0,            "define detrun label", NULL);
     158    psMetadataAddBool(definebydetrunArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
     159    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_input_begin", 0,     "require input exp to be in this period", NULL);
     160    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_input_end", 0,       "require input exp to be in this period", NULL);
     161
     162    // *** these are in dettool_correction.c ***
    279163    // -makecorrection
    280164    psMetadata *makecorrectionArgs = psMetadataAlloc();
    281     psMetadataAddStr(makecorrectionArgs, PS_LIST_TAIL, "-det_id",  0,
    282             "det ID to be corrected (required)", NULL);
    283     psMetadataAddBool(makecorrectionArgs, PS_LIST_TAIL, "-simple", 0,
    284             "use the simple output format", false);
     165    psMetadataAddStr(makecorrectionArgs, PS_LIST_TAIL, "-det_id",  0,            "det ID to be corrected (required)", NULL);
     166    psMetadataAddBool(makecorrectionArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
    285167
    286168    // -tocorrectexp
    287169    psMetadata *tocorrectexpArgs = psMetadataAlloc();
    288     psMetadataAddU64(tocorrectexpArgs, PS_LIST_TAIL, "-limit",  0,
    289             "limit result set to N items", 0);
    290     psMetadataAddBool(tocorrectexpArgs, PS_LIST_TAIL, "-simple",  0,
    291             "use the simple output format", false);
     170    psMetadataAddU64(tocorrectexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     171    psMetadataAddBool(tocorrectexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    292172
    293173    // -tocorrectimfile
    294174    psMetadata *tocorrectimfileArgs = psMetadataAlloc();
    295     psMetadataAddStr(tocorrectimfileArgs, PS_LIST_TAIL, "-det_id", 0,
    296             "search for detrend ID", NULL);
    297     psMetadataAddU64(tocorrectimfileArgs, PS_LIST_TAIL, "-limit",  0,
    298             "limit result set to N items", 0);
    299     psMetadataAddBool(tocorrectimfileArgs, PS_LIST_TAIL, "-simple",  0,
    300             "use the simple output format", false);
     175    psMetadataAddStr(tocorrectimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", NULL);
     176    psMetadataAddU64(tocorrectimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     177    psMetadataAddBool(tocorrectimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    301178
    302179    // -addcorrectimfile
    303180    psMetadata *addcorrectimfileArgs = psMetadataAlloc();
    304     psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    305             "define detrend ID (required)", NULL);
    306     psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    307             "search for class ID (required)", NULL);
    308     psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-uri",  0,
    309             "define resid file URI", NULL);
    310     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg",  0,
    311             "define exposure background", NAN);
    312     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    313             "define exposure background stdev", NAN);
    314     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    315             "define exposure background mean stdev", NAN);
    316     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_1",  0,
    317             "define user statistic (1)", NAN);
    318     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_2",  0,
    319             "define user statistic (2)", NAN);
    320     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_3",  0,
    321             "define user statistic (3)", NAN);
    322     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_4",  0,
    323             "define user statistic (4)", NAN);
    324     psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_5",  0,
    325             "define user statistic (5)", NAN);
    326     psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-path_base",  0,
    327             "define base output location", NULL);
     181    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     182    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID (required)", NULL);
     183    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-uri",  0,            "define resid file URI", NULL);
     184    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     185    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     186    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     187    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     188    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     189    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     190    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     191    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     192    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
    328193
    329194    // -runs
    330195    psMetadata *runsArgs = psMetadataAlloc();
    331     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_type",  0,
    332             "search for type of detrend run", NULL);
    333     psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple",  0,
    334             "use the simple output format", false);
    335     psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-active",  0,
    336             "only return active detRuns", false);
    337     psMetadataAddU64(runsArgs, PS_LIST_TAIL, "-limit",  0,
    338             "limit result set to N items", 0);
    339     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_id", 0,
    340             "search for detrend ID", NULL);
    341 
    342     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-inst", 0,
    343             "search for camera (instrument)", NULL);
    344     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-telescope", 0,
    345             "search for telescope", NULL);
    346     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-filter", 0,
    347             "search for filter", NULL);
    348 
    349     psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-airmass", 0,
    350             "match airmass", NAN);
    351     psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-exp_time", 0,
    352             "match exp time", NAN);
    353     psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-ccd_temp", 0,
    354             "match ccd temp", NAN);
    355     psMetadataAddF64(runsArgs, PS_LIST_TAIL, "-posang", 0,
    356             "match posang", NAN);
     196    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_type",  0,            "search for type of detrend run", NULL);
     197    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", NULL);
     198    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-inst", 0,            "search for camera (instrument)", NULL);
     199    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-telescope", 0,            "search for telescope", NULL);
     200    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-filter", 0,            "search for filter", NULL);
     201    psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-airmass", 0,            "match airmass", NAN);
     202    psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-exp_time", 0,            "match exp time", NAN);
     203    psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-ccd_temp", 0,            "match ccd temp", NAN);
     204    psMetadataAddF64(runsArgs, PS_LIST_TAIL, "-posang", 0,            "match posang", NAN);
     205    psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     206    psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-active",  0,            "only return active detRuns", false);
     207    psMetadataAddU64(runsArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    357208
    358209    // -childlessrun
    359210    psMetadata *childlessrunArgs = psMetadataAlloc();
    360     psMetadataAddStr(childlessrunArgs, PS_LIST_TAIL, "-det_type",  0,
    361             "search for type of detrend run", NULL);
    362     psMetadataAddU64(childlessrunArgs, PS_LIST_TAIL, "-limit",  0,
    363             "limit result set to N items", 0);
    364     psMetadataAddBool(childlessrunArgs, PS_LIST_TAIL, "-simple",  0,
    365             "use the simple output format", false);
     211    psMetadataAddStr(childlessrunArgs, PS_LIST_TAIL, "-det_type",  0,            "search for type of detrend run", NULL);
     212    psMetadataAddU64(childlessrunArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     213    psMetadataAddBool(childlessrunArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    366214
    367215    // -input
    368216    psMetadata *inputArgs = psMetadataAlloc();
    369     psMetadataAddStr(inputArgs, PS_LIST_TAIL, "-det_id", 0,
    370             "search for detrend ID", NULL);
    371     psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration",  0,
    372             "define iteration number", 0);
    373     psMetadataAddStr(inputArgs, PS_LIST_TAIL, "-exp_id",  0,
    374             "search for exp ID", NULL);
    375     psMetadataAddBool(inputArgs, PS_LIST_TAIL, "-simple",  0,
    376             "use the simple output format", false);
     217    psMetadataAddStr(inputArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", NULL);
     218    psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
     219    psMetadataAddS64(inputArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", 0);
     220    psMetadataAddBool(inputArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    377221
    378222    // -raw
    379223    psMetadata *rawArgs = psMetadataAlloc();
    380     psMetadataAddBool(rawArgs, PS_LIST_TAIL, "-simple",  0,
    381             "use the simple output format", false);
     224    psMetadataAddBool(rawArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    382225
    383226    // -toprocessedimfile
    384227    psMetadata *toprocessedimfileArgs = psMetadataAlloc();
    385     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    386             "search for detrend ID", NULL);
    387     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    388             "search for exp ID", NULL);
    389     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    390             "search for class ID", NULL);
    391     psMetadataAddU64(toprocessedimfileArgs, PS_LIST_TAIL, "-limit",  0,
    392             "limit result set to N items", 0);
    393     psMetadataAddBool(toprocessedimfileArgs, PS_LIST_TAIL, "-simple",  0,
    394             "use the simple output format", false);
     228    psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     229    psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", NULL);
     230    psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
     231    psMetadataAddU64(toprocessedimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     232    psMetadataAddBool(toprocessedimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    395233
    396234    // -addprocessedimfile
    397235    psMetadata *addprocessedimfileArgs = psMetadataAlloc();
    398     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    399             "define detrend ID (required)", NULL);
    400     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    401             "define exp ID (required)", NULL);
    402     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    403             "define class ID (required)", NULL);
    404     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-uri",  0,
    405             "define URI", NULL);
    406     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-recip",  0,
    407             "define recipe", NULL);
    408     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg",  0,
    409             "define exposure background", NAN);
    410     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    411             "define exposure background stdev", NAN);
    412     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    413             "define exposure background mean stdev", NAN);
    414     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,
    415             "define fringe slope (0th term)", NAN);
    416     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,
    417             "define fringe slope (1st term)", NAN);
    418     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,
    419             "define fringe slope (2nd term)", NAN);
    420     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_1",  0,
    421             "define user statistic (1)", NAN);
    422     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_2",  0,
    423             "define user statistic (2)", NAN);
    424     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_3",  0,
    425             "define user statistic (3)", NAN);
    426     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_4",  0,
    427             "define user statistic (4)", NAN);
    428     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_5",  0,
    429             "define user statistic (5)", NAN);
    430     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-path_base",  0,
    431             "define base output location", NULL);
    432     psMetadataAddS16(addprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
    433             "set fault code", 0);
     236    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     237    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "define exp ID (required)", NULL);
     238    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
     239    psMetadataAddS16(addprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     240    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-uri",  0,            "define URI", NULL);
     241    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
     242    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     243    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     244    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     245    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,            "define fringe slope (0th term)", NAN);
     246    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,            "define fringe slope (1st term)", NAN);
     247    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,            "define fringe slope (2nd term)", NAN);
     248    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     249    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     250    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     251    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     252    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     253    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
    434254
    435255    // -processedimfile
    436256    psMetadata *processedimfileArgs = psMetadataAlloc();
    437     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    438             "search for detrend ID", NULL);
    439     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    440             "search for exp ID", NULL);
    441     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    442             "search for class ID", NULL);
    443     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-select_state",  0,
    444             "search for state", NULL);
    445     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-select_mode",  0,
    446             "search for mode", NULL);
    447     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-chip",  0,
    448             "restrict results to completed 'chip' sets", false);
    449     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-exp",  0,
    450             "restrict results to complete 'exposures'", false);
    451     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-included",  0,
    452             "restrict results to exposures 'includeded' in the current iteration", false);
    453     psMetadataAddU64(processedimfileArgs, PS_LIST_TAIL, "-limit",  0,
    454             "limit result set to N items", 0);
    455     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-faulted",  0,
    456             "only return imfiles with a fault status set", false);
    457     psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-simple",  0,
    458             "use the simple output format", false);
     257    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     258    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", NULL);
     259    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
     260    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-select_state",  0,            "search for state", NULL);
     261    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-select_mode",  0,            "search for mode", NULL);
     262    psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-included",  0,            "restrict results to exposures 'includeded' in the current iteration", false);
     263    psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     264    psMetadataAddU64(processedimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     265    psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     266
     267    // XXX these don't seem to be used anymore
     268    // psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-chip",  0,            "restrict results to completed 'chip' sets", false);
     269    // psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-exp",  0,            "restrict results to complete 'exposures'", false);
    459270
    460271    // -revertprocessedimfile
    461272    psMetadata *revertprocessedimfileArgs = psMetadataAlloc();
    462     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    463             "search for detrend ID (required)", NULL);
    464     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    465             "search by exposure ID", NULL);
    466     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    467             "search by class ID", NULL);
    468     psMetadataAddS16(revertprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
    469             "search by fault code", 0);
     273    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", NULL);
     274    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", NULL);
     275    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     276    psMetadataAddS16(revertprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    470277
    471278    // -toprocessedexp
    472279    psMetadata *toprocessedexpArgs = psMetadataAlloc();
    473     psMetadataAddU64(toprocessedexpArgs, PS_LIST_TAIL, "-limit",  0,
    474             "limit result set to N items", 0);
    475     psMetadataAddBool(toprocessedexpArgs, PS_LIST_TAIL, "-simple",  0,
    476             "use the simple output format", false);
     280    psMetadataAddU64(toprocessedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     281    psMetadataAddBool(toprocessedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    477282
    478283    // -addproccessedexp
    479284    psMetadata *addprocessedexpArgs = psMetadataAlloc();
    480     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    481             "define detrend ID (required)", NULL);
    482     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    483             "define detrend ID (required)", NULL);
    484     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-recip",  0,
    485             "define recipe", NULL);
    486     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg",  0,
    487             "define exposure background", NAN);
    488     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    489             "define exposure background stdev", NAN);
    490     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    491             "define exposure background mean stdev", NAN);
    492     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_0",  0,
    493             "define fringe slope (0th term)", NAN);
    494     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_1",  0,
    495             "define fringe slope (1st term)", NAN);
    496     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_2",  0,
    497             "define fringe slope (2nd term)", NAN);
    498     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_1",  0,
    499             "define user statistic (1)", NAN);
    500     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_2",  0,
    501             "define user statistic (2)", NAN);
    502     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_3",  0,
    503             "define user statistic (3)", NAN);
    504     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_4",  0,
    505             "define user statistic (4)", NAN);
    506     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_5",  0,
    507             "define user statistic (5)", NAN);
    508     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-path_base",  0,
    509             "define base output location", NULL);
    510     psMetadataAddS16(addprocessedexpArgs, PS_LIST_TAIL, "-code",  0,
    511             "set fault code", 0);
     285    psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     286    psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", NULL);
     287    psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
     288    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     289    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     290    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     291    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_0",  0,            "define fringe slope (0th term)", NAN);
     292    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_1",  0,            "define fringe slope (1st term)", NAN);
     293    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_2",  0,            "define fringe slope (2nd term)", NAN);
     294    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     295    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     296    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     297    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     298    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     299    psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
     300    psMetadataAddS16(addprocessedexpArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
    512301
    513302    // -proccessedexp
    514303    psMetadata *processedexpArgs = psMetadataAlloc();
    515     psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    516             "define detrend ID", NULL);
    517     psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    518             "define detrend ID", NULL);
    519     psMetadataAddU64(processedexpArgs, PS_LIST_TAIL, "-limit",  0,
    520             "limit result set to N items", 0);
    521     psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-faulted",  0,
    522             "only return imfiles with a fault status set", false);
    523     psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-simple",  0,
    524             "use the simple output format", false);
     304    psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", NULL);
     305    psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exp ID", NULL);
     306    psMetadataAddU64(processedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     307    psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     308    psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    525309
    526310    // -revertprocessedexp
    527311    psMetadata *revertprocessedexpArgs = psMetadataAlloc();
    528     psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    529             "search by detrend ID (required)", NULL);
    530     psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    531             "search by exposure ID", NULL);
    532     psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-code",  0,
    533             "search by fault code", 0);
     312    psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", NULL);
     313    psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", NULL);
     314    psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    534315
    535316    // -tostacked
    536317    psMetadata *tostackedArgs = psMetadataAlloc();
    537     psMetadataAddU64(tostackedArgs, PS_LIST_TAIL, "-limit",  0,
    538             "limit result set to N items", 0);
    539     psMetadataAddBool(tostackedArgs, PS_LIST_TAIL, "-simple",  0,
    540             "use the simple output format", false);
     318    psMetadataAddU64(tostackedArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     319    psMetadataAddBool(tostackedArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    541320
    542321    // -addstacked
    543322    psMetadata *addstackedArgs = psMetadataAlloc();
    544     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-det_id",  0,
    545             "define detrend ID (required)", NULL);
    546     psMetadataAddS32(addstackedArgs, PS_LIST_TAIL, "-iteration",  0,
    547             "define iteration number", 0);
    548     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-class_id",  0,
    549             "define class ID (required)", NULL);
    550     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-recip",  0,
    551             "define recipe", NULL);
    552     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg",  0,
    553             "define exposure background", NAN);
    554     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    555             "define exposure background stdev", NAN);
    556     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    557             "define exposure background mean stdev", NAN);
    558     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_1",  0,
    559             "define user statistic (1)", NAN);
    560     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_2",  0,
    561             "define user statistic (2)", NAN);
    562     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_3",  0,
    563             "define user statistic (3)", NAN);
    564     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_4",  0,
    565             "define user statistic (4)", NAN);
    566     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_5",  0,
    567             "define user statistic (5)", NAN);
    568     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-uri",  0,
    569             "define URI", NULL);
    570     psMetadataAddS16(addstackedArgs, PS_LIST_TAIL, "-code",  0,
    571             "set fault code", 0);
     323    psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     324    psMetadataAddS32(addstackedArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number (required)", 0);
     325    psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
     326    psMetadataAddS16(addstackedArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     327    psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-uri",  0,            "define URI", NULL);
     328    psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
     329    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     330    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     331    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     332    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     333    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     334    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     335    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     336    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
    572337
    573338    // -stacked
    574339    psMetadata *stackedArgs = psMetadataAlloc();
    575     psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-det_id",  0,
    576             "search for detrend ID", NULL);
    577     psMetadataAddS32(stackedArgs, PS_LIST_TAIL, "-iteration",  0,
    578             "search for iteration number", 0);
    579     psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-class_id",  0,
    580             "search for class ID", NULL);
    581     psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-recip",  0,
    582             "search for recipe", NULL);
    583     psMetadataAddU64(stackedArgs, PS_LIST_TAIL, "-limit",  0,
    584             "limit result set to N items", 0);
    585     psMetadataAddBool(stackedArgs, PS_LIST_TAIL, "-faulted",  0,
    586             "only return imfiles with a fault status set", false);
    587     psMetadataAddBool(stackedArgs, PS_LIST_TAIL, "-simple",  0,
    588             "use the simple output format", false);
     340    psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     341    psMetadataAddS32(stackedArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
     342    psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
     343    psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     344    psMetadataAddU64(stackedArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     345    psMetadataAddBool(stackedArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     346    psMetadataAddBool(stackedArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    589347
    590348    // -revertstacked
    591349    psMetadata *revertstackedArgs= psMetadataAlloc();
    592     psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-det_id",  0,
    593             "search for detrend ID (required)", NULL);
    594     psMetadataAddS32(revertstackedArgs, PS_LIST_TAIL, "-iteration",  0,
    595             "search by iteration number", 0);
    596     psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-class_id",  0,
    597             "search by class ID", NULL);
    598     psMetadataAddS16(revertstackedArgs, PS_LIST_TAIL, "-code",  0,
    599             "search by fault code", 0);
     350    psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", NULL);
     351    psMetadataAddS32(revertstackedArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
     352    psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     353    psMetadataAddS16(revertstackedArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     354
     355    // -tonormalizedstat
     356    psMetadata *tonormalizedstatArgs = psMetadataAlloc();
     357    psMetadataAddU64(tonormalizedstatArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     358    psMetadataAddBool(tonormalizedstatArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     359
     360    // -addnormalizedstat
     361    psMetadata *addnormstatArgs = psMetadataAlloc();
     362    psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     363    psMetadataAddS32(addnormstatArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
     364    psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
     365    psMetadataAddF32(addnormstatArgs, PS_LIST_TAIL, "-norm",  0,            "define normal value (required)", NAN);
     366    psMetadataAddS16(addnormstatArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     367
     368    // -normalizedstat
     369    psMetadata *normalizedstatArgs = psMetadataAlloc();
     370    psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", NULL);
     371    psMetadataAddS32(normalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
     372    psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     373    psMetadataAddU64(normalizedstatArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     374    psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     375    psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     376
     377    // -revertnormalizedstat
     378    psMetadata *revertnormalizedstatArgs= psMetadataAlloc();
     379    psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", NULL);
     380    psMetadataAddS32(revertnormalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
     381    psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     382    psMetadataAddS16(revertnormalizedstatArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    600383
    601384    // -tonormalize
    602385    psMetadata *tonormalizeArgs = psMetadataAlloc();
    603     psMetadataAddU64(tonormalizeArgs, PS_LIST_TAIL, "-limit",  0,
    604             "limit result set to N items", 0);
    605     psMetadataAddBool(tonormalizeArgs, PS_LIST_TAIL, "-simple",  0,
    606             "use the simple output format", false);
    607 
    608     // -addnormalizedstat
    609     psMetadata *addnormstatArgs = psMetadataAlloc();
    610     psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-det_id",  0,
    611             "define detrend ID (required)", NULL);
    612     psMetadataAddS32(addnormstatArgs, PS_LIST_TAIL, "-iteration",  0,
    613             "define iteration number", 0);
    614     psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-class_id",  0,
    615             "define class ID (required)", NULL);
    616     psMetadataAddF32(addnormstatArgs, PS_LIST_TAIL, "-norm",  0,
    617             "define normal value (required)", NAN);
    618     psMetadataAddS16(addnormstatArgs, PS_LIST_TAIL, "-code",  0,
    619             "set fault code", 0);
    620 
    621     // -normalizedstat
    622     psMetadata *normalizedstatArgs = psMetadataAlloc();
    623     psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,
    624             "search by detrend ID", NULL);
    625     psMetadataAddS32(normalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,
    626             "search by iteration number", 0);
    627     psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,
    628             "search by class ID", NULL);
    629     psMetadataAddU64(normalizedstatArgs, PS_LIST_TAIL, "-limit",  0,
    630             "limit result set to N items", 0);
    631     psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-faulted",  0,
    632             "only return imfiles with a fault status set", false);
    633     psMetadataAddBool(normalizedstatArgs, PS_LIST_TAIL, "-simple",  0,
    634             "use the simple output format", false);
    635 
    636     // -revertnormalizedstat
    637     psMetadata *revertnormalizedstatArgs= psMetadataAlloc();
    638     psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,
    639             "search by detrend ID (required)", NULL);
    640     psMetadataAddS32(revertnormalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,
    641             "search by iteration number", 0);
    642     psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,
    643             "search by class ID", NULL);
    644     psMetadataAddS16(revertnormalizedstatArgs, PS_LIST_TAIL, "-code",  0,
    645             "search by fault code", 0);
    646 
    647     // -tonormstat
    648     psMetadata *tonormstatArgs = psMetadataAlloc();
    649     psMetadataAddU64(tonormstatArgs, PS_LIST_TAIL, "-limit",  0,
    650             "limit result set to N items", 0);
    651     psMetadataAddBool(tonormstatArgs, PS_LIST_TAIL, "-simple",  0,
    652             "use the simple output format", false);
     386    psMetadataAddU64(tonormalizeArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     387    psMetadataAddBool(tonormalizeArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    653388
    654389    // -addnormalizedimfile
    655390    psMetadata *addnormalizedimfileArgs = psMetadataAlloc();
    656     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,
    657             "define detrend ID (required)", NULL);
    658     psMetadataAddS32(addnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,
    659             "define iteration number", 0);
    660     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,
    661             "define class ID (required)", NULL);
    662     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-uri", 0,
    663             "define URI", NULL);
    664     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg", 0,
    665             "define exposure background", NAN);
    666     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_stdev", 0,
    667             "define exposure background stdev", NAN);
    668     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev", 0,
    669             "define exposure background mean stdev", NAN);
    670     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_1",  0,
    671             "define user statistic (1)", NAN);
    672     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_2",  0,
    673             "define user statistic (2)", NAN);
    674     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_3",  0,
    675             "define user statistic (3)", NAN);
    676     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_4",  0,
    677             "define user statistic (4)", NAN);
    678     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_5",  0,
    679             "define user statistic (5)", NAN);
    680     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-path_base", 0,
    681             "define base output location", NULL);
    682     psMetadataAddS16(addnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,
    683             "set fault code", 0);
     391    psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "define detrend ID (required)", NULL);
     392    psMetadataAddS32(addnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,            "define iteration number", 0);
     393    psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,            "define class ID (required)", NULL);
     394    psMetadataAddS16(addnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     395    psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-uri", 0,            "define URI", NULL);
     396    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg", 0,            "define exposure background", NAN);
     397    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_stdev", 0,            "define exposure background stdev", NAN);
     398    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev", 0,            "define exposure background mean stdev", NAN);
     399    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     400    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     401    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     402    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     403    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     404    psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-path_base", 0,            "define base output location", NULL);
    684405
    685406    // -normalizedimfile
    686407    psMetadata *normalizedimfileArgs = psMetadataAlloc();
    687     psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    688             "search for detrend ID", NULL);
    689     psMetadataAddS32(normalizedimfileArgs, PS_LIST_TAIL, "-iteration",  0,
    690             "search for iteration number", 0);
    691     psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    692             "search for class ID", NULL);
    693     psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-recip",  0,
    694             "search for recipe", NULL);
    695     psMetadataAddU64(normalizedimfileArgs, PS_LIST_TAIL, "-limit",  0,
    696             "limit result set to N items", 0);
    697     psMetadataAddBool(normalizedimfileArgs, PS_LIST_TAIL, "-faulted",  0,
    698             "only return imfiles with a fault status set", false);
    699     psMetadataAddBool(normalizedimfileArgs, PS_LIST_TAIL, "-simple",  0,
    700             "use the simple output format", false);
     408    psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     409    psMetadataAddS32(normalizedimfileArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
     410    psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
     411    psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     412    psMetadataAddU64(normalizedimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     413    psMetadataAddBool(normalizedimfileArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     414    psMetadataAddBool(normalizedimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    701415
    702416    // -revertnormalizedimfile
    703417    psMetadata *revertnormalizedimfileArgs = psMetadataAlloc();
    704     psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,
    705             "search by detrend ID (required)", NULL);
    706     psMetadataAddS32(revertnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,
    707             "search by iteration number", 0);
    708     psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,
    709             "search by class ID", NULL);
    710     psMetadataAddS16(revertnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,
    711             "search by fault code", 0);
     418    psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     419    psMetadataAddS32(revertnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     420    psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,            "search by class ID", NULL);
     421    psMetadataAddS16(revertnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    712422
    713423    // -tonormalizedexp
    714424    psMetadata *tonormalizedexpArgs = psMetadataAlloc();
    715     psMetadataAddU64(tonormalizedexpArgs, PS_LIST_TAIL, "-limit",  0,
    716             "limit result set to N items", 0);
    717     psMetadataAddBool(tonormalizedexpArgs, PS_LIST_TAIL, "-simple",  0,
    718             "use the simple output format", false);
     425    psMetadataAddU64(tonormalizedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     426    psMetadataAddBool(tonormalizedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    719427
    720428    // -addnormalizedexp
    721429    psMetadata *addnormalizedexpArgs = psMetadataAlloc();
    722     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    723             "define detrend ID (required)", NULL);
    724     psMetadataAddS32(addnormalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,
    725             "define iteration number", 0);
    726     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-recip",  0,
    727             "search for recipe", NULL);
    728     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg",  0,
    729             "define exposure background", NAN);
    730     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    731             "define exposure background stdev", NAN);
    732     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    733             "define exposure background mean stdev", NAN);
    734 
    735     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_1",  0,
    736             "define user statistic (1)", NAN);
    737     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_2",  0,
    738             "define user statistic (2)", NAN);
    739     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_3",  0,
    740             "define user statistic (3)", NAN);
    741     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_4",  0,
    742             "define user statistic (4)", NAN);
    743     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_5",  0,
    744             "define user statistic (5)", NAN);
    745 
    746     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-path_base",  0,
    747             "define base output location", NULL);
    748     psMetadataAddS16(addnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,
    749             "set fault code", 0);
     430    psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     431    psMetadataAddS32(addnormalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
     432    psMetadataAddS16(addnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     433    psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     434    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     435    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     436    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     437    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     438    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     439    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     440    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     441    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     442    psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
    750443
    751444    // -normalizedexp
    752445    psMetadata *normalizedexpArgs = psMetadataAlloc();
    753     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,
    754             "define detrend ID", NULL);
    755     psMetadataAddS32(normalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,
    756             "define iteration number", 0);
    757     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-recip",  0,
    758             "search for recipe", NULL);
    759     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg",  0,
    760             "define exposure background", NAN);
    761     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    762             "define exposure background stdev", NAN);
    763     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    764             "define exposure background mean stdev", NAN);
    765     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-path_base",  0,
    766             "define base output location", NULL);
    767     psMetadataAddU64(normalizedexpArgs, PS_LIST_TAIL, "-limit",  0,
    768             "limit result set to N items", 0);
    769     psMetadataAddBool(normalizedexpArgs, PS_LIST_TAIL, "-faulted",  0,
    770             "only return imfiles with a fault status set", false);
    771     psMetadataAddBool(normalizedexpArgs, PS_LIST_TAIL, "-simple",  0,
    772             "use the simple output format", false);
     446    psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", NULL);
     447    psMetadataAddS32(normalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
     448    psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     449    psMetadataAddU64(normalizedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     450    psMetadataAddBool(normalizedexpArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     451    psMetadataAddBool(normalizedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    773452
    774453    // -revertnormalizedexp
    775454    psMetadata *revertnormalizedexpArgs = psMetadataAlloc();
    776     psMetadataAddStr(revertnormalizedexpArgs, PS_LIST_TAIL, "-det_id", 0,
    777             "search by detrend ID (required)", NULL);
    778     psMetadataAddS32(revertnormalizedexpArgs, PS_LIST_TAIL, "-iteration", 0,
    779             "search by iteration number", 0);
    780     psMetadataAddS16(revertnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,
    781             "search by fault code", 0);
     455    psMetadataAddStr(revertnormalizedexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     456    psMetadataAddS32(revertnormalizedexpArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     457    psMetadataAddS16(revertnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    782458
    783459    // -toresidimfile
    784460    psMetadata *toresidimfileArgs = psMetadataAlloc();
    785     psMetadataAddU64(toresidimfileArgs, PS_LIST_TAIL, "-limit",  0,
    786             "limit result set to N items", 0);
    787     psMetadataAddBool(toresidimfileArgs, PS_LIST_TAIL, "-simple",  0,
    788             "use the simple output format", false);
     461    psMetadataAddU64(toresidimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     462    psMetadataAddBool(toresidimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     463
     464    // -addresidimfile
     465    psMetadata *addresidimfileArgs = psMetadataAlloc();
     466    psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     467    psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
     468    psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", NULL);
     469    psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
     470    psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     471    psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-uri",  0,            "define resid file URI", NULL);
     472    psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
     473    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     474    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     475    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     476    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_skewness",  0,            "define exposure background skewness", NAN);
     477    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_kurtosis",  0,            "define exposure background kurtosis", NAN);
     478    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bin_stdev",  0,            "define exposure background binned stdev", NAN);
     479    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,            "define fringe slope (0th term)", NAN);
     480    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,            "define fringe slope (1st term)", NAN);
     481    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,            "define fringe slope (2nd term)", NAN);
     482    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_0",  0,            "define fringe residual (0th term)", NAN);
     483    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_1",  0,            "define fringe residual (1st term)", NAN);
     484    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_2",  0,            "define fringe residual (2nd term)", NAN);
     485    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     486    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     487    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     488    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     489    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     490    psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
     491
     492    // -residimfile
     493    psMetadata *residimfileArgs = psMetadataAlloc();
     494    psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     495    psMetadataAddS32(residimfileArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
     496    psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by detrend ID", NULL);
     497    psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
     498    psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     499    psMetadataAddU64(residimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     500    psMetadataAddBool(residimfileArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     501    psMetadataAddBool(residimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     502    psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-select_state",  0,            "search for state", NULL);
     503
     504    // -revertresidimfile
     505    psMetadata *revertresidimfileArgs =  psMetadataAlloc();
     506    psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-det_id", 0,          "search by detrend ID (required)", NULL);
     507    psMetadataAddS32(revertresidimfileArgs, PS_LIST_TAIL, "-iteration", 0,       "search by iteration number", 0);
     508    psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,         "search by detrend ID", NULL);
     509    psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,       "search for class ID", NULL);
     510    psMetadataAddS16(revertresidimfileArgs, PS_LIST_TAIL, "-code",  0,           "search by fault code", 0);
    789511
    790512    // -toresidexp
    791513    psMetadata *toresidexpArgs = psMetadataAlloc();
    792     psMetadataAddU64(toresidexpArgs, PS_LIST_TAIL, "-limit",  0,
    793             "limit result set to N items", 0);
    794     psMetadataAddBool(toresidexpArgs, PS_LIST_TAIL, "-simple",  0,
    795             "use the simple output format", false);
    796 
    797     // -addresidimfile
    798     psMetadata *addresidimfileArgs = psMetadataAlloc();
    799     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    800             "define detrend ID (required)", NULL);
    801     psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration",  0,
    802             "define iteration number", 0);
    803     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    804             "define detrend ID (required)", NULL);
    805     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    806             "define class ID (required)", NULL);
    807     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-uri",  0,
    808             "define resid file URI", NULL);
    809     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-recip",  0,
    810             "define recipe", NULL);
    811     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg",  0,
    812             "define exposure background", NAN);
    813     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    814             "define exposure background stdev", NAN);
    815     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    816             "define exposure background mean stdev", NAN);
    817     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_skewness",  0,
    818             "define exposure background skewness", NAN);
    819     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_kurtosis",  0,
    820             "define exposure background kurtosis", NAN);
    821     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bin_stdev",  0,
    822             "define exposure background binned stdev", NAN);
    823     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,
    824             "define fringe slope (0th term)", NAN);
    825     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,
    826             "define fringe slope (1st term)", NAN);
    827     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,
    828             "define fringe slope (2nd term)", NAN);
    829     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_0",  0,
    830             "define fringe residual (0th term)", NAN);
    831     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_1",  0,
    832             "define fringe residual (1st term)", NAN);
    833     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_resid_2",  0,
    834             "define fringe residual (2nd term)", NAN);
    835     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_1",  0,
    836             "define user statistic (1)", NAN);
    837     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_2",  0,
    838             "define user statistic (2)", NAN);
    839     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_3",  0,
    840             "define user statistic (3)", NAN);
    841     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_4",  0,
    842             "define user statistic (4)", NAN);
    843     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_5",  0,
    844             "define user statistic (5)", NAN);
    845     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-path_base",  0,
    846             "define base output location", NULL);
    847     psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code",  0,
    848             "set fault code", 0);
    849 
    850     // -residimfile
    851     psMetadata *residimfileArgs = psMetadataAlloc();
    852     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-det_id",  0,
    853             "search for detrend ID", NULL);
    854     psMetadataAddS32(residimfileArgs, PS_LIST_TAIL, "-iteration",  0,
    855             "search for iteration number", 0);
    856     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    857             "define detrend ID", NULL);
    858     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    859             "search for class ID", NULL);
    860     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-recip",  0,
    861             "search for recipe", NULL);
    862     psMetadataAddU64(residimfileArgs, PS_LIST_TAIL, "-limit",  0,
    863             "limit result set to N items", 0);
    864     psMetadataAddBool(residimfileArgs, PS_LIST_TAIL, "-faulted",  0,
    865             "only return imfiles with a fault status set", false);
    866     psMetadataAddBool(residimfileArgs, PS_LIST_TAIL, "-simple",  0,
    867             "use the simple output format", false);
    868     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-select_state",  0,
    869             "search for state", NULL);
    870 
    871     // -revertresidimfile
    872     psMetadata *revertresidimfileArgs =  psMetadataAlloc();
    873     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-det_id", 0,
    874             "search by detrend ID (required)", NULL);
    875     psMetadataAddS32(revertresidimfileArgs, PS_LIST_TAIL, "-iteration", 0,
    876             "search by iteration number", 0);
    877     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
    878             "search by detrend ID", NULL);
    879     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,
    880             "search for class ID", NULL);
    881     psMetadataAddS16(revertresidimfileArgs, PS_LIST_TAIL, "-code",  0,
    882             "search by fault code", 0);
     514    psMetadataAddU64(toresidexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     515    psMetadataAddBool(toresidexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    883516
    884517    // -addresidexp
    885518    psMetadata *addresidexpArgs = psMetadataAlloc();
    886     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-det_id",  0,
    887             "define detrend ID (required)", NULL);
    888     psMetadataAddS32(addresidexpArgs, PS_LIST_TAIL, "-iteration",  0,
    889             "define iteration number", 0);
    890     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    891             "define detrend ID (required)", NULL);
    892     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-recip",  0,
    893             "define recipe", NULL);
    894     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg",  0,
    895             "define exposure background", NAN);
    896     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    897             "define exposure background stdev", NAN);
    898     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    899             "define exposure background mean stdev", NAN);
    900     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_skewness",  0,
    901             "define exposure background skewness", NAN);
    902     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_kurtosis",  0,
    903             "define exposure background kurtosis", NAN);
    904     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bin_stdev",  0,
    905             "define exposure background binned stdev", NAN);
    906     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_0",  0,
    907             "define fringe slope (0th term)", NAN);
    908     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_1",  0,
    909             "define fringe slope (1st term)", NAN);
    910     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_2",  0,
    911             "define fringe slope (2nd term)", NAN);
    912     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_0",  0,
    913             "define fringe residual (0th term)", NAN);
    914     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_1",  0,
    915             "define fringe residual (1st term)", NAN);
    916     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_2",  0,
    917             "define fringe residual (2nd term)", NAN);
    918     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_1",  0,
    919             "define user statistic (1)", NAN);
    920     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_2",  0,
    921             "define user statistic (2)", NAN);
    922     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_3",  0,
    923             "define user statistic (3)", NAN);
    924     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_4",  0,
    925             "define user statistic (4)", NAN);
    926     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_5",  0,
    927             "define user statistic (5)", NAN);
    928     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-path_base",  0,
    929             "define base output location", NULL);
    930     psMetadataAddS16(addresidexpArgs, PS_LIST_TAIL, "-code",  0,
    931             "set fault code", 0);
    932     psMetadataAddBool(addresidexpArgs, PS_LIST_TAIL, "-reject",  0,
    933             "exposure is not to be stacked in the next iteration", false);
     519    psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     520    psMetadataAddS32(addresidexpArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
     521    psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", NULL);
     522    psMetadataAddS16(addresidexpArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     523    psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
     524    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     525    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     526    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     527    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_skewness",  0,            "define exposure background skewness", NAN);
     528    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_kurtosis",  0,            "define exposure background kurtosis", NAN);
     529    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bin_stdev",  0,            "define exposure background binned stdev", NAN);
     530    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_0",  0,            "define fringe slope (0th term)", NAN);
     531    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_1",  0,            "define fringe slope (1st term)", NAN);
     532    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_2",  0,            "define fringe slope (2nd term)", NAN);
     533    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_0",  0,            "define fringe residual (0th term)", NAN);
     534    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_1",  0,            "define fringe residual (1st term)", NAN);
     535    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_resid_2",  0,            "define fringe residual (2nd term)", NAN);
     536    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     537    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     538    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     539    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     540    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     541    psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
     542    psMetadataAddBool(addresidexpArgs, PS_LIST_TAIL, "-reject",  0,            "exposure is not to be stacked in the next iteration", false);
    934543
    935544    // -residexp
    936545    psMetadata *residexpArgs = psMetadataAlloc();
    937     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-det_id",  0,
    938             "search for detrend ID", NULL);
    939     psMetadataAddS32(residexpArgs, PS_LIST_TAIL, "-iteration",  0,
    940             "search for iteration number", 0);
    941     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    942             "search for exp ID", NULL);
    943     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-recip",  0,
    944             "search for recipe", NULL);
    945     psMetadataAddU64(residexpArgs, PS_LIST_TAIL, "-limit",  0,
    946             "limit result set to N items", 0);
    947     psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-faulted",  0,
    948             "only return imfiles with a fault status set", false);
    949     psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-reject",  0,
    950             "search for acceptable residuals", false);
    951     psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-simple",  0,
    952             "use the simple output format", false);
     546    psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     547    psMetadataAddS32(residexpArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
     548    psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", NULL);
     549    psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     550    psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-reject",  0,            "search for acceptable residuals", false);
     551    psMetadataAddU64(residexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     552    psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     553    psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    953554
    954555    // -revertresidexp
    955556    psMetadata *revertresidexpArgs = psMetadataAlloc();
    956     psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-det_id", 0,
    957             "search by detrend ID (required)", NULL);
    958     psMetadataAddS32(revertresidexpArgs, PS_LIST_TAIL, "-iteration", 0,
    959             "search by iteration number", 0);
    960     psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    961             "search by detrend ID", NULL);
    962     psMetadataAddS16(revertresidexpArgs, PS_LIST_TAIL, "-code",  0,
    963             "search by fault code", 0);
     557    psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     558    psMetadataAddS32(revertresidexpArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     559    psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by detrend ID", NULL);
     560    psMetadataAddS16(revertresidexpArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     561
     562    // -updateresidexp
     563    psMetadata *updateresidexpArgs = psMetadataAlloc();
     564    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID", NULL);
     565    psMetadataAddS32(updateresidexpArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
     566    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define exp ID", NULL);
     567    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
     568    psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     569    psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     570    psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     571    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
     572    psMetadataAddBool(updateresidexpArgs, PS_LIST_TAIL, "-reject",  0,            "exposure is not to be stacked in the next iteration", false);
    964573
    965574    // -todetrunsummary
    966575    psMetadata *todetrunsummaryArgs = psMetadataAlloc();
    967     psMetadataAddBool(todetrunsummaryArgs, PS_LIST_TAIL, "-simple",  0,
    968             "use the simple output format", false);
    969     psMetadataAddU64(todetrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,
    970             "limit result set to N items", 0);
    971 
    972     // -updateresidexp
    973     psMetadata *updateresidexpArgs = psMetadataAlloc();
    974     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-det_id",  0,
    975             "define detrend ID", NULL);
    976     psMetadataAddS32(updateresidexpArgs, PS_LIST_TAIL, "-iteration",  0,
    977             "define iteration number", 0);
    978     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,
    979             "define exp ID", NULL);
    980     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-recip",  0,
    981             "define recipe", NULL);
    982     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg",  0,
    983             "define exposure background", NAN);
    984     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    985             "define exposure background stdev", NAN);
    986     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    987             "define exposure background mean stdev", NAN);
    988     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-path_base",  0,
    989             "define base output location", NULL);
    990     psMetadataAddBool(updateresidexpArgs, PS_LIST_TAIL, "-reject",  0,
    991             "exposure is not to be stacked in the next iteration", false);
     576    psMetadataAddBool(todetrunsummaryArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     577    psMetadataAddU64(todetrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    992578
    993579    // -adddetrunsummary
    994580    psMetadata *adddetrunsummaryArgs = psMetadataAlloc();
    995     psMetadataAddStr(adddetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,
    996             "define detrend ID (required)", NULL);
    997     psMetadataAddS32(adddetrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,
    998             "define iteration number", 0);
    999     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg",  0,
    1000             "define exposure background", NAN);
    1001     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    1002             "define exposure background stdev", NAN);
    1003     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    1004             "define exposure background mean stdev", NAN);
    1005     psMetadataAddS16(adddetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,
    1006             "set fault code", 0);
    1007     psMetadataAddBool(adddetrunsummaryArgs, PS_LIST_TAIL, "-accept",  0,
    1008             "declare that this detrun iteration is accepted as a master", false);
    1009     psMetadataAddBool(adddetrunsummaryArgs, PS_LIST_TAIL, "-again",  0,
    1010             "start a new iteration of this detrend run", false);
     581    psMetadataAddStr(adddetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     582    psMetadataAddS32(adddetrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
     583    psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     584    psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     585    psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     586    psMetadataAddS16(adddetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     587    psMetadataAddBool(adddetrunsummaryArgs, PS_LIST_TAIL, "-accept",  0,            "declare that this detrun iteration is accepted as a master", false);
     588    psMetadataAddBool(adddetrunsummaryArgs, PS_LIST_TAIL, "-again",  0,            "start a new iteration of this detrend run", false);
    1011589
    1012590    // -detrunsummary
    1013591    psMetadata *detrunsummaryArgs = psMetadataAlloc();
    1014     psMetadataAddStr(detrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,
    1015             "search for detrend ID", NULL);
    1016     psMetadataAddU64(detrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,
    1017                      "limit result set to N items", 0);
    1018     psMetadataAddS32(detrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,
    1019             "search for iteration number", 0);
    1020     psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-faulted",  0,
    1021             "only return imfiles with a fault status set", false);
    1022     psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-reject",  0,
    1023             "search for acceptable residuals", false);
    1024     psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-simple",  0,
    1025             "use the simple output format", false);
     592    psMetadataAddStr(detrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     593    psMetadataAddS32(detrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
     594    psMetadataAddU64(detrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,                     "limit result set to N items", 0);
     595    psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     596    psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     597    psMetadataAddBool(detrunsummaryArgs, PS_LIST_TAIL, "-reject",  0,            "search for acceptable residuals", false);
    1026598
    1027599    // -revertdetrunsummary
    1028600    psMetadata *revertdetrunsummaryArgs = psMetadataAlloc();
    1029     psMetadataAddStr(revertdetrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,
    1030             "search by detrend ID (required)", NULL);
    1031     psMetadataAddS32(revertdetrunsummaryArgs, PS_LIST_TAIL, "-iteration", 0,
    1032             "search by iteration number", 0);
    1033     psMetadataAddS16(revertdetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,
    1034             "search by fault code", 0);
     601    psMetadataAddStr(revertdetrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     602    psMetadataAddS32(revertdetrunsummaryArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
     603    psMetadataAddS16(revertdetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    1035604
    1036605    // -updatedetrunsummary
    1037606    psMetadata *updatedetrunsummaryArgs = psMetadataAlloc();
    1038     psMetadataAddStr(updatedetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,
    1039             "search for detrend master for detrend ID (required)", NULL);
    1040     psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-accept",  0,
    1041             "declare that this detrun iteration is accepted as a master", false);
    1042     psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-reject",  0,
    1043             "reject this detrun iteration as a master", false);
     607    psMetadataAddStr(updatedetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", NULL);
     608    psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-accept",  0,            "declare that this detrun iteration is accepted as a master", false);
     609    psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-reject",  0,            "reject this detrun iteration as a master", false);
    1044610
    1045611    // -updatedetrun
    1046612    psMetadata *updatedetrunArgs = psMetadataAlloc();
    1047     psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-det_id",  0,
    1048             "search for detrend master for detrend ID (required)", NULL);
    1049     psMetadataAddBool(updatedetrunArgs, PS_LIST_TAIL, "-again",  0,
    1050             "start a new iteration of this detrend run", false);
    1051     psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-state",  0,
    1052             "set the state of this detrend run", false);
     613    psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", NULL);
     614    psMetadataAddBool(updatedetrunArgs, PS_LIST_TAIL, "-again",  0,            "start a new iteration of this detrend run", false);
     615    psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-state",  0,            "set the state of this detrend run", false);
    1053616
    1054617    // -rerun
    1055618    psMetadata *rerunArgs = psMetadataAlloc();
    1056     psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-det_id",  0,
    1057             "search for detrend master for detrend ID (required)", NULL);
    1058     psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-exp_id",  PS_META_DUPLICATE_OK,
    1059             "include this exposure (multiple OK, required)", NULL);
     619    psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", NULL);
     620    psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-exp_id",  PS_META_DUPLICATE_OK,            "include this exposure (multiple OK, required)", NULL);
    1060621
    1061622    // -register_detrend
    1062623    psMetadata *register_detrendArgs = psMetadataAlloc();
    1063     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-det_type",  0,
    1064             "define the type of detrend run (required)", NULL);
    1065     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-mode",  0,
    1066             "define the mode of this detrend run", "master");
    1067     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-filelevel",  0,
    1068             "define filelevel (required)", NULL);
    1069     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-workdir",  0,
    1070             "define workdir", NULL);
    1071     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-inst",  0,
    1072             "define camera", NULL);
    1073     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-telescope",  0,
    1074             "define telescope", NULL);
    1075     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-exp_type",  0,
    1076             "define exposure type", NULL);
    1077     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-filter",  0,
    1078             "define filter ", NULL);
    1079     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-airmass_min",  0,
    1080             "define min airmass", NAN);
    1081     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-airmass_max",  0,
    1082             "define max airmass", NAN);
    1083     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-exp_time_min",  0,
    1084             "define min exposure time", NAN);
    1085     psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-exp_time_max",  0,
    1086             "define max exposure time", NAN);
    1087     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,
    1088             "define min ccd tempature", NAN);
    1089     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,
    1090             "define max ccd tempature", NAN);
    1091     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-posang_min",  0,
    1092             "define min rotator position angle", NAN);
    1093     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-posang_max",  0,
    1094             "define max rotator position angle", NAN);
    1095     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-solang_min",  0,
    1096             "define min solar angle", NAN);
    1097     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-solang_max",  0,
    1098             "define max solar angle", NAN);
    1099     psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-registered",  0,
    1100             "time detrend run was registered", now);
    1101     psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-time_begin",  0,
    1102             "detrend applies to exposures taken during this period", NULL);
    1103     psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-time_end",  0,
    1104             "detrend applies to exposures taken during this period", NULL);
    1105     psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_begin",  0,
    1106             "start of detrend run applicable period", NULL);
    1107     psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_end",  0,
    1108             "end of detrend run applicable period", NULL);
    1109     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-parent",  0,
    1110             "define parent det_id", NULL);
    1111     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-label",  0,
    1112             "define detrun label", NULL);
    1113     psMetadataAddBool(register_detrendArgs, PS_LIST_TAIL, "-simple",  0,
    1114             "use the simple output format", false);
     624    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-det_type",  0,            "define the type of detrend run (required)", NULL);
     625    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-filelevel",  0,            "define filelevel (required)", NULL);
     626    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-workdir",  0,            "define workdir", NULL);
     627    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-inst",  0,            "define camera", NULL);
     628    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-telescope",  0,            "define telescope", NULL);
     629    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-exp_type",  0,            "define exposure type", NULL);
     630    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-filter",  0,            "define filter ", NULL);
     631    psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-airmass_min",  0,            "define min airmass", NAN);
     632    psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-airmass_max",  0,            "define max airmass", NAN);
     633    psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-exp_time_min",  0,            "define min exposure time", NAN);
     634    psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-exp_time_max",  0,            "define max exposure time", NAN);
     635    psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-ccd_temp_min",  0,            "define min ccd tempature", NAN);
     636    psMetadataAddF32(register_detrendArgs, PS_LIST_TAIL, "-ccd_temp_max",  0,            "define max ccd tempature", NAN);
     637    psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-posang_min",  0,            "define min rotator position angle", NAN);
     638    psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-posang_max",  0,            "define max rotator position angle", NAN);
     639    psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-solang_min",  0,            "define min solar angle", NAN);
     640    psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-solang_max",  0,            "define max solar angle", NAN);
     641    psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-registered",  0,            "time detrend run was registered", now);
     642    psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-time_begin",  0,            "detrend applies to exposures taken during this period", NULL);
     643    psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-time_end",  0,            "detrend applies to exposures taken during this period", NULL);
     644    psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_begin",  0,            "start of detrend run applicable period", NULL);
     645    psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_end",  0,            "end of detrend run applicable period", NULL);
     646    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-parent",  0,            "define parent det_id", NULL);
     647    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-label",  0,            "define detrun label", NULL);
     648    psMetadataAddBool(register_detrendArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    1115649
    1116650    // -register_detrend_imfile
    1117651    psMetadata *register_detrend_imfileArgs = psMetadataAlloc();
    1118     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-det_id",  0,
    1119             "define detrend ID (required)", NULL);
    1120     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-class_id",  0,
    1121             "search for class ID (required)", NULL);
    1122     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-uri",  0,
    1123             "define resid file URI (required)", NULL);
    1124     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg",  0,
    1125             "define exposure background", NAN);
    1126     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
    1127             "define exposure background stdev", NAN);
    1128     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
    1129             "define exposure background mean stdev", NAN);
    1130     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_1",  0,
    1131             "define user statistic (1)", NAN);
    1132     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_2",  0,
    1133             "define user statistic (2)", NAN);
    1134     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_3",  0,
    1135             "define user statistic (3)", NAN);
    1136     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_4",  0,
    1137             "define user statistic (4)", NAN);
    1138     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_5",  0,
    1139             "define user statistic (5)", NAN);
    1140     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-path_base",  0,
    1141             "define base output location", NULL);
     652    psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     653    psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID (required)", NULL);
     654    psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-uri",  0,            "define resid file URI (required)", NULL);
     655    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     656    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     657    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,            "define exposure background mean stdev", NAN);
     658    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_1",  0,            "define user statistic (1)", NAN);
     659    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_2",  0,            "define user statistic (2)", NAN);
     660    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_3",  0,            "define user statistic (3)", NAN);
     661    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_4",  0,            "define user statistic (4)", NAN);
     662    psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-user_5",  0,            "define user statistic (5)", NAN);
     663    psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
    1142664
    1143665    psFree(now);
     
    1175697    PXOPT_ADD_MODE("-revertnormalizedstat",  "", DETTOOL_MODE_REVERTNORMALIZEDSTAT,   revertnormalizedstatArgs);
    1176698
    1177     PXOPT_ADD_MODE("-tonormalizedstat",      "", DETTOOL_MODE_TONORMALIZEDSTAT,    tonormstatArgs);
     699    PXOPT_ADD_MODE("-tonormalizedstat",      "", DETTOOL_MODE_TONORMALIZEDSTAT,    tonormalizedstatArgs);
    1178700    PXOPT_ADD_MODE("-addnormalizedimfile", "", DETTOOL_MODE_ADDNORMALIZEDIMFILE,addnormalizedimfileArgs);
    1179701    PXOPT_ADD_MODE("-normalizedimfile","", DETTOOL_MODE_NORMALIZEDIMFILE, normalizedimfileArgs);
     
    1213735    psFree(modes);
    1214736
    1215     // setup search criterion
    1216 #define addWhereStr(name) \
    1217 { \
    1218     psString str = NULL; \
    1219     bool status = false; \
    1220     if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
    1221         if (!psMetadataAddStr(config->where, PS_LIST_TAIL, #name, 0, "==", str)) {\
    1222             psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
    1223             psFree(config); \
    1224             return NULL; \
    1225         } \
    1226     } \
    1227 }
    1228 
    1229     // generate SQL where clause
    1230     config->where = psMetadataAlloc();
    1231 
    1232     addWhereStr(det_id);
    1233     {
    1234         // XXX this is broke because you can't specify -iteration 0
    1235         psMetadataItem *item = psMetadataLookup(config->args, "-iteration");
    1236         if (item && psStrcasestr(item->comment, "found")) {
    1237             if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "iteration", 0, "==", item->data.S32)) {
    1238                 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
    1239                 psFree(config);
    1240                 return NULL;
    1241             }
    1242         }
    1243     }
    1244     addWhereStr(det_type);
    1245     addWhereStr(exp_id);
    1246     addWhereStr(class_id);
    1247     // convert '-inst' to 'camera'
    1248     {
    1249         psString str = NULL;
    1250         bool status = false;
    1251         if ((str = psMetadataLookupStr(&status, config->args, "-inst"))) {
    1252             if (!psMetadataAddStr(config->where, PS_LIST_TAIL, "camera", 0, "==", str)) {
    1253                 psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    1254                 psFree(config);
    1255                 return NULL;
    1256             }
    1257         }
    1258     }
    1259     addWhereStr(telescope);
    1260     addWhereStr(exp_type);
    1261     {
    1262         int n = 0;
    1263         bool status = false;
    1264         if ((n = psMetadataLookupS32(&status, config->args, "-imfiles"))) {
    1265             if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "imfiles", 0, "==", n)) {
    1266                 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    1267                 psFree(config);
    1268                 return NULL;
    1269             }
    1270         }
    1271     }
    1272     addWhereStr(filter);
    1273     addWhereStr(recipe);
    1274     {
    1275         int n = 0;
    1276         bool status = false;
    1277         if ((n = psMetadataLookupS32(&status, config->args, "-guide_version"))) {
    1278             if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "guide_version", 0, "==", n)) {
    1279                 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    1280                 psFree(config);
    1281                 return NULL;
    1282             }
    1283         }
    1284     }
    1285     {
    1286         bool boolean = false;
    1287         bool status = false;
    1288 
    1289         // map reject -> !accept
    1290         if ((boolean = psMetadataLookupBool(&status, config->args, "-reject"))) {
    1291             if (!psMetadataAddBool(config->where, PS_LIST_TAIL, "accept", 0, "==", !boolean)) {
    1292                 psError(PS_ERR_UNKNOWN, false, "failed to add item reject");
    1293                 psFree(config);
    1294                 return NULL;
    1295             }
    1296         }
    1297     }
    1298 
    1299     // convert '-code' to 'fault'
    1300     {
    1301         psS16 fault = 0;
    1302         bool status = false;
    1303         if ((fault = psMetadataLookupS16(&status, config->args, "-code"))) {
    1304             if (!psMetadataAddS16(config->where, PS_LIST_TAIL, "fault", 0, "==", fault)) {
    1305                 psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1306                 psFree(config);
    1307                 return NULL;
    1308             }
    1309         }
    1310     }
    1311 
    1312     if (config->where->list->n < 1) {
    1313         psFree(config->where);
    1314         config->where = NULL;
    1315     }
    1316 
    1317737    // define Database handle, if used
    1318738    // do this last so we don't setup a connection before CLI options are
Note: See TracChangeset for help on using the changeset viewer.