aboutsummaryrefslogtreecommitdiff
path: root/noao/digiphot/daophot/lib
diff options
context:
space:
mode:
Diffstat (limited to 'noao/digiphot/daophot/lib')
-rw-r--r--noao/digiphot/daophot/lib/allstardef.h116
-rw-r--r--noao/digiphot/daophot/lib/apseldef.h57
-rw-r--r--noao/digiphot/daophot/lib/daophotdef.h257
-rw-r--r--noao/digiphot/daophot/lib/nstardef.h63
-rw-r--r--noao/digiphot/daophot/lib/peakdef.h55
-rw-r--r--noao/digiphot/daophot/lib/psfdef.h111
-rw-r--r--noao/digiphot/daophot/lib/warning.dat14
7 files changed, 673 insertions, 0 deletions
diff --git a/noao/digiphot/daophot/lib/allstardef.h b/noao/digiphot/daophot/lib/allstardef.h
new file mode 100644
index 00000000..3f71aa28
--- /dev/null
+++ b/noao/digiphot/daophot/lib/allstardef.h
@@ -0,0 +1,116 @@
+# ALLSTAR Structure
+
+define LEN_ALLSTARSTRUCT (80)
+
+define DP_ISCACHE Memi[$1] # is data cached (default no)
+define DP_ALLCACHE Memi[$1+2] # is all the data cached ? (yes)
+define DP_CACHE Memi[$1+3+$2-1] # which data is cached ?
+define DP_SZCACHE Memi[$1+6] # current working set size
+define DP_SZOLDCACHE Memi[$1+7] # old working set size
+define DP_DATA Memi[$1+8] # pointer to data
+define DP_SUBT Memi[$1+9] # pointer to subt
+define DP_WEIGHTS Memi[$1+10] # pointer to weights
+
+define DP_SBUF Memi[$1+13] # local subt buffer
+define DP_SNX Memi[$1+14] # subt x dimension
+define DP_SNY Memi[$1+15] # subt y dimension
+define DP_SLX Memi[$1+16] # subt lower left x coord
+define DP_SMX Memi[$1+17] # subt lower right x coord
+define DP_SLY Memi[$1+18] # subt lower left y coord
+define DP_SMY Memi[$1+19] # subt lower right y coord
+define DP_SXOFF Memi[$1+20] # subt lower left x offset
+define DP_SYOFF Memi[$1+21] # subt lower left y offset
+
+define DP_WBUF Memi[$1+23] # local weight buffer
+define DP_WNX Memi[$1+24] # weight x dimension
+define DP_WNY Memi[$1+25] # weight y dimension
+define DP_WLX Memi[$1+26] # weight lower left x coord
+define DP_WMX Memi[$1+27] # weight lower right x coord
+define DP_WLY Memi[$1+28] # weight lower left y coord
+define DP_WMY Memi[$1+29] # weight lower right y coord
+define DP_WXOFF Memi[$1+30] # weight lower left x offset
+define DP_WYOFF Memi[$1+31] # weight lower left y offset
+
+define DP_DBUF Memi[$1+33] # local weight buffer
+define DP_DNX Memi[$1+34] # weight x dimension
+define DP_DNY Memi[$1+35] # weight y dimension
+define DP_DLX Memi[$1+36] # weight lower left x coord
+define DP_DMX Memi[$1+37] # weight lower right x coord
+define DP_DLY Memi[$1+38] # weight lower left y coord
+define DP_DMY Memi[$1+39] # weight lower right y coord
+define DP_DXOFF Memi[$1+40] # weight lower left x offset
+define DP_DYOFF Memi[$1+41] # weight lower left y offset
+
+define DP_ANUMER Memi[$1+55] # pointer to the anumer1 directory
+define DP_ADENOM Memi[$1+57] # pointer to the adenom1 directory
+define DP_ARPIXSQ Memi[$1+59] # pointer to the rpixsq directory
+define DP_ASUMWT Memi[$1+60] # pointer to the sumwt directory
+define DP_ASKIP Memi[$1+61] # pointer to the skip directory
+define DP_ALAST Memi[$1+62] # pointer to the last directory
+define DP_AXOLD Memi[$1+63] # pointer to the xold array
+define DP_AYOLD Memi[$1+64] # pointer to the yold array
+define DP_AXCLAMP Memi[$1+65] # pointer to the xclamp array
+define DP_AYCLAMP Memi[$1+66] # pointer to the yclamp array
+define DP_AX Memi[$1+67] # pointer to the x array
+define DP_AV Memi[$1+68] # pointer to the v array
+define DP_AC Memi[$1+69] # pointer to the c array
+define DP_ANPIX Memi[$1+70] # pointer to the npix array
+define DP_AIER Memi[$1+71] # pointer to the error array
+
+define A_SUBT 1
+define A_WEIGHT 2
+define A_DCOPY 3
+
+# Separation criterion
+
+define FRACTION_MINSEP 0.14
+define CLAMP_FRACTION 0.25
+
+# Limit on N/S ** 2 for two stars to merge.
+
+define WCRIT0 0.0
+define WCRIT5 1.0
+define WCRIT10 1.5
+define WCRIT15 2.0
+
+# Minimum and maximum sharpness limits.
+
+define MIN_SHARP -99.99
+define MAX_SHARP 99.99
+
+# Number of output files columns
+
+define ALL_NOUTCOLUMN 11
+
+# Define the fitting contstants and constraints
+
+define RADIUS_FRACTION 0.95 # % decrease in radius for regrouping
+define DENSE_RADIUS1 1.2 # 1st limiting radius for regrouping
+define DENSE_RADIUS2 0.8 # 2nd limiting radius for regrouping
+define MIN_ITER 4 # minimum number of iterations
+define MAX_RELERR 100.0 # maximum relative error
+define MAX_RSQ 0.999999 # maximum values of ratio of radii ** 2
+define MAX_RHOSQ 36.0 # limit on core radius ** 2 for sharp
+define CHI_NORM 1.2533141 # sqrt (PI / 2.0)
+define MIN_SUMWT 3.0 # min value for radial weight sum
+define MIN_NPIX 4 # min pixels per star for a fit
+define MIN_XYCLAMP 0.001 # min value of x-y clamp
+define MIN_XYCLAMP_FRACTION 0.5 # min change in value of x-y clamp
+define MAX_XYCLAMP_FRACTION 1.2 # max change in value of x-y clamp
+define MAX_DELTA_FAINTER 0.84 # max permitted brightness decrease
+define MAX_DELTA_BRIGHTER 5.25 # max permitted brightness increase
+define MAX_NEW_ERRMAG 0.10 # 1st convergence check on mag error
+define MAX_NEW_RELBRIGHT2 0.0005 # 2nd convergenge check on mag
+define MAX_PIXERR2 4.0e-6 # 2nd convergence check on x/y
+define MIN_REL_BRIGHT 1.0e-5 # min relative brightness
+
+# List of ALLSTAR error codes
+
+define ALLERR_OK 0
+define ALLERR_BIGGROUP 1
+define ALLERR_INDEFSKY 2
+define ALLERR_NOPIX 3
+define ALLERR_SINGULAR 4
+define ALLERR_FAINT 5
+define ALLERR_MERGE 6
+define ALLERR_OFFIMAGE 7
diff --git a/noao/digiphot/daophot/lib/apseldef.h b/noao/digiphot/daophot/lib/apseldef.h
new file mode 100644
index 00000000..ddf3c7d2
--- /dev/null
+++ b/noao/digiphot/daophot/lib/apseldef.h
@@ -0,0 +1,57 @@
+# the photometry structure definition
+
+
+# input photometry list parameters (# 101 - 200)
+
+define APNUM 101
+
+# parameters for reading photometry results
+
+define DP_PAPID 1 # star id number
+define DP_PAPXCEN 2 # x center
+define DP_PAPYCEN 3 # y center
+define DP_PAPSKY 4 # sky value
+define DP_PAPMAG1 5 # aperture 1 magnitude
+define DP_PAPMERR1 6 # aperture 1 magnitude error
+define DP_PAPGROUP 7 # group number
+define DP_PAPNITER 8 # number of iterations
+define DP_PAPCHI 9 # chi squared of fit
+define DP_PAPSHARP 10 # sharpness characteristic
+
+# some useful definitions
+
+define NAPRESULT 5
+define NAPGROUP 6
+define NAPPAR 10
+
+# define the column names for reading and writing photometry files
+
+define ID "ID"
+define GROUP "GROUP"
+define XCENTER "XCENTER"
+define YCENTER "YCENTER"
+define APMAG "MAG[1]"
+define MAG "MAG"
+define APMAGERR "MERR[1]"
+define MAGERR "MERR"
+define SKY "MSKY"
+define NITER "NITER"
+define CHI "CHI"
+define SHARP "SHARPNESS"
+define PIER "PIER"
+define PERROR "PERROR"
+
+define LEN_DPAPSTRUCT (15)
+
+define DP_APNUM Memi[$1] # number of stars in list
+define DP_APRESULT Memi[$1+1] # pointer to fields needed
+define DP_APID Memi[$1+2] # pointer to star ids
+define DP_APXCEN Memi[$1+3] # pointer to stellar x centers
+define DP_APYCEN Memi[$1+4] # pointer to stellar y centers
+define DP_APMAG Memi[$1+5] # pointer to magnitudes
+define DP_APERR Memi[$1+6] # pointer to magnitude errors
+define DP_APMSKY Memi[$1+7] # pointer to sky values
+define DP_APGROUP Memi[$1+8] # pointer to group numbers
+define DP_APNITER Memi[$1+9] # pointer to number of iterations
+define DP_APCHI Memi[$1+10] # pointer to output chi values
+define DP_APSHARP Memi[$1+11] # pointer to output sharp values
diff --git a/noao/digiphot/daophot/lib/daophotdef.h b/noao/digiphot/daophot/lib/daophotdef.h
new file mode 100644
index 00000000..043e7f1b
--- /dev/null
+++ b/noao/digiphot/daophot/lib/daophotdef.h
@@ -0,0 +1,257 @@
+# DAOPHOT header file
+
+# DAOPHOT PSF function types
+
+define FCTN_FTYPES "|gauss|lorentz|moffat15|moffat25|penny1|penny2|auto|"
+define FCTN_GAUSS 1
+define FCTN_LORENTZ 2
+define FCTN_MOFFAT15 3
+define FCTN_MOFFAT25 4
+define FCTN_PENNY1 5
+define FCTN_PENNY2 6
+define FCTN_AUTO 7
+
+define FCTN_NFTYPES 6
+
+# WCS types
+
+define WCS_LOGICAL 1
+define WCS_TV 2
+define WCS_PHYSICAL 3
+define WCS_WORLD 4
+
+define WCSINSTR "|logical|tv|physical|world|"
+define WCSOUTSTR "|logical|tv|physical|"
+define WCSPSFSTR "|logical|tv|physical|"
+
+# DAOPHOT parameters (# 1 - 100)
+
+# wcs parameters
+
+define MW 1 # mwcs pointer
+define WCSIN 2 # input wcs type
+define WCSOUT 3 # output wcs type
+define WCSPSF 4 # psf wcs type
+define CTIN 5 # input transform
+define CTOUT 6 # output transform
+define CTPSF 7 # psf transform
+
+# data dependent parameters
+
+define SFWHMPSF 8 # full-width at half-max of the psf (scale)
+define FWHMPSF 9 # full-width at half-max of the psf (pixels)
+define MAXGDATA 10 # maximum good data value (ADU)
+define MINGDATA 11 # minimum good data value (ADU)
+define PHOTADU 12 # gain (e- / ADU)
+define READNOISE 13 # readout noise (e-)
+define SCALE 14 # scale of the imge
+
+# keyword parameters
+
+define CCDGAIN 15 # gain image header keyword
+define CCDREAD 16 # readnoise image header keyword
+define EXPTIME 17 # exposure time image header keyword
+define FILTER 18 # filter image header keyword
+define OBSTIME 19 # observing time image header keyword
+define AIRMASS 20 # airmass image header keyword
+
+# observing parameters
+
+define XAIRMASS 21 # value of the airmass
+define IFILTER 22 # filter id
+define ITIME 23 # integration time
+define OTIME 24 # time of observation
+
+# psf fitting parameters
+
+define FUNCTION 25 # psf function analytic function
+define VARORDER 26 # order of psf variability (0, 1, or 2)
+define FEXPAND 27 # fraction pixel interpolation (yes or no)
+define SATURATED 28 # use saturated psf stars ?
+define NCLEAN 29 # the number of psf clean passes
+define FUNCLIST 30 # user function list
+define RPSFRAD 31 # requested psf radius (scale)
+define SPSFRAD 32 # psf radius (scale)
+define PSFRAD 33 # psf radius (pixels)
+define SMATCHRAD 34 # matching radius (scale)
+define MATCHRAD 35 # matching radius (pixels)
+
+# star fitting parameters
+
+define SFITRAD 36 # fitting radius (scale)
+define FITRAD 37 # fitting radius (pixels)
+define SANNULUS 38 # inner sky radius (scale)
+define ANNULUS 39 # inner sky radius (pixels)
+define SDANNULUS 40 # width of sky annulus (scale)
+define DANNULUS 41 # width of sky annulus (pixels)
+define SMERGERAD 42 # merging radius (scale)
+define MERGERAD 43 # merging radius (pixels)
+
+define CRITSNRATIO 44 # critical S/N overlap
+define MAXNSTAR 45 # maximum number of stars to fit
+define MAXGROUP 46 # maximum number of stars in group
+define MAXITER 47 # maximum number of iterations
+define RECENTER 48 # recenter ?
+define FITSKY 49 # refit the group sky ?
+define GROUPSKY 50 # use group or individual sky values
+define FLATERR 51 # the flat field error
+define PROFERR 52 # the profile or interpolation error
+define CLIPRANGE 53 # clipping range
+define CLIPEXP 54 # clipping exponent
+
+
+# file/image name and input/output parameters
+
+define TEXT 55 # text file
+define VERBOSE 56 # verbose mode
+define INIMAGE 57 # input image name
+define INPHOTFILE 58 # input photometry file
+define PSFIMAGE 59 # psf image name
+define COORDS 60 # input coordinate file
+define OUTPHOTFILE 61 # output photometry file
+define OUTIMAGE 62 # output image name
+define OUTREJFILE 63 # output rejected photometry file
+
+define MEMFUDGE 1.05
+
+# DAOPHOT structure definitions
+
+define LEN_DPSTRUCT (70 + 17 * SZ_FNAME + 17)
+
+# sub-structure pointers
+
+define DP_VERSION Memi[$1] # package version number
+define DP_ADDSTAR Memi[$1+1] # pointer to addstar structure
+define DP_ALLSTAR Memi[$1+2] # pointer to allstar structure (used)
+define DP_APSEL Memi[$1+3] # pointer to phot structure (used)
+define DP_GROUP Memi[$1+4] # pointer to group structure
+define DP_NSTAR Memi[$1+5] # pointer to nstar structure (used)
+define DP_PEAK Memi[$1+6] # pointer to the peak structure
+define DP_PSF Memi[$1+7] # pointer to psf structure (used)
+define DP_PSFFIT Memi[$1+8] # pointer to psffit structure (used)
+define DP_SUBSTAR Memi[$1+9] # pointer to substar structure
+
+# the wcs parameters
+
+define DP_WCSIN Memi[$1+10] # the input wcs
+define DP_WCSOUT Memi[$1+11] # the output wcs
+define DP_WCSPSF Memi[$1+12] # the psf wcs
+define DP_MW Memi[$1+13] # pointer to mwcs structure
+define DP_CTIN Memi[$1+14] # the input transformation pointer
+define DP_CTOUT Memi[$1+15] # the output transformation pointer
+define DP_CTPSF Memi[$1+16] # the psf transformation pointer
+
+# parameters
+
+define DP_VARORDER Memi[$1+17] # order of psf variability
+define DP_FEXPAND Memi[$1+18] # expand the analytic function ?
+define DP_SATURATED Memi[$1+19] # use saturated psf stars ?
+define DP_NCLEAN Memi[$1+20] # number of psf cleaning passes
+define DP_MAXNSTAR Memi[$1+21] # maximum number of stars
+define DP_MAXGROUP Memi[$1+22] # maximum group size
+define DP_MAXITER Memi[$1+23] # maximum number of iterations
+define DP_RECENTER Memi[$1+24] # recenter ?
+define DP_FITSKY Memi[$1+25] # fit the sky ?
+define DP_GROUPSKY Memi[$1+26] # use the group sky value ?
+define DP_CLIPEXP Memi[$1+27] # clip exponent
+define DP_TEXT Memi[$1+28] # text file or table input/output ?
+define DP_VERBOSE Memi[$1+29] # verbose mode ?
+
+define DP_SCALE Memr[P2R($1+30)] # image scale in units/pixel
+define DP_SFWHMPSF Memr[P2R($1+31)] # fwhm of the psf (scale)
+define DP_FWHMPSF Memr[P2R($1+32)] # fwhm of the psf (pixels)
+define DP_MAXGDATA Memr[P2R($1+33)] # maximum good data value (ADU)
+define DP_MINGDATA Memr[P2R($1+34)] # minimum good data value (ADU)
+define DP_PHOTADU Memr[P2R($1+35)] # gain in electrons/ADU
+define DP_READNOISE Memr[P2R($1+36)] # readout noise (electrons)
+define DP_XAIRMASS Memr[P2R($1+37)] # value of the airmass
+define DP_ITIME Memr[P2R($1+38)] # value of the exposure time
+define DP_SMATCHRAD Memr[P2R($1+39)] # matching radius (scale)
+define DP_MATCHRAD Memr[P2R($1+40)] # matching radius (pixels)
+define DP_RPSFRAD Memr[P2R($1+41)] # requested psf radius (scale)
+define DP_SPSFRAD Memr[P2R($1+42)] # actual psf radius (scale)
+define DP_PSFRAD Memr[P2R($1+43)] # actual psf radius (pixels)
+define DP_SFITRAD Memr[P2R($1+44)] # fitting radius (scale)
+define DP_FITRAD Memr[P2R($1+45)] # fitting radius (pixels)
+define DP_SANNULUS Memr[P2R($1+46)] # inner sky radius (scale)
+define DP_ANNULUS Memr[P2R($1+47)] # inner sky radius (pixels)
+define DP_SDANNULUS Memr[P2R($1+48)] # width of sky annulus (scale)
+define DP_DANNULUS Memr[P2R($1+49)] # width of sky annulus (pixels)
+define DP_CRITSNRATIO Memr[P2R($1+50)] # critical S/N overlap
+define DP_FLATERR Memr[P2R($1+51)] # percent flat field error
+define DP_PROFERR Memr[P2R($1+52)] # percent profile error
+define DP_CLIPRANGE Memr[P2R($1+53)] # clipping range
+define DP_SMERGERAD Memr[P2R($1+54)] # merging radius (scale)
+define DP_MERGERAD Memr[P2R($1+55)] # merging radius (pixels)
+
+# temporary variables, not yet used
+
+#define DP_FITRADSQ Memr[P2R($1+56)] # fit radius squared (pixels)
+#define DP_PSFRADSQ Memr[P2R($1+57)] # psf radius squared (pixels)
+#define DP_RNOISESQ Memr[P2R($1+58)] # read noise squared (ADU)
+#define DP_PERR Memr[P2R($1+59)] # percentage error
+#define DP_PKERR Memr[P2R($1+60)] # peak error
+#define DP_TMAXGDATA Memr[P2R($1+61)] # true data max
+#define DP_TMINGDATA Memr[P2R($1+62)] # true data min
+
+# file / image names
+
+define DP_INIMAGE Memc[P2C($1+64)] # input image name
+define DP_PSFIMAGE Memc[P2C($1+64+SZ_FNAME+1)] # psf image name
+define DP_INPHOTFILE Memc[P2C($1+64+2*SZ_FNAME+2)] # input photometry file
+define DP_COORDS Memc[P2C($1+64+3*SZ_FNAME+3)] # input coordinate file
+define DP_OUTIMAGE Memc[P2C($1+64+4*SZ_FNAME+4)] # output image name
+define DP_OUTPHOTFILE Memc[P2C($1+64+5*SZ_FNAME+5)] # output photometry file
+define DP_OUTREJFILE Memc[P2C($1+64+6*SZ_FNAME+6)] # output photometry file
+
+# keyword / parameter names
+
+define DP_IFILTER Memc[P2C($1+64+7*SZ_FNAME+7)] # filter id
+define DP_OTIME Memc[P2C($1+64+8*SZ_FNAME+8)] # time of observation
+define DP_CCDGAIN Memc[P2C($1+64+9*SZ_FNAME+9)] # gain keyword
+define DP_CCDREAD Memc[P2C($1+64+10*SZ_FNAME+10)] # readnoise keyword
+define DP_EXPTIME Memc[P2C($1+64+11*SZ_FNAME+11)] # exposure keyword
+define DP_FILTER Memc[P2C($1+64+12*SZ_FNAME+12)] # filter keyword
+define DP_OBSTIME Memc[P2C($1+64+13*SZ_FNAME+13)] # obstime keyword
+define DP_AIRMASS Memc[P2C($1+64+14*SZ_FNAME+14)] # airmass keyword
+define DP_FUNCTION Memc[P2C($1+64+15*SZ_FNAME+15)] # analytic psf function
+define DP_FUNCLIST Memc[P2C($1+64+16*SZ_FNAME+16)] # psf function list
+
+# PSF Fit Parameters
+
+define LEN_PSFFIT (20)
+
+define DP_PSFUNCTION Memi[$1] # PSF type
+define DP_PSFNPARS Memi[$1+1] # number of psf parameters
+define DP_PSFSIZE Memi[$1+2] # size of PSF lut
+define DP_PSFPARS Memi[$1+3] # pointer to the PSF parameters
+define DP_PSFLUT Memi[$1+4] # pointer to the PSF lookup table
+define DP_NVLTABLE Memi[$1+5] # number of variability luts
+define DP_NFEXTABLE Memi[$1+6] # number of PSF expansion luts
+define DP_PSFHEIGHT Memr[P2R($1+7)] # brightness of psf
+define DP_PSFMAG Memr[P2R($1+8)] # magnitude of the PSF
+define DP_PSFX Memr[P2R($1+9)] # x position of the PSF
+define DP_PSFY Memr[P2R($1+10)]# y position of the PSF
+
+define MAX_NFCTNPARS (6) # max number of pars in psf function
+define MAX_NEXPTERMS (11) # max number of expansion terms
+
+# default daophot parameter values
+
+define DEF_SCALE 1.0
+define DEF_FWHMPSF 2.5
+define DEF_PSFRAD 11.0
+define DEF_FITRAD 2.5
+define DEF_ANNULUS 10.0
+define DEF_DANNULUS 10.0
+define DEF_MAXNSTAR 5000
+define DEF_MAXGROUP 60
+define DEF_MAXITER 50
+define DEF_DEFNAME "default"
+define DEF_LENDEFNAME 7
+
+# some useful macros
+
+define DAO_GOODDATA ($2>DP_MINGDATA($1)&&$2<DP_MAXGDATA($1))
+define DAO_RELBRIGHT (10.0**(0.4*(DP_PSFMAG($1) - $2)))
+define DAO_MAGCHECK (0.4*(DP_PSFMAG($1) - $2))
diff --git a/noao/digiphot/daophot/lib/nstardef.h b/noao/digiphot/daophot/lib/nstardef.h
new file mode 100644
index 00000000..460f8031
--- /dev/null
+++ b/noao/digiphot/daophot/lib/nstardef.h
@@ -0,0 +1,63 @@
+# NSTAR Structure
+
+define LEN_NSTARSTRUCT (20)
+
+define DP_NGNUM Memi[$1] # current group number
+define DP_NNUM Memi[$1+1] # number of stars in current group
+define DP_NSTARCOLS Memi[$1+2] # pointer to NSTAR table columns
+define DP_NNPIX Memi[$1+3] # pointer to number of pixels
+define DP_NNUMER Memi[$1+4] # pointer to NUMER in curr group
+define DP_NDENOM Memi[$1+5] # pointer to DENOM stat in curr group
+define DP_NSKIP Memi[$1+6] # pointer to SKIP in curr group
+define DP_NXCLAMP Memi[$1+7] # pointer to CLAMP stat in curr group
+define DP_NXOLD Memi[$1+8] # pointer to XOLD stat in curr group
+define DP_NX Memi[$1+9] # pointer to X array in curr group
+define DP_NV Memi[$1+10] # pointer to V array in curr group
+define DP_NSUMWT Memi[$1+11] # pointer to SUMWT array in curr group
+define DP_NC Memi[$1+12] # pointer to C array in curr group
+define DP_NRPIXSQ Memi[$1+13] # pointer to RPIXSQ array in curr group
+define DP_NIER Memi[$1+14] # pointer to NSTAR error codes
+
+# Definitions controlling the input / output format
+
+define NST_NOUTCOL 12
+
+# NSTAR fitting constants
+
+define CUT_FACTOR 0.999998 # the pixel cutoff radius in fitrad ** 2
+define FRACTION_MINSEP 0.14 # min sep in fwhmpsf for merging
+define NITER_MAX 15 # iteration limit for difficult stars
+define NITER_MED 10 # iteration limit for moderate stars
+define NITER_MIN 5 # iteration limit for easy stars
+define WCRIT_MAX 0.5 # max N/S for difficult stars
+define WCRIT_MED 0.66667 # max N/S for moderate stars
+define WCRIT_MIN 1.0 # max N/S for easy stars
+define NCORE_SIGMASQ 36.0 # max number of hwidths for sharpness
+define MIN_NPIX 4 # min pixels per star for fit
+define CHI_NORM 1.2533141 # sqrt (PI / 2.0)
+define MIN_SUMWT 3.0 # min value for radial weight sum
+define MAX_DELTA_FAINTER 0.84 # max permitted brightness decrease
+define MAX_DELTA_BRIGHTER 5.25 # max permitted brightness increase
+define MAX_NEW_ERRMAG 0.1 # 1st convergence check on mag error
+define MAX_NEW_RELBRIGHT1 0.005 # 1st convergence check on magnitude
+define MAX_NEW_RELBRIGHT2 0.0005 # 2nd convergence check on magnitude
+define MAX_PIXERR1 4.0e-4 # 1st convergence check on x/y positions
+define MAX_PIXERR2 4.0e-6 # 2nd convergence check on x/y positions
+define MAX_DELTA_PIX 0.4 # max +/- change in x/y positions
+define MAX_PIX_INCREMENT 0.001 # test for nearness to edge of image
+define MIN_REL_BRIGHT 1.0e-5 # minimum relative brightness
+define MIN_FAINT 0.5 # min N/S
+define MIN_ITER 4 # min number of iterations
+define MIN_SHARP -99.9 # min sharpness value
+define MAX_SHARP 99.9 # max sharpness value
+
+# List of NSTAR error codes
+
+define NSTERR_OK 0
+define NSTERR_BIGGROUP 1
+define NSTERR_INDEFSKY 2
+define NSTERR_NOPIX 3
+define NSTERR_SINGULAR 4
+define NSTERR_FAINT 5
+define NSTERR_MERGE 6
+define NSTERR_OFFIMAGE 7
diff --git a/noao/digiphot/daophot/lib/peakdef.h b/noao/digiphot/daophot/lib/peakdef.h
new file mode 100644
index 00000000..badc6246
--- /dev/null
+++ b/noao/digiphot/daophot/lib/peakdef.h
@@ -0,0 +1,55 @@
+# The PEAK task definitions files
+
+# The fitting algorithm error codes
+
+define PKERR_OK 0
+define PKERR_INDEFSKY 1
+define PKERR_NOPIX 2
+define PKERR_SINGULAR 3
+define PKERR_FAINT 4
+#define PKERR_NOCONVERGE 5
+
+# The PEAK fitting structure
+
+define LEN_PKSTRUCT 10
+
+define DP_PKNTERM Memi[$1] # the number of terms to be fit
+define DP_PKCLAMP Memi[$1+1] # pointer to the clamp array
+define DP_PKNORMAL Memi[$1+2] # pointer to the norm array
+define DP_PKRESID Memi[$1+3] # pointer to the residuals vector
+define DP_PKDERIV Memi[$1+4] # pointer to the derivative array
+define DP_PKRESULT Memi[$1+5] # pointer to the results vector
+define DP_PKOLDRESULT Memi[$1+6] # pointer to the old results vector
+
+# Definitions controlling input / output variables
+
+define DELTA_MAG 5.0 # mag difference assigned to input INDEF stars
+define PK_NOUTCOL 11 # the number of columns in the output table
+
+# Various PEAK fitting constants
+
+#define SIGN_CHECK -1.2e-38 # check for change of sign
+define MAX_DELTA_BRIGHTER 5.25 # max permitted brightness increase
+define MAX_DELTA_FAINTER 0.84 # max permitted brightness decrease
+define MAX_DELTA_PIX 0.4 # max +/- change in x/y positions
+define MAX_NEW_ERRMAG 0.05 # convergenge check on magnitude error
+define MIN_REL_BRIGHT 1.0e-5 # minimum relative brightness
+define MAX_NEW_RELBRIGHT1 0.0001 # convergence check on brightness
+define MAX_NEW_RELBRIGHT2 0.002 # convergence check on brightness
+define MAX_PIXERR1 0.001 # convergence check on x/y positions
+define MAX_PIXERR2 0.02 # convergence check on x/y positions
+define MAX_CLAMPFACTOR 0.25 # maximum clamping factor
+define MIN_SHARP -99.99 # min sharpness value
+define MAX_SHARP 99.99 # max sharpness value
+define PEAK_EPSILONR 2.0e-6 # test for inclusion inside fitrad
+define NCORE_SIGMASQ 36.0 # max gsigma-sq for sharpness value
+define CHI_NORM 1.2533141 # sqrt (PI / 2.0)
+define MIN_SUMWT 3.0 # min value of the radial weight sum
+define MIN_NPIX 4 # min number of pixels for fit
+
+define WCRIT_MAX 0.5 # max noise / signal ratio
+define WCRIT_MED 0.6667 # median noise / signal ratio
+define WCRIT_MIN 1.0 # min noise / signal ratio
+define WCRIT_NMAX 15 # max number of iterations
+define WCRIT_NMED 10 # median number of iterations
+define WCRIT_NMIN 5 # minimum number of iterations
diff --git a/noao/digiphot/daophot/lib/psfdef.h b/noao/digiphot/daophot/lib/psfdef.h
new file mode 100644
index 00000000..2a40b590
--- /dev/null
+++ b/noao/digiphot/daophot/lib/psfdef.h
@@ -0,0 +1,111 @@
+# PSF fitting task definitions
+
+# PSF fitting parameters (# 201 - 300)
+
+define PNUM 201 # number of PSF stars
+define CUR_PSF 202 # index of current PSF star
+define CUR_PSFID 203 # id of current PSF star
+define CUR_PSFX 204 # x coordinate of current PSF star
+define CUR_PSFY 205 # y coordinate of current PSF star
+define CUR_PSFSKY 206 # sky value of current PSF star
+define CUR_PSFMAG 207 # magnitude of current PSF star
+define CUR_PSFMIN 208 # min data value of current PSF star
+define CUR_PSFMAX 209 # max data value of current PSF star
+define CUR_PSFGMAX 210 # max good data value of current PSF star
+define PLOTTYPE 211 # the plot type
+define LENUSERAREA 212 # PSF image user area length
+
+# PSF task plot types
+
+define PSF_PLOTS "|mesh|contour|radial|" # list of plot types
+define PSF_MESHPLOT 1 # mesh plot
+define PSF_CONTOURPLOT 2 # contour plot
+define PSF_RADIALPLOT 3 # radial profile plot
+
+# miscellaneous definitions
+
+define MIN_LENUSERAREA 50000 # minimum length of the user area
+define PSF_NINCOLS 4 # number of columns in input psf star list
+define PSF_NOUTCOLS 6 # number of columns in output group table
+define MAX_NPSFITER 300 # max number of analytic fit iterations
+
+# PSF fitting colon commands
+
+define PSF_CMDS "|psfimage|groupfile|function|varorder|fexpand|psfrad|\
+fitrad|nclean|saturated|matchrad|scale|fwhmpsf|datamin|datamax|"
+
+define PSFCMD_PSFIMAGE 1
+define PSFCMD_GROUPFILE 2
+define PSFCMD_FUNCTION 3
+define PSFCMD_VARORDER 4
+define PSFCMD_FEXPAND 5
+define PSFCMD_PSFRAD 6
+define PSFCMD_FITRAD 7
+define PSFCMD_NCLEAN 8
+define PSFCMD_SATURATED 9
+define PSFCMD_MATCHRAD 10
+define PSFCMD_SCALE 11
+define PSFCMD_FWHMPSF 12
+define PSFCMD_DATAMIN 13
+define PSFCMD_DATAMAX 14
+
+# the PSF task fitting structure
+
+define LEN_PSFSTRUCT (50)
+
+# arrays required for fitting analytic psf and the look-up table
+
+define DP_LENUSERAREA Memi[$1] # size of the output psf user area
+define DP_PC Memi[$1+1] # pointer to fitting matrix
+define DP_PV Memi[$1+3] # pointer to fitting vector
+define DP_PTMP Memi[$1+4] # pointer to temporary vector
+define DP_PZ Memi[$1+5] # pointer to parameter changes
+define DP_PCLAMP Memi[$1+6] # pointer to clamp vector
+define DP_POLD Memi[$1+7] # pointer to previous parameter changes
+define DP_PSIGANA Memr[P2R($1+8)] # normalized sigma for analytic fit
+define DP_PSUMANA Memr[P2R($1+9)] # number of points in analytic fit
+
+# dimensions and arrays required for psf star list
+
+define DP_PNUM Memi[$1+10] # number of stars in PSF
+define DP_PSAT Memi[$1+11] # pointer to PSF star saturation indices
+define DP_PXCEN Memi[$1+12] # pointer to the PSF star x coords
+define DP_PYCEN Memi[$1+13] # pointer to the PSF star y coords
+define DP_PMAG Memi[$1+14] # pointer to the PSF star list mags
+define DP_PH Memi[$1+15] # pointer to the PSF star heights
+define DP_PWEIGHT Memi[$1+16] # pointer to the PSF star weights
+define DP_PXCLAMP Memi[$1+17] # pointer to the PSF star x clamps
+define DP_PYCLAMP Memi[$1+18] # pointer to the PSF star y clamps
+define DP_PXOLD Memi[$1+19] # pointer to the old PSF star x values
+define DP_PYOLD Memi[$1+20] # pointer to the old PSF star y values
+
+# additional arrays required for fitting the look-up table
+
+define DP_PSUMN Memi[$1+21] # pointer to the number of points
+define DP_PSUMW Memi[$1+22] # pointer to the weights corrections
+define DP_PSUMSQ Memi[$1+23] # pointer to the resdiduals
+define DP_PSIGMA Memi[$1+24] # pointer to the standard deviations
+define DP_PCONST Memi[$1+25] # pointer to the const part of psf
+define DP_POLDLUT Memi[$1+26] # pointer to the old lookup table
+
+# description of current psf star
+
+define DP_CUR_PSF Memi[$1+27] # position of current PSF star in file
+define DP_CUR_PSFID Memi[$1+28] # id of current PSF star
+define DP_CUR_PSFX Memr[P2R($1+29)]# x position of current PSF star
+define DP_CUR_PSFY Memr[P2R($1+30)]# y position of current PSF star
+define DP_CUR_PSFSKY Memr[P2R($1+31)]# sky for current PSF star
+define DP_CUR_PSFMAG Memr[P2R($1+32)]# magnitude for current PSF star
+define DP_CUR_PSFMIN Memr[P2R($1+33)]# minimum data value in PSF subrast
+define DP_CUR_PSFMAX Memr[P2R($1+34)]# maximum data value in PSF subrast
+define DP_CUR_PSFGMAX Memr[P2R($1+35)]# maximum good data value in fitrad
+
+# the psf plotting parameters
+
+define DP_PLOTTYPE Memi[$1+36] # type of PSF plot
+define DP_MANGV Memr[P2R($1+37)]# vertical angle for surface plot
+define DP_MANGH Memr[P2R($1+38)]# horizontal angle for surface plot
+define DP_MFLOOR Memr[P2R($1+39)]# floor value for surface plot
+define DP_MCEILING Memr[P2R($1+40)]# ceiling for surface plot
+define DP_CFLOOR Memr[P2R($1+41)]# floor for contour
+define DP_CCEILING Memr[P2R($1+42)]# ceiling for contour
diff --git a/noao/digiphot/daophot/lib/warning.dat b/noao/digiphot/daophot/lib/warning.dat
new file mode 100644
index 00000000..ee8d55c1
--- /dev/null
+++ b/noao/digiphot/daophot/lib/warning.dat
@@ -0,0 +1,14 @@
+
+
+ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+ WARNING FROM THE DAOPHOT PACKAGE LOADER
+ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+
+ The SDAS external package TABLES optionally used by some of the
+ DAOPHOT tasks is not available. The tasks PAPPEND, PDUMP,
+ PRENUMBER, PSELECT and PSORT will run only on DAOPHOT output
+ files written in text database format (the default) but will not
+ run on files written in ST tables format. Check the value of the
+ DAOPHOT package parameter "text" before beginning reductions.
+
+