Munich Image Data Analiysis System или попросту ESO MIDAS

Начиная с версии MIDAS 04FEB появилась полноценная возможность работать с данными непосредственно в FITS-формате без перевода во внутренние бинарные форматы (bdf). PyMidas, It provides an interface from the Python scripting language to the ESO-MIDAS, работает с Midas, начиная с версии 05SEPpl1.1

Ставим зависимости

Прописываем опции

В версиях gcc выше 4 компилятор фортрана g77 заменен на gfortran. С этим новым компилятором Мидас компилится без ошибок, но часть функций не работает или работает, но не так. Проблема решается установкой опции -fno-automatic. -march=native воспринимается компиляторами начиная с версии 4.2.0, можно этот ключ и не указывать.

$MIDASHOME/$MIDVERS/install/unix/systems/Linux/make_options:
F77=gfortran
LD77_CMD=gfortran
F_OPT=-O -march=native -ff2c
После компиляции:
cd stdred/spec/src
gfortran -O -march=native -fno-automatic -ff2c -pipe -c progress.f
gfortran progress.o -L../../lib -lspec -L/home/midas/09FEBpl1.0/lib -lftab -lmidas -Wl,-rpath /home/midas/09FEBpl1.0/lib -o ../../exec/progress.exe
Проблемы с prim/exec/plotcol.exe?
cd prim/plot/src/plotcol.c
cc -O -march=native -pipe -DLinuxIntel -DGCC -I/home/midas/09FEBpl1.0/incl -c  plotcol.c
cc plotcol.o  -L/home/midas/09FEBpl1.0/lib -lsubplot -ldisp -lgen -lgmidas -lmidas  -lm -Wl,-rpath /home/midas/09FEBpl1.0/lib -o ../../exec/plotcol.exe

У меня не работала процедура робастного фитирования при компиляции gfortran-ом без ключей. Эта процедура используется для калибровки по длинам волн в контексте spec, echelle и вроде бы в long (на счет long не уверен, не работал с ним). Калибровка просто вылетала с ошибкой:
(ERR) Problems in executing /usr/local/Midas/07SEP/stdred/exec/progress.exe
без указания на тип проблемы.

Опция -fno-automatic позволила программе работать без сообщений об ошибках, но позже выяснилось, что появилась другая проблема. Если использовать результаты робастного фитирования через переменную OUTPUTR, то все нормально, но если использовать результаты фитирования, которые прога записывает непосредственно в табличный файл, то там полная ерунда. Короче говоря, с новым компилятором не все так хорошо, в основном проблемы при передаче переменных из основной программы в подпрограмму. В общем мне, пришлось сделать некоторое исскуственное и не совсем понятное изменение исходного кода программы робастного фитирования, но при этом все заработало нормально :)

Так что разработкчикам Мидаса придется попотеть переводя все фортрановские проги в стандарт 95-го фортрана или уже наконец полностью перейти на Си. До сих пор половина исходного кода Мидаса написана на 77-м фортране, половина на Си. В последней версии 07SEPpl1.1 заметно что работа идет в сторону перехода на Си, но все это как-то медленно происходит.

О возможности работы напряму с фитсами я слышал, но сам не пользовал. Вроде бы за это отвечает переменная AUX_MODE. попробуй сделать:
WRITE/KEYWORD AUX_MODE/I/13/1 1
и поработать с фитсами напрямую.

Скомпилировал Мидас с ключами:
F_OPT=-O -march=native -ff2c
а программу робастного фитирования progress.for отдельно с ключами:
F_OPT=-O -march=native -fno-automatic -ff2c
и все заработало отлично. Причем даже лучше, чем при компиляции 3-й веткой gcc :))

Точность построения дисперсионки увеличилась в 3! раза. Среднеквадратичное отклонение длин волн линий тория составило 50 метров в секунду по 500 линиям. Т.е. внутренняя точность определения скорости по 500 линиям составляет 2 метра в секунду :) Это я имею в виду спектрограф НЭС.

Context PANEL

tar -xvf panel.tar -C ~/midwork/
cd $MIDHOME/$MIDVERS/context/
ln -s ~/midwork/panel/proc/panel.ctx
cd $MIDHOME/$MIDVERS/stdred/proc/
ln -s ~/midwork/panel/proc/panel.prg

cd /home/midas/
ln -s ~/midwork/panel

Ссылки

Приложение

header
MIDAS news, tips & tricks