MIRA as in the current version is still under development. Parts of its capabilities depend on the work done for other program libraries (CLASS90, TELCAL, PAKO). Comments and suggestions from users are welcome, and will be a valuable tool to further improve MIRA.
MIRA in its current version is exclusively used to reduce data written in the new IMBFITS raw data format. For old raw data, the old data processing software (OTFCAL) will be kept and maintained.
As soon as MIRA is fully integrated into as the standard heterodyne data processing software for the new control system, it will further evolve to provide tools for imaging with heterodyne receiver arrays.
This is a summary of recent changes in MIRA:
Version 1.1
mira_pro:reduce.mira
has been commited to the CVS.
MIRA\CAL
: the calibration parameters of all
frontend-backend combinations are computed.
MIRA\SCAN
changed.
MIRA\VIEW
changed to
MIRA\VIEW [ifb] [/CAL] [/GAINS] [/PHASES] [/SIGNAL] [/MAP]
MIRA\SOLVE [pointing|focus] [ifb]
changed to
MIRA\SOLVE [ifb]
. Whether a pointing is to be solved or a focus is
automatically determined from the observing procedure of the current scan.
mira_pro:p_plot_*.mira
can
now be retrieved from SIC's command stack (concerns MIRA\SOLVE
and
MIRA\VIEW
).
MIRA\SOLVE
: for pointings, the execution can be halted after the
subscan fits with QUIT.
FIND /NEW
(for online data
processing). Only new data are put into the index list. If no new data are
found, the index list remains unchanged.
LIST /LONG
. The telescope name is
suppressed in any case. Note that the scan number is now listed in the first
column, and the observation number in the last one.
\MIRA\VARIABLE LIST r
).
Version 1.2
MIRA\WRITE
number /FEBE ALL
writes all frontend-backend combinations into the CLASS output file, starting
with the observation identification number (if specified, otherwise
successively increased by default).
Version 1.3
XOFFSET
i and YOFFSET
i (with
SCAN%DATA
section.The resulting offset is in SCAN%HEADER
.
reduce.mira
now becomes reduceCont.mira
and
reduceSpec.mira
. See section 2.1 for details.
/ZOOM
for command MIRA\VIEW
. First the data is
fully shown, and the interactive cursor is called to define a rectangle to be
zoomed in. The axis labels are correspondingly updated.
MIRA\VIEW /MAP /ZOOM
can be used to plot a subset of data. In the
subset display, the range of ON
positions covered by the subscan(s) is
indicated.
MIRA\CAL
, option /OFF
: the default weight mode for
on-the-fly maps is now AVER
(taking an average of all available
off-source subscans). Option NONE
does not remove any off-source signal,
but concatenates the spectral basebands.
ARRAYi\%DATAj\%ISWITCH
(with i
frontend-backend number, j
baseband number) now becomes an
array of character strings (instead of integer flags). See section 5 for
details.
Version 1.4
MIRA\CAL
: if the setup of the backends used for an observation is
not strictly the same as for the previous (or, for offline data processing, the
subsequent) calibration, MIRA complained about an inconsistent calibration. In
version 1.4, MIRA looks whether a calibration is available for exactly the same
spectral charactersistics. If so, the calibration is applied, even if the number
of the backend part has changed. If no calibration with the same spectral
characteristics is available, MIRA issues a warning, and flags those data as
uncalibrated.
FIND /OBSERVED
. Otherwise, MIRA entered into a state of confusion and
crashed when such a scan was read with MIRA\SCAN
.
In version 1.4, this is not so anymore: in case of ambigous scan numbers, the
user is asked to enter the desired observing date (if nothing is entered,
MIRA\SCAN
returns to the command prompt, allowing to opt for the
solution using FIND /OBSERVED
.
continue
. So, the pause was switched off in
version 1.3. In version 1.4, it can be activated using MIRA's logical flag
doPause
(yes or .true. for interactive offline MIRA sessions, if the
user wants to have a close look at the pointing subscans).
MIRA\SOLVE
command has been upgraded to correctly handle blanked values
for either backend counts or equivalent temperature scales.
MIRA\VIEW /PHASE idPhase irec
.
idPhase
can be one of the character strings
ON, OFF, LOAD, SKY, HOT, COLD, FLO, FHI
. The specified phase is
averaged across the whole scan, unless a special record is specified with
irec
.
Version 1.5
mira.exe @onlineDataProcessing projId scan obsDate calScan obsDateCal
projId
is the Pico Veleta project id (e.g. 203-04), scan
the scan number to be reduced, obsDate
the corresponding observing date
(format yyymmdd), calScan
the scan number of the calibration scan (may
be 0 if no calibration is to be done), and obsDateCal
the observing date
of the calibration scan (can be different from obsDate
). The MIRA SIC
procedures reduceSpec.mira
and reduceCont.mira
are obsolete.
MIRA\SCAN
has a new option /TRACKING trackingError
. If
specified, all backend data with azimuth or elevation tracking errors larger
than trackingError
are flagged, i.e. attributed the blanking value for
raw data.
CAL /GRID
is plotted in blue.
Version 1.6
VIEW
, CAL
and WRITE
have new options
for HERA pixels. See online help for details.
FIND
is too slow for online data processing if used
for large data archives. There are two solutions: either use SCAN
without a previous FIND
, or at least one of the following
options: FIND /OBSERVED yyyy-mm-dd
, /SCAN
, /BACKEND
(FIND /SCAN
is fastest).
FIND
to load a scan ! MIRA command
SCAN
loads a scan, even if no index list exists. In case the scan number
is ambigeous, MIRA takes by default the last observing date found (otherwise
you have to use FIND /OBSERVED
). See the online help for details.
odp.mira
. It essentially does
the same job as the online data processing triggered by the NCS coordinator,
but is more interactive. Use: @ odp iRef idScan
, where iRef
is
the frontend-backend combination to be used for pointings and focus solutions,
and idScan
is the scan to be reduced. The output CLASS file is called
spectra.30m, in order to avoid confusion with spectraOdp.30m (produced by the
coordinator).
/COMPRESS
for command SCAN
(see MIRA language help).
Version 1.7
MIRA\OVERRIDE
allows to
manually set the load temperatures and beam and forward efficiencies to values
different from the entries in the imbFits raw data file. For details, please
read the MIRA language internal help.
.30m
WRITE /SUBSCAN
is not needed anymore). See the MIRA
language internal help, comand MIRA\WRITE
, for details.
CMODE = 10
) or not
(CMODE = 0
). See the MIRA language internal help, command
MIRA\CAL
, for details.
MIRA\VIEW
gets a new option /XPOL
for viewing
the amplitude and phase of the cross correlation of orthogonally polarized
receivers (for VESPA data in XPOL mode).
LIST
has been simplified:
the structure LIST%ATTRIBUTE1
becomes LIST1
,
LIST%ATTRIBUTE2
becomes LIST2
etc. For details see section
5.2.11.
VIEW /CAL
now also issues the calibration and weather parameters
on the GREG display (so they become visible even if MIRA is used in automatic
mode in the background). For HERA data, these parameters are only displayed if
option VIEW /CAL /PIXEL
is used (otherwise the plots are overcharged).
Version 1.8
FIND /NEW
now behaves differently: if new data are found,
they are appended to the index list (if existing). This allos to load scans
that are not in the index list, but whose data files are already written to
disk (i.e. avoids a new FIND command in order to get those data).
/SHOW
for MIRA command FILE
: FILE /SHOW
displays the names of the current input and output files (if openend, otherwise
a warning message is issued).
GAIN[IMAGE]
for MIRA
command OVERRIDE
.
VIEW /PHASE
, yield the flux and its error. A baseline linearly depending
on elapsed time is automatically fitted by MIRA at the on-off subtraction of
MIRA\CAL
.
/PROJECT
and /STAT
for command MIRA\FIND
,
for selecting data from one or several projects, and for writing the total
integration time of the observtions of the current index list into a hidden file .stat.
Mainly for observing pool administration. LIST /PROJECT
includes the
project number into the index list.
PAKO\CAL /SKY NO
are also plotted, and relevant calibration parameters are indicated on MIRA's
graphical display.
LIST /REDUCE
write a procedure for off-line data reduction, instead
of listing the data. For details see the MIRA language documentation.
/MASK
for command CAL /OFF
also uses the OTF dumps as
reference (masking the source). Works with OTF maps sufficiently exceeding the
emission region.
/TAU
for command SCAN
. For calibration scans
only. Allows to keep the opacity fixed and calculates the corresponding
atmospheric model (instead of computing that corresponding to the measured
sky emission temperature). Mainly used for skydips (see next item).
totalPower = a.[1-exp(-tauZenith.airMass)]+b
with fit parameters a
and
tauZenith
. Then calibrate the skydip with the atmospheric model
corresponding to the measured zenith opacity, and derive the forward
efficiency from the fit parameters a
and b
.
/TRACES
for command VIEW
for visualizing the
antenna speed, fast and slow traces. For identifying bad antenna data.
Version 1.9
OVERRIDE
now allows to set the calibration parameters once for a
whole MIRA session, until OVERRIDE /RESET
. After reset, a new
calibration has to be read.
VIEW /TRACES
now also shows the antenna mount drive dumps between
the subscans (the previous versions only showed those data actually used for
interpolation to the backend record times). To this end, a new structure has
been created that can be examined and visualized via its SIC copy in
ANTENNA%ENCODER_AZ_EL
(encoder values for azimuth, elevation and their
timestamp) and ANTENNA%TRACKING_AZ_EL
(tracking errors).
calCheck
(logical SIC variable) can be used to
switch off the consistency check for an observation and its associated
calibration measurement (default: .true.
). Use
let calCheck .false.
if you connect more than one part of the same
backend to the same receiver, with identical spectral setup. With
let calCheck = .true.\
, MIRA tries to find for an observation the
corresponding spectral backend part in the calibration data, even if its number
has changed (e.g. because a backend part was dropped between the calibration and
observation).
CAL ifb /FEBECAL jfb
allows the user to calibrate
the frontend-backend unit ifb with the channel gains and calibration temperature
of frontend-backend unit jfb (for particular circumstances only, e.g.
inconsistent calibrations).
SOLVE ifb jfb
computes the alignment of frontend
jfb
with respect to frontend ifb
, and writes the results into
an ASCII file alignment.dat (or appends them to it, if existing).
The receiver alignment is computed from fits to the difference signal (rather
from the differences between fit signals). The results are plotted for a
Nasmyth focus cabin.
FREQUENCY
are supported, but still
experimental. Please contact the author for further enquiries.
FLAG
allows to flag selected basebands, channels,
HERA pixels, records or subscans (e.g. to solve pointings with a bad subscan) .
LIST /FLUX
prepares an ASCII table with pointing fluxes
in the current index list (calibrated in Ta* if the index list contains
calibrations).
writeXML
is
set: let writeXML yes
.
scan /pwv value
. Preparations for EMIR nomenclature.
DOPPLER
in the spectroscopy
section, and
list /flux argument
produces an ASCII output file with
continuum fluxes (where argument is the backend name, e.g. 1MHz). list /flux
deduces pointing fluxes, using the continuum backends, as before.
cal /off /mask
now also works with option
/off time
. Syntax for /mask d1 [d2 d3 d4 ...]
has changed:
if only argument d1 is given, this is the number of OTF dumps at the start and
end of each OTF subscan used as atmospheric refernce. If (d1,d2), (d3,d4), etc.
are given pairwise this is to indicate the respective first and last OTF dump
framing the source (up to 5 masks allowed, i.e. 10 arguments).
Version 2.0
cal all /gains /off none /tcal
VIEW ifb1 ifb2
for concatenating subbands ifb1, ifb2
, or
VIEW ifb1 to ifb2
for concatenating all subbands between ifb1
and ifb2
.
badLevel
, this is the level with respect to median total power at which
spectral channels are blanked, default: factor 20 above or below median).
view ifb /phase iphase
now is the following: iphase = 1, 2,...
shows only total power phase iphase
. For one of iphase = on, off
(for continuum on-offs) or iphase = sky, load
(for beam-switched
scans) iphase
is the leading phase in the signal difference.
MIRA\override
now also allows us to change the weather data (e.g.
if the weather stations fails and if wrong weather data are written into the
imbfits files). Use: override tamb[_p_humid] Tamb Pamb
where Tamb
and Pamb
are the values for the ambient outside temperature and
pressure (*
to remain unchanged).
gag_dev
and gag_may09
at the 30m telescope are written with
the following convention: doppler = -vSource(Obs)/clight
, where vSource(Obs)
is the source velocity in the observatory frame, in the same sign convention as in Astro
(vSource(Obs) < 0 for source approaching observatory).
Version 2.1
flagBSwSpikes
allows to automatically blank spikes with abnormally
short integration times (shorter than actual values, hence normalization wrong,
resulting in spikes). Default: .false. (works both for old and EMIR data).
dateObs
and dateEnd
are the start and end times of a given subscan, as written into the imbfits
raw data (i.e., unlike subScanStart
and subScanEnd
, not filtered by the safeguards
in Mira's subroutine syncData).
CAL /off NONE
was specified, MIRA\WRITE
writes both
on-source and reference spectra to the output CLASS file.
timingCheck
(logical flag, default: yes). Allows to switch off the
automatic avoidance of hazardous extrapolation of antenna trace data). For details see section 5.1.
Version 2.2
traceExtrapolation
(logical flag, default: yes). Only for timingCheck = no
.
Enables extrapolation of fast and slow traces before or after scan start, respectively end, and points
in time that still contain valid backend data. For details see section 5.1.
Version 2.3
/BACKEND
for MIRA\SCAN
select backends from index list for reading and
further processing (default: all backends). /DROP
drops the selected backends from the list of
data to be read and processed.