Following a number of discussions and developments, the GILDAS working group has implemented a number of significant revisions in the GILDAS software. These modifications concern the command interface, SIC, the support of FITS files, and speed improvements in the synthesis imaging package (MAPPING and associated imaging tasks) to allow handling of large images in view of the ALMA project.
In the new release, the space is the only word delimiter. Options are words beginning with a slash. Hence to be recognized as an option identifier, a slash must be preceded by a space. The slash can now be used as the divide operator (although the vertical bar continues to work).
Example where /NEW is an option:
LET A 1|COS(PI*0.01)/NEW REAL ! Old LET A 1/COS(PI*0.01) /NEW REAL ! New
In particular, command procedure names, which are derived from filenames, are case sensitive (if the underlying operating system is case sensitive for filenames). For example @ ToTo and @ TOTO are no longer equivalent.
TYPE "!../DIREC/MyFilename.dat" ! Old type ../DIREC/MyFilename.dat ! New
In addition, to improve interoperability between Unix and Windows, the backslash ( ) is also recognized as a directory delimiter in filenames.
TYPE ..\DIREC\Myfilename.dat TYPE ../DIREC/MyFilename.dat ! Same
With the above modifications, the SIC syntax is more rigorous and avoids some of the confusing messages which occurred in the previous version. While we acknowledge that this will be slightly frustrating at the beginning for some users (50 % of the users used to type the space before the option delimiter anyhow), it greatly simplifies the handling of filenames.
First, the procedures have been grouped by type (file extension) in separate sub-directories for CLASS, CLIC, GRAPHIC, GREG, MAPPING, NIC, and ASTRO. The access path to these sub-directories is defined by a SIC logical name called MACRO#DIR:.
Second, new commands have been added to allow a command procedure to create any sub-procedure or data set it may need. The commands
SIC\BEGIN PROCEDURE ProcedureName SIC\BEGIN HELP HelpFileName SIC\BEGIN DATA DataFile and SIC\END PROCEDURE ProcedureName SIC\END HELP HelpFileName SIC\END DATA DataFileallow to create new procedures, their associated help files, and even (ASCII) data files in a procedure. The corresponding files are located in the directory associated to the SIC logical name GAG_PROC:.
DEFINE FITS Name FitsFilewill read a FITS format file, and define a SIC structure which will contain in its variables and sub-structures all the content of the FITS file. Simple FITS images are stored in variable Name%DATA. Binary and ASCII table extensions are recognized and stored in suitable variables. FITS keywords are also stored (e.g. Name%KEYWORD).
Standard keywords like NAXIS, NAXISi, CRPIXi, CRVALi, etc...are re-mapped to the SIC variables Name%NDIM NAME%DIM Name%CONVERT to be similar to SIC image headers.
SIC structures are ensembles of SIC variables. The syntax of SIC structures is similar to Fortran-90 (e.g. Name%SubName%SubSubName). Besides the structures automatically defined by the DEFINE FITS command, the commands
DEFINE STRUCTURE Name DEFINE REAL Name%A Name%Bcan be used to define new SIC structures.
A special hook has been provided in GreG to easily display FITS images using the DEFINE FITS command. The following procedure will plot a FITS image:
DEFINE FITS A FitsFile LIMITS /RGDATA A PLOT BOX
Most type of FITS files are supported. However, the UVFITS format is not supported, because it has been declared as obsolescent by the IAU FITS Working Group, and should be replaced by binary tables.
The new UV_MAP tool can process more than 1 Million visibilities and create a 2048 x 2048 image in about 1 minute of elapsed time on a HP-J240 machine. On a Dell Inspiron (a laptop) PII-366 MHz with 256 MBytes of memory, and running Windows-98, the same problem takes 90 seconds. On the HP machine, which had 512 Mbytes of memory, a 4096x4096 image takes 3 minutes. The command UV_STAT which allows to compute beam sizes as function of taper and/or robust weighting parameter, has also been improved.
Several new tasks have been added to allow array simulation. Use the command
GRAPHIC> @ simulateto access the simulation package in GRAPHIC.