Hi,
Thank you for answering my post. I was out of town for a few days so am only getting back now to this problem.
To answer your questions:
s1 is the cl parameter, so it is not declared in the script (the script is pasted in below).
The filename that I am trying to create will be something like hd131445_B.fits, so no path is involved, and the file is created in the local working directory. The curious thing is that the file is created, but it is empty.
I have tried working in a different directory but it makes no difference. I have full rw permissions on the local directory.
The script is a standalone host CL script, so it is run from the command line, not within the iraf environment. Yes, I do set an uparm directory, but I have not physically changed anything in that directory, although various scripts which set parameters do cause changes in that directory.
I did check the \tmp directory. It had lots of timeshift images in it, but still plenty of space. But to make certain, I deleted a number of those images and re-ran the script with the same sorry result.
I am not certain how to run "unlearn cl". Can I include that as a line in the script after the definition of the uparm directory?
The script is pasted below with the offending line indicated with a ===\$this->_split2($m[0])\$this->_split2($m[0])\$this->_split2($m[0]) (toward the end)
best wishes, Richard
#!/home/grayro/iraf/bin.linux64/ecl.e -f
set home = "/home/grayro/.iraf/"
set imdir = "/home/grayro/.iraf/imdir/grayro/"
set cache = "/home/grayro/.iraf/cache/grayro/"
set uparm = "home$uparm/"
set userid = "grayro"
set arch = ".linux64"
set clobber = yes
set imclobber = yes
images
plot
dataio
lists
tv
utilities
noao
imred
digiphot
apphot
ccdred
int expos=0
int crop=0
int naxis=0
string list2
string filter
string *plist
real fwhm=3.0
files orig/Bias*.fit \$this->_split2($m[0]) Bias.lis
files orig/Dark2s*.fit \$this->_split2($m[0]) Dark2s.lis
files orig/Dark5s*.fit \$this->_split2($m[0]) Dark5s.lis
files orig/Dark10s*.fit \$this->_split2($m[0]) Dark10s.lis
files orig/Dark15s*.fit \$this->_split2($m[0]) Dark15s.lis
files orig/Dark20s*.fit \$this->_split2($m[0]) Dark20s.lis
files orig/Dark30s*.fit \$this->_split2($m[0]) Dark30s.lis
files orig/Dark45s*.fit \$this->_split2($m[0]) Dark45s.lis
files orig/Dark60s*.fit \$this->_split2($m[0]) Dark60s.lis
files orig/Dark90s*.fit \$this->_split2($m[0]) Dark90s.lis
printf("radgauss\n", \$this->_split2($m[0]) "ukey.dat")
printf("3.0\n", \$this->_split2($m[0])\$this->_split2($m[0]) "ukey.dat")
printf("14\n", \$this->_split2($m[0])\$this->_split2($m[0]) "ukey.dat")
printf("INDEF\n", \$this->_split2($m[0])\$this->_split2($m[0]) "ukey.dat")
printf("INDEF\n", \$this->_split2($m[0])\$this->_split2($m[0]) "ukey.dat")
rfits @Bias.lis * bias
imcombine bias* BIAS combine=average reject=avsigclip
imdelete bias*
rfits @Dark2s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK2s
imdelete TMP
imdelete dark*
rfits @Dark5s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK5s
imdelete TMP
imdelete dark*
rfits @Dark10s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK10s
imdelete TMP
imdelete dark*
rfits @Dark15s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK15s
imdelete TMP
imdelete dark*
rfits @Dark20s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK20s
imdelete TMP
imdelete dark*
rfits @Dark30s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK30s
imdelete TMP
imdelete dark*
rfits @Dark45s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK45s
imdelete TMP
imdelete dark*
rfits @Dark60s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK60s
imdelete TMP
imdelete dark*
rfits @Dark90s.lis * dark
imcombine dark* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS DARK90s
imdelete TMP
imdelete dark*
files orig/FlatSv*.fit \$this->_split2($m[0]) FlatSv.lis
rfits @FlatSv.lis * flatSv
imcombine flatSv* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS TMP1
imarith TMP1 "-" DARK45s FTMP
imstat("FTMP",fields="midpt",format-) | scan(y)
imarith("FTMP","/",y,"FLATSv")
imdelete TMP
imdelete FTMP
imdelete TMP1
imdelete flatSv*
files orig/FlatHa*.fit \$this->_split2($m[0]) FlatHa.lis
rfits @FlatHa.lis * flatHa
imcombine flatHa* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS TMP1
imarith TMP1 "-" DARK45s FTMP
imstat("FTMP",fields="midpt",format-) | scan(y)
imarith("FTMP","/",y,"FLATHa")
imdelete TMP
imdelete FTMP
imdelete TMP1
imdelete flatHa*
files orig/FlatB*.fit \$this->_split2($m[0]) FlatB.lis
rfits @FlatB.lis * flatB
imcombine flatB* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS TMP1
imarith TMP1 "-" DARK5s FTMP
imstat("FTMP",fields="midpt",format-) | scan(y)
imarith("FTMP","/",y,"FLATB")
imdelete TMP
imdelete FTMP
imdelete TMP1
imdelete flatB*
files orig/FlatR*.fit \$this->_split2($m[0]) FlatR.lis
rfits @FlatR.lis * flatR
imcombine flatR* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS TMP1
imarith TMP1 "-" DARK2s FTMP
imstat("FTMP",fields="midpt",format-) | scan(y)
imarith("FTMP","/",y,"FLATR")
imdelete TMP
imdelete FTMP
imdelete TMP1
imdelete flatR*
files orig/FlatV*.fit \$this->_split2($m[0]) FlatV.lis
rfits @FlatV.lis * flatV
imcombine flatV* TMP combine=average reject=avsigclip
imarith TMP "-" BIAS TMP1
imarith TMP1 "-" DARK2s FTMP
imstat("FTMP",fields="midpt",format-) | scan(y)
imarith("FTMP","/",y,"FLATV")
imdelete TMP
imdelete FTMP
imdelete TMP1
imdelete flatV*
!rm *.lis
imcopy BIAS[1024:3071,1024:3071] BIAScrop
imcopy DARK2s[1024:3071,1024:3071] DARK2scrop
imcopy DARK5s[1024:3071,1024:3071] DARK5scrop
imcopy DARK10s[1024:3071,1024:3071] DARK10scrop
imcopy DARK15s[1024:3071,1024:3071] DARK15scrop
imcopy DARK20s[1024:3071,1024:3071] DARK20scrop
imcopy DARK30s[1024:3071,1024:3071] DARK30scrop
imcopy DARK45s[1024:3071,1024:3071] DARK45scrop
imcopy DARK60s[1024:3071,1024:3071] DARK60scrop
imcopy DARK90s[1024:3071,1024:3071] DARK90scrop
imcopy FLATB[1024:3071,1024:3071] FLATBcrop
imcopy FLATHa[1024:3071,1024:3071] FLATHacrop
imcopy FLATR[1024:3071,1024:3071] FLATRcrop
imcopy FLATSv[1024:3071,1024:3071] FLATSvcrop
imcopy FLATV[1024:3071,1024:3071] FLATVcrop
!getstarobs
list = "observations.txt"
while(fscan(list,s1,s2) != EOF) {
imcopy(s1,s2)
imgets(image=s2,param="i_naxis1")
naxis = int(imgets.value)
if(naxis == 2048) crop=1
if(naxis == 4096) crop=0
if(crop == 0) {
imarith(s2, "-", "BIAS", s2)
} else {
imarith(s2, "-", "BIAScrop", s2)
}
imgets(image=s2, param="EXPTIME")
expos = int(imgets.value)
if(crop == 0) {
if(expos == 2) imarith(s2, "-", "DARK2s", s2)
else if(expos == 5) imarith(s2, "-", "DARK5s", s2)
else if(expos == 10) imarith(s2, "-", "DARK10s", s2)
else if(expos == 15) imarith(s2, "-", "DARK15s", s2)
else if(expos == 20) imarith(s2, "-", "DARK20s", s2)
else if(expos == 30) imarith(s2, "-", "DARK30s", s2)
else if(expos == 45) imarith(s2, "-", "DARK45s", s2)
else if(expos == 90) imarith(s2, "-", "DARK60s", s2)
else imarith(s2, "-", "DARK90s", s2)
imgets(image=s2,param="FILTER")
if(imgets.value == "Ha") imarith(s2, "/", "FLATHa", s2)
else if(imgets.value == "Sv") imarith(s2, "/", "FLATSv", s2)
else if(imgets.value == "B") imarith(s2, "/", "FLATB", s2)
else if(imgets.value == "R") imarith(s2, "/", "FLATR", s2)
else if(imgets.value == "V") imarith(s2, "/", "FLATV", s2)
else printf("We should not be here!\n")
} else {
if(expos == 2) imarith(s2, "-", "DARK2scrop", s2)
else if(expos == 5) imarith(s2, "-", "DARK5scrop", s2)
else if(expos == 10) imarith(s2, "-", "DARK10scrop", s2)
else if(expos == 15) imarith(s2, "-", "DARK15scrop", s2)
else if(expos == 20) imarith(s2, "-", "DARK20scrop", s2)
else if(expos == 30) imarith(s2, "-", "DARK30scrop", s2)
else if(expos == 45) imarith(s2, "-", "DARK45scrop", s2)
else if(expos == 90) imarith(s2, "-", "DARK60scrop", s2)
else imarith(s2, "-", "DARK90scrop", s2)
imgets(image=s2,param="FILTER")
if(imgets.value == "Ha") imarith(s2, "/", "FLATHacrop", s2)
else if(imgets.value == "Sv") imarith(s2, "/", "FLATSvcrop", s2)
else if(imgets.value == "B") imarith(s2, "/", "FLATBcrop", s2)
else if(imgets.value == "R") imarith(s2, "/", "FLATRcrop", s2)
else if(imgets.value == "V") imarith(s2, "/", "FLATVcrop", s2)
else printf("We should not be here!\n")
}
}
!combineimage
list = ""
list = "combined.txt"
while(fscan(list,s1,k) != EOF) {
j = fscan(list,s2)
imgets(image=s2,param="i_naxis1")
naxis = int(imgets.value)
imgets(image=s2,param="FILTER")
filter = imgets.value
delete combine.lis
delete tlist.lis
delete shifts.db
printf("%s\n",s2, \$this->_split2($m[0])\$this->_split2($m[0]) "combine.lis")
printf("t%s\n",s2, \$this->_split2($m[0])\$this->_split2($m[0]) "tlist.lis")
for(i=2;i<=k;i+=1) {
j = fscan(list,s3)
printf("%s\n",s3, >\$this->_split2($m[0]) "combine.lis")
printf("t%s\n",s3, \$this->_split2($m[0])\$this->_split2($m[0]) "tlist.lis")
}
if(naxis == 4096) {
xregister(input="@combine.lis",ref=s2,region="[1536:2560,1536:2560]",shifts="shifts.db",out="@tlist.lis",xcbox=8,ycbox=8,xwindow=20,ywindow=20)
} else {
xregister(input="@combine.lis",ref=s2,region="[512:1536,512:1536]",shifts="shifts.db",out="@tlist.lis",xcbox=8,ycbox=8,xwindow=20,ywindow=20)
}
===\$this->_split2($m[0])\$this->_split2($m[0])\$this->_split2($m[0]) imcombine(input="@tlist.lis",output=s1,combine="average",reject="none")
imdelete @combine.lis
imdelete @tlist.lis
printf("rwfsolve.sh %s.fits\n",s1, \$this->_split2($m[0]) "try.sh")
!chmod a+x try.sh
!./try.sh
if(access(s1//".new")) {
print("Plate solved!")
if(filter == "B") {
printf("cp %s.wcs B.wcs\n",s1, \$this->_split2($m[0]) "cp.sh")
!chmod a+x cp.sh
!./cp.sh
}
printf("rm %s.fits\n",s1, \$this->_split2($m[0]) "try1.sh")
printf("mv %s.new %s.fits\n",s1,s1, \$this->_split2($m[0])\$this->_split2($m[0]) "try1.sh")
!chmod a+x try1.sh
!./try1.sh
} else {
printf("new-wcs -d -i %s.fits -w B.wcs -o tmp.fits\n",s1, \$this->_split2($m[0]) "Bwcs.sh")
printf("cp tmp.fits %s.fits\n",s1, \$this->_split2($m[0])\$this->_split2($m[0]) "Bwcs.sh")
!chmod a+x Bwcs.sh
!./Bwcs.sh
}
!rm *.solved
delete(files=s1//".wcs")
!rm *.axy
!rm *.corr
!rm *.xyls
!rm *.match
!rm *.rdls
!rm try.sh
!rm temp.lst
!rm temp.psf
daofind(image=s1,output="temp.lst",threshold=100,sigma=1.2,readnoise=14,interactive=no,verify=no,fwhmpsf=3.0)
fitpsf(image=s1,box=11,coords="temp.lst",output="temp.psf",interact=no,<"ukey.dat"
!psfrd
plist = "psf.out"
j = fscan(plist,fwhm)
datapars.epadu = 1.5
datapars.readnoise = 14
photpars.apertures = 3.5*fwhm
fitskypars.annulus = 3.5*fwhm + 6
daofind(image=s1,output=s1//".coo",threshold=100,sigma=1.2,readnoise=14,interactive=no,verify=no,fwhmpsf=fwhm)
wcsctran(input=s1//".coo",output=s1//".wcs",image=s1,inwcs="logical",outwcs="world"
phot(image=s1,coords=s1//".coo",output=s1//".mag",interac=no,verify=no)
}
logout