Drudg changes to support DBBC3
2021-02-27
John Gipson 

This is a summary of changes introduced in providing support for DBBC3. Some routines appear in several places. 
This only lists changes from FS 10.00.00


Deleted files:
  drudg/snap_check.f                 Don't need to do tape check.
  skdrut/ckroll.f                    Don't need roll info
  skdrut/iroll_def.f                 Don't need roll info
  skdrincl/iroll_def_cmn.ftni        Don't need roll info
  skdrut/unphd.f                     Don't need to read headstack info
  skdrut/vunphp.f                    Don't need headstack or pass info.
  skdrut/vunproll.f                  Don't need roll information 

Changes required to support new rack DBBC3. 
  skdrincl/valid_hardware.ftni      Increased number of RACKS. 
  skdrut/valid_hardware_blk.f       Added in DBBC3. Rearranged order of racks. 

Increased max_bbc, max_ifd. 
In some places numbers were replaced parameters, e.g. 4-->max_ifd, 16-->max_bbc
Files affected:
   skdrincl/skparm.ftni
   drudg/bbc_freq.ftni
   drudg/drudg_rdctl.F
   drudg/proc_ifd.f
   drudg/proc_mracks.f

New routines:
  drudg/double_2_string.f            Return left justified string with trailing 0s omitted:'  16.0000' --> '16.0'
  drudg/real_2_string.f              Ditto

  drudg/proc_core3h.f                New procedure.
  drudg/proc_dbbc3_bbc.f             Write out BBC for DBBC3
  drudg/proc_dbbc3_ddc_tracks.f      'track' like commands. 
  durdg/proc_thread.f                New procedure
  drudg/proc_get_mode_vdif.f         Pulled similar code out of several routines and made a subroutine.
 
Modified to support DBBC3  or new features
  skdrincl/skparm.ftni               Reorganized to group related items together.  
  drudg/cband_char.f                 Rewritten to make logic clearer.
  drudg/drudg_rdctl.F                Modified to parse new options is skedf.ctl.
  drudg/procs.f                      Modified for DBBC.  Outuput new procedures 
  drudg/proc_exper_initi.f           Handle DBBC3 
  drudg/proc_ifd.f                   Handle DBBC3
  drudg/proc_setup.f                 Generate new function calls. Support for DBBC
  drudg/proc_track_masklines.f       Modification for DBBC3
  drudg/proc_tracks.f                Modification for DBBC3
  drudg/proc_vc_cmd.f                Modification for DBBC3. 
  
  skdrut/count_freq_tracks.f         If mode is not defined for a station issue warning message and don't count tracks
  skdrut/itras.f                     Added new function itras_map(istn,icode). If 0 mode not defined for this station
  skdrut/skdrini.f                   Get rid of roll intialization 
  skdrut/vmoinp.f                    Don't read in barrel roll. 
  skdrut/vobinp.f                    Prettier print when writing out # of observations. 
  skdrut/vunpif.f                    Modified to include new valid IFs for DBBC3. 
                                     Also accept more polarizations and translate them. H, X-->L,  V, Y -->R
  skdrut/vunptrk.f                   Changed dimension of variable. Issue error message if exhaust array space while reading in. 

Fixed sleeping bug:
  drudg/proc_write_define.f          If name of procedure was passed like:  call proc_write_define(lufile,luscn, 'foobaz') 
                                     then would cause drudg to crash under f77.
  drudg/proc_disk_tracks.f           Stop if # of tracks specifed is larger than can be handled by DBBC.  
                                     This might happen if you specify track layout for DBBC3, but did not change equipment.
Fixed other bugs
  lstsum.f, lstsumo.f                Replaced X/1024 by /X1000 when calculating Gbytes
  drprrd.f                           Stop reading $PARAM section when you come to the end. 
                                     Space to start of $PARAM section. (Previously location in sked/VEX file hardcoded.)
                                     If you don't find $PARAM exit
                               

Changes related to getting rid of barrel roll 
 drudg/proc_form.f                   Don't write out stuff dealing with barrell roll 
 skdrut/count_freq_tracks.f          Dont'f fudge because of roll 
 skdrut/frinit.f                     Don't inialize barrell roll
 skdrut/frinp.f                      Don't read it in. 
 skdrut/skdrini.f                    Don't initialize barell roll  
 skdrut/vmoipn.f                     Don't read initialize or read in barrel roll info
 
 

Miscellaneous
  drudg/equip_type.f                 Omit second recorder. 

The following are changes of a more cosmetic nature, or introduced to reduce confusion.

Removed unused variables to minimize warning messages during compilation.
  drudg/bbbuf.f
  drudg/drcom.ftni     RA50 and DEC50 were removed. Replaced by sorp1950 in skdrincl/sorc.ftni
  drudg/lists.f
  drudg/point.f 
  drudg/proc_dbbc_bbc.f 
  drudg/snap.f
  drudg/ttape.f 
  drudg/unpsk.f 
 
  skdrut/feetscan.f
  skdrut/frinit.f 
  skdrut/frinp.f       Has itras variable but never set or used.
  skdrut/kbit.f
  skdrut/kcont.f
  skdrut/mjd2yrdoy.f  
  skdrut/stinp.f 
  skdrut/unpco.f       itras is in the argument list in call from unpco but is never set or used
  skdrut/vmoinp.f 
  skdrut/vunpdas.f 

General:
 Renaming of some variables to be less confusing. Each change affects several files. 
  max_frq-->max_code
  Files affected:  
    skdrincl/skparm.ftni
    skdrincl/freqs.ftni
    skdrut/freq_init.f

    drudg/procs.f
    drudg/sread.f
    drudg/vlbah.f
    drudg/wrhead.f

    skdrut/frinp.f
    skdrut/iroll_def.f
    skdrut/itras_cmn.ftni
    skdrut/itras.f
    skdrut/skdrini.f
    skdrut/vmonip.f

The variable sorp50 really contained the J2000 source coordinates. Modified this and the name of 
some associated variables to make clearer what they were. 

 sorp50 --> sorp2000
 sorpda --> sorp_now
 satp50 --> satpos
 RA50,DEC50 -->sorp1950 
 Files affected:
   skdrincl/sourc.ftni
   
   drudg/fdrudg.f
   drudg/lists.f
   drudg/point.f
   drudg/snap.f

   skdrut/cvpos.f
   skdrut/soinp.f
   skdrut/sunarc.f
   skdrut/vsoinp.f  
  












