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