Procedure to realign the EULER telescope
Order of operations
Note: To update the pointing model file you need to be a member of the develop user group. The user bruno has this privilege.
System setup:
- environment and tools setup
- reset the pointing model at zero
With ECAM :
- Quick pointing model
- Verification of the optical quality of the telescope (only if the mirror moved)
- Focus
- Localization of the rotation center of the CCD
- Astrometric fit to find the orientation of the CCD
- Long pointing model
With Coralie :
- Localize the fiber hole position
- A quick pointing model
- Improve the focus
- Long pointing model
- Efficiency measurement with the calibration lamp
Environment setup
- login on glslogin2 (otherwise the astrometry utility will not work)
- create a new directory and move into it; the scripts create a lot of additional files
- clone the following repository in your home to get all the tools (one needs to have the right to do so and can ask bruno.chazelas__at__unige.ch):
https://gitlab.unige.ch/euler/scripts/alignmentutils
or copy the current version of the required scripts from (they will be listed below)
~chazelas/alignmentutils/
- load the bash shell by typing simply
bash
(that is not the default telescope bash)
- define the environment to include the python that one can find in the ~weber directory
export PATH="/home/weber/anaconda3/bin:$PATH"
you can do this automatically in you .bashrc, that will allow you to use them easily when you run bash.
Once the file saved or the setup done, one can type bash in a terminal and check that the python version is correct:
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
Reset the pointing model
on glsdocker01 the config files are in the folder below; i1 is CORALIE, 2 is ECAM and 3 KalAO.
/opt/soft/config
autofocus_model_m3_i1.yaml
autofocus_model_m3_i2.yaml
autofocus_model_m3_i3.yaml
meteo_model.yaml
pointing_model_m3_i1.yaml
pointing_model_m3_i2.yaml
pointing_model_m3_i3.yaml
Quick pointing Model ECAM
Take a picture anywhere with
- template of type CAM_PRG
- exptime of 30s
- filter 00
- any coordinates that are within the telescope limits
process the image with the image with astrometry.net (cf astrometrie-image) :
astrometrie-image.py one /gls/data/raw/2021-11-29/ECAM.2021-11-30T07\:42\:33.000.fits
this will deliver a result of the type
change the pointing model you need to convert the values in red to degrees (/3600) and subtract them from the current ones listed at
/opt/soft/config/axis_offset.yaml
where the file is of the type shown below. Add a line with the date and the values of azimuth and elvation with the identation as exemplified.
# Offsets for all 3 axes
2023-11-01:
AZI: 128.8927
ELE: -124.1884
ROT: 1
2023-11-21:
AZI: -159
ELE: 109
ROT: 0
2023-11-22:
AZI: 128.8485
ELE: -124.1581
ROT: 0
2023-11-23:
AZI: 128.9368
ELE: -124.2186
ROT: 0
2023-11-24:
AZI: 128.9135
ELE: -124.1843
ROT: 0
2023-11-25:
AZI: 128.8916
ELE: -124.2234
ROT: 0
2023-11-26:
AZI: 128.8921
ELE: -124.2590
ROT: 0
Localisation of the reference pixel of ECAM
One needs to set the CCD mode to UL
To localize the reference pixel of ECAM one points a bright star and then one makes several exposures rotating the derotator on the same image a the CCD is read only at the end.
First use the catalogue /home/chazelas/alignmentutils/Etoiles_brillantes.rdb pick a star, send it to the EDP, modify the OB to be in the UL mode and launch the OB. Once done follow the following steps
- One uses the procedure rotation_champ in the IMAGER prompter.
@rotation_champ
The resulting fits image "image_rotat.fits" is located in the directory where xrunall was launched
Then with rtd one measures the position of the star using the pick object function. One puts the x and y in colum in a text file and then feeds it to the centre.py routine that provides the result. The coordinates are shown on the figure.
~weber/anaconda3/bin/python /home/chazelas/alignmentutils/centre.py filename
One then need to update the following configuration file :
$THOME/config/ccd/applic/ecam/server.cfg
Update the autofocus
The auto focus law is build using the focus exposure logs. One needs to perform focus exposures on a long period, to gather data on as much temperatures as possible (typically over 1-2 weeks).
Data is located there :
/gls/data/services/DATA/log/focal/ecam.log ou gu_coralie.log
The interesting value in these files is m2zpab that give the position of the best focus. For the x axis one need to use the temperature combination (tth-1.2+ttb)/2
The slope of the model is well defined at 0.032 and there is no reason to change it. One need to fit the value for the 0 intercept.
Then one can update the following config file:
$THOME/config/t120/applic/coralie/server.cfg ou (ecam/server.cfg)
The term to modify is:
fo.f0
Orientation of the derotator to have the image aligned the North
One need to take an image and solve it for astrometry. One need to measure the angle between the north and the vertical axis of the image.
Then one need to update the following file
$THOME/prc/util/global_te.prc
Beware it is dealt with RCS, one need to do the following :
co -l global_te.prc
Once modification finished one uses
ci - u global_te.prc
With the conventions of astrometry.net a negative angle (East of North) is a negative increment on the variable :
te.rot.off
How to block the Derotator
One need to be able to block the derotator in order to do the optical alignement (improve the optical quality)
one can use the t120 command in the T120 prompter (cf manuel inter t120)
axis /state=0 /rot
One needs to manually set the desired orientation. using the "raquette software". At zero one has the camera that is aligned with azimuth and elevation axis. the spider arms are at 45°.
Coralie pointing model
In the coralie UIF there is a menu, where we can select : "modeèle de pointage court / moyen / long". This will start a sequence of pointings. One might have to confirm star selection (a poping catalog window) or star pointing. Once it is finishes one need to extract the data from this file:
$TDATA/services/DATA/log/centrage/gu_bigeye2023-08-23.log (the date changes to the actual date)
Create a directory in your home directory where the information for this pointing model will be stored. for example ~/pointing_data/coralie_YYYY_MM_DD
The data need to be transformed this way:
cat $TDATA/services/DATA/log/centrage/gu_bigeye2023-08-23.log | egrep PROM | tp (change the date to the actual date)
This will give a rough pointing model, one needs to improve it manually using tpoint
Beware if several models are performed on the same night every thing goes into the same file, this has to be filtered manually
you should run tpoint in the following way (this is a command line program, the command to type are the one starting with a *):
$ tpoint
+ - - - - - - - - - - - - - - - - - - - - +
| TPOINT |
| Telescope Pointing Analysis System |
| Version 5.2-1 |
+ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +
There are 54 standard pointing terms.
Reading procedures from file /etc/tpoint/procs.dat ...
244 lines input.
Reading star catalogue entries from file /etc/tpoint/stars.dat ...
209 stars input.
TPOINT ready for use: type HELP for assistance, END to quit.
* INDAT tmp.tp.dat
!
! Pointing data from 1.2 m T4 OdG La Silla
!
Mon May 6 22:30:32 CLT 2013
: NODA
-29 15 24.0
175.39125 18.75272 175.41183 18.73171
167.57100 37.85725 167.59285 37.85089
190.82141 46.88301 190.84339 46.88089
168.15500 57.95631 168.18185 57.95026
...
* USE IA IE AW AN CA TF PZZ3 PZZ5 HZCZ4
* FIT
coeff change value sigma
1 IA +10.924 +10.92 0.956
2 IE +19.694 +19.69 0.773
3 AW +33.823 +33.82 0.296
4 AN +6.919 +6.92 0.287
5 CA +72.707 +72.71 0.622
6 TF +22.934 +22.93 0.923
7 PZZ3 +86.061 +86.06 3.425
8 PZZ5 -78.813 -78.81 2.493
9 HZCZ4 +21.173 +21.17 0.983
Sky RMS = 2.25
Popn SD = 2.40
Action was taken to correct ill-conditioning. The
current FITTOL tolerance is 0.01, which exceeds
the value 0.00739 encountered during the fit.
* call a9 (to look at the fit quality)
* END (to quit)
One can then update the pointing model in :
$THOME/config/t120/applic/coralie/server.cfg
then to apply it one needs to type in the PROMPTER-T120 the following :
@read_config /opt/t4/beta/config/t120/applic/coralie/server.cfg
@tpoint defload
At this point the new pointing model is operational.
Localisation of CORALIE Fiber hole :
Use the uif window menu and use :
Quick look guidage 1[s]
This produces a file last_ql.fits that contains the image of the focal plane pierced mirror illuminated.
it is easy to spot the whole and measure its position using RTD pick object function.
Once the coordinates are determined then on needs to update the following file:
$THOME/config/ccd/applic/gu_bigeye/server.cfg
ECAM pointing model
Old method :
In order to compute the pointing model one need to make some fields picture on a regular grid on the sky, and analyze the resulting data to produce a result.
First one needs to copy to the current directory the file
~chazelas/alignmentutils/exposcan2cat.prc
One can change thes parameter of this routine to change the grid size or the exposure time; check lines 24 to 26th.
Then start the inter by typing
inter
if you are asked for a block, click enter, if you are asked oui/non then answer o. After this in the INTER prompt one can execute
@exposcan2cat
An EDP list file mdpcat.rdb is produced, that has to be injected in the using the button "Read". Given the list is produced for the current time, one needs to launch observation right away, otherwise some fields could be unobservable and the grid would not be nicely sampling the sky.
Pointing model configuration files
You may want to change the pointing model values obtained from tpoint or simply reset all values at zero to do a pointing model from scratch. In the Euler-J architecture the files are located at
opt/soft/config/pointing_model_m3_i2.yaml
and to add a set of parameters you should add a date to create a new section and then add the new parameters below. This is also true if you want to reset the model temporarily: simply add the date of today with all the parameters at zero.
After writting the file one should go to
/opt/soft/src/telescope-control-backend/scripts/
and execute
./ETCS_axis_offset.sh
New method (untested in Euler-J):
This should be run when the sky transparency is clear so that the stars are detected and there is no pointing restriction due to wind so that the whole sky is available. The conditions on seeing are very lax.
At the operational level, one needs
- to be observing in ECAM mode (Xrunall);
- EDP should be in "Mode Automatique".
- the last exposure has to be a standard ECAM exposure (fetch star with RA~LST from e.g. ../../chazelas/Etoiles_brillantes.rdb);
- there should be no OBs after this last executed one;
- click on the last exposure for selecting it.
Under these conditions, select the last exposure on the EDP and do not to touch it until the alignment sequence is finished.
We will use a python script that will send OBs to the EDP to produce a regular grid on the sky. In a terminal type
bash
mkdir ~/test
cd ~/test
cp ~weber/test/alignmentutils/ecam_pointing_model_acquisition.py .
It is important to change set the number of point on the grid by modifiying the script. Change the value of N. N=12 for a small pointing model. N=60 for a large one
To run the script :
~weber/anaconda3/bin/python ecam_pointing_model_acquisition.py
It is important while this is running not to touch or select things in the EDP. The script should send images sequentially to the EDP.
If a window "ATTENTION: Arrêt de l'observation" is displayed, do not click it; ignore it for the whole acquisition.
Once the images aquired:
It is then necessary to make the astrometry analysis of the resulting images.
To do so use the script astrometrie-image.py on glslogin2 (found at https://gitlab.unige.ch/euler/scripts/alignmentutils). This script has several options :
usage: astrometrie-image.py [-h] [-k KEYWORD] [-v KEYWORD_VALUE] [-l] [-o] [-u] {watch,batch,one} path
Do the astrometry of fits images inside a given directory, either live or not
positional arguments:
{watch,batch,one} watch to watch a directory, batch to loop through
existing images, one to process only one image
path directory to deal with
optional arguments:
-h, --help show this help message and exit
-k KEYWORD, --keyword KEYWORD
to filter by fits keyword
-v KEYWORD_VALUE, --keyword-value KEYWORD_VALUE
keyword value to select
-l, --lazy non redo astrometry for images already solved
-o, --output output a rdb file with error in elevation and azimuth
-u, --unique avoid reperforming astromerty on previously solved
object (based on the OBJECT keyword)
Create a directory where the images will be copied and new output will be generated (e.g. ~/pointage_camera/YYYY-MM-DD/). Move to there and launch the commands:
bash
~weber/anaconda3/bin/python /home/chazelas/alignmentutils/astrometrie-image.py batch -k OBJECT -v MDP /gls/data/raw/YYYY-MM-DD/
Where YYYY-MM-DD is the day of the observations. Afterwards, in the very same directory copy the compute_pointing_model.py, modifiy the coordinate of the reference pixel
(ra_,dec_)=w.wcs_pix2world(2107.5,2081.0,0)(ra_,dec_)=w.wcs_pix2world(2107.5,2081.0,0)
then it can be run
~weber/anaconda3/bin/python compute_pointing_model.py
and the new parameters will be shown at the end of the script.
To update the model as in the previous paragraph (Old Method) one needs to edit the pointing model storage file (as su/develop).
/opt/t4/beta/config/t120/applic/ecam/server.cfg
and then reload this model so that it is applied, by typing
@read_config /opt/t4/beta/config/t120/applic/ecam/server.cfg
@tpoint defload
Wafefront analysis [not working]
000O000