SUBROUTINE CARD ( )

Description
                                                                             * 
 2DHF version 2-2005                                                         * 
 Copyright (C) 1996  Jacek Kobus, Leif Laaksonen, Dage Sundholm              * 
                                                                             * 
 This software may be used and distributed according to the terms            * 
 of the GNU General Public License, see README and COPYING.                  * 
                                                                             * 
 
### card ### 
 
    This routine reads a data card and scans it for nonspace fields. 
    The number of fields is stored in jump, the starting point of a 
    field in istrt(i) and the number of characters in that field 
    in inumb(i). 
    If the routine finds an exclamation mark anything following it 
    is considered as a comment.
Source file:cardplus.f
I/O Operations:
Unit ID  Unit No       Access  Form   Operation
  IINP5                   SEQ  FMTD          R   
  IOUT6                   SEQ  FMTD           W  

Operation codes A=rewind,B=backspace,C=close,E=endfile
                I=inquire,O=open,R=read,W=write
External Functions and Subroutines Called
SUBROUTINE         LFTPOS,     LOWCASE,    TABCHK
Parameter Variables Used
INTEGER            I40                (I40 = 40)
INTEGER            I80                (I80 = 80)
Local Variables (+ indicates altered content)
CHARACTER         +HASH,      +IATMP(80), +IBLNK,     +IEXM
INTEGER           +I,         +IKE,       +ILE,       +ISW
INTEGER           +IT
Referenced Common Block Variables (+ indicates altered content)
IOCHAN             INTEGER           +IINP5,    +IOUT6
WORK               CHARACTER         +IA(I80)
WORK               INTEGER           +INUMB(I40)
WORK               INTEGER           +ISTRT(I40)
WORK               INTEGER           +JREC,     +JUMP

SUBROUTINE CARDC ( ICHGECASE )

Argument Definitions (+ indicates altered content)
INTEGER            ICHGECASE
Description
This is a version of the card routine that allows to read data 
with the case of symbols preserved
Source file:cardplus.f
I/O Operations:
Unit ID  Unit No       Access  Form   Operation
  IINP5                   SEQ  FMTD          R   
  IOUT6                   SEQ  FMTD           W  

Operation codes A=rewind,B=backspace,C=close,E=endfile
                I=inquire,O=open,R=read,W=write
External Functions and Subroutines Called
SUBROUTINE         LFTPOS,     LOWCASE,    TABCHK
Parameter Variables Used
INTEGER            I40                (I40 = 40)
INTEGER            I80                (I80 = 80)
Local Variables (+ indicates altered content)
CHARACTER         +HASH,      +IATMP(80), +IBLNK,     +IEXM
INTEGER           +I,         +IKE,       +ILE,       +ISW
INTEGER           +IT
Referenced Common Block Variables (+ indicates altered content)
IOCHAN             INTEGER           +IINP5,    +IOUT6
WORK               CHARACTER         +IA(I80)
WORK               INTEGER           +INUMB(I40)
WORK               INTEGER           +ISTRT(I40)
WORK               INTEGER           +JREC,     +JUMP

SUBROUTINE LFTPOS ( LINE, LENGTH )

Argument Definitions (+ indicates altered content)
CHARACTER         +LINE(LENGTH)
INTEGER            LENGTH
Description
### lftpos ### 
 
Eliminates blanks to the left and left position chararcter string card.
Source file:cardplus.f
I/O Operations:
Unit ID  Unit No       Access  Form   Operation
               6          SEQ  FMTD           W  

Operation codes A=rewind,B=backspace,C=close,E=endfile
                I=inquire,O=open,R=read,W=write
Local Variables (+ indicates altered content)
INTEGER           +IEFF,      +IPOS,      +NTEST

SUBROUTINE LOWCASE ( LINE, LENGTH )

Argument Definitions (+ indicates altered content)
CHARACTER         +LINE(LENGTH)
INTEGER            LENGTH
Description
### lowcas ### 
 
Converts letters in a character string line to the lower case.
Source file:cardplus.f
Local Variables (+ indicates altered content)
CHARACTER         +LOWER(26), +UPPER(26)
INTEGER           +I,         +ICHA

SUBROUTINE TABCHK ( LINE, LENGTH )

Argument Definitions (+ indicates altered content)
CHARACTER         +LINE(LENGTH)
INTEGER            LENGTH
Description
### tabchk ### 
 
    Searches for a tab in the string line and replace it by a space.
Source file:cardplus.f
Intrinsic Functions Called
CHARACTER*8        CHAR
Local Variables (+ indicates altered content)
CHARACTER         +ITAB
INTEGER           +I

SUBROUTINE INPA ( GUF )

Argument Definitions (+ indicates altered content)
CHARACTER*8       +GUF
Description
                                                                             * 
 2DHF version 2-2005                                                         * 
 Copyright (C) 1996  Jacek Kobus, Leif Laaksonen, Dage Sundholm              * 
                                                                             * 
 This software may be used and distributed according to the terms            * 
 of the GNU General Public License, see README and COPYING.                  * 
                                                                             * 
 
### inpa ### 
 
   This routine examines the contents of IA and extracts a 
   character string of 8 chars. This string is stored in IBUF. 
   The remaining non-blank characters (if any) are ignored.
Source file:cardplus.f
Parameter Variables Used
INTEGER            I40                (I40 = 40)
INTEGER            I80                (I80 = 80)
Local Variables (+ indicates altered content)
CHARACTER         +IALL(60),  +IBLNK,     +IBUF(8)
CHARACTER*8       +IBUFR
INTEGER           +I,         +N,         +NSTRT
Referenced Equivalenced Variables (+ indicates altered content)

EQUIV              CHARACTER         +IBUF()     Local Var
                   CHARACTER*8       +IBUFR      Local Var
Referenced Common Block Variables (+ indicates altered content)
WORK               CHARACTER          IA(I80)
WORK               INTEGER            INUMB(I40)
WORK               INTEGER            ISTRT(I40)
WORK               INTEGER           +JREC,      JUMP

SUBROUTINE INPI ( JBUF )

Argument Definitions (+ indicates altered content)
INTEGER           +JBUF
Description
                                                                             * 
 2DHF version 2-2005                                                         * 
 Copyright (C) 1996  Jacek Kobus, Leif Laaksonen, Dage Sundholm              * 
                                                                             * 
 This software may be used and distributed according to the terms            * 
 of the GNU General Public License, see README and COPYING.                  * 
                                                                             * 
 
### inpi ### 
 
   This routine reads an integer from the array IA, 
   starting at IA(istrt(jrec)) and continuing for inumb(jrec)) 
   elements. Plus signs are ignored, the answer is accumulated 
   in JBUF.
Source file:cardplus.f
I/O Operations:
Unit ID  Unit No       Access  Form   Operation
  IOUT6                   SEQ  FMTD           W  

Operation codes A=rewind,B=backspace,C=close,E=endfile
                I=inquire,O=open,R=read,W=write
Parameter Variables Used
INTEGER            I40                (I40 = 40)
INTEGER            I80                (I80 = 80)
Local Variables (+ indicates altered content)
CHARACTER         +ICHAR(14), +ITEMP
INTEGER           +I,         +IFACT,     +INPIEXIT,  +IST
INTEGER           +J,         +N,         +NSTRT
Referenced Common Block Variables (+ indicates altered content)
IOCHAN             INTEGER            IOUT6
WORK               CHARACTER          IA(I80)
WORK               INTEGER            INUMB(I40)
WORK               INTEGER            ISTRT(I40)
WORK               INTEGER           +JREC,      JUMP

SUBROUTINE INPF ( BUF )

Argument Definitions (+ indicates altered content)
REAL*8            +BUF
Description
                                                                             * 
 2DHF version 2-2005                                                         * 
 Copyright (C) 1996  Jacek Kobus, Leif Laaksonen, Dage Sundholm              * 
                                                                             * 
 This software may be used and distributed according to the terms            * 
 of the GNU General Public License, see README and COPYING.                  * 
                                                                             * 
 
### inpf ### 
 
    Extracts a floating point number from an input card.
Source file:cardplus.f
I/O Operations:
Unit ID  Unit No       Access  Form   Operation
  IOUT6                   SEQ  FMTD           W  

Operation codes A=rewind,B=backspace,C=close,E=endfile
                I=inquire,O=open,R=read,W=write
Intrinsic Functions Called
DOUBLE PRECISION   DBLE
Parameter Variables Used
INTEGER            I40                (I40 = 40)
INTEGER            I80                (I80 = 80)
Local Variables (+ indicates altered content)
CHARACTER         +ICHAR(16), +ITEMP
INTEGER           +I,         +IEXP,      +IEXPDIG,   +IST
INTEGER           +J,         +LIMIT,     +N,         +NSTRT
REAL*8            +EXPONENT,  +FACT,      +FACT2
Referenced Common Block Variables (+ indicates altered content)
IOCHAN             INTEGER            IOUT6
WORK               CHARACTER          IA(I80)
WORK               INTEGER            INUMB(I40)
WORK               INTEGER            ISTRT(I40)
WORK               INTEGER           +JREC,      JUMP

SUBROUTINE PRTLABEL ( )

Description
        subroutine inpf(buf) 
        implicit integer*4 (i-n) 
        implicit real*8 (a-h,o-z) 
        parameter (i40=40, i80=80) 
        character*1 ia,ichar(15),itemp 
        common/iochan/ iinp5,iinp11,iinp12,iinp13,iinp14, 
       &               iout6,iout21,iout22,iout23,iout24 
        common/work/jrec,jump,istrt(i40),inumb(i40),ia(i80) 
        data ichar/'0','1','2','3','4','5','6','7','8','9','+','&','^', 
       &'-','.'/ 
        limit=16 
        jrec = jrec + 1 
        if(jrec .gt. jump) go to 40 
        buf = 0.d0 
        fact2 = 0.d0 
        limit=15 
        n = inumb(jrec) 
        fact = 1.d0 
        ist=istrt(jrec) 
        nstrt = ist + n - 1 
        do i=1,n 
           itemp = ia(nstrt) 
           do j = 1,limit 
              if(ichar(j).eq.itemp)goto 5 
           enddo 
   4       write(iout6,*) 'Error detected in inpf' 
           stop 'inpf' 
   5       if(j.lt.11) goto 7 
           if(j.le.14) goto 6 
           fact2 = dble(i-1) 
           limit=14 
           go to 9 
   6       if(nstrt .ne. ist) go to 4 
           if(j.eq.14)buf=-buf 
           go to 20 
   7       buf = buf + dble(j-1) * fact 
           fact=fact*10.d0 
   9       continue 
           nstrt = nstrt - 1 
        enddo 
   20   buf=(0.1d0**fact2)*buf 
   40   return 
        end 
 
                                                                             * 
 2DHF version 2-2005                                                         * 
 Copyright (C) 1996  Jacek Kobus, Leif Laaksonen, Dage Sundholm              * 
                                                                             * 
 This software may be used and distributed according to the terms            * 
 of the GNU General Public License, see README and COPYING.                  * 
                                                                             * 
 
### prtlabel ### 
 
    This routine prints a label read by card
Source file:cardplus.f
I/O Operations:
Unit ID  Unit No       Access  Form   Operation
      *                   SEQ  FMTD           W  

Operation codes A=rewind,B=backspace,C=close,E=endfile
                I=inquire,O=open,R=read,W=write
Parameter Variables Used
INTEGER            I40                (I40 = 40)
INTEGER            I80                (I80 = 80)
Local Variables (+ indicates altered content)
INTEGER           +I
Referenced Common Block Variables (+ indicates altered content)
WORK               CHARACTER          IA(I80)