diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /noao/digiphot/ptools/pcalc.cl | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'noao/digiphot/ptools/pcalc.cl')
-rw-r--r-- | noao/digiphot/ptools/pcalc.cl | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/noao/digiphot/ptools/pcalc.cl b/noao/digiphot/ptools/pcalc.cl new file mode 100644 index 00000000..494e7ee7 --- /dev/null +++ b/noao/digiphot/ptools/pcalc.cl @@ -0,0 +1,50 @@ +# PCALC - Recompute a column of an APPHOT/DAOPHOT database using an +# arithmetic expression. + +procedure pcalc (infile, field, value) + +string infile {prompt="Input apphot/daophot databases(s)"} +string field {prompt="Field to be edited"} +string value {prompt="New value or expression for field"} + +struct *inlist + +begin + # Local variable declarations. + file tmpin + string in, tfield, tvalue, inname + + # Cache the istable parameters. + cache ("istable") + + # Get the positional parameters. + in = infile + tfield = field + tvalue = value + + # Expand the file list names. + tmpin = mktemp ("tmp$") + files (in, sort=no, > tmpin) + + # Loop over each file in the input and output lists selecting records. + inlist = tmpin + while (fscan (inlist, inname) != EOF) { + istable (inname) + if (istable.table) { + if (defpar ("tcalc.verbose") || defpar ("tcalc.harmless")) { + tcalc (inname, tfield, tvalue, datatype="real", + colunits="", colfmt="", verbose=no, harmless=0.1) + } else { + tcalc (inname, tfield, tvalue, datatype="real", + colunits="", colfmt="") + } + } else if (istable.text) { + txcalc (inname, tfield, tvalue) + } else { + print ("Cannot run PCALC on file: " // inname) + } + } + inlist = "" + + delete (tmpin, ver-, >& "dev$null") +end |