Gentlemen and Ladies
Below a description of the Matisse Simulator package
intended for the Matisse Science team. The package is written
in and requires IDL for operation. The package can be downloaded here:
MatisseSimulator download page
It requires the MIDI Expert Work Station system which can be downloaded here:EWS download page
A EWS User's Manual is here: EWS: User's Manual
Image reconstruction requires downloading:
MiRA
The Matisse Simulator is primarily intended as a research tool to allow Matisse Science Team members to test whether their projects are feasible, and to optimize the observing parameters. Additionally it may be useful to debug Matisse hardware and software during testing, integration and commissioning. The simulator has three major components:
The user sees a program mostly in terms of its inputs and outputs (and crashes). Corresponding to the steps just described there are three sets of inputs. These are described in a general way here, with detailed descriptions below.
The simulator outputs are text files representing logging and diagnostic material and FITS files representing final and optionally intermediate data products. In most cases the FITS headers contain HISTORY records documenting the inputs.
The only currently available analytical model is STAR that simulates a uniform circular emission disk. You can specify the diameter (millarcsec), position offsets dl and dm w.r.t the delay tracking center (millarcsec), the RA (irrelevant:defaults to 0.) and the declination (important for UV-coverage). You can also specify a name that will be printed in some of the outputs. For the spectrum you have two choices:
Alternatively, the image input can be specified in a set of FITS image files.
Each file must be a two-dimensional image of the sky brightness at one wavelength. The data will be spline-interpolated in wavelength to determine the
spectra at the wavelengths that are produced by the specified grating. There
must be at least 4 wavelength specifications to allow the interpolation
to work, and these wavelengths should span those of the grating. They do
not need to be equally spaced.
All the files must contain the same number of pixels. The wavelength of
each image should be specified by a header keyword:
LAMBDA = ..... / wavelength in meters
The brightness units should be in Jy/Pixel, i.e. the sum of the pixel values
will be the total flux density in Jy. If there is a justified request for
another brightness unit (e.g. Jy/steradian) this can be implemented later.
The pixel spacing should be specified with the standard FITS keywords:
CDELT1 = .... (RA spacing in true degrees
CDELT2 = .... (Dec spacing in degrees)
You can specify the sky position with the standard keywords:
CRPIX1 = .... (x-pixel whose position is being specified; 1-relative)
CRPIX2 = .... (y-pixel whose position is being specified; 1-relative)
CRVAL1 = .... (RA of this pixel, degrees)
CRVAL2 = .... (Dec of this pixel, degrees)
These values can be omitted or, if specified, can be overridden by
values of ra and dec when actually running the
simulator here.
** Structure <10b2368>, 13 tags, length=51216, data length=51196, refs=1: TARGET_ID INT Array[1] TIME DOUBLE Array[1] MJD DOUBLE Array[1] INT_TIME FLOAT Array[1] UCOORD DOUBLE Array[1] VCOORD DOUBLE Array[1] STA_INDEX INT Array[2] VISAMP DOUBLE Array[1550] VISAMPERR DOUBLE Array[1550] VISPHI DOUBLE Array[1550] VISPHIERR DOUBLE Array[1550] FLAG BYTE Array[1550] FRAME LONG Array[1]The most interesting things here are the obvious UCOORD and VCOORD (meters) and
Plot visibilities in record 5 (0-relative) as a function of wavelength: plot,wave,agn[5].visamp Calculate and print the projected baseline of each record: base = SQRT(agn.ucoord^2+agn.vcoord^2) print,base Find the photometric records (if any): photrecords = WHERE(base EQ 0.) Plot the photometric flux of the 2nd photometric record: plot,wave,agn[photrecords[1]].visamp Note that the 2nd record has an array index of 1 (0-relative). Print out all the station names: nObs = N_ELEMENTS(agn) number of OBs stationObj = matisse->stations() for i=0,nObs-1 do print,i,agn[i].frame,stationObj->stationName(agn[i].sta_index-1)
TARGET_ID INT Array[1] TIME DOUBLE Array[1] MJD DOUBLE Array[1] INT_TIME FLOAT Array[1] UCOORD DOUBLE Array[1] VCOORD DOUBLE Array[1] STA_INDEX INT Array[2] VIS2DATA FLOAT Array[1550] VIS2ERR FLOAT Array[1550] FLAG INT Array[1550] FRAME LONG Array[1]Everything is the same as the Vis records except that VIS2DATA contains estimates of the squared visibilities, and VIS2ERR the formal rms uncertainty in the squared visibilities.
TARGET_ID INT Array[1] TIME DOUBLE Array[1] MJD DOUBLE Array[1] INT_TIME FLOAT Array[1] U1COORD DOUBLE Array[1] V1COORD DOUBLE Array[1] U2COORD DOUBLE Array[1] V2COORD DOUBLE Array[1] STA_INDEX INT Array[3] T3AMP FLOAT Array[1550] T3AMPERR FLOAT Array[1550] T3PHI FLOAT Array[1550] T3PHIERR FLOAT Array[1550] FLAG INT Array[1550] FRAME LONG Array[1]Each row represents a possible triple product of three visibilities measured on the telescopes specified by STA_INDEX, which now has 3 elements. T3AMP and T3AMPERR are the amplitude and its standard deviation of the product, while T3PHI and T3PHIERR are the (closure) phase.