History of Geant Changes as inserted into the CVS directory, as well as a description of the methods used to maintan the code and libraries. This may be usefull as a help to others. This file has in addition to the history also the following sections
  • Code maintenance using CVS.>
  • Utilities to generate tracks and hit output from Geant.
  • Code difference due to machines .>
  • History information from many updates starting February 1997..
  • Geant Releases.

    Code maintenance

    Insertion into CVS

    The code was committed to the CVS directory using the following sequence of commands. This is usefull as a help to deal with this in the future. cvs update geant ... gets a list of mods (no conflicts) cd /rhic_data/code/geant/geant cvs commit geant ... get editting windows fill in commands - remember to save temporary files anser yes

    Recompiling code in the working directory

    The code should be recompiled and relinked using the gmake files present in the library directory for the working copy. cd ../geant/lib brahms.bld The executable will reside in ../geant/bin/[arch]/gbrahms , where the [arch] indicates the architecture of the machine e.g. irix aix etc. Note that this new script call gmake and in addition will create the directories needed for the binaries and libraries e.g. bin/irix or bin/aix etc.

    The current make files have a problem in so far that if the compilation of a routine fails the .f file is left in the lib/[arch] directory. This is fine for checking out the sources code for errors; note that the .f files often are expanded from the .F files. The problem occurs next time the make file is executed. It thinks that the .f in [arch] is the file to use. This problem should normally be taken care of . The make files should delete .f files in the directory.

    For compilation on Linux systems see the note in note

    Tagging version of geant

    The CVS system has convinient commands for keeping track of release version. For many more details see the cvs manual. To insert the tag in to proper form one should use (probably) the rtag command. csv rtag GBRAHMS-1-1 geant Note that the tag GBRAHMS-1-1 cannot contain charecters .@?

    Maintaining package versions.

    The directory structure of packages and official version is to be setup as follows. The BRAHMS_LIB contains a directory for each package. At the package level there will be different versions where each version corresponds to a release tag in the cvs directory. The way to checkout a new version is the following cd BRAHMS_LIB/geant mkdir VER_1.1 cvs export -r GBRAHMS-1-1 -d VER_1.1 geant In addition there will be a directory VER_DEV which is the current development version i.e. bug fixes from the previous released version of the codes.

    GBRAHMS version 1.6 release

    The 1-6-1 realease had a buggy problem, and in fact the December 1 date given below cannot be correct since the release includes the zdc stuff. . A minor tag 1-6-2 is made. on February 11, 2000.

    The tags were done as follows

    On rcf.rhic.bnl.gov
    
    cd /brahms/u/videbaek
    cvs rtag GBRAHMS-1-6-2 geant
    

    On December 1, 1999 a new release was made. The major change is a a better description of detectors like shielding, platforms, multiplicity detector, and corrected geometries. For detailed information on changes consult the dated notes in the history part.

    The tags were done as follows

    On rcf.rhic.bnl.gov
    
    cd /brahms/u/videbaek
    cvs rtag GBRAHMS-1-6-1 geant
    
    cd /afs/rhic/brahms/BRAHMS_LIB/geant
    mkdir VER_1.6
    cvs export -r GBRAHMS-1-6-1 -d VER_1.6 geant
    
    The subtage was done to include the features of setting beam direction in this release.

    GBRAHMS version 1.5 release

    On December 28, 1998 a new release was made. The major change over version 1.4 is in a better edescription of detectors like TPC, TOF. For detailed information on changes consult the dated notes in the history part.

    The tags were done as follows

    On rcf.rhic.bnl.gov
    
    cd /brahms/u/videbaek
    cvs rtag GBRAHMS-1-5 geant
    
    cd /afs/rhic/brahms/BRAHMS_LIB/geant
    mkdir VER_1.5
    cvs export -r GBRAHMS-1-5 -d VER_1.5 geant
    

    Note that to save space on the afs file system the previous version in the directories VER_1.2 and VER_1.3 has been deleted.

    GBRAHMS version 1.4 release

    On December 28, 1997 a new release was made. This is a major re-write in partocular of the geometry internal definitions. The Forward spectrometer has 3 internal volume's FMS1 FD2 and FMS2 with regard to which detectors and magnet are position internaly. This should allow for a much better migration path towards an implementation of geometry from external files/databases. The detectors are position relative to these volumes and not to the magnets as before. For additional information on changes compared to previous version see the dated notes in the history part.

    The tags were done as follows

    On rpro00.rhic.bnl.gov
    
    cd /brahms/u/videbaek
    cvs rtag GBRAHMS-1-4 geant
    
    cd /afs/rhic/brahms/BRAHMS_LIB/geant
    mkdir VER_1.4
    cvs export -r GBRAHMS-1-4 -d VER_1.4 geant
    

    GBRAHMS version 1.3 release

    On September 9, 1997 a new release was made. For information on changes compared to previous version see the dated notes in the history part.

    The tags were done as follows

    On ribm01.rhic.bnl.gov
    
    cd /brahms/u/videbaek
    cvs rtag GBRAHMS-1-3 geant
    
    cd /afs/rhic/brahms/BRAHMS_LIB/geant
    mkdir VER_1.3
    cvs export -r GBRAHMS-1-3 -d VER_1.3 geant
    

    The version 1.1 was at the same time removed from the BRAHMS_LIB directory. It still exists as a tagged version in cvs and can be retrieved if need be.

    GBRAHMS version 1.2 release

    On June 17, 1997 a new release was made. For information on changes compared to previous version see the dated notes in the history part.

    The tags were done as follows

    On ribm01.rhic.bnl.gov
    
    cd /brahms/u/videbaek
    cvs rtag GBRAHMS-1-2 geant
    
    cd /afs/rhic/brahms/BRAHMS_LIB/geant
    mkdir VER_1.2
    cvs export -r GBRAHMS-1-2 -d VER_1.2 geant
    

    History updates

    The updates will starting with the August 12, 97 update be with the newest changes first.

    November 10, 2000 F.Videbaek.

    The Beam Beam description was updated, using the right kind of supporting plates, and the survey numbers for this.

    The beam pipe thicknes was update to the nominal 50 mill from 1.2 mm.

    Added a check kumac to ana to walk through the display of the beam beam counters. check_beam.kumac and check_beamholder.kumac.
    A beam pipe holder was added to the left and right side. The geometry is close, but may need some fine adjustment.
    The fe platform was added to the description. It is a 4-1/4 inch fe plate. It is only included when the concrete floor is also there. To turn on use the command 'set_tree flor o'. April 3, 2000 F.Videbaek.

    TPC geometry

    The default geometry for MTP2 was not in accordance with the actual layout. E.g. the default setup had only 18 rows not 20. In addition the active rows were modified to reflect the actual instrumentation i.e.

    TPC

    Active Rows

    Inactive rows

    TPM1

    1-12

    -

    TPM2

    1,2,5,6,9-12,15,16,19,20

    3,4,7,8,13,14,17,18

    T1

    1,2,3,4,7,8,11-14

    5,6,9,10

    T2

    1,2,5,6,9,10,15,16

    3,4,7,8,11-14

    Additional a very small area of pad row 13 and 14 is also instrumented from pad#80-95 i.e. a single FEE card.

    Gbr2c.f

    The comis routine normally used to generate the .cdat files from the geant hits have had its entry points changed to be more logically. They are now

    Gbrfile(<nameof file>) to open file

    Gbrana to be called per event (analyze)

    Grbend to close file properly

    ZDC

    The ZDC is by default off, since it the hit generation in the calorimeter adds a lot of CPU time per event in particular for event data (spectator protons and neutrons). It can be included in the usual fashion using the command set_tree zdc o .

    New Components

    A concrete floor has been added to description. By default it is off. You can include it by the set_tree flor o command.

     

    March 6, 2000 F.Videbaek.

    • ZDC is now off by default. For most studies it is not very relevant but it adds a tremendous amount of computing time.
    • The entries in gbr2f.c has been changed from ntana,.. to gbrana etc to make a more consistent namig scheme.

    February 11-2000 F.Videbaek,Sorin Zgura.

    • New tagged version VER-1-6
    • Some fixes to zdc routines.
    • Event generator input can now also be oscar formatted files. Added routine ugoscrd, egconv and updates to guxint.F. See the web pages for more information.

    December 16-1999 F.Videbaek.

    • Changed libmake.mk to remove the -traditional-cpp flag from the preprocessing. This is better suited for macro expansions. It does though imply that (') apostrophes in comments must be avoided and removed. Several routines were changed to this effect.
    • Staring adding ZDC routines.

    December 1-2, 1999 F.Videbaek.

    • Added command beamdir. This command can be used to set the direction of the beam/target as read from event files. This allows the same file of asymmetric collisions, or fixed target beam-gas to be used for both beam directions.
    • Checked and corrected geometries for Back Front Spectrometer platform.

    November 8, 1999 F.Videbaek.

    • The inner snout was added to the D1 magnet. To accomodate the different mothervolumes, it was put in as being 3 seperate pieces that should join smoothly together.
    • Code and Makfiles were modified such the GNU g77 compiler can be used for linux. This should help the installation and use of code in experiment.
    • Another virtual volume was added to MRS to account for the movement of the platform back/forth. This can be set by the command set_param mids mmpos [offset_value].
    • Stands were added for MTP1 and MTP2.
    • the stands for multiplicity as well as the fins for preamps were added to Multiplicity description. (Hiro)

    October 12, 1999 F.Videbaek.

    • Moved H1 and C1 to be closer to their values on platform. Also the offset for C1 was added as a settable parameter 'REFOFFS' with a default of 2.0.

    October 6, 1999 F.Videbaek.

    • Changed default parameters for tofw setup.
    • Added concrete to materials and media list.

    April 20, 1999 F.Videbaek.

    The D3 and D4 rotation angles was not written properly with the write_geom. The reference angle was added to the fd2-angle not the fms2_angle. This has no effect on the geant results but has implications for all the sim_xxx.mag files generated for the MDC2, This files should be corrected.

    February 1, 1999 Steve Sanders, Hiro.

    The geometry and hits for the multiplicity and si-det detectors have been added. They were checked into CVS and available. The gbr2c.f comis module was modified (FV) to deal with the MULT hits.

    28 December, 1998 FV

    Tagged version 1.5 release.

    December, 1998 FV

    Continued changes to prepare for some production running.

    • ebdefs.F. Write out all magnet information into one file for use in brat. Contains fields, effective lenght as well as geometry position.
    • eg_magnet_d1.F, bd_magnet_d1.F,geo_magnet_d1.incAn option to reduced amount of showering calculations were introduced. Inner volumes were placed in D1 that is placed in a class of sensitive volumes (set 101). gustep was changed such that the command [cards accp 2] will enable that particles that enters a volume in this class will stop and be removed from the particle stack. The skin depth is set to 2 cm as default. This option actuall does only save about 20% in cpu time, (skin=4). At lower values background is reduced.
    November, 1998 FV

    Several Updates needed for next version of GBRAHMS

    • eg_tpm2.F, bd_tpm2.F, geo_inc_tpm2. Changed pad spacing to proper setup. Added cathode plate,and bottom Plexigals. Added field cage corner rod (M2FR, 1-4). Added topplate of G10. The geometry default set to reflect the actual sizes of TPM2 as in drawings from late 97. Added active_rows parameter for TPm1. Only the default setup rows are included in the volume. The present default values are as in the TPC design document. Add tpm1_yc, tpm2_yc coordinate as global variable. Modified write_egom_defs.f to putput these.
    • eg_mids.F. Virutal volume enlarge to encompass all of TPM1.
    • eg_t1.F, eg_t2.F, bd_t1.F, bd_t2.F. geo_inc_t2. geo_inc_t1, Changed pad spacing to proper setup. Added cathode plate,and bottom Plexigals. Added field cage corner rod (T2FR, 1-4). Also done for T1. Added topplate of G10. Added active_rows parameter for T1, T2. Only the default setup rows are included in the volume. The present default values are as in the TPC design document.
    • gbr2c.f : Completely changed records for event (added runnumer, vertex information, added impact parameter). Changed end run record type number. Do not output subevent if no hits/tracks in the subevent. This will save on save in output file.
    • dumpcdat.c; Modified to be able to read old as well as new files.
    • ebdefs.F, uxcard.F. Added a new command save/magnet [name]. The output is generated in the eg_write_magnets subroutine. This is a mean to better transfer the information from the GBRAHMS to BRAT by including the filed type as well as the effective length of a given magnet in the output.

    July 8, 1998 FV

    Minor update to release version 1.4

    • gfhitc.f. Modified the location of hits in the gcbank. This implies that the analysis codes must be updated too. Other wise the comis call will not work properly. Size increase was needed because of the large umber of hits encountered in running the events in preparation for MDC-1.
    • eg_beam.F. Changed default offset of Be section to 25 cm.
    • geant.mk. Changed flags for linux.
    • uggxcs.f : Add gphits to comis fuctions kown.
    • gbr2c.f : Added one additional hit to the gHits structure, namely Pid of hit which could be found by scanning the tracks, but it was deemed faster to have it in the structures themselves.

    May 19, 1998 FV

    Minor update to release version 1.4 (1.4.01)

    • bd_c1, eg_c1, geo_c1.inc: Updated geometry and setup to reflect final construction drawings.
    • be_beambeam.F. Removed data statement from common block data. Initialized using local variables.
    • geant.mk. Changed flags for aix (Renate Gruner)
    • check_c1.kumac; checkout kumac for for C1.

    May 6, 1998 FV

    Minor update to release version 1.4 (1.4.01)

    • bd_tpm1: default pad sizes were in mm not cm as required.
    • eg_tpm1.F, eg_tpm2.F eg_t1.F, eg_t2.F; resolution in hits changed to .1 KeV rather than 1 KeV.

    April 24, 1998 FV

    Minor update to release version 1.4 (1.4.01)

    • Userdef.F : Changed date for version printout
    • eg_beambeam.F, bd_beambeam.F, geo_beambeam.inc : Included latest geometry as defined by Budick. The code also rotates the Beam counter modules to point towards the target. The geometric layout has been checked. It still needs to be chekced out for hits.

    March 20, 1998 FV

    Minor update to release version 1.4

    • Guxint.F ; modified the internal ordering of transformation forth and back to the internal coordinate systems.This was done to speed up calculations in magnetics fields. For a selected with single pions illuminated onto MRS a savings of about 10% was achieved.

    March 13, 1998 FV

    Minor fixes to release version 1.4

    A few changes were made to the gxuser.F uggxcs.F and ugtxrd.F routine to implement the proper flags for Linux and the Portlan Group Fortran f77 compiler.

    The make files was also updated. The is a problem on the RCF linux machine with csh (it core dumps) and thus some problems exists with the makefile to get it to work on all platforms e.g. the shell command line syntax is different for tsch than for sh.

    Added routines CModeRead() and CModeOpen() to slocb.

    Fixed a problem in copenfbnd.c (for gcc also).

    February 3, 1998 FV

    Minor fixes to release version 1.4

    • src/global/eg_beam.F
      inc/geo_beampipe.inc
      Additional parameters was introduced to the beam pipe. The Be section can now be placed asymmtricaly relative to the nominal interaction point. The inner section not of Be i.e. from L1 to L2 can have its material set by the command set_param beam MATNUM [value] with the value Al=12 Fe=7.

    January 8, 1998 FV

    Minor fixes to released version 1.4

    • ana/gbr2c.f
      The volume output has been changed. This has implication for all program reading the .cdat files. It was necessary to introduce another word in the data stream to indicate if a volume corresponded to an active detector or to other non-active volumes like magnets.Look in the source file to see the real changes.
    • src/global/eg_beam.F
      The definition of BPBB i.e. the bellows was wrong; the inner radii was that of the following beampipe section.

    December 30, 1997 FV

    Minor fixes to released version 1.4

    • user/userdef.F
      output proper release number
    • ana/g_anantp.f
      The vertex volume number has to be from isub(1) not the float usub(1). Was correct in m_anantp.f gbr2c.f Add CVS information and update revision date
    • ana/m_anantp.f
      Add CVS information and update revision date
    • user/uxcard.F
      The MRS angle was not set by the set_mangle command. Reference to the proper mids_angle included.
    • mids/eg_tpm1.F
      The hits structures were not properly setup. The settings for scale factors and offsets had disappeared during the editting.
    December 28, 1997 FV

    This is the release 1.4 which was checked into the CVS depository. It has been checked out for a little while and seems to work. The Ntuple output as well as the C-stream file output works correctly. It is utterly important to use updated version of g_anantp.f and gbr2c.f files. The old comis routines will not work.

    The TPC are implemented with pad-rows as sub elements. In the default setup each TPC is one active volume. If you want to access the padrow turn the detail flag on

    set_tree t1 af
    set_tree t2 af
    
    The calibration drift chambers wm1, wm2, wf1, wf2 (i.e. the old E866 FT1,...) are added to the list of detectors. The are not included by default. To turn them on e.g. in the MRS execute in the setup files.
    set_tree wm1 ao
    set_tree wm2 ao
    

    The documentation was split into one describing the code organization, and one giving example. (geant_setup.html and code_organization.html)

    November 21, 1997 FV

    This constitutes a major re-write of GBRAHMS. The geometry for all detector is now being dealt with relative to coordinate system tied to the different spectrometer arms, rather than to positions of Magnets. This allows for specifying displacements of all components relative to master coordinate systems. This is clearly needed for final setup and simulations of effects on real data and geometry.

    • The tree structure is now implemented in parallel to physical setup
    • Detector descriptions have been checked against drawing as far as they exists.
    • It is not yet a release version, but have be partially committed to the CVS directory.

    For a full description the writeup should be consulted.

    September 22, 1997 FV

    A electron positon event generator has been added to the option for kinematics routines. The code was originally written by Mike Fatyga BNL; subsequently adapted for Phenix by Mcguirre. It was resuffled by fv to fit into the GBRAHMS structure. It will be enabled using the
    ucards ukin 6
    command. For more information read the comments to the routines qed_ee_evt.F

    The geometry of C1 has been made more elaborate making the outer volume and active volume seperate, as well as defining the mirror better.

    September 8, 1997 FV

    The description of C1 has been changed to better reflect a real geometry. The parameters defining active volume, thickness, mirror sizes can now be set by the set_param c1 name value command.

    September 3, 1997 FV

    The magnetic field routines updated to properly work with the option GAP i.e. the effective field is determined by the actual length of the gap.

    All of the DC T3,T4 and T5 can be properly divided into sub-modules.

    August 12 1997 FV

    Following this insertion of changes the order is reversed such that the newest items comes first in the description

    The default values for the magnet D3 was inserted taking the values from the near final engineering drawings.

    Several parameters were added to the T3 description in order to access and modify the layout during the design phase. There are many more parameters available for modification by KUIP command set_param t3. Note that T4 and T5 still have to be modified this way.
    February 12 1997

    This CVS update was made due to many changes over a longer period of time since November in the FV area rhic_data/code/geant/geant/... This version was also tagged with the version tag GBRAHMS-1-1.

  • The geometry for the M0 == D5 magnet was modified to reflect the drawings as of this week. The constants was confirmed with Dana Beavis.
  • can deal with the CFIO input
  • can read Fritiof 7.02 files.
  • Added flanges to beam pipe geometry
  • The field routines for M0 had an error in not calculating the off set into the local AGAP frame when in the volume M0.
  • Add tofw_m0_offset to allow for the arc of the tofwall to be position off center of the m0 magnet.
  • This html file was added to the doc library. The name is geant_history.html

    February 28 1997

    The tof for vertexes added following the exiting from BULK volumens is changed to take the current time and not reset to 0 as was done in GUSTEP.

    March 10 1997

    The TPM2 volume was rotate before being placed in the SPEC volume. This means that coordinates from Hits in TPM2 from now on will have a different meaning. I.e. the (x,y,z) are now in natural coordinates z along the spectrometer, x in horizontal plan and y the vertical plane.

    March 14 1997

    The T1 TPC was not position properly with a 1 cm offset along the reference ray. This became obvious when looking in detail at the layout for T1 D1 and D2. In addition some of the default values for the magnet were updated in the bd_ files. At the same time positiong of field clamps etc were updated.

    April 20-29 14 1997

    The layout of the TPC is being changed to reflect in more details the layout in the close to final drawings from JUNDT. This implies proper distances from gas volume to active area of 5.5 cm plexiglass cages... These changes includes T1,T2 and MTP2 in MRS.

    May 14 1997 Updated scripts and makes files in similar fashion to Bettys changes to eglib and frit702. So far this includes

    • flags.mk
    • libmake.mk
    • gbrahms.bld ; A newly added script which will call the make files. Do not execute the makefiles by themselves.
    The code was written to interface between fortran and c for stream i/o. The sgi has build in fortran modules open, read, write, close. This is not the case for the other archictures. Therefor a set utility routine copen, cread,.. were written to take care of the. The modules uggxcs.F was modified to refer to this as an external reference rather than open , close etc. This also requires the analysis routine gb2c.f to be modified.

    The include file evtzeb.inc had a common name the same as a zebra routine The name is changed form zstore to zebra_store. AIX complains. SGI does not. In general sgi is a very forgiving platform.

    The code now compiles and links succesfully on the Pentium pros, aix and sgi.

    May 28 1997
    Updating magnet common block to introduce effective lengths.Up till now the effective length was taken as L+gap size.
    D1 205.86 cm from TOSCA
    D3 205.57 cm from TOSCA
    The modified routines are

    • ebdefs.F
    • eb_magnet_d1,d2,d3,d4,m0.F
    • geo_structure.inc

    June 10 1997 FV
    The TPC parameters for T1 is modified to reflect the 'best' values as of known today. At the same time the routine name as well as volume names are changed to T1 rather than TPC1. This change also applies to T2. This will necessitate a change of all Analysis modules which reads hits from GBRAHMS.
    The calibration chamber FT1 was added into the general setup including as a descriptor. It has been named WF1 (Wirechamber Forward 1) such that the additional chambers will be named WF2, (WF3 if need be) in the forward arm and WM1 WM2 in the Mid-Rapidity-Spectrometer.
    zigeom.f was moved to zigeom.F. reflected in CVS.
    The changed made by K.Hagel to T3, T4 has been incoorporated.

    June 17 1997 FV

    The changes made to guxint.F in order to store additional information from the vertex of tracks (i.e. ubuf) was put back into CVS. In addition this version is being made into a 'new' release compiled on all platforms.

    The volume of TPC1 has been change to T1. This means that older routines which reads the hits will not properly find the T1 hits . Thus the other routines i.e. g_anantp.f has also been modified.

    July 3 1997 FV

    The gxint memory size was increased to 8,000,000 words- thanks to S.Sanders

    The beam pipe geometry has been modified to make the thickness a parameter so it can be changed by the user. This is needed for the design work.

    Machine dependencies

    Some differences between gnu and other c compilers onSome c -problems

    The values of the flags O_WRONLY O_CREAT O_TRUNC which can be specified in the open calla are machine dependent. In the GBRAHMS framework with the standard gbr2c.f comis routine for creating flat c-stream files one call a fortran wrapper routine copen(..) and uses cread(..) etc. Since the copen requires and it is machine dependent two additonal functions cmoderead() and cmodewrite() returns the approbiate flag value to be used.

    See the modified routine for gbr2c.f in the geant/ana directory.

    Some Linux and Portland Group Fortran Compiler

    
    This morning at the local RCF meeting there was a discussion on fortran compilers for 
    Linux. Since the BRAHMS geant does utilize record structure as does much STAF code there is 
    an interest in understanding if this is a good choice. 
    since the bnl physics machines have the Portland Group fortran compiler I mentioned to look into this . 
    
    it was a fairly painless experience (except for an internal problem of c constants in fortran programs). 
    The changes which were relevant for a general discussion are summarized below. 
    The executable was copied to the rlnx01.rhic and seem to function as usual. 
    In particular all the record structures compiled and worked as advertised. 
    From BRAHMS perspective this would be a fine choice for fortran compiler. 
    
    On a note on Cernlib; 
    Steve Adler has made a special version of Cernlib compiled with this compiler. Thus this may mean added/special 
    maintenance at/for RCF. 
      
      
      
    
    ** added to login file 
       point to proper fortran library and 
       cern library. 
    
    if ( -d /home/pgi ) then 
      setenv PGI /home/pgi 
      set path = ( $PGI/linux86/bin $path /cern/97a.pgf77.p6/bin ) 
      setenv LM_LICENSE_FILE $PGI/license.dat 
      alias pgman 'man -M $PGI/man' 
    endif 
    
    ** changes which had to be made 
    
    in (g)make-files: 
    ----------------- 
    # 
    # Most fortran compiler do not need the -c flag 
    FC = pgf77 
    FFLAGS += -c 
    
    in code 
    -------- 
    The compiler did not like the VMS open keywords 
    accepted by solaris-pc and sgi f77 (but not by AIX) 
    
    -- change in gxuser.F 
    
    #if defined(AIX) || defined(PGF77) 
               OPEN(UNIT=20,STATUS='OLD',FILE=CHREAD, 
         *          FORM='UNFORMATTED',IOSTAT=IERR) 
    #else 
               OPEN(UNIT=20,STATUS='OLD',FILE=CHREAD, 
         *          FORM='UNFORMATTED'SHARED,READONLY,IOSTAT=IERR) 
    #endif 
    
    -- change in ugtxrd.F 
      [ i.e. SHARED and CARRIAGECONTROL presumably] 
    
    #if defined(AIX) || defined(PGF77) 
            OPEN(UNIT=71,FILE=CHKINE,STATUS='OLD') 
    #else 
          OPEN(UNIT=71,FILE=CHKINE,STATUS='OLD', 
         *       CARRIAGECONTROL='LIST',SHARED) 
    #endif