The named commons have the following structure, given here for X common. Replace X by Y or Z respectively for the others. Note that each named common is in fact made of 3 different FORTRAN commons, to handle different types of information. Two representations of the character strings exist, one in XCPAR as character variables, one in XPAR as integer arrays. The application program should deal only with the XCPAR representation.
INTEGER MXCPAR,MXIPAR,MXPAR
PARAMETER (MXPAR=128) ! 128 header integers
PARAMETER (MXIPAR=5) ! 5 Extra integers
PARAMETER (MXCPAR=9) ! 9 character*12 strings
CHARACTER*120 X_FILE ! File name
CHARACTER*12 X_TYPE ! Image type
CHARACTER*12 X_UNIT ! Image unit
CHARACTER*12 X_CODE(4) ! Axis type
CHARACTER*12 X_SYST ! System type
CHARACTER*12 X_NAME ! Source name
CHARACTER*12 X_LINE ! Line name
COMMON /XCPAR/ X_FILE,
+ X_TYPE,X_UNIT,X_CODE,X_SYST,X_NAME,X_LINE
INTEGER X_SIZE ! image size
INTEGER X_ADDR ! start map address
INTEGER X_ISLO ! Image slot
INTEGER X_MSLO ! Memory Slot
LOGICAL X_READ ! Read Only status
COMMON /XIPAR/ X_SIZE,X_ADDR,X_ISLO,X_MSLO,X_READ
INTEGER X_BUFF(MXPAR)
REAL*8 X_CONV(3,4)
EQUIVALENCE (X_CONV(1,1),X_REF1)
EQUIVALENCE (X_ITYP,X_BUFF)
*
* /XPAR/
INTEGER X_ityp(3) ! Image Type TYPE
INTEGER*4 X_form ! Image Format FORM
INTEGER*4 X_nvb ! Number of blocks of image
INTEGER*4 X_fill(5) ! Reserved space
*
INTEGER X_GENE ! Size of GENEral section
INTEGER X_NDIM ! Number of dimensions
INTEGER X_DIM(4) ! Dimensions
REAL*8 X_REF1 ! Reference Pixel for First Axis
REAL*8 X_VAL1 ! Value at Reference Pixel
REAL*8 X_INC1 ! Increment per Pixel
REAL*8 X_REF2 ! As above for Second Axis
REAL*8 X_VAL2
REAL*8 X_INC2
REAL*8 X_REF3
REAL*8 X_VAL3
REAL*8 X_INC3
REAL*8 X_REF4
REAL*8 X_VAL4
REAL*8 X_INC4
*
INTEGER X_BLAN ! Length of Blanking Section
REAL X_BVAL ! Blanking Value
REAL X_EVAL ! Tolerance on Blanking
*
INTEGER X_EXTR ! Length of Extrema Section
REAL X_RMIN ! Minimum
REAL X_RMAX ! Maximum
INTEGER X_MIN1 ! Pixel of Minimum (first axis)
INTEGER X_MAX1 ! " of Maximum
INTEGER X_MIN2 ! " " Minimum (second axis)
INTEGER X_MAX2
INTEGER X_MIN3
INTEGER X_MAX3
INTEGER X_MIN4
INTEGER X_MAX4
*
INTEGER X_DESC ! Description section
INTEGER X_IUNI(3) ! Unit Name X_UNIT
INTEGER X_ICOD(3,4) ! Axis Name X_CODE(4)
INTEGER X_ISYS(3) ! Coordinate System X_SYST
*
INTEGER X_POSI ! Position section
INTEGER X_ISOU(3) ! Source Name X_SOUR
REAL*8 X_RA ! Right Ascension (Radians)
REAL*8 X_DEC ! Declination (Radians)
REAL*8 X_LII ! Galactic Longitude (Radians)
REAL*8 X_BII ! Galactic Latitude (Radians)
REAL*4 X_EPOC ! Epoch of RA and DEC (Years)
*
INTEGER X_PROJ ! Projection Section
INTEGER X_PTYP ! Projection Type
REAL*8 X_A0 ! Longitude of Projection Center
REAL*8 X_D0 ! Latitude of Center (Radians)
REAL*8 X_PANG ! Position Angle
INTEGER X_XAXI ! First Projected axis
INTEGER X_YAXI ! Second Projected axis
*
INTEGER X_SPEC ! Spectroscopy Section
INTEGER X_ILIN(3) ! Line name X_LINE
REAL*8 X_FRES ! Frequency Resolution (MHz)
REAL*8 X_FIMA ! Image Frequency (MHz)
REAL*8 X_FREQ ! Rest Frequency (MHz)
REAL*4 X_VRES ! Velocity resolution (km/s)
REAL*4 X_VOFF ! Velocity Offset (km/s)
INTEGER X_FAXI ! Frequency axis (MHz)
*
INTEGER X_RESO ! Resolution Section
REAL*4 X_MAJO ! Major Axis (User Units)
REAL*4 X_MINO ! Minor Axis (User Units)
REAL*4 X_POSA ! Position Angle (Radians)
COMMON /XPAR/X_ITYP,X_FORM,X_NVB,X_FILL,X_GENE,X_NDIM,X_DIM,
+ X_REF1,X_VAL1,X_INC1,X_REF2,X_VAL2,X_INC2,X_REF3,X_VAL3,
+ X_INC3,X_REF4,X_VAL4,X_INC4,X_BLAN,X_BVAL,X_EVAL,X_EXTR,
+ X_RMIN,X_RMAX,X_MIN1,X_MAX1,X_MIN2,X_MAX2,X_MIN3,X_MAX3,
+ X_MIN4,X_MAX4,X_DESC,X_IUNI,X_ICOD,X_ISYS,X_POSI,X_ISOU,
+ X_RA,X_DEC,X_LII,X_BII,X_EPOC,X_PROJ,X_PTYP,X_A0,X_D0,
+ X_PANG,X_XAXI,X_YAXI,X_SPEC,X_ILIN,X_FRES,X_FIMA,X_FREQ,
+ X_VRES,X_VOFF,X_FAXI,X_RESO,X_MAJO,X_MINO,X_POSA