commit 744e8d2565b6023f7a6a93c650bc6083a8661afa Author: Ekaterina Kuznetsova Date: Mon Mar 13 14:14:59 2023 +0300 ART_XC quickstart guide v.2.1.beta diff --git a/artxc_quickstart_guide.tex b/artxc_quickstart_guide.tex new file mode 100644 index 0000000..db8aef9 --- /dev/null +++ b/artxc_quickstart_guide.tex @@ -0,0 +1,1068 @@ +\documentclass{article} +\usepackage[usenames,dvipsnames]{xcolor} +\usepackage{fullpage} +\usepackage[utf8]{inputenc} +\usepackage[russian]{babel} +\usepackage{array} +\usepackage{booktabs} +\usepackage[section]{placeins} +\usepackage[flushleft]{threeparttable} +\usepackage{tcolorbox} +\usepackage{multirow} +\usepackage{hyperref} +\hypersetup{ + colorlinks=true, + linkcolor=blue, + filecolor=magenta, + urlcolor=cyan, + pdftitle={Overleaf Example}, + pdfpagemode=FullScreen, + linktocpage=true, + } +\urlstyle{same} + +\usepackage{tocloft} +% \renewcommand{\cftpartleader}{\cftdotfill{\cftdotsep}} +% \renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}} % for chapters +\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}} + +\usepackage{fancyvrb} +\usepackage{fvextra} +\usepackage{stackengine} +\usepackage{scalerel} +\newcommand\dangersign[1][2ex]{% + \renewcommand\stacktype{L}% + \scaleto{\stackon[1.3pt]{\color{black}$\triangle$}{\tiny !}}{#1}% +} + +\newcommand{\art}{\textit{СРГ/АРТ-XC}} +\newcommand{\artf}{\textit{АРТ-XC им. М.~Н.~Павлинского}} +\newcommand{\srgart}{\textit{СРГ/АРТ-XC}} +\newcommand{\pipe}{\textsc{artpipeline}} +\newcommand{\prods}{\textsc{artproducts}} +\newcommand{\artim}{\textsc{artimage}} +\newcommand{\artev}{\textsc{artevlist}} +\newcommand{\artarf}{\textsc{artmkarf}} +\newcommand{\artax}{\textsc{artskyaxis}} +\newcommand{\artcoord}{\textsc{artskycoord}} +\newcommand{\artsp}{\textsc{artxspec}} +\newcommand{\artlc}{\textsc{artlcurve}} + +% \hypertarget{thesentence}{this sentence} +% \hyperlink{thesentence}{any sentence} + +\renewcommand\arraystretch{1.2} + +\title{Краткое руководство по обработке данных телескопа \srgart\ им. М.~Н.~Павлинского} +\author{ + Кузнецова Екатерина (ИКИ РАН, eakuznetsova@cosmos.ru) \\ + Штыковский Андрей (ИКИ РАН, sht.job@gmail.com) \\ +} +\date{Версия 2.1 beta от \today} + +\begin{document} + +\maketitle +\tableofcontents +\newpage +\section{Требования к рабочему окружению} +\label{sec:env} + +Для работы конвейера обработки требуются установленные: + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] + \begin{itemize} + \item \textbf{HEASOFT версии 6.28} и старше (см. \href{https://heasarc.gsfc.nasa.gov/docs/software/heasoft/}{здесь}) + \item \textbf{Python версии 3.8} и старше (см. \href{https://www.python.org/downloads/}{здесь}) + \end{itemize} +\end{tcolorbox} + +\section{Подготовка рабочего окружения на серверах СРГ} +\label{sec:prep} + +\noindent +Файлы конвейера обработки и калибровочные файлы лежат на серверах СРГ в директории: \\ +\verb*|/srg/work/srg/artxc|. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\noindent +Для того чтобы проинициализировать рабочее окружение необходимо подгрузить переменные окружения при помощи файла artinit.csh, который который лежит в этой же директории. Пример вызова команды: + +\begin{verbatim} +source /srg/work/srg/artxc/artinit.csh +\end{verbatim} + +\noindent +Чтобы каждый раз не писать длинную команду можно создать \verb*|alias|, прописав в файле $\sim$/.tcshrc: + +\begin{verbatim} +alias artinit "source /srg/work/srg/artxc/artinit.csh" +\end{verbatim} +и выполнив \verb*|source|~\verb*|~/.tcshrc|. После этого в терминале можно инициализировать окружение командой \verb*|artinit|. +\end{tcolorbox} + +% На серверах СРГ установлено несколько разных версий программного обеспечения \textsc{heasoft}, которые нужно по-разному инициализировать для каждого сервера. В будущем планируется обновить программное обеспечение на серверах и привести к единой системе инициализации необходимого окружения. На 18-м сервере программное обеспечение \textsc{HEASOFT v.6.29} и все необходимые библиотеки можно инициализировать, прописав в файле \verb*|~\.tcshrc| следующее: +% \begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +% \begin{Verbatim}[breaklines=true, breakanywhere=true] +% setenv LD_LIBRARY_PATH "" +% setenv LD_LIBRARY_PATH /opt/soft/heasoft-6.24/x86_64-pc-linux-gnu-libc2.17/lib/:/opt/soft/psoft/libpng/lib/:$LD_LIBRARY_PATH +% setenv PATH /opt/soft/bin/:$PATH + +% setenv CALDB /srg/work/srg/artxc/caldb +% alias cdbinit "source $CALDB/software/tools/caldbinit.csh" + +% setenv HEADAS /opt/soft/psoft/heasoft-6.29/x86_64-pc-linux-gnu-libc2.17 +% alias heainit "source $HEADAS/headas-init.csh" + +% alias artinit "source /srg/work/srg/artxc/artinit.csh" +% \end{Verbatim} +% \end{tcolorbox} + +На серверах СРГ установлено несколько разных версий программного обеспечения \textsc{heasoft}, которые нужно по-разному инициализировать для каждого сервера. В будущем планируется обновить программное обеспечение на серверах и привести к единой системе инициализации необходимого окружения. На 10-14 серверах программное обеспечение \textsc{HEASOFT v.6.29} и все необходимые библиотеки можно инициализировать, прописав в файле \verb*|~\.tcshrc| следующее: +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] + \begin{Verbatim}[breaklines=true, breakanywhere=true] +alias artinit "source /srg/work/srg/artxc/artinit.csh" +setenv LD_LIBRARY_PATH "" +setenv LD_LIBRARY_PATH /opt/soft/psoft/gcc-9.3.0/lib64/:/opt/soft/psoft/lib/:$LD_LIBRARY_PATH + +setenv PATH /opt/soft/psoft/bin:$PATH +setenv PYTHONPATH /opt/soft/psoft/bin +source /opt/soft/psoft/python_venv/bin/activate.csh + +setenv HEADAS /opt/soft/psoft/heasoft-6.29/x86_64-pc-linux-gnu-libc2.17 +alias heainit "source $HEADAS/headas-init.csh" + +setenv CALDB /srg/work/srg/artxc/caldb +alias cdbinit "source $CALDB/software/tools/caldbinit.csh" + \end{Verbatim} +\end{tcolorbox} + + +\section{Уровни данных} +\label{sec:data} + +В процессе обработки данных космического телескопа \art\ используются и производятся следующие уровни данных: + \begin{itemize} + \item L0 - исходные (сырые) данные + \item L1 - калиброванные данные + \item L2 - калиброванные и очищенные данные + \item L3 - продукты высокого уровня + \end{itemize} + +Данные на всех уровнях представлены в формате FITS. + +Исходные данные уровня L0 представляют собой списки некалиброванных и неочищенных событий и кватернионы ориентации телескопа \art, измеренные Гироскопическим Измерителем Вектора Угловых Скоростей (ГИВУС) (см. таблицу~\ref{tab:l0}). + +На данный момент архив данных находится в разработке, поэтому необходимо заранее уточнить реальную директорию, в которой лежат данные необходимого наблюдения. Некоторые наблюдения лежат в директории \verb*|/srg/a1/work/oper/data/archive/observations//L0/| или, если нет доступка к \verb*|/srg/a1|, \verb*|/srg/work/oper/data/archive/observations//L0/|, где \verb*|| --- индивидуальный номер наблюдения. + +\begin{table}[!h] + \centering + \caption{Файлы директории L0, которая содержит исходные данные.} + + \begin{tabular}{| m{5cm} | m{10.7cm} |} + \hline + \textbf{Название / Пример} & \textbf{Описание} \\ + \hline + \verb*|T[1-7]_uf.fits|/ \verb*|art119100400010T1_uf.fits| & Списки некалиброванных и неочищенных событий. + + \verb*|=art[0-1]| --- префикс используемых файлов. + + Индекс \verb*|0| соответствует данным, набранным во время наблюдения, \verb*|1| --- данным, полученным во время перенаведения на объект (pre-slew, т.е. от момента окончания предыдущего наблюдения до момента начала текущего наблюдения). + + Индекс \verb*|T[1-7]| соответствует номеру модуля телескопа АРТ-XC от 1 до 7. \\ + \hline + \verb*|_gyro.fits|/ \verb*|art119100400010_gyro.fits| & Файл с кватернионами ориентации телескопа. \\ + \hline + \end{tabular} +\label{tab:l0} +\end{table} + + + +% \section{Архив данных наблюдений на серверах СРГ} +% \label{sec:arch} + +% Архив данных наблюдений подготовлен согласно программе наблюдений СРГ. Каждое наблюдение лежит в отдельной директории и содержит файлы наведений и интервалов хорошего времени, а также данные сырые сырые списки событий уровня L0. Подготовленные к последующей обработке файлы наблюдений находятся в директории \textbf{(необходимо уточнить директорию)}: + +% \begin{verbatim} +% /srg/a1/work/oper/data/archive/observations/$obsid/L0 +% \end{verbatim} + +% \noindent +% Подневный архив наблюдений, обновляемый на ежедневной основе, содержит непрерывные данные наблюдений, разделенные по дням наблюдений (ARTDAYS). Архив содержит файлы наведений и списки событий уровней L0, L1 и L2. Подневный архив наблюдений лежит в директории: +% \begin{verbatim} +% /srg/a1/work/oper/data/artdays +% \end{verbatim} + +\section{Этапы обработки данных} +\label{sec:steps} + +Обработка исходных данных уровня L0 проводится в несколько этапов: +\begin{enumerate} +\item калибровка сырых данных уровня L0, в результате чего генерируются данные уровня L1 +\item очистка калиброванных данных уровня L1, что производит данные уровня L2 +\item генерация научных продуктов высокого уровня L3 +\end{enumerate} +Первый и второй этапы проводятся с помощью процедуры \pipe\ (см. секцию~\ref{sec:pipe}), за третий этап отвечает процедура \prods\ (см. секцию~\ref{sec:prods}). + + +Рисунок \ref{fig:proc} содержит схему уровней данных с указанием процедур, с помощью которого производится каждый следующий уровень. Стоить отметить, что данные уровня L1 в схеме не отображены, т.к. являются промежуточной стадией процедуры \pipe. + +\begin{figure*}[h!] + \centerline{\includegraphics[width=0.8\textwidth]{data_levels.png}} + \caption{Этапы обработки и уровни данных космического телескопа \artf.} +\label{fig:proc} +\end{figure*} + + +\section{\pipe\ --- получение калиброванных и очищенных данных уровня L2} +\label{sec:pipe} + +Первый этап обработки данных --- калибровка и очистка (уровень данных L2). +% \textbf{На этапе очистки к калиброванному списку событий применяются фильтры .... } +Для выполнения первого этапа обработки данных используется процедура \pipe, параметры вызова которой приведены в Таблице~\ref{tab:pipepar}. При возникновении ошибок выполнения данной процедуры смотрите секцию~\ref{sec:err}. Промежуточные файлы калиброванных, но не очищенных, списков событий (уровень L1) не сохраняются после успешного завершения процедуры. + +Процедура \pipe\ поддерживает использование пользовательских временных интервалов, которые можно задать с помощью ключа \verb*|--usergti|. + +После успешного выполнения этой команды в директории \verb*|./processed/119100400010| будет создана поддиректория L2, которая будет содержать калиброванные очищенные данные. Содержимое директории L2, созданной после успешного завершения процедуры \pipe, описано в таблице~\ref{tab:l2}. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример вызова \pipe} (на примере наблюдения OBSID=11910040001): + +\begin{verbatim} +artpipeline \ + stem=art119100400010 \ + srcdir=/data/artxc/obsid/119100400010/L0 \ + dstdir=./processed/119100400010 + tmpdir=/temp +\end{verbatim} + +\dangersign[4ex] Указанную в \verb*|srcdir| директорию \verb*|/data/artxc/obsid| необходимо заменить на реальную директорию, в которой лежат данные которые необходимо обработать. +\end{tcolorbox} + + +\begin{table}[!h] + \centering + \caption{ Параметры процедуры \pipe. Переменная --- обозначает путь к соответствующим файлам.} + + \begin{tabular}{| m{5em} | m{5cm}| m{8.2cm} |} + \hline\hline + + \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ + \hline + \verb*|stem| & \verb*|art[0-1]| & Префикс для имен входных и выходных файлов. \\ + \hline + \verb*|srcdir| & \verb*|//L0| & Входная директория, указывающая путь к файлам данных уровня L0. \\ + \hline + \verb*|dstdir| & \verb*|/| & Выходная директория, в которой будут созданы поддиректории L1 и L2. Создаётся новая или используется уже существующая. \\ + \hline + \verb*|tmpdir| & \verb*|/temp| & Директория для временных файлов. Создаётся новая или используется уже существующая. В директории, указанной в параметре \verb*|tmpdir| создаётся новая директория для размещения временных файлов, генерируемых в процессе работы процедуры. При успешном завершении процедуры эта директория автоматически удаляется. Если Вы работаете на серверах сети СРГ, то эта директория очищается при перезагрузке сервера. \\ + \hline + \verb*|--usergti| & \verb*|/.fits| & Пользовательский файл с необходимыми временными интервалами (опциональный параметр).\\ + \hline +% \verb*|--seed| & & Параметр для генератора случайных чисел. Выбирается автоматически, но может быть задан вручную, например, для полного повторения результатов запуска \pipe. \\ +% \hline + \end{tabular} +\label{tab:pipepar} +\end{table} + + +%В данной процедуре заложен генератор случайных чисел, при помощи которого разыгрываются значения в колонках списка событий, содержащих информацию об энергии пришедшего фотона (\verb*|[ENERGY]|, \verb*|[ENERGY_BOT]|, \verb*|[ENERGY_TOP]|) и о его небесных координатах (\verb*|[RA]|, \verb*|[DEC]|). Генератор случайных чисел определяется числом \verb*|[SEED]|, которое при каждом запуске \pipe\ обновляется и записывается в \verb*|HEADER| полученных списков событий уровня L2. Автоматически при запуске \pipe\ для энергии пришедшего фотона и его небесных координат генерируются разные числа. Однако существует возможность вручную задавать число \verb*|[SEED]| с помощью параметра \verb*|--seed| процедуры \pipe. В таком случае генератор случайных чисел использует одинаковое число \verb*|[SEED]| для розыгрыша энергий и небесных координат. При необходимости полностью повторить результаты того или иного запуска \pipe, необходимо при каждом запуске \pipe\ указывать одинаковый параметр \verb*|--seed|. + +\begin{table}[!h] + + \centering + \caption{Файлы директории L2, генерируемые процедурой \pipe.} + + \begin{tabular}{| m{5cm} | m{10.7cm} |} + \hline + \textbf{Название / Пример} & \textbf{Описание} \\ + \hline + \verb*|_att.fits|/ \verb*|art119100400010_att.fits| & Файл наведения телескопа. \\ + \hline + \verb*|_ori.fits|/ \verb*|art119100400010_ori.fits| & Файл ориентации телескопа. \\ + \hline + \verb*|T[1-7]_cl.fits|/ \verb*|art119100400010T1_cl.evt| & Файлы с калиброванными и очищенными списками событий для каждого телескопа. Индекс T[1-7] соответствует номеру модуля телескопа \art\ от 1 до 7. \\ + \hline + \end{tabular} +\label{tab:l2} +\end{table} + + +\FloatBarrier + +\section{\prods\ --- получение продуктов высокого уровня L3} +\label{sec:prods} + +Для получения продуктов высокого уровня необходимо выполнить 4 шага: +\begin{enumerate} +\item задать область неба (секция~\ref{sec:wcs}); +\item произвести привязку данных к заданной области неба с помощью \prods, в результате чего производятся списки событий и изображения неба (секция~\ref{sec:artprod1}); +\item определить регионы для извлечения сигнала источника и оценки фонового излучения (секция~\ref{sec:reg}); +\item получить кривые блеска и спектры с помощью \prods\ (секция~\ref{sec:artprod2}). +\end{enumerate} +\noindent +Каждый этап подробно описан ниже. + +\subsection{Определение области неба} +\label{sec:wcs} + +Для определения разметки области неба, на которую будут проецироваться фотоны с помощью процедуры \prods, необходимо создать текстовый WCS-файл с заданными параметрами координатной сетки. Описание параметров, которые должны быть записаны в WCS-файле, приведены в таблице~\ref{tab:wcs}. Предлагается задавать наименование WCS-файла в следующем формате: \verb*|_skytile.wcs|. Процедура \prods\ поддерживает только систему координат FK5. + +\begin{table}[!h] + + \centering + \caption{Параметры WCS-файла (в разработке). На данный момент изменения фиксированных параметров невозможны.} + + \begin{tabular}{| m{5em} | m{4cm}| m{9.4cm} |} + \hline\hline + + \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ + \hline + \verb*|nx| & 1024 пикс. & Количество пикселей по оси X. \\ + \verb*|ny| & 1024 пикс. & Количество пикселей по оси Y. \\ + & & Процедура \prods\ умножает эти параметры на 2 и прибавляет 1.\\ + \hline + \verb*|crpix1| & 512 пикс. & Координата опорной точки по оси X. \\ + \verb*|crpix2| & 512 пикс. & Координата опорной точки по оси Y. \\ + & & Процедура \prods\ умножает эти параметры на 2.\\ + \hline + \verb*|crval1| & RA, $^{\circ}$ & Прямое восхождение (RA) опорной точки. \\ + \verb*|crval2| & Dec, $^{\circ}$ & Наклонение (Dec) опорной точки. \\ + \hline + \verb*|cdelt1| & $-0.0025318223732333^{\circ}$ & Шаг по прямому восхождению вдоль оси X. Фиксированный параметр.\\ + \verb*|cdelt2| & $0.0025318223732333^{\circ}$ & Шаг по наклонению вдоль оси Y. Фиксированный параметр. \\ + \hline + \verb*|crota2| & $0^{\circ}$ & Угол наклона координатной сетки. Фиксированный параметр. \\ + \hline +\end{tabular} +\label{tab:wcs} +\end{table} + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример содержания WCS файла} для источника GRO~J1008--571 с координатами RA = 152.4457, Dec = -58.293 (OBSID=11910040001): +\begin{verbatim} +{ + "nx" : 1024, + "ny" : 1024, + "crpix1": 512, + "crpix2": 512, + "crval1": 152.4457, + "crval2": -58.293, + "cdelt1": -0.0025318223732333, + "cdelt2": 0.0025318223732333, + "crota2": 0 +} +\end{verbatim} +\end{tcolorbox} + + + +\subsection{Привязка списков событий к координатам и получение изображения} +\label{sec:artprod1} + +На данном этапе проводится привязка калиброванных и очищенных списков событий к координатной разметке, заданной WCS-файлом (см. секцию ~\ref{sec:wcs}), что позволяет получить изображение неба. Для этого необходимо запустить процедуру \prods\ с ключами \verb*|--prepare-skytile| и \\ \verb*|--wcs=/_skytile.wcs|, где \verb*|| --- путь к директории, в которой находится нужный WCS-файл. Параметры процедуры \prods\ описаны в таблице~\ref{tab:prod1}. Список возможных ошибок выполнения данной процедуры и их решений указан в секцию~\ref{sec:err}. + +Стоить отметить, что процедура \prods\ не поддерживает использование пользовательских временных интервалов, заданных с помощью ключа \verb*|--usergti|. При необходимости использовать пользовательские временные интервалы рекомендуется запустить сначала \pipe\ (см. секцию~\ref{sec:pipe}) с соответствующим ключом \verb*|--usergti|, а затем на полученных списках событий запускать \prods. + +Процедура \prods\ может производить изображения в определённом энергетическом диапазоне от $E_{min}$ до $E_{max}$ с помощью ключей \verb*|--elow| и \verb*|--ehigh|, которые соответствуют нижней и верхней границам заданного диапазона соответственно (см. таблицу~\ref{tab:prod1}). + +При успешном выполнении команды \prods\ будут созданы списки событий с заданной системой координат (WCS) в поддиректории \verb*|//L3/events| и построены изображения указанной области неба по каждому модулю телескопа \art\ и совместное по всем модулям в поддиректории \verb*|//L3/img| (см. таблицу~\ref{tab:ev_img}). Поддиректории будут созданы в выходной директории \verb*|dstdir=//L3|, указанной при запуске \prods. + +% \noindent +% Для определения регионов для извлечения данных необходимо выполнить команду \textsc{artproducts} с ключами prepare-skytile и wcs (с указанием WCS для построения изображения). + +\begin{table}[!h] + \centering + \caption{Параметры и ключи процедуры \prods, необходимые для привязки списка событий к заданной области неба и построению изображения. Переменная --- обозначает путь к соответствующим файлам.} + + \begin{tabular}{| m{5em} | m{5cm}| m{8.2cm} |} + \hline\hline + + \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ + \hline + \verb*|stem| & \verb*|art[0-1]| & Префикс для имен входных и выходных файлов. \\ + \hline + \verb*|srcdir| & \verb*|//L2| & Входная директория, указывающая путь к файлам данных уровня L2. \\ + \hline + \verb*|dstdir| & \verb*|//L3| & Выходная директория, в которой будут созданы поддиректории \verb*|events| и \verb*|img|. Создаётся новая или используется уже существующая. \\ + \hline + \verb*|tmpdir| & \verb*|/temp| & Директория для временных файлов. Создаётся новая или используется уже существующая. В директории, указанной в параметре \verb*|tmpdir| создаётся новая директория для размещения временных файлов, генерируемых в процессе работы процедуры. При успешном завершении процедуры эта директория автоматически удаляется. Если Вы работаете на серверах сети СРГ, то эта директория очищается при перезагрузке сервера. \\ + \hline + \verb*|--prepare-| \verb*|skytile| & & Ключ, запускающий процедуру \prods\ в режиме, который проводит привязку данных уровня L2 к области неба, заданной WCS-файлом. \\ + \hline + \verb*|--wcs| & \verb*|/_skytile.wcs| & WCS-файл, содержащий информацию о системе координат и области неба, на которую будут проецироваться списки событий уровня L2.\\ + \hline + \multicolumn{3}{|c|}{\textbf{Опциональные параметры}}\\ + \hline + \verb*|--elow| & $E_{min}$, кэВ & Нижняя граница энергетического диапазона. По умолчанию $E_{min}=4$~кэВ. \\ + \hline + \verb*|--ehigh| & $E_{max}$, кэВ & Верхняя граница энергетического диапазона. По умолчанию $E_{max}=12$~кэВ. \\ +% \hline +% \verb*|--usergti| & \verb*|/.fits| & Пользовательский файл с необходимыми временными интервалами (опциональный параметр).\\ + \hline + \end{tabular} +\label{tab:prod1} +\end{table} + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример вызова \prods} (на примере наблюдения OBSID=11910040001) для подготовки определения регионов: + +\begin{verbatim} +artproducts \ + stem=art119100400010 \ + srcdir=./processed/119100400010/L2 \ + dstdir=./processed/119100400010/L3 \ + tmpdir=/temp \ + --prepare-skytile \ + --wcs=./art119100400010_skytile.wcs +\end{verbatim} +% --wcs=/data/artxc/obsid/119100400010/meta/art119100400010_skytile.wcs + +\dangersign[4ex] Повторный запуск процедуры \prods\ приводит к перезаписи файлов в директории \verb*|L3\img| и не изменяет файлы директории \verb*|L3\events|. Полная перезапись файлов на данный момент не реализована, поэтому перед повторным запуском процедуры рекомендуется удалить все ранее сгенерированные ей файлы или изменить выходную директорию. +\end{tcolorbox} + + + +\begin{table}[!h] + \centering +\caption{Файлы, генерируемые после вызова процедуры \prods, описанной в пункте~\ref{sec:artprod1}. Для каждого случая индекс T[1-7] соответствует номеру модуля телескопа \art\ от 1 до 7.} + + \begin{tabular}{| m{5cm} | m{10.7cm} |} + \hline + \textbf{Название / Пример} & \textbf{Описание} \\ + \hline + \multicolumn{2}{|c|}{\textbf{Директория events}} \\ + \hline + \verb*|T[1-7]_cl.evt|/ \verb*|art119100400010T1_cl.evt| & файлы с калиброванными и очищенными списками событий, полученные каждым модулем телескопа \art, с привязкой к координатной сетке, заданной WCS-файлом на предыдущем шаге. \\ + \hline + \multicolumn{2}{|c|}{\textbf{Директория img}} \\ + \hline + T[1-7].img/ \verb*|art119100400010T1.img| & индивидуальные для каждого модуля телескопа \art\ изображения области неба, заданной WCS-файлом. \\ + T[1-7]\_all.img/ \verb*|art119100400010T1_all.img| & изображение заданной области неба, просуммированное по всем модулям телескопа \art.\\ + \hline + \end{tabular} +\label{tab:ev_img} +\end{table} + +\subsection{Определение регионов для извлечения информации об источнике} +\label{sec:reg} + +Перед тем, как получить кривые блеска и спектры источника, необходимо определить регионы, из которых будет собираться сигнал источника и излучение фона. Для этого необходимо на суммарном изображении неба (например, \verb*|art119100400010T1_all.img|, см. таблицу~\ref{tab:ev_img}), полученном при запуске \prods, определить два региона и сохранить их в формате программы \textsc{ds9}. + +На данный момент поддерживаются только круговые регионы, при этом для извлечения сигнала источника рекомендуется задавать единственный регион с радиусом $R=136.5''$, что соответствует трём пикселям детектора, каждый из которых имеет размер $45.5''$. Для оценки фонового излучения разрешается задавать несколько регионов без регионов исключения. + +% Суммарное изображение, полученное при запуске \prods, необходимо открыть с DS9 и определить регионы для извлечения фотонов источника и фона \textbf{(на данный момент поддерживаются только круговые регионы)}. + +% На данный момент процедура \prod\ поддерживает только круговые регионы. Для точечных источников рекомендуемый размер региона составляет $R=135''$. + +\subsection{Получение спектров и кривых блеска} +\label{sec:artprod2} + +\noindent +Предыдущие шаги были подготовительными этапами для получения научных продуктов высокого уровня L3, а именно: кривых блеска и спектров. Списки событий были привязаны к координатной сетке WCS, регионы источника и фона были определены по полученным изображениям. Теперь нужно произвести вызов процедуры \prods\ с указанием регионов для извлечения фотонов источника и фона, положения источника, файла ориентации телескопа и параметров кривой блеска. В качестве входной директории указывается директория \verb*|//L3/events|, содержащая списки событий с привязкой к координатам, полученные на более раннем этапе (см. секцию~\ref{sec:artprod1}). Полный список параметров процедуры \prods\ указан в таблице~\ref{tab:prod2}. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример вызова \prods} (на примере наблюдения OBSID=11910040001) с использованием подготовленного WCS-файла: + +\begin{verbatim} +artproducts \ + stem=art119100400010 \ + srcdir=./processed/119100400010/L3/events \ + dstdir=./processed/119100400010/L3 \ + tmpdir=/temp \ + --orient=./processed/L2/art119100400010_ori.fits \ + --srcreg=./processed/L3/reg/art119100400010_src.reg \ + --bkgreg=./processed/L3/reg/art119100400010_bkg.reg \ + --srcra=152.4457 \ + --srcdec=-58.293 \ + --elow=4 \ + --ehigh=12 \ + --binsize=1 +\end{verbatim} + +\dangersign[4ex] Обратите внимание, что в \verb*|srcdir| указывается директория событий, полученных после вызова процедуры \prods\ в пункте~\ref{sec:artprod1}. + +\dangersign[4ex] \dangersign[4ex] Повторный запуск процедуры \prods\ приводит к ошибке выполнения данной программы. Перезапись файлов при повторном запуске процедуры на данный момент не реализована, поэтому рекомендуется удалить ранее сгенерированные файлы или изменить выходную директорию. +\end{tcolorbox} + +\begin{table}[!h] + \centering + \caption{Параметры и ключи процедуры \prods, необходимые для получения кривых блеска и спектров. Переменная --- обозначает путь к соответствующим файлам. } + + \begin{tabular}{| m{5em} | m{5cm}| m{8.2cm} |} + \hline\hline + + \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ + \hline + \verb*|stem| & \verb*|art[0-1]| & Префикс для имен входных и выходных файлов. \\ + \hline + \verb*|srcdir| & \verb*|//L3/events| & Входная директория, указывающая путь к спискам событий уровня L3. \\ + \hline + \verb*|dstdir| & \verb*|//L3| & Выходная директория, в которой будут созданы поддиректории \verb*|pha| и \verb*|lc|. Создаётся новая или используется уже существующая. \\ + \hline + \verb*|tmpdir| & \verb*|/temp| & Директория для временных файлов. Создаётся новая или используется уже существующая. В директории, указанной в параметре \verb*|tmpdir| создаётся новая директория для размещения временных файлов, генерируемых в процессе работы процедуры. При успешном завершении процедуры эта директория автоматически удаляется. Если Вы работаете на серверах сети СРГ, то эта директория очищается при перезагрузке сервера. \\ + \hline + \verb*|--orient| & \verb*|//L2/| \verb*|_ori.fits| & Файл ориентации телескопа \art. \\ + \hline + \verb*|--srcreg| & \verb*|/.reg| & Регион, из которого извлекается излучение источника. \\ + \hline + \verb*|--bkgreg| & \verb*|/.reg| & Регион, внутри которого оценивается уровень фонового излучения. \\ + \hline + \verb*|--srcra| & \verb*|RA|, $^{\circ}$ & Прямое восхождение (RA) источника. \\ + \hline + \verb*|--srcdec| & \verb*|Dec|, $^{\circ}$ & Наклонение (Dec) источника.\\ + \hline + \multicolumn{3}{|c|}{\textbf{Параметры для получения кривых блеска}}\\ + \hline + \verb*|--elow| & $E_{min}$, кэВ & Нижняя граница энергетического диапазона. По умолчанию $E_{min}=4$~кэВ. \\ + \hline + \verb*|--ehigh| & $E_{max}$, кэВ & Верхняя граница энергетического диапазона. По умолчанию $E_{max}=12$~кэВ. \\ + \hline + \verb*|--binsize| & $T_{bin}$, с & Размер бина кривой блеска. По умолчанию $T_{bin}=1$~с. \\ + \hline + % \multicolumn{3}{|c|}{\textbf{Опциональные параметры}}\\ + % \hline + % \verb*|--usergti| & \verb*|/.fits| & Пользовательский файл с необходимыми временными интервалами.\\ + % \hline + \end{tabular} +\label{tab:prod2} +\end{table} + +\begin{table}[!ht] + \centering +\caption{Файлы, генерируемые после вызова процедуры \prods, описанной в пункте~\ref{sec:artprod2}. Для каждого случая индекс T[1-7] соответствует номеру модуля телескопа \art\ от 1 до 7.} + + \begin{tabular}{| m{7cm} | m{8.7cm} |} + \hline + \textbf{Название / Пример} & \textbf{Описание} \\ + \hline + \multicolumn{2}{|c|}{\textbf{Директория lc}} \\ + \hline + \verb*|T[1-7]_src.lc|/ \verb*|art119100400010T1_src.lc| & Кривая блеска источника в энергетическом диапазоне $E_{min}-E_{max}$ с временным шагом $T_{bin}$. \\ + \hline + \verb*|T[1-7]_bkg.lc|/ \verb*|art119100400010T1_bkg.lc| & Кривая блеска фонового излучения в энергетическом диапазоне $E_{min}-E_{max}$ с временным шагом $T_{bin}$. \\ + \hline + \multicolumn{2}{|c|}{\textbf{Директория pha}} \\ + \hline + \verb*|T[1-7]_src.pha|/ \verb*|art119100400010T1_src.pha| & Спектр источника. \\ + \hline + \verb*|T[1-7]_bkg.pha|/ \verb*|art119100400010T1_bkg.pha| & Спектр фона.\\ + \hline + \verb*|T[1-7].arf|/ \verb*|art119100400010T1.arf| & ARF (Ancillary Response File) --- файл, описывающий зависимость эффективной площади детектора от энергии фотона. \\ + \hline + \verb*|artxc_rmf_T[1-7]_20191030_v003.rmf|/ \verb*|artxc_rmf_T1_20191030_v003.rmf| & RMF (Responce Matrix File) --- файл, содержащий матрицу отклика детектора.\\ + \hline + \end{tabular} +\label{tab:lc_pha} +\end{table} + + +При успешном завершении процедуры \prods\ в выходной директории \verb*|//L3| будут созданы поддиректории \verb*|lc| и \verb*|pha|, содержащие файлы кривых блеска и спектров соответственно. Список генерируемых файлов приведён в таблице~\ref{tab:lc_pha}. При возникновении ошибок выполнения данной процедуры смотрите секцию~\ref{sec:err}. + +% \begin{table}[h!] + +% \centering +% \caption{ Параметры процедуры \textsc{artproducts}.} + +% \begin{tabular}{c|l|l} +% \hline\hline + +% Параметр & Значение & Комментарий \\ +% \hline +% stem & префикс для имен выходных файлов & \\ +% srcdir & входная директория & путь к файлам L2 \\ +% dstdir & выходная директория & будут созданы поддиректории: \\ +% & & events, img, lc, pha \\ +% tmpdir & директория для временных файлов & \\ +% --usergti & пользовательский gti (fits) & \\ +% --orient & файл наведений обсерватории & \\ +% --srcreg & ds9 регион источника & * \\ +% --bkgreg & ds9 регион фона & ** \\ +% --elow & нижняя граница энерг. диапазона & кэВ, по умолчанию -- 4 \\ +% --ehigh & верхняя граница энерг. диапазона & кэВ, по умолчанию -- 12 \\ +% --binsize & размер бина кривой блеска & сек, по умолчанию -- 1 \\ +% --wcs & WCS для построения изображения & \\ +% --prepare-skytile & ключ для подготовки данных & \\ +% --srcra & прямое восхождение источника & град \\ +% --srcdec & склонение источника & град \\ +% \hline +% \end{tabular} + +% \begin{tablenotes} +% \small +% \item *) Для области источника поддерживаются только круговые регионы. Количество регионов ограничено одним. +% \item **) Для области фона поддерживаются все основные формы регионов. Количество регионов не ограничивается. Не поддерживаются регионы исключения. + +% \end{tablenotes} +% \end{table} + +\section{Рекомендации по работе с научными продуктами уровня L3} +\label{sec:recom} + +\subsection{Спектры} +\label{sec:spec} + +Процедура \prods\ создаёт 7 спектров, измеренных по каждому модулю телескопа \art. Большое количество спектров неудобно загружать вручную, поэтому в данной главе приведено несколько примеров кода, позволяющих ускорить работу со спектрами. Также здесь описаны особенности работы со спектрами телескопа \art. + +\subsubsection{Группировка данных} +\label{sec:spec} + +Для использования статистики $\chi^2$ спектры необходимо перегруппировать так, чтобы отсчёты в каждом бине были нормально распределены. Каждый спектр рекомендуется перегруппировать с использованием команд \textsc{grrpha} или \textsc{ftgrouppha}, являющихся частью программного обеспечения \textsc{HEASOFT}. + +Спектры \textbf{ярких источников} могут быть перегруппированы единообразно, чтобы бины каждого спектра совпадали друг с другом. Рекомендуется группировать по 2 канала в бине для энергий до 20 кэВ, а от 20 кэВ --- по 5 или 10 каналов. Номер канала соответствует энергии, выраженной в кэВ и умноженной на 10. Для этого необходимо подготовить файл с информацией о том, как необходимо перегруппировать данные. Этот файл должен содержать 3 колонки: минимальный канал бина \verb*|MINCHAN|, максимальный канал бина \verb*|MAXCHAN|, число каналов в бине \verb*|NCHAN| (см. описание утилиты \href{https://heasarc.gsfc.nasa.gov/lheasoft/ftools/fhelp/grppha.txt}{grppha}). Если количество условий разбиения по каналам меньше 6, то эту информацию можно задавать напрямую в \textsc{grppha} с помощью команды: \verb*|group|~\verb*|50|~\verb*|200|~\verb*|2|~\verb*|201|~\verb*|250|~\verb*|5|~\verb*|251|~\verb*|300|~\verb*|10|. При необходимости можно увеличивать количество каналов в одном бине, однако рекомендуется указывать число \verb*|NCHAN|, не меньшее~2. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример содержания файла energy\_bins.txt с указанием границ бинов для перегруппировки спектров.} +\begin{Verbatim}[breaklines=true, breakanywhere=true] +50 200 2 +201 250 5 +251 300 10 +\end{Verbatim} +\end{tcolorbox} + +Также необходимо следить за тем, чтобы на высоких энергиях было достаточно отсчётов над уровнем фона для использования статистики $\chi^2$. Для этого нужно, чтобы спектр источника значимо превышался над уровнем фона. Проверить это можно, например, построив на одном графике спектры фона с помощью \textsc{xspec} следующими командами: \verb*|setpl|~\verb*|back| и \verb*|pl|~\verb*|da|. Кроме того, можно сравнить количество отсчётов непосредственно в файлах со спектрами, однако, необходимо учитывать, что излучение источника и фона могли извлекаться из регионов разных площадей. + + + +Стоит отметить, что из-за технических особенностей телескопа \art\ рекомендуется маркировать все отсчёты с энергиями до 5~кэв и выше 30~кэВ флагом "BAD" (в нотации \textsc{grppha} "\verb*|bad| \verb*|0-49| \verb*|301-650|") и добавлять систематическую ошибку на уровне 3\% ("\verb*|SYSTEMATICS| \verb*|50-300| \verb*|0.03|"). +%Пример простого скрипта для запуска \textsc{grppha} для спектров всех модулей телескопа приведён ниже. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример скрипта для перегруппировки спектров всех модулей телескопа \art\ с помощью процедуры \textsc{grppha} для яркого источника} (на примере наблюдения OBSID=11910040001). +\begin{Verbatim}[breaklines=true, breakanywhere=true] +#!/bin/bash + +for MOD in {1..7} +do + grppha infile="art119100400010T${MOD}_src.pha" outfile="art119100400010T${MOD}_src.grp.pha" comm="reset group & reset bad & bad 0-49 301-650 & group energy_bins.txt & SYSTEMATICS 50-300 0.03 & exit" +done +\end{Verbatim} +% Здесь \verb*|energy_bins.txt| --- файл, содержащий информацию о разбиении спектра по каналам. +\dangersign[4ex] После проведения перегруппировки спектров необходимо проверить, что каждый бин содержит не менее 30 (или 25) отсчётов над фоновыми бинами, чтобы можно было использовать статистику $\chi^2$. +\end{tcolorbox} + +В случае \textbf{слабого источника} при единообразной перегруппировке спектров \textbf{слабых источников} может быть недостаточно отсчётов, чтобы использовать статистику $\chi^2$. В таком случае можно использовать утилиту \textsc{grppha} без указания, по каким каналам перегруппировать спектр. Достаточным будет перегруппировать каждый спектр индивидуально, чтобы в спектральном бине было не менее 30 (или 25) отсчётов с помощью команды \verb*|group|~\verb*|min|~\verb*|30|. В таком случае каждый спектр будет перегруппирован с индивидуальным разбиением по спектральным каналам. Пример скрипта для индивидуальной перегруппировки спектров представлен ниже. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример скрипта для индивидуальной перегруппировки спектров всех модулей телескопа \art\ с помощью процедуры \textsc{grppha} для слабого источника} (на примере наблюдения OBSID=11910040001). +\begin{Verbatim}[breaklines=true, breakanywhere=true] +#!/bin/bash + +for MOD in {1..7} +do + grppha infile="art119100400010T${MOD}_src.pha" outfile="art119100400010T${MOD}_src.grp.pha" comm="reset group & reset bad & bad 0-50 300-650 & group min 30 & SYSTEMATICS 50-300 0.03 & exit" +done +\end{Verbatim} + +\dangersign[4ex] После проведения перегруппировки спектров необходимо проверить, что каждый бин содержит не менее 30 (или 25) отсчётов, чтобы можно было использовать статистику $\chi^2$. +\end{tcolorbox} + +Если же источник настолько слабый, что индивидуальная перегруппировка спектров с минимальным количеством отсчетов в бине, равным 30 (или 25), не приносит хороший результат, то спектры можно не перегруппировывать и аппроксимировать с использованием статистики Пуассона. В \textsc{xspec} статистика Пуассона включается с помощью команды \verb*|statistics|~\verb*|cstat|. О других возможных статистиках в \textsc{xspec} смотрите \href{https://heasarc.gsfc.nasa.gov/xanadu/xspec/manual/XSappendixStatistics.html}{здесь}. + +\subsubsection{Работа в \textsc{xspec}} +\label{sec:spec} + +Для проведение научного анализа в \textsc{Xspec} спектры необходимо загружать параллельно с помощью команды \\ \verb*|da|~\verb*|:| \verb*|T_src.pha|, где \verb*|| --- номер модуля телескопа \art. Для загрузки большого количества спектров одновременно удобно использовать скрипты на языке Tcl, которые можно загрузить в \textsc{xspec} следующим образом: \verb*|@/.tcl|, где \verb*|| --- путь к файлу со скриптом, а \verb*|.tcl| --- название самого файла. Пример такого скрипта приведён ниже. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример скрипта для загрузки спектров каждого модуля телескопа \art\ в \textsc{xspec}} (на примере наблюдения OBSID=11910040001). +\begin{Verbatim}[breaklines=true, breakanywhere=true] +#!/bin/bash + +for {set i 1} {$i < 8} {incr i} { + da $i:$i "art119100400010T${i}_src.grp.pha" #загрузка спектров + } +setpl en +cpd /xw +ign 1-7: **-6. 20.-** #ограничение энергетического диапазона +mo const*pow #простая спектральная модель +fit +pl eeuf del +setpl group 1-7 #только для единообразно перегруппированных спектров +\end{Verbatim} + +\dangersign[4ex] Обратите внимание, что для устранения неопределённостей, связанных с нормировкой разных модулей телескопа, необходимо к любой спектральной модели применять модель \verb*|const|. +\end{tcolorbox} + +Если спектры были сгруппированы по каналам единым образом, для графического представления результатов в \textsc{xspec} можно использовать команду \verb*|setpl|~\verb*|group|~\verb*|1-7|, которая представит все 7 спектров в виде одного, при этом спектры всё ещё будут аппроксимироваться индивидуально. + + +\section{Отдельные задачи процедуры \prods} +\label{sec:tasks} + +В некоторых случаях удобно по готовому списку событий уровня L3 (см. секцию~\ref{sec:artprod1}) построить отдельно кривую блеска или изображение и не запускать полную процедуру \prods. Данная глава содержит описание возможностей небольших задач, входящих в процедуру \prods, которые способны произвести отдельные научные продукты. + +\subsection{\artim} +\label{sec:im} + +Задача \artim\ строит изображение в заданном энергетическом диапазоне от $E_{min}$ до $E_{max}$ для готового списка событий выбранного модуля телескопа \art, полученного процедурой \prods\ (см. секцию~\ref{sec:artprod1}). Параметры задачи \artim\ перечислены в таблице~\ref{tab:img}, а пример вызова приведён ниже. При успешном запуске задачи \artim\ в директории, указанной в параметре \verb*|dstdir|, будет создан файл \verb*|T[1-7].img|. + +Построение суммарных изображений на данный момент реализовано только для полного запуска \prods\ (см. секцию~\ref{sec:artprod1}). Чтобы получить изображение для пользовательских временных интервалов, нужно выполнить пункт запуска \prods, описанный в секции~\ref{sec:artprod1}. +% При необходимости получить суммарное изображение в нестандартном энергетическом диапазоне, после генерации изображений для каждого модуля телескопа с помощью \artim\ нужно использовать утилиту \textsc{ftpixcal}, являющуюся частью пакета \textsc{ftools} программного обеспечения \textsc{heasoft}. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример вызова \artim} (на примере наблюдения OBSID=11910040001 и первого модуля телескопа~\art): + +\begin{verbatim} +artimage \ + stem=art119100400010 \ + input=art119100400010T1_cl.evt \ + srcdir=./processed/119100400010/L3/events \ + dstdir=./processed/119100400010/L3/img \ + tmpdir=/temp --elow=6 --ehigh=12 +\end{verbatim} + +\dangersign[4ex] Повторный запуск процедуры \artim\ приводит к перезаписи файлов в директории \verb*|dstdir|. +\end{tcolorbox} + +%, с указанным файлом \verb*|--usergti=/.gti|, где \verb*|| и \verb*|| --- путь к файлу и имя файла, содержащего пользовательские временные интервалы, соответственно. . + +\begin{table}[!h] + \centering + \caption{Параметры и ключи процедуры \artim, необходимые для получения изображения для заданного списка событий. Переменная --- обозначает путь к соответствующим файлам. } + + \begin{tabular}{| m{5em} | m{5cm}| m{8.2cm} |} + \hline\hline + + \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ + \hline + \verb*|stem| & \verb*|art[0-1]| & Префикс для имён входных и выходных файлов. \\ + \hline + \verb*|input| & \verb*|T[1-7]_cl.evt| & Входной файл со списком событий, по которому будет построено изображение. \\ + \hline + \verb*|srcdir| & \verb*|//L3/events| & Входная директория, указывающая путь к спискам событий уровня L3. \\ + \hline + \verb*|dstdir| & \verb*|//L3| & Выходная директория. \\ + \hline + \verb*|tmpdir| & \verb*|/temp| & Директория для временных файлов. \\ + \hline + \verb*|--elow| & $E_{min}$, кэВ & Нижняя граница энергетического диапазона. По умолчанию $E_{min}=4$~кэВ. \\ + \hline + \verb*|--ehigh| & $E_{max}$, кэВ & Верхняя граница энергетического диапазона. По умолчанию $E_{max}=12$~кэВ. \\ + \hline + \end{tabular} +\label{tab:img} +\end{table} + +\subsection{\artlc} +\label{sec:lc} + +Задача \artlc\ строит кривую блеска в заданном энергетическом диапазоне от $E_{min}$ до $E_{max}$ с временным бином $T_{bin}$ для готового списка событий выбранного модуля телескопа \art, полученного процедурой \prods\ (см. секцию~\ref{sec:artprod1}). При этом кривая блеска источника извлекается из региона источника \verb*|srcreg|, а фон оценивается в фоновом регионе \verb*|bkgreg|. Параметры задачи \artlc\ перечислены в таблице~\ref{tab:lc}, а пример вызова приведён ниже. При успешном запуске задачи \artlc\ в директории, указанной в параметре \verb*|dstdir|, будут созданы файлы \verb*|T[1-7]_src.lc| и \verb*|T[1-7]_bkg.lc|, содержащие кривые блеска источника и фона соответственно. + +Чтобы получить кривую блеска для пользовательских временных интервалов, нужно выполнить пункт запуска \prods, описанный в секции~\ref{sec:artprod1}, т.к. в задаче \artlc\ это не реализовано. + +\begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +\textbf{Пример вызова \artlc} (на примере наблюдения OBSID=11910040001 и первого модуля телескопа~\art): + +\begin{verbatim} +artlcurve \ + stem=art119100400010 \ + input=art119100400010T1_cl.evt \ + srcdir=./processed/119100400010/L3/events \ + dstdir=./processed/119100400010/L3/lc \ + tmpdir=/temp \ + srcregion=./processed/L3/reg/art119100400010_src.reg \ + bkgregion=./processed/L3/reg/art119100400010_bkg.reg \ + --elow=6 --ehigh=12 \ + --binsize=1 +\end{verbatim} + +\dangersign[4ex] Обратите внимание, что файлы, содержащие информацию о регионах для источника (фона), задаются параметрами \verb*|srcregion| (\verb*|bkgregion|) вместо ранее используемых для процедуры \prods\ параметров \verb*|--srcreg| (\verb*|--bkgreg|). + +\dangersign[4ex] \dangersign[4ex] Повторный запуск процедуры \artlc\ приводит к ошибке выполнения данной программы. Перезапись файлов при повторном запуске процедуры на данный момент не реализована , поэтому рекомендуется удалить ранее сгенерированные файлы или изменить выходную директорию. +\end{tcolorbox} + +\begin{table}[!h] + \centering + \caption{Параметры и ключи процедуры \artlc, необходимые для получения кривой блеска по заданному списку событий. Переменная --- обозначает путь к соответствующим файлам. } + + \begin{tabular}{| m{5em} | m{5cm}| m{8.2cm} |} + \hline\hline + + \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ + \hline + \verb*|stem| & \verb*|art[0-1]| & Префикс для имён входных и выходных файлов. \\ + \hline + \verb*|input| & \verb*|T[1-7]_cl.evt| & Входной файл со списком событий, по которому будет построена кривая блеска. \\ + \hline + \verb*|srcdir| & \verb*|//L3/events| & Входная директория, указывающая путь к спискам событий уровня L3. \\ + \hline + \verb*|dstdir| & \verb*|//L3| & Выходная директория. \\ + \hline + \verb*|tmpdir| & \verb*|/temp| & Директория для временных файлов. \\ + \hline + \verb*|srcregion| & \verb*|/.reg| & Регион, из которого извлекается кривая блеска источника. \\ + \hline + \verb*|bkgregion| & \verb*|/.reg| & Регион, из которого извлекается кривая блеска фона. \\ + \hline + \verb*|--elow| & $E_{min}$, кэВ & Нижняя граница энергетического диапазона. По умолчанию $E_{min}=4$~кэВ. \\ + \hline + \verb*|--ehigh| & $E_{max}$, кэВ & Верхняя граница энергетического диапазона. По умолчанию $E_{max}=12$~кэВ. \\ + \hline + \verb*|--binsize| & $T_{bin}$, c & Размер временного бина кривой блеска. По умолчанию $T_{bin}=1$~с. \\ + \hline + \end{tabular} +\label{tab:lc} +\end{table} + +% \subsection{\artsp} +% \label{sec:sp} + +% Задача \artsp\ предназначена для получения спектра в заданном круговом региона для готового списка событий выбранного модуля телескопа \art, полученного процедурой \prods\ (см. секцию~\ref{sec:artprod1}). При этом сначала нужно извлечь спектр фона из заданного региона, а затем извлечь спектр источника из соответствующего региона с указанием ключа \verb*|--bkgfile='yes'|, чтобы в \verb*|HEADER| файла со спектром источника задача \artsp\ указала имя файла со спектром фона. Кроме того, чтобы спектр фона корректно вычитался из спектра источника при загрузке последнего в утилиту \textsc{xspec}, при получении спектра источника необходимо указать параметр \verb*|--backscale|, равный отношению площадей региона источника к фоновому региону $S_{src}/S_{bkg}$. Параметры задачи \artsp\ перечислены в таблице~\ref{tab:sp}, а пример вызова приведён ниже. При успешном запуске задачи \artsp\ в директории, указанной в параметре \verb*|dstdir|, будут созданы файлы \verb*|T[1-7]_bkg.pha| и \verb*|T[1-7]_src.pha|, содержащие кривые блеска фона и источника соответственно. + +% Чтобы получить спектр для пользовательских временных интервалов, нужно выполнить пункт запуска \prods, описанный в секции~\ref{sec:artprod2}, т.к. в задаче \artsp\ это не реализовано. + +% \begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +% \textbf{Примеры вызова \artsp\ для получения спектра фонового излучения}: + +% \begin{verbatim} +% artxspec \ +% stem=art119100400010 \ +% input=art119100400010T1_cl.evt \ +% srcdir=./processed/119100400010/L3/events \ +% dstdir=./processed/119100400010/L3/pha \ +% tmpdir=/temp \ +% --region=./processed/L3/reg/art119100400010_bkg.reg \ +% --prodname='bkg' +% \end{verbatim} + +% \textbf{и спектра источника:} +% %(на примере наблюдения OBSID=11910040001 и первого модуля телескопа~\art): +% \begin{verbatim} +% artxspec \ +% stem=art119100400010 \ +% input=art119100400010T1_cl.evt \ +% srcdir=./processed/119100400010/L3/events \ +% dstdir=./processed/119100400010/L3/pha \ +% tmpdir=/temp \ +% --region=./processed/L3/reg/art119100400010_src.reg \ +% --prodname='src' \ +% --bkgfile='yes' --backscale=1 +% \end{verbatim} + +% \dangersign[4ex] Повторный запуск процедуры \artsp\ приводит к ошибке выполнения данной программы. Перезапись файлов при повторном запуске процедуры на данный момент не реализована, поэтому рекомендуется удалить ранее сгенерированные файлы или изменить выходную директорию. +% \end{tcolorbox} + +% \begin{table}[!h] +% \centering +% \caption{Параметры и ключи процедуры \artsp, необходимые для получения спектра по заданному списку событий в заданном регионе. Переменная --- обозначает путь к соответствующим файлам. } + +% \begin{tabular}{| m{6em} | m{4.8cm}| m{8.2cm} |} +% \hline\hline + +% \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ +% \hline +% \verb*|stem| & \verb*|art[0-1]| & Префикс для имён выходных файлов. \\ +% \hline +% \verb*|input| & \verb*|T[1-7]_cl.evt| & Входной файл со списком событий, по которому будет построен спектр. \\ +% \hline +% \verb*|srcdir| & \verb*|//L3/events| & Входная директория, указывающая путь к спискам событий уровня L3. \\ +% \hline +% \verb*|dstdir| & \verb*|//L3/pha| & Выходная директория. \\ +% \hline +% \verb*|tmpdir| & \verb*|/temp| & Директория для временных файлов. \\ +% \hline +% \verb*|--region| & \verb*|/.reg| & Регион, из которого извлекается спектр. \\ +% \hline +% \verb*|--prodname| & \verb*|'src'| или \verb*|'bkg'| & Постфикс для имен выходных файлов вида \verb*|T[1-7]_.pha|. \\ +% \hline +% \verb*|--bkgfile| & \verb*|'yes'| & Ключ, добавляющий в HEADER имя файла с фоновым спектром в следующем виде: \verb*|T[1-7]_bkg.pha|. Необходимо использовать при генерации спектра источника. По умолчанию эта опция выключена. \\ +% \hline +% \verb*|--backscale| & $S_{src}/S_{bkg}$ & Отношение площади региона источника ($S_{src}$) к площади фонового региона ($S_{bkg}$). По умолчанию $S_{src}/S_{bkg}=1$. Этот параметр необходим для генерации спектра источника. \\ +% \hline +% \end{tabular} +% \label{tab:sp} +% \end{table} + +% Для дальнейшей работы со спектрами необходимы следующие файлы: с матрицей отклика детектора (RMF) и описывающий зависимость эффективной площади детектора от энергии фотона (ARF). Файл ARF производится с помощью задачи \artarf\ (см. секцию~\ref{sec:arf}), а уже готовые файлы RMF для каждого модуля телескопа необходимо скопировать в директорию, в которой находятся спектры. На серверах сети СРГ файлы RMF можно найти здесь: \verb*|work/srg/artxc/pipeline/bin/aux/rmf/| \verb*|artxc_rmf_T[1-7]_20191030_v003.rmf|, где \verb*|T[1-7]| соответствует номеру модуля телескопа \art. Чтобы \textsc{xspec} автоматически подгрузил файлы RMF и ARF, перед спектральным анализом необходимо указать в \verb*|HEADER| итогового файла со спектром источника пути к RMF и ARF-файлам в переменных \verb*|[ANCRFILE]| и \verb*|[RESPFILE]| соответственно. Это можно сделать с помощью следующих команд утилиты \textsc{fthedit}: + +% \begin{verbatim} +% fthedit T[1-7]_src.pha ANCRFILE add T[1-7].arf +% fthedit T[1-7]_src.pha RESPFILE add artxc_rmf_T[1-7]_20191030_v003.rmf +% \end{verbatim} + + +% \subsection{\artarf} +% \label{sec:arf} + +% Задача \artarf\ необходима для генерации ARF-файла заданного модуля телескопа на удалении от оптической оси, которые определяется положением источника в детекторных координатах (параметры \verb*|X| и \verb*|Y|). На вход задачи \artarf\ подаются параметры, перечисленные в таблице~\ref{tab:arf}. В результате успешного выполнения задачи \artarf\ в выходной директории будет создан файл \verb*|T[1-7].arf|. + +% \begin{tcolorbox}[colback=MidnightBlue!5!white,colframe=MidnightBlue!75!black] +% \textbf{Примеры вызова \artarf\ для получения спектра фонового излучения}: + +% \begin{verbatim} +% artmkarf \ +% stem=art119100400010 \ +% teln=1 \ +% dstdir=./processed/119100400010/L3/pha \ +% tmpdir=/temp \ +% X=24 Y=24 +% \end{verbatim} + +% %\dangersign[4ex] Повторный запуск процедуры \artarf\ приводит к ошибке выполнения данной программы. Перезапись файлов при повторном запуске процедуры на данный момент не реализована, поэтому рекомендуется удалить ранее сгенерированные файлы или изменить выходную директорию. +% \end{tcolorbox} + +% \begin{table}[!h] +% \centering +% \caption{Параметры и ключи процедуры \artarf, необходимые для получения ARF-файла для конкретного модуля телескопа. Переменная --- обозначает путь к соответствующим файлам. } + +% \begin{tabular}{| m{6em} | m{4.8cm}| m{8.2cm} |} +% \hline\hline + +% \textbf{Параметр} & \textbf{Значение} & \textbf{Описание} \\ +% \hline +% \verb*|stem| & \verb*|art[0-1]| & Префикс для имён выходных файлов. \\ +% \hline +% \verb*|teln| & \verb*|[1-7]| & Номер модуля телескопа, для которого нужно произвести ARF-файл. \\ +% \hline +% \verb*|dstdir| & \verb*|//L3/pha| & Выходная директория. \\ +% \hline +% \verb*|tmpdir| & \verb*|/temp| & Директория для временных файлов. \\ +% \hline +% \verb*|X| & \verb*|X| & Детекторная X координата центра региона источника, из которого извлекался спектр. \\ +% \hline +% \verb*|Y| & \verb*|Y| & Детекторная Y координата центра региона источника, из которого извлекался спектр. \\ +% \hline +% \end{tabular} +% \label{tab:arf} +% \end{table} + +\section{Возможные ошибки и их решения} +\label{sec:err} + +\noindent +При неправильно настроенном окружении могут возникать разные ошибки, не относящиеся к работе запускаемых процедур. Ниже приведён список возможных ошибок, связанных с настройкой окружения. + +\textbf{1. Возникает проблема с отсутствием утилит \textsc{heasoft}.} + +Для процедуры \pipe\ выдаётся следующая ошибка: +\begin{tcolorbox}[colback=Maroon!5!white,colframe=Maroon!75!black] + \begin{Verbatim}[breaklines=true, breakanywhere=true] + FileNotFoundError: [Errno 2] No such file or directory: 'ftcopy' + [2023-01-17 15:26:12.367635] error: artpipeline v1.0 exited with status 1 + =========================================================================== + [artpipeline v.1.0]: exit with status: failed (at stage: L1) + =========================================================================== + [2023-01-17 15:26:12.367883] info: artpipeline finished + \end{Verbatim} +\end{tcolorbox} + +При вызове процедуры \prods\ с ключом \verb*|--prepare-skytile| (см. секцию~\ref{sec:artprod1}): +\begin{tcolorbox}[colback=Maroon!5!white,colframe=Maroon!75!black] + \begin{Verbatim}[breaklines=true, breakanywhere=true] +FileNotFoundError: [Errno 2] No such file or directory: 'ftappend' +[2023-01-17 15:30:02.304878] error: artproducts v1.0 exited with status 1 +=========================================================================== + [artproducts v.1.0]: exit with status: failed (at stage: run) +=========================================================================== +[2023-01-17 15:30:02.305163] info: artproducts finished + \end{Verbatim} +\end{tcolorbox} + +При вызове процедуры \prods\ для получения спектров и кривых блеска (см. секцию~\ref{sec:artprod2}): +\begin{tcolorbox}[colback=Maroon!5!white,colframe=Maroon!75!black] + \begin{Verbatim}[breaklines=true, breakanywhere=true] +FileNotFoundError: [Errno 2] No such file or directory: 'ftcopy' +[2023-01-17 15:31:15.253313] error: artproducts v1.0 exited with status 1 +============================================================================ + [artproducts v.1.0]: exit with status: failed (at stage: run) +============================================================================ +[2023-01-17 15:31:15.253593] info: artproducts finished + \end{Verbatim} +\end{tcolorbox} + +\textit{Проблема:} не установлен или не инициализирован \textsc{heasoft}. + +\textit{Решение:} установить и инициализировать версию \textsc{heasoft} не позднее 6.28. Пример файла \verb*|~\.tcshrs| со всеми необходимыми настройками приведён для 18-го сервера в секции~\ref{sec:prep}. + +\textbf{2. Возникает проблема с отсутствием необходимых библиотек \textsc{heasoft}.} При этом последний модуль процедуры \pipe\ выдает успешное завершение, хотя несколькими строками выше выведена ошибка следующего вида: + +\begin{tcolorbox}[colback=Maroon!5!white,colframe=Maroon!75!black] + \begin{Verbatim}[breaklines=true, breakanywhere=true] + ftcopy: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory + \end{Verbatim} +\end{tcolorbox} + +\textit{Проблема:} неправильно настроено окружение для работы \textsc{heasoft}. + +\textit{Решение:} установить недостающие библиотеки и указать путь к ним в переменной \verb*|LD_LIBRARY_PATH| в файле \verb*|~\.tcshrs|. Пример файла \verb*|~\.tcshrs| со всеми необходимыми переменными приведён для 18-го сервера в секции~\ref{sec:prep}. + +\textbf{3. Вызов \prods, описанный в секции~\ref{sec:artprod2} не срабатывает.} Выдается следующая ошибка: +\begin{tcolorbox}[colback=Maroon!5!white,colframe=Maroon!75!black] +\begin{Verbatim}[breaklines=true, breakanywhere=true] + raise ValueError("Number of world inputs ({}) does not match " +ValueError: Number of world inputs (1) does not match expected (2) +\end{Verbatim} +\end{tcolorbox} + +\textit{Проблема:} указана неправильная входная директория \verb*|//L2| для процедуры \prods. + +\textit{Решение:} в качестве входной директории указать \verb*|//L3/events|. + +\textbf{4. Не перезаписываются файлы при повторном запуске процедуры \prods.} + +\textbf{4.1.} При повторном запуске процедуры \prods\ с ключом \verb*|--prepare-skytile| (см. секцию~\ref{sec:artprod1}) последний модуль завершается успешно, однако директория \verb*|\L3\events| не обновляется и где-то выше в текстовом выводе процедуры можно найти ошибку: +\begin{tcolorbox}[colback=Maroon!5!white,colframe=Maroon!75!black] +\begin{Verbatim}[breaklines=true, breakanywhere=true] +Dumping CFITSIO error stack: +-------------------------------------------------- +failed to create new file (already exists?): +./121100540010/L3/events/art121100540010T6_cl.evt +-------------------------------------------------- +CFITSIO error stack dump complete. +CFITSIO ERROR FILE_NOT_CREATED: couldn't create the named file +Task ftcopy 1.00 terminating with status 105 +[2023-01-17 14:51:46.346641] error: artevlist v1.0 exited with status 105 +exit with status: failed (at stage: run) +\end{Verbatim} +\end{tcolorbox} +Обратите внимание, что файлы в директории \verb*|\L3\img| при этом перезаписываются. + +\textbf{4.2.} При генерации спектров и кривых блеска повторным запуском процедуры \prods\ (см. секцию~\ref{sec:artprod2}) возникает следующая ошибка: +\begin{tcolorbox}[colback=Maroon!5!white,colframe=Maroon!75!black] +\begin{Verbatim}[breaklines=true, breakanywhere=true] +raise OSError(f"File {self.name!r} already exists.") +OSError: File './121100540010/L3/lc/art121100540010T1_src.lc' already exists. +\end{Verbatim} +\end{tcolorbox} + +\textit{Проблема:} в выходной директории остались файлы от прошлого запуска процедур. На данный момент не реализована возможность перезаписи файлов при повторном запуске процедуры \prods. + +\textit{Решение:} очистить директорию от файлов прошлых запусков процедур (или изменить выходную директорию) и вызвать процедуру заново. + + +\noindent + +% \section{Поочерёдный список примеров вызовов функций для обработки данных телескопа \art.} + +\section*{Приложение. Список изменений документа относительно версии 1.10.} +\addcontentsline{toc}{section}{Приложение. Список изменений документа. } + +\begin{table}[h] + \centering +%\caption{Список изменений документа относительно версии 1.10.} + + \begin{tabular}{| m{1.2cm} | m{1.2cm} | m{5cm} | m{7cm} |} + \hline + \textbf{Версия} & \textbf{Дата} & \textbf{Переработка} & \textbf{Дополнения}\\ + + \hline + 2.0 beta & 02.02.23 & Текста, оформление, структура документа, таблицы параметров & Описание структуры WCS-файла, схема уровней данных, рекомендации по настройке окружения на сервере, таблицы с описанием содержимого директорий, рекомендации по работе с научными продуктами, список возможных ошибок и их решений, оглавление, описание отдельных задач процедуры \prods. \\ + 2.1 beta & 2.03.23 & Описание группировки спектров, инициализация на серверах & \\ + \hline + \end{tabular} +\end{table} + + +\FloatBarrier + + +% \section*{Приложение 1. Структура файлов} + +% \subsection*{Данные уровня L0 --- исходные данные} + + +% \subsection*{Данные уровня L2 --- очищенные и калиброванные события} +% \subsection*{Данные уровня L3 --- научные продукты} +\end{document} diff --git a/image/data_levels.png b/image/data_levels.png new file mode 100644 index 0000000..76069a5 Binary files /dev/null and b/image/data_levels.png differ diff --git a/pscyr.sty b/pscyr.sty new file mode 100644 index 0000000..076c705 --- /dev/null +++ b/pscyr.sty @@ -0,0 +1,166 @@ +%% +%% This is file `pscyr.sty' of PSCyr package +%% +%% Created by Vitaly Repin <2:5030/209.26@fidonet.org>, +%% . +%% Changes by Konstantin Chumachenko +%% Changes by Alexander Lebedev , 2000-2002 +%% +%% NO PERMISSION is granted to distribute a modified version +%% of this file under its original name. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ProvidesPackage{pscyr}[2002/07/04 v0.4d Cyrillic Type1 fonts as default] + +\def\acdefault{fac} %% Academy +\def\addefault{fad} %% Advertisement +\def\aqdefault{faq} %% AntiquaPSCyr +\def\codefault{fco} %% College +\def\cpdefault{fcp} %% CooperPSCyr +\def\erdefault{fer} %% ERKurierPSCyr +\def\hadefault{fha} %% HandbookPSCyr +\def\jndefault{fjn} %% JournalPSCyr +\def\lzdefault{flz} %% Lazurski +\def\madefault{fma} %% MagazinePSCyr +\def\svdefault{fsv} %% SouvenirPSCyr +\def\txdefault{ftx} %% TextbookPSCyr + +\def\ardefault{far} %% ArialMT +\def\crdefault{fcr} %% CourierNewPSMT +\def\tmdefault{ftm} %% TimesNewRomanPSMT + +%% +%% Define font families. +%% +\DeclareRobustCommand\acfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\acdefault\selectfont} + +\DeclareRobustCommand\adfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\addefault\selectfont} + +\DeclareRobustCommand\aqfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\aqdefault\selectfont} + +\DeclareRobustCommand\cofamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\codefault\selectfont} + +\DeclareRobustCommand\cpfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\cpdefault\selectfont} + +\DeclareRobustCommand\erfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\erdefault\selectfont} + +\DeclareRobustCommand\hafamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\hadefault\selectfont} + +\DeclareRobustCommand\jnfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\jndefault\selectfont} + +\DeclareRobustCommand\lzfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\lzdefault\selectfont} + +\DeclareRobustCommand\mafamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\madefault\selectfont} + +\DeclareRobustCommand\svfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\svdefault\selectfont} + +\DeclareRobustCommand\txfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\txdefault\selectfont} + + +\DeclareRobustCommand\arfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\ardefault\selectfont} + +\DeclareRobustCommand\crfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\crdefault\selectfont} + +\DeclareRobustCommand\tmfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\tmdefault\selectfont} + + +\DeclareTextFontCommand{\textac}{\acfamily} +\DeclareTextFontCommand{\textad}{\adfamily} +\DeclareTextFontCommand{\textaq}{\aqfamily} +\DeclareTextFontCommand{\textco}{\cofamily} +\DeclareTextFontCommand{\textcp}{\cpfamily} +\DeclareTextFontCommand{\texter}{\erfamily} +\DeclareTextFontCommand{\textha}{\hafamily} +\DeclareTextFontCommand{\textjn}{\jnfamily} +\DeclareTextFontCommand{\textlz}{\lzfamily} +\DeclareTextFontCommand{\textma}{\mafamily} +\DeclareTextFontCommand{\textsv}{\svfamily} +\DeclareTextFontCommand{\texttx}{\txfamily} + +\DeclareTextFontCommand{\textar}{\arfamily} +\DeclareTextFontCommand{\textcr}{\crfamily} +\DeclareTextFontCommand{\texttm}{\tmfamily} + +%% +%% Declare default font families. +%% +\def\rmdefault{faq} +\def\sfdefault{ftx} +\def\ttdefault{fer} + +%% +%% Math support for faq/ftx font families. +%% +\DeclareOption{math}{% + \def\rmdefault{faq} + \def\sfdefault{ftx} + \DeclareSymbolFont{operators}{OT1}{faq}{m}{n} + \DeclareSymbolFont{letters}{OML}{faq}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{faq}{bx}{it} + \DeclareMathAlphabet{\mathbf}{OT1}{faq}{bx}{it} % bx/it or bx/m + \DeclareMathAlphabet{\mathit}{OT1}{faq}{m}{it} + \DeclareMathAlphabet{\mathsf}{OT1}{ftx}{m}{n} +} +\ProcessOptions +\renewcommand{\hbar}{{\mathchar'26\mkern-8.5muh}} + +%% +%% This part is added for compatibility with font names used in earlier +%% version. +%% + +\def\cldefault{\codefault} +\def\hbdefault{\hadefault} +\def\mgdefault{\madefault} + +\DeclareRobustCommand\clfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\cldefault\selectfont} + +\DeclareRobustCommand\hbfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\hbdefault\selectfont} + +\DeclareRobustCommand\mgfamily + {\not@math@alphabet\rmfamily\mathrm + \fontfamily\mgdefault\selectfont} + +\DeclareTextFontCommand{\textcl}{\clfamily} +\DeclareTextFontCommand{\texthb}{\hbfamily} +\DeclareTextFontCommand{\textmg}{\mgfamily} + +\endinput + +%% +%% End of file `pscyr.sty'.