SAND control software
Local configuration file
Prior to any use of SAND, you must customize you local configuration file /home/sand/localconfig .
This file contain the parameters that can change from one specific installation to another.
# localconfig file for sand
# please be shure to put a line for the observation command without any comments.
# localconfig file for sand
# please be shure to put a line for the observation command without any comments.
nohup observe -a sun -d 60 &
powerusbport 3 # powerusb outlet to which CCD is connected
powerusbversion 32 # can be 32 of 64 depending on CPU arch
cammodel1 dlink # Observatory and ambient brightness monitoring cam. Can be linksys dli
nk IPVideo9100A or none
cammodel2 IPVideo9100A # Sky monitoring cam. Can be linksys dlink IPVideo9100A or none
cam2pwrusbport 1 # powerusb outlet to which sky cam is connected
darkness_threshold 128 # darkness level threshold for cam1
mountmodel PT785S+Pololu # mount model. Can be LXD-75 , PT785S+Pololu or none
elev_gain 10.305 # servo_pos = gain * angle(deg) + offset
elev_offset 5985 #
elev_channel 1 # pololu channel to which elevation servo motor is connected
azim_gain -10.167 # servo_pos = gain * angle(deg) + offset
azim_offset 7660 #
azim_channel 0 # pololu channel to which azimuth servo motor is connected
Longitude-W 03 43 34 # longitude of the observation site
Latitude-N 40 27 04 # latitude of the observation site
Site_name Observatorio-UCM # name of the observation site
spectral_calib spectral-calib-SAND-4A-2013-06-05.txt # name of the spectral calibration file (to be located in /home/sand/sv
n/trunk/Calib_files)
photometric_calib photometric-calib-SAND-4A-2013-06-05.txt # name of the photometric calibration file (to be located in /home/sand
/svn/trunk/Calib_files)
- cammodel1 is the cam that will be used to monitor the ambient brightness level. This cam can be used to look at the system but if it is the only cam installed, it can be a good idea to point the sky. Resultant images will be saved as obs-*.jpg
- cammodel2 is the cam that will be used to monitor the clear sky condition. This camera should be sensitive enough to detect stars, the relevant choice should be IPVideo9100A. Resultant images will be saved as sky-*.jpg
Commands list
Table 5: List of script and functions
Command name
| Description
| Usage
|
ephems
| Generate ephemeris
This script rely on skycalc
| ephems DD MM SS dd mm ss NAME
DD=longitude deg, MM=minute, SS=seconde, dd=latitude deg., mm=minute, ss=seconde, NAME=site name
|
initmount
| initialize lxd-75 mount after the process, mount position is 90,90
| initmount
|
moveup
| Move upward
| moveup DD MM SP
DD=degrees MM=minute SP=speed {1=high 2=med 3=low}
|
movedown
| Move downward
| movedown DD MM SP
DD=degrees MM=minute SP=speed {1=high 2=med 3=low}
|
moveeast
| Move eastward
| Usage: moveest DD MM SP ; DD=degrees MM=minute SP=speed {1=high 2=med 3=low}
|
moveweast
| Move westward
| Usage: movewest DD MM SP ; DD=degrees MM=minute SP=speed {1=high 2=med 3=low}
|
movetoaz
| Goto azimuth
| Usage: movetoaz DD MM Verbose ; DD=degrees MM=minute Verbose={Silent=0}
|
movetoel
| Goto elevation
| Usage: movetoel DD MM Verbose ; DD=degrees MM=minute Verbose={Silent=0}
|
observe
| Launch observing sequence
This script read the file observation_list located in public_html/cgi-bin and fill the night with the list. If the list duration is less than the night, the sequence will be repeated.
| Usage: observe [-m value] [-a value] [-l value] [-i value] [-d value] [-t value] [-o]
-m is the mount mode flag. If you do not have a mount or just do not want and displacement set value to off otherwise set it to on
-a is the "beginning at" flag. value may be sun for sunset, ast for astronomical wilight or any time H:M
-l is the loop flag. value give the number of consecutive observing night. 0 = infinity
-i is the instrument flag. value could be sp for spectrometer and ph for photometer
-d is the delay flag. value is in minute and will tell the system to begin that delay after the beginning defined by -a option. It will also stop the system that delay before the end of observation defined by option -a
-t is the cooling temperature of the CCD in Kelvin. If this option is not specified, the cooling temperature will be determined using the ambiant temp. and the temperature differential defined in the script (e.g. 30 C)
-o to perform the observation list only once per night. Note that this option have to be the last one to appear in the command line. Havins another option after -o will result in abnormal behavior of the script. (:cellnr align='center':)parkmount
| park mount
goto azimuth=90 deg and elevation=90 deg. and then turn off the mount
| parkmount
|
readmount
| Read azimuth and elevation
| Usage: readmount VAR Verbose; VAR = {AZ (azimuth), EL (elevation)}, Verbose= {silent=0}
|
webcamimg
| Take webcam image of the sky and create the pas 6 hour animation
The script make an average of 32 frames to enhance signal to noise ratio. * The script compute the mean grey level to estimate the ambient luminosity.
| webcamimg
|
twilight
| Compute time of the next astronomical twilight
The result is stored in /home/sand/public_html/cgi-bin/last_ephemerides
|
|
SAND web interface
- index.html - interface base frame
- This file is located in /home/sand/public_html and should be readable and executable by all.
- menu.html - frame to send a command
- display the last webcam image
- This file is located in /home/sand/public_html and should be readable and executable by all.
- back.jpg, back2.jpg, logo.jpg - background image files
- These files are located in /home/sand/public_html and should be readable and executable by all.
- print.cgi - command print out frame
- This file is located in /home/sand/public_html/cgi-bin and should be readable and executable by all.
- input.cgi - Browse data
- This file is located in /home/sand/public_html/cgi-bin and should be readable and executable by all.
- Give access to archive data and allow the edition of an observation sequence file.
- editprogram.cgi - edit observation sequence
- This file is located in /home/sand/public_html/cgi-bin and should be readable and executable by all.
- last-ccd-img.cgi - display the last manually acquired ccd image
- This file is located in /home/sand/public_html/cgi-bin and should be readable and executable by all.
- lastwebcam.cgi - display the last webcam image
- This file is located in /home/sand/public_html/cgi-bin and should be readable and executable by all.
- deletelog.cgi - clear journal output.log
- This file is located in /home/sand/public_html/cgi-bin and should be readable and executable by all.
- observation_list - observing sequence file
- This file is located in /home/sand/public_html/cgi-bin and should be readable and executable by all.
Automatic mode
This file could be edited via the command line. It is located in /home/sand/public_html/cgi-bin/observation_list. The user can also use the web interface to edit this file.
- Input file : observation_list
El_deg El_min Az_deg Az_min Im_typ In_tim
90 0 90 0 sky 1
40 0 1 0 dark 1
Problem solving
- In case of major problem, you should restart the web server. As root, do:
Then turn off and then on the mount.
- If the problem remain, you can restart the computer.
Analysis software
Find the spectrum position on the image
Open a spectrum image with display (imagemagick) on of the file corresponding to the night to analyse. Validate the image zone corners to extract and the x position of a key wavelength of the spectrum (the OI 557 nm line for example). You can get the x an y position by clicking on the mouse center button. We normally use the spectrum corresponding to the smallest slit. You need to know the lower and higher y values (ymin and ymax).
- ymin and ymax should appear in the spectral calibration file located in directory to analyse. To see the file format to use, please go to this section.
Spectral and photometric calibration
Proceed to a test spectral calibration to validate that the spectral calibration file is correct and thus that there is no drift of the calibration. Go to the directory corresponding to the night to analyse and copy the spectral calibration file along with a temporary photometric calibration file (flatresponse.txt) and then do:
inspectre.bash -s spectral_calibration_file_name -p sensitivity_file_name -c
- -c option indicate that we shutdown the automatic shift of the spectrum with the 557nm sky line
- Use gnuplot to plot one of the fresly analysed file. With the cursor, measure the wavelength of the key wavelength choosen beforeand compare with what it should be. If there is a difference between your measurement and the expected value, modify the offset value in the spectral calibration file.
- If you changed the offset value you should redo the calibration process
rm -f *-dark*
inspectre.bash -s spectral_calibration_file_name -p sensitivity_file_name -c
inspectre.bash do the photometric calibration. This process consist in correcting the non linear response of the spectrometer and associate a physical value (a radiance in W/sr/m^2/nm) to the numerical count. The script also resample the spectrum on a regular scale with 0.5 nm increment.
Fichier permettant de calculer la courbe de correction photometrique
Display the 1D spectrum
mkGraph.bash display the spectrum. 1D spectrum files end by the extension .cxy
mkGraph.bash spectrum_file
Removing the continium radiation
This step is automatically made by inspectre.bash but you may want to do it manually. The continium radiation come from stars, moon, and the sun light (via twilight). Once the continium radiation removed, the only contribution that remain come from light pollution and natural sky fluorescence.
DelContinium.bash 1D_spectrum_calibrated_file
Spectral line radiance integration
The radiance of each spectral line (without the continium) could be computed with:
getLine.bash 1D_spectrum_file wavelength_in_nm
This program make the integration over a 8 nm window centered on the desired wavelength.
User's guide
System initialization
You should first install the instrument on the observing site following steps below:
- Level the mount
- Set the mount position to its rest position (azimuth 90 and elevation 90). There should be mark to align on both axis.
- Power on all systems and wait about 1 minute
- Restart the webcam server (power off and power on) to be shure that it getting the TCP/IP link to the router.
- If it is not already done, startup the computer.
- Log on the computer as sand (directly on the computer or via ssh or via the web interface) More info click here
- Type the initialization command initmount. After 20 seconds the system will be ready to operate. At this step, the CCD fan should be on.
- Move the mount to Azimuth=0 et Elevation=20 with movetoaz and movetoel (i.e. toward north).
- Note: You can replace north by any other orientation. As an example, if you can easily recognize a particular remote object and know its azimuth relative to the observing site, it could be a good calibration point.
- Rotate the mount tripod or the observatory box to align the spectrometer direction along north. The accuracy of this step will define the global pointing accuracy of the instrument.
Starting an observation sequence
An observation sequence can be started with the observe command. This command accept many parameters. In every modes, the system will read the luminosity level (on a 0 to 255 scale) based on the webcam last picture. If the luminosity is higher or equal to a value defined in observe (usually 125), the system will wait for 15 minutes and then check again the luminosity level until it’s lower than the value. When the right luminosity is reached, the spectrometer will start its observation sequence.
Execution mode
Thought the system is operated by the web interface and is in an interactive mode with the navigator, it can be quitted during its execution period without ending the execution. Meanwhile, to track the evolution of the program, the user must go at this address:
http://public_ip_of_the_router:2080/~sand/data/output.log