aboutsummaryrefslogtreecommitdiff
path: root/noao/digiphot/photcal/mknobsfile.cl
diff options
context:
space:
mode:
Diffstat (limited to 'noao/digiphot/photcal/mknobsfile.cl')
-rw-r--r--noao/digiphot/photcal/mknobsfile.cl108
1 files changed, 108 insertions, 0 deletions
diff --git a/noao/digiphot/photcal/mknobsfile.cl b/noao/digiphot/photcal/mknobsfile.cl
new file mode 100644
index 00000000..5f827ded
--- /dev/null
+++ b/noao/digiphot/photcal/mknobsfile.cl
@@ -0,0 +1,108 @@
+# MKNOBSFILE -- Create a catalog of observations suitable for input to
+# FITPARAMS or the evaluation routines EVALFIT and INVERTFIT from a list of
+# APPHOT/DAOPHOT text or ST table databases. This script is optimized for
+# creating an observations file from a large number of observations of
+# single stars. MKNOBSFILE is generally the preprocessor of choice for standard
+# star observations.
+
+procedure mknobsfile (photfiles, idfilters, imsets, observations)
+
+file photfiles {prompt="The input list of APPHOT/DAOPHOT databases"}
+string idfilters {prompt="The list of filter ids"}
+file imsets {prompt="The input image set file"}
+file observations {prompt="The output observations file"}
+bool wrap {yes, prompt="Format output file for easy reading ?"}
+file obsparams {"", prompt="The input observing parameters file"}
+string obscolumns {"2 3 4 5", prompt="The format of obsparams"}
+real minmagerr {0.001, min=0.0, prompt="The minimum error magnitude"}
+file shifts {"", prompt="The input x and y coordinate shifts file"}
+file apercors {"", prompt="The input aperture corrections file"}
+int aperture {1,
+ prompt="The aperture number of the extracted magnitude"}
+real tolerance {5.0,
+ prompt="The tolerance in pixels for position matching"}
+bool allfilters {no, prompt="Output only objects matched in all filters"}
+bool verify {no, prompt="Verify interactive user input ?"}
+bool verbose {yes, prompt="Print status, warning and error messages ?"}
+
+begin
+ # Declare local variables.
+ string tfiles, timsets, tidfilters, tobsfile, tformat, tobscolumns
+ string tdatafile, tinfields
+
+ # Get the parameters and test for the existence of various files.
+
+ tfiles = photfiles
+ tidfilters = idfilters
+
+ timsets = imsets
+ if (! access (timsets))
+ error (0, "The image set file " // timsets // " does not exist")
+
+ tobsfile = observations
+ if (access (tobsfile))
+ error (0,
+ "The output catalog file " // tobsfile // " already exists")
+ tformat = "f" // tobsfile // ".dat"
+ if (access (tformat))
+ delete (tformat, go_ahead+, verify-, default_action+,
+ allversions+, subfiles+, > "dev$null")
+
+ if (obsparams == "") {
+ tobscolumns = ""
+ } else {
+ tobscolumns = obscolumns
+ if (! access (obsparams))
+ error (0,
+ "The obsparams file " // obsparams // " does not exist")
+ }
+
+ if (shifts != "") {
+ if (! access (shifts))
+ error (0,
+ "The shifts file " // shifts // " does not exist")
+ }
+
+ if (apercors != "") {
+ if (! access (apercors))
+ error (0,
+ "The apercors file " // apercors // " does not exist")
+ }
+
+ # Create temporary file names to store the intermediate image list.
+ tdatafile = mktemp ("tmp$")
+
+ # Change columns named "MAG" and "MERR" to "MAG[1]" and "MERR[1]"
+ # in any ST tables files. Non-ST format files are skipped.
+
+ tbcrename (tfiles, "MAG,MERR", "MAG\[1],MERR\[1]")
+
+ # Add the image, ifilter, itime and xairmass columns to any
+ # files in ST tables format. Non-ST format files are skipped.
+
+ tbkeycol (tfiles, "IMAGE,IFILTER,ITIME,XAIRMASS,OTIME")
+
+ # Construct the string describing the fields to be extracted
+ # making sure to specify the correct aperture number. Extract
+ # the data and store the results in the temporary file tdatafile.
+
+ tinfields = ",IMAGE,XCENTER,YCENTER," //
+ "MAG[" // aperture // "]" // ",MERR[" // aperture // "]," //
+ "MAG\[" // aperture // "]" // ",MERR\[" // aperture // "]," //
+ "IFILTER,XAIRMASS,OTIME,ITIME"
+ pdump (tfiles, tinfields, "yes", headers=no, parameters=yes,
+ > tdatafile)
+
+ # Create the observations file.
+
+ obsfile (tdatafile, "1,2,3,6,9,7,8,4,5,0", tidfilters, timsets,
+ tobsfile, wrap=wrap, obsparams=obsparams, minmagerr=minmagerr,
+ normtime=no, tolerance=tolerance, allfilters=allfilters,
+ obscolumns="1," // tobscolumns, shifts=shifts, apercors=apercors,
+ verify=verify, verbose=verbose)
+
+ # Delete the temporary file.
+
+ delete (tdatafile, go_ahead+, verify-, default_action+,
+ allversions+, subfiles+, > "dev$null")
+end