[daip] Re: "hacking" AIPS

Eric Greisen egreisen at nrao.edu
Fri Oct 1 11:01:10 EDT 2004


Samuel Conner writes:
 > Dear Dr. Greisen,
 > 
 >    I have generally been scrupulous to "quarantine" my modifications by creating new task names that are similar to but distinct from the standard AIPS tasks ("CNTRX", "SNPLX", "LWPLX", 
 > "TVFLX", etc). And I don't put the hacked source code in the AIPS directory tree, only symbolic links. If the MNJ were to encounter a file on my side that was not at NRAO, would that create a problem?

    I don't know what would happen - probably nothing.

 > 
 >    More problematic may be that I have also modified the main AIPS program by adding a number of new verbs in a series of AUXn.FOR subroutines. This has required modification of POPSDAT.HLP also, and I imagine that the Save/Get environments of a hacked and unhacked AIPS could not be compatible. The Task get/put files are less problematic since I have quarantined my task modifications in new task names.
 > 
 >    Where are these files stored; is it DA01? I could adjust the various .SH and .LIST files to ensure that the two installations point to different directories for that disk.
 > 

TGET/TPUT files are no problem with different task/verb names.  The
POPSDAT.HLP however is a real problem.  You can now make a RUN file
that defines all your new stuff (verbs can now be defined) and RUN it.
The routine that calls the AU routines (AIPS.FOR itself) has probably
been hacked by you - that is a problem too as are the AUXn - note we
call AUT for verb numbers 900 to 909 and you could hack just that.

I think you need to ask do you need these verb things?  And if so,
maybe you could list them to me and see if I can add them as options
to existing things or add them as new to aips itself - make your life
easy.

We do not do INSTEP1 any more, INSTEP2 and INSTEP4 are simple enough -
they list the contents of a list of directories and compile them.

install.pl is what we now use for installation.

But it is the MNJ you need to watch - note that you could have one
machine/installation be the local cvs master and have the second one
be a secondary slave which copies the files as needed.  That one could
use a hacked version of some things to guard your changed files.
(UPDCOPY)


 >    I confess that I am quite ignorant of the elaborate structure of the INSTEPs and the COMRPL, LIBR and COMLNK scripts. I will attempt to pursue your $MYAREA proposal and may seek further guidance. For one thing, I will need to create a separate SUBLIB for my $AIPXSUB/AUXn.o subroutines (I would prefer to leave the AIPS/SUB/*.FOR SUBLIB perfectly pristine this time, since I will want to run MNJs at some point.). When I want to COMLNK my enhanced $MYAREA/AIPPGM/AIPS.FOR, how do I tell it to include the additional SUBLIB that contains the AUXn.o modules?
 > 

   $SYSLOCAL/LIBR.DAT controls the link lists and since it is in
$SYSLOCAL the MNJ does not change it.

 >    I think that some my mods will be of interest to the wider NRAO constituency. Many of them are trivial conveniences, like a beam pattern in a contour-free box wherever the user wants it in CNTRX. If you would like, I will forward to you copies of the .FOR and .HLP files as I bring them forward to 31DEC04. If any of these are useful, it would be a small "thank you" for the great help that you and your colleagues have been to me.

Suppressing the contours/greys in the beam area would be a nice
addition.  Note that I could read the old code and see how to do some
of those things in the new versions - you may find PCNTR et al much
changed (for color et al.)  The verbs are your real problem however.

Cheers

Eric Greisen




More information about the Daip mailing list