WinLALS files and subroutine name orderd in alphabetically       2002.4.30   K.O
                                                                                
                                                                                
1. Filename         Description                                                 
   --------------   ------------------------------------------------------------
   WinReadMe.txt    this file                                                   
                                                                                
   cntcts.f         dimensioned source for contacts subroutines                 
   common.f         common utilitries for WinLALS
   coords.f         dimensioned source for coordinate calculation subroutines   
   filmat.f         dimensioned source for matrix filling subroutines           
   main.f           dimensioned source for main, input and utility routines     
   sfbesl.f         dimensioned source for bessel scattering factor routines    
   sftrig.f         dimensioned source for trig scattering factor routines      
   solve.f          dimensioned source for matrix solution routines             
   -----------------------------------------------------------------------------
                                                                                
                                                                                
2. Subroutine names                                                             
                                                                                
   cntcts.f               contacts subroutines                 
      SUBROUTINE CNTCTS   driver for contact calc subroutines                   
      SUBROUTINE CONSET   set up necessary tables etc for contact calc          
      SUBROUTINE CONTAB   do contact search                                     
      SUBROUTINE CONUSE   apply contacts from list                              
      SUBROUTINE ISORT    Shell sort multiple word records                      
      SUBROUTINE MOVE2V   calc vector                                           
                                                                                
   common.f               common routines                                                      
      SUBROUTINE CPUTIM   CPU time routine                                      
      SUBROUTINE LOWTOUP  transform lower to upper case characters              
      SUBROUTINE OPNUNI   open all logical unit for WinLALS                     
                                                                                
   coords.f               coordinate calculation subroutines   
      SUBROUTINE APPLY    common call to con- or restraint application          
      SUBROUTINE CONELA   apply con/restraints (CONSTR), elastication (ELASTC)  
                          modelfitting (MODEFT) as appropriate                  
      SUBROUTINE CONIN    apply constraint if user desires it                   
      SUBROUTINE CONSTR   apply constraints and restraints                      
      SUBROUTINE COORDS   generate coordinates (P) and derivatives (DP) from    
                          stereochemistry input                                 
      SUBROUTINE DERIV    calc derivative of error vector and write other param 
      SUBROUTINE DIHED    calc dihedral angle                                   
      SUBROUTINE ELASTC   apply parameter elastication                          
      SUBROUTINE MATMUL   multiply matrices                                     
      SUBROUTINE MODLFT   apply model-fitting if appropriate                    
      SUBROUTINE REDANG   calc reducing angles (defined in Manual)              
      SUBROUTINE RESIN    apply restraint if desired                            
      SUBROUTINE TRANSP   transpose DP into DPT                                 
                                                                                
   filmat.f               matrix filling subroutines           
      SUBROUTINE FILMAT   complete normal matrix, print summary of it           
      SUBROUTINE SFSTAT   calc Cruickshank weight parms                         
                                                                                
   main.f                 main, input and utility routines     
      PROGRAM LALS        main, linked-atom Least-squares refinement system     
      SUBROUTINE ABSMAX   error exit for numbers too big to pack                
      SUBROUTINE ARRAYS   check array size sufficiency                          
      BLOCK DATA          common data statements                                
      SUBROUTINE CHAT     check atom number/name correspondence                 
      SUBROUTINE CIATOM   constraint atom input                                 
      SUBROUTINE CIBUFF   constraint real parm input transfer                   
      SUBROUTINE CONCRD   read and parse cycle control card                     
      SUBROUTINE CROSS    cross product of two vextors, R3 = RPx R2            
      SUBROUTINE CYCLER   control flow based on cycle control                   
      SUBROUTINE ERROR    flag error and stop                                   
      SUBROUTINE INPUT1   input, checking, preprocessing of main data           
      SUBROUTINE INPUT2   more of same                                          
      SUBROUTINE LAYOUT   provide page handling and subheading services         
      SUBROUTINE MOVE1    premultply vector V(1-3) by matrix A(1-9)             
      SUBROUTINE MOVE2    premultply vector V(1-3) by matrix A(1-9) and         
                            vector A(10-12)                                     
      SUBROUTINE NOW      get time and date from system                         
      SUBROUTINE PARMIN   sort out input parameter numbers, check validity      
      SUBROUTINE PROGRS   summary file manager                                  
      SUBROUTINE SCOUT    generate SC card output                               
      SUBROUTINE SECOND   measure machine CPU time                              
      SUBROUTINE SSP      reset parameter and report on printout                
      SUBROUTINE SYSUSG   call operating system and request resource usage      
                            information, the print it                           
      SUBROUTINE TABULE   print tabulated functions after stepping              
      SUBROUTINE TRAPIT   system dependent routine supplied by installer        
                            to set error traps                                  
      SUBROUTINE VERSHN   print version identifier                              
      SUBROUTINE WARN     log and count warning messages                        
      SUBROUTINE WHISPR   used to inform console, monitor terminal, etc. of     
                            progress of job                                     
                                                                                
   open.for               Input/Output units handling routines                  
      SUBROUTINE CPUTIM   CPU time routine                                      
      SUBROUTINE LOWTOUP  transform lower charS into upper charS                
      SUBROUTINE OPENUNI  Input/Outout unit handling routine                    
                                                                                
   sfbesl.f               bessel scattering factor routines    
      SUBROUTINE SFBESL   calc Bessel structure factors and apply               
      SUBROUTINE BESJ     calc Bessel functions of the first kind of positive   
                            integral order                                      
      SUBROUTINE BESSET   set up table of Bessel fns, orders BOMAX & BOMAX+1    
                                                                                
   sftrig.f               trig scattering factor routines      
      SUBROUTINE SFTRIG   calc Trig structure factors and apply                 
      SUBROUTINE MATMPY   premultiply S(1-9) by R(1-9)                          
                                                                                
   solve.f                matrix solution routines             
      SUBROUTINE IMTQL2V  find the eigenvalues and eigenvectors of a symmetric  
                            trigonal matrix by the implict QL methd             
      SUBROUTINE OPTSCL   determine optimum shift scaling for minimizing        
                            constraint sum                                      
      FUNCTION   PYTHAG   for DSQRT(A*A + B*B)                                  
      SUBROUTINE RSWZR    calc normal and residual                              
      SUBROUTINE SOLVE    solve the normal equations and update parameters      
      SUBROUTINE SWCH     switch I and J                                        
      SUBROUTINE TRED2V   reduce a real symmetric matrix to a symmetric         
                            tridiagonal matrix using and accumulating orthogonal
                            similarity transformations                          
      SUBROUTINE WRSHFT   print shift etc and std err if requested              
                                                                                
                                                                                
3. Header files for COMMON                                                      
                                                                                
     file name       COMMON name                                                
    ---------------  -------------
    'CMATOMS.H'      /ATOMS/      
    'CMBLANK.H'      /      /     
    'CMCCDATA.H'     /CCDATA/     
    'CMCDERIV.H'     /CDERIV/     
    'CMCELLCO.H'     /CELLCO/     
    'CMCONCOM.H'     /CONCOM/     
    'CMCONS.H'       /CONS/       
    'CMCONTAX.H'     /CONTAX/     
    'CMDATA0.H'      /DATA0/      
    'CMDATA2.H'      /DATA2/      
    'CMDATA3.H'      /DATA3/      
    'CMDATA5.H'      /DATA5/      
    'CMDATA6.H'      /DATA6/      
    'CMHEAD.H'       /HEAD/       
    'CMHOLD.H'       /HOLD/       
    'CMLOCAL1.H'     /LOCAL1/     
    'CMNONST.H'      /NONST/      
    'CMNUMBERS.H'    /NUMBERS/    
    'CMPARAMS.H'     /PARAMS/     
    'CMSCRTCH.H'     /SCRTCH/     
    'CMSUMMRY.H'     /SUMMRY/     
    'CMTABLE.H'      /TABLE/      
    'CMVALUES.H'     /VALUES/     
    'CMWATER.H'      /WATER/      
    'CMUNIT.H'       A            



4. Structure

   LALS----------OPNUNI
             |---SECOND
             |---INPUT--------INPUT1---------NOW-------------GETTIM
             |             |             |---VERSHN
             |             |             |---ABSMAX
             |             |             |---ARRAYS
             |             |             |---CHAT  
             |             |             |---WARN  
             |             |             |---LOWTOUP
             |             |             |---CIBUFF----------ARRAYS
             |             |             |---CIATOM----------CHAT
             |             |                             |---ARRAYS
             |             |---INPUT2--------ARRAYS
             |                           |---ABSMAX
             |                           |---CHAT  
             |---CYCLER--------PROGRS
             |             |---WHISPR
             |             |---SCOUT
             |             |---CONCRD
             |             |---PROGRS--------WARN
             |             |---ARRAYS
             |             |---PARMIN
             |             |---CHAT    
             |             |---SSP     
             |             |---TABULE  
             |             |---SECOND  
             |---COORDS--------ARRAYS
             |             |---MOVE2
             |             |---REDANG
             |             |---WARN
             |             |---MATMUL
             |             |---CROSS
             |             |---TRANSP
             |             |---MOVE1
             |             |---DERIV---------MOVE1
             |---CONELA--------CONSTR--------APPLY-----------CONIN
             |             |                             |---RESIN
             |             |---ELASTC
             |             |---MODFTC
             |             |---MODLFT--------MOVE1
             |                           |---MOVE2
             |                           |---WARN
             |---CNTCTS--------CONSET--------ABSMAX
             |             |             |---ARRAYS
             |             |---CONTAB--------MOVE2V
             |             |             |---MOVE2
             |             |             |---ARRAYS
             |             |             |---ISORT
             |             |             |---WARN
             |             |---CONUSE--------ABSMAX
             |                           |---ARRAYS
             |                           |---WARN
             |                           |---MOVE2
             |                           |---MOVE1
             |---SFBESL--------BESJ
             |             |---BESSET
             |             |---WARN
             |             |---ARRAYS
             |---SFTRIG--------MATMPY
             |             |---WARN
             |---SYSUSG
             |---FILMAT--------SFDTAT--------WARN
             |             |---WARN
             |---SOLVE---------TRED2V
                           |---IMTQL2V
                           |---RSWZR
                           |---OPTSCL--------WARN
                           |             |---SWCH
                           |---WARN
                           |---WRSHFT--------WARN

   ERROR---------SECOND
             |---SCOUT
             |---PROGRS
             |---ARRAYS

