contact: mschartner@ethz.ch
For a full installation description of VieSched++, have a look at https://github.com/TUW-VieVS/VieSchedpp
The installation of VieSched++ AUTO should be straightforward since it is only a python project.
The required python libraries are listed in the environemt.yml
or requirements.txt
file.
You can use these files file to generate a new virtual environment.
When using anaconda type:
conda env create -f environment.yml
conda activate VieSchedpp_AUTO
If you instead use venv create a new virtual environment:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
The software is meant to run as a daily cronjob
.
To start VieSched++ AUTO execute the VieSchedpp_AUTO.py
script while being in the VieSchedpp_AUTO
environment.
python VieSchedpp_AUTO.py -h
shows the help message.
For testing, it is advisable to use the -nu
(no upload) and -ne
(no email) flags to suppress uploading files to the BKG server and sending emails.
A typical start might look like this:
python VieSchedpp_AUTO.py -p INT1 INT2 R1 R4
It might be advisable to use your own SMTP
server to send Email notifications.
For testing purposes, I have created a dummy email address vieschedpp_auto@gmail.com
that can be used.
Please note that this is not safe since everybody can access this email address.
Have a look at the send_gmail
or send_bkg
function in the SendMail.py
file to connect to your own SMTP
server.
The software is meant to run as a daily cronjob
.
At the start, VieSchedpp_AUTO.py
will download the newest catalog files and session masters unless the -nd
(no download) flag is passed as an argument.
The software will look at the settings.ini
file and read all observing programs listed there and match them with the observing programs passed via the -p
(observing program) flag. If one matches it will check if a new schedule should be generated.
Make sure that you have a proper settings.ini
file. Have a look at the settings.ini.template
file to get started.
- The schedules are generated based on the templates located in
/Templates/*ObservingProram*/
(You can add as many templates as you like but make sure to use theversion_offset
option to avoid name clashes). - The schedules are generated in the
*prefix*/*ObservingProgram*/*SessionCode*/
folder. The*prefix*
is defined in thesettings.ini
file. - The best schedule is stored in the
*prefix*/*ObservingProgram*/*SessionCode*/selected
folder and notification emails are send. Internally,VieSchedpp_AUTO.py
will use the function named in thesettings.ini
file to determine which session is the preferred one. - A note is left in the
upload_scheduler.txt
file when the session should be uploaded. - After the schedules are generated, the
upload_scheduler.txt
file is used to verify if a schedule should be uploaded to the IVS-BKG server. If so, it is uploaded and notification emails are sent.
Notes:
- downtimes are automatically taken from IVS intensive master for non-intensive sessions
- if you need to manually enter additional downtimes or add station in tagalong mode use the
./downtimes.txt
and./tagalong.txt
file - an easy trick to add more complex parameter changes is to add them via multi-schedling parameters
- if you want to automatically upload files to the IVS BKG server, you have to provide your username and password to the program. Please save username and password in a file called
BKG_pw.txt
(delimited by one whitespace) or insert username and password in source code directly (see fileTransfer.py
, line with comment*** INSERT USER AND PASSWORD HERE (replace user, pw) ***
There are a few restrictions for the XML-templates:
- Do not predefine parameters with a shorter duration than full session time span
- Do not predefine parameters with groups as members (only "all" or explicit station name)