mnafk
2012-01-05 11:34:29 UTC
What does this FORTRAN syntax mean:
A CALL is being made to a subroutine BEGIN. Some of the arguments being passed on are integers and real arrays. The index or dimension of these arrays are also being passed on, but I don't know what this really means.
CALL BEGIN (NSYS, II, KK, LENI, LENR, LENC,
1 LINKCK, LIN, LOUT, LSAVE, LIGN,
2 I(NIDAS), R(NRDAS), R(NSDAS),
3 R(NRPAR), I(NIPAR), R(NZ), R(NZP), R(NRTOL),
4 R(NATOL), R(NXMOL), C(NKSYM), C(IPCCK))
These indices or dimensions, if you will, are defined earlier in the code as following:
! APPORTION REAL WORK SPACE
NRPAR = 1
NRDAS = NRPAR + IPTOT
NSDAS = NRDAS + LRDAS
NATOL = NSDAS + LSDAS
NRTOL = NATOL + NEQ
NXMOL = NRTOL + NEQ
NZ = NXMOL + KK
NZP = NZ + NEQ
LRTOT = NZP + NEQ
! APPORTION INTEGER WORK SPACE
NIPAR = 1
NIDAS = NIPAR + LENI + IPICK
LITOT = NIDAS + LIDAS
! APPORTION CHARACTER WORK SPACE
IPCCK = 1
NKSYM = IPCCK + LENC
LCTOT = NKSYM + KK
______________________________________…
The actual subroutine header is like this:
SUBROUTINE BEGIN (NSYS, II, KK, LENICK, LENRCK, LENCCK,
1 LINKCK, LIN, LOUT, LSAVE, LIGN,
2 IDWORK, DWORK, SDWORK,
3 RPAR, IPAR, Z, ZP, RTOL,
4 ATOL, XMOL, KSYM, CCKWRK)
______________________________________…