working on configure script and testing on linux

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@4271 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2010-04-20 23:30:04 +00:00
parent 37bc8baffb
commit 4793b2a682
9 changed files with 128 additions and 88 deletions

View File

@ -1,8 +1,12 @@
# Prelude. # -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.64])
AC_INIT([IPhreeqc], [1.0], [charlton@usgs.gov]) AC_INIT([IPhreeqc], [1.0], [charlton@usgs.gov])
AC_CONFIG_AUX_DIR([config]) AC_CONFIG_AUX_DIR([config])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_SRCDIR([src/IPhreeqc.cpp])
# Checks for programs. # Checks for programs.
AC_PROG_CXX AC_PROG_CXX
@ -17,9 +21,12 @@ AC_ARG_ENABLE([fortran],
if test "X$IPQ_FORTRAN" = "Xyes"; then if test "X$IPQ_FORTRAN" = "Xyes"; then
echo "yes" echo "yes"
AC_PROG_F77 AC_PROG_FC
AC_F77_LIBRARY_LDFLAGS AC_FC_LIBRARY_LDFLAGS
AC_F77_WRAPPERS AC_FC_WRAPPERS
AC_FC_MAIN
AC_SUBST(F77, $FC)
AC_SUBST(FFLAGS, $FCFLAGS)
else else
echo "no" echo "no"
fi fi
@ -29,7 +36,14 @@ AM_CONDITIONAL([BUILD_FORTRAN], [test "X$IPQ_FORTRAN" = "Xyes"])
AC_DISABLE_SHARED AC_DISABLE_SHARED
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
# Output files. # Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([Makefile src/Makefile test/Makefile testcpp/Makefile]) AC_CONFIG_FILES([Makefile src/Makefile test/Makefile testcpp/Makefile])
AC_OUTPUT AC_OUTPUT

View File

@ -59,7 +59,7 @@ C
INTEGER LoadDatabase INTEGER LoadDatabase
INTEGER LoadDatabaseString INTEGER LoadDatabaseString
C INTEGER OutputLastError C INTEGER OutputLastError
INTEGER OutputLastWarning C INTEGER OutputLastWarning
INTEGER OutputLines INTEGER OutputLines
INTEGER RunAccumulated INTEGER RunAccumulated
INTEGER RunFile INTEGER RunFile

View File

@ -91,50 +91,56 @@
INTERFACE INTERFACE
SUBROUTINE SetSelectedOutputOn(ID,SEL_ON) FUNCTION SetSelectedOutputOn(ID,SEL_ON)
INTEGER(KIND=4) :: ID INTEGER(KIND=4) :: ID
LOGICAL(KIND=4) :: SEL_ON LOGICAL(KIND=4) :: SEL_ON
END SUBROUTINE SetSelectedOutputOn INTEGER(KIND=4) :: SetSelectedOutputOn
END FUNCTION SetSelectedOutputOn
END INTERFACE END INTERFACE
INTERFACE INTERFACE
SUBROUTINE SetOutputOn(ID,OUT_ON) FUNCTION SetOutputOn(ID,OUT_ON)
INTEGER(KIND=4) :: ID INTEGER(KIND=4) :: ID
LOGICAL(KIND=4) :: OUT_ON LOGICAL(KIND=4) :: OUT_ON
END SUBROUTINE SetOutputOn INTEGER(KIND=4) :: SetOutputOn
END FUNCTION SetOutputOn
END INTERFACE END INTERFACE
INTERFACE INTERFACE
SUBROUTINE SetErrorOn(ID,ERR_ON) FUNCTION SetErrorOn(ID,ERR_ON)
INTEGER(KIND=4) :: ID INTEGER(KIND=4) :: ID
LOGICAL(KIND=4) :: ERR_ON LOGICAL(KIND=4) :: ERR_ON
END SUBROUTINE SetErrorOn INTEGER(KIND=4) :: SetErrorOn
END FUNCTION SetErrorOn
END INTERFACE END INTERFACE
INTERFACE INTERFACE
SUBROUTINE SetLogOn(ID,LOG_ON) FUNCTION SetLogOn(ID,LOG_ON)
INTEGER(KIND=4) :: ID INTEGER(KIND=4) :: ID
LOGICAL(KIND=4) :: LOG_ON LOGICAL(KIND=4) :: LOG_ON
END SUBROUTINE SetLogOn INTEGER(KIND=4) :: SetLogOn
END FUNCTION SetLogOn
END INTERFACE END INTERFACE
INTERFACE INTERFACE
SUBROUTINE SetDumpOn(ID,DUMP_ON) FUNCTION SetDumpOn(ID,DUMP_ON)
INTEGER(KIND=4) :: ID INTEGER(KIND=4) :: ID
LOGICAL(KIND=4) :: DUMP_ON LOGICAL(KIND=4) :: DUMP_ON
END SUBROUTINE SetDumpOn INTEGER(KIND=4) :: SetDumpOn
END FUNCTION SetDumpOn
END INTERFACE END INTERFACE
INTERFACE INTERFACE
SUBROUTINE SetDumpStringOn(ID,DUMP_STRING_ON) FUNCTION SetDumpStringOn(ID,DUMP_STRING_ON)
INTEGER(KIND=4) :: ID INTEGER(KIND=4) :: ID
LOGICAL(KIND=4) :: DUMP_STRING_ON LOGICAL(KIND=4) :: DUMP_STRING_ON
END SUBROUTINE SetDumpStringOn INTEGER(KIND=4) :: SetDumpStringOn
END FUNCTION SetDumpStringOn
END INTERFACE END INTERFACE
@ -234,9 +240,10 @@
INTERFACE INTERFACE
SUBROUTINE GetComponent(ID,N,COMP) FUNCTION GetComponent(ID,N,COMP)
INTEGER(KIND=4) :: ID INTEGER(KIND=4) :: ID
INTEGER(KIND=4) :: N INTEGER(KIND=4) :: N
CHARACTER(LEN=*) :: COMP CHARACTER(LEN=*) :: COMP
END SUBROUTINE INTEGER(KIND=4) :: GetComponent
END FUNCTION GetComponent
END INTERFACE END INTERFACE

View File

@ -40,14 +40,17 @@
UnLoadDatabase = UnLoadDatabaseF(ID) UnLoadDatabase = UnLoadDatabaseF(ID)
END FUNCTION UnLoadDatabase END FUNCTION UnLoadDatabase
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE OutputLastError SUBROUTINE OutputLastError(ID)
IMPLICIT NONE IMPLICIT NONE
CALL OutputLastErrorF INTEGER :: ID
WRITE(*,*) "fortran OutputLastError ID = ", ID
CALL OutputLastErrorF(ID)
END SUBROUTINE OutputLastError END SUBROUTINE OutputLastError
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE OutputLastWarning SUBROUTINE OutputLastWarning(ID)
IMPLICIT NONE IMPLICIT NONE
CALL OutputLastWarningF INTEGER :: ID
CALL OutputLastWarningF(ID)
END SUBROUTINE OutputLastWarning END SUBROUTINE OutputLastWarning
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FUNCTION AccumulateLine(ID,LINE) FUNCTION AccumulateLine(ID,LINE)

View File

@ -18,18 +18,25 @@ private:
int int
CreateIPhreeqc(void) CreateIPhreeqc(void)
{ {
return IPhreeqcLib::CreateIPhreeqc(); // return IPhreeqcLib::CreateIPhreeqc();
int i = IPhreeqcLib::CreateIPhreeqc();
std::cout << "CreateIPhreeqc " << i << "\n";
return i;
} }
IPQ_RESULT IPQ_RESULT
DestroyIPhreeqc(int id) DestroyIPhreeqc(int id)
{ {
return IPhreeqcLib::DestroyIPhreeqc(id); // return IPhreeqcLib::DestroyIPhreeqc(id);
IPQ_RESULT i = IPhreeqcLib::DestroyIPhreeqc(id);
std::cout << "DestroyIPhreeqc( " << id << ") = " << i << "\n";
return i;
} }
int int
LoadDatabase(int id, const char* filename) LoadDatabase(int id, const char* filename)
{ {
std::cout << "In LoadDatabase id = " << id << "\n";
IPhreeqc* IPhreeqcPtr = IPhreeqcLib::GetInstance(id); IPhreeqc* IPhreeqcPtr = IPhreeqcLib::GetInstance(id);
if (IPhreeqcPtr) if (IPhreeqcPtr)
{ {
@ -65,6 +72,7 @@ void
OutputLastError(int id) OutputLastError(int id)
{ {
static const char err_msg[] = "OutputLastError: Bad instance.\n"; static const char err_msg[] = "OutputLastError: Bad instance.\n";
std::cout << "In OutputLastError id = " << id << "\n";
IPhreeqc* IPhreeqcPtr = IPhreeqcLib::GetInstance(id); IPhreeqc* IPhreeqcPtr = IPhreeqcLib::GetInstance(id);
if (IPhreeqcPtr) if (IPhreeqcPtr)
{ {
@ -134,7 +142,7 @@ GetDumpLineCount(int id)
return 0; return 0;
} }
const char* const char*
GetDumpLine(int id, int n) GetDumpLine(int id, int n)
{ {
static const char err_msg[] = "GetDumpLine: Bad instance.\n"; static const char err_msg[] = "GetDumpLine: Bad instance.\n";

View File

@ -148,11 +148,11 @@ include_HEADERS=\
if BUILD_FORTRAN if BUILD_FORTRAN
libiphreeqc_la_SOURCES+=\ libiphreeqc_la_SOURCES+=\
fwrap.cpp\
fwrap.h\ fwrap.h\
fwrap.cpp\
fwrap2.cpp\ fwrap2.cpp\
fwrap3.cpp\ fwrap3.cpp\
IPhreeqcF.F IPhreeqcF.f
include_HEADERS+=\ include_HEADERS+=\
$(top_srcdir)/include/IPhreeqc.f90.inc\ $(top_srcdir)/include/IPhreeqc.f90.inc\

View File

@ -7,37 +7,37 @@
#define DLL_EXPORT #define DLL_EXPORT
#endif #endif
#if defined(F77_FUNC) #if defined(FC_FUNC)
#define CreateIPhreeqcF F77_FUNC (createiphreeqcf, CREATEIPHREEQCF) #define CreateIPhreeqcF FC_FUNC (createiphreeqcf, CREATEIPHREEQCF)
#define DestroyIPhreeqcF F77_FUNC (destroyiphreeqcf, DESTROYIPHREEQCF) #define DestroyIPhreeqcF FC_FUNC (destroyiphreeqcf, DESTROYIPHREEQCF)
#define LoadDatabaseF F77_FUNC (loaddatabasef, LOADDATABASEF) #define LoadDatabaseF FC_FUNC (loaddatabasef, LOADDATABASEF)
#define LoadDatabaseStringF F77_FUNC (loaddatabasestringf, LOADDATABASESTRINGF) #define LoadDatabaseStringF FC_FUNC (loaddatabasestringf, LOADDATABASESTRINGF)
#define UnLoadDatabaseF F77_FUNC (unloaddatabasef, UNLOADDATABASEF) #define UnLoadDatabaseF FC_FUNC (unloaddatabasef, UNLOADDATABASEF)
#define AccumulateLineF F77_FUNC (accumulatelinef, ACCUMULATELINEF) #define AccumulateLineF FC_FUNC (accumulatelinef, ACCUMULATELINEF)
#define RunAccumulatedF F77_FUNC (runaccumulatedf, RUNACCUMULATEDF) #define RunAccumulatedF FC_FUNC (runaccumulatedf, RUNACCUMULATEDF)
#define RunFileF F77_FUNC (runfilef, RUNFILEF) #define RunFileF FC_FUNC (runfilef, RUNFILEF)
#define RunStringF F77_FUNC (runstringf, RUNSTRINGF) #define RunStringF FC_FUNC (runstringf, RUNSTRINGF)
#define GetSelectedOutputRowCountF F77_FUNC (getselectedoutputrowcountf, GETSELECTEDOUTPUTROWCOUNTF) #define GetSelectedOutputRowCountF FC_FUNC (getselectedoutputrowcountf, GETSELECTEDOUTPUTROWCOUNTF)
#define GetSelectedOutputColumnCountF F77_FUNC (getselectedoutputcolumncountf, GETSELECTEDOUTPUTCOLUMNCOUNTF) #define GetSelectedOutputColumnCountF FC_FUNC (getselectedoutputcolumncountf, GETSELECTEDOUTPUTCOLUMNCOUNTF)
#define GetSelectedOutputValueF F77_FUNC (getselectedoutputvaluef, GETSELECTEDOUTPUTVALUEF) #define GetSelectedOutputValueF FC_FUNC (getselectedoutputvaluef, GETSELECTEDOUTPUTVALUEF)
#define SetSelectedOutputOnF F77_FUNC (setselectedoutputonf, SETSELECTEDOUTPUTONF) #define SetSelectedOutputOnF FC_FUNC (setselectedoutputonf, SETSELECTEDOUTPUTONF)
#define SetOutputOnF F77_FUNC (setoutputonf, SETOUTPUTONF) #define SetOutputOnF FC_FUNC (setoutputonf, SETOUTPUTONF)
#define SetErrorOnF F77_FUNC (seterroronf, SETERRORONF) #define SetErrorOnF FC_FUNC (seterroronf, SETERRORONF)
#define SetLogOnF F77_FUNC (setlogonf, SETLOGONF) #define SetLogOnF FC_FUNC (setlogonf, SETLOGONF)
#define SetDumpOnF F77_FUNC (setdumponf, SETDUMPONF) #define SetDumpOnF FC_FUNC (setdumponf, SETDUMPONF)
#define SetDumpStringOnF F77_FUNC (setdumpstringonf, SETDUMPSTRINGONF) #define SetDumpStringOnF FC_FUNC (setdumpstringonf, SETDUMPSTRINGONF)
#define GetDumpLineCountF F77_FUNC (getdumplinecountf, GETDUMPLINECOUNTF) #define GetDumpLineCountF FC_FUNC (getdumplinecountf, GETDUMPLINECOUNTF)
#define GetDumpLineF F77_FUNC (getdumplinef, GETDUMPLINEF) #define GetDumpLineF FC_FUNC (getdumplinef, GETDUMPLINEF)
#define GetErrorLineCountF F77_FUNC (geterrorlinecountf, GETERRORLINECOUNTF) #define GetErrorLineCountF FC_FUNC (geterrorlinecountf, GETERRORLINECOUNTF)
#define GetErrorLineF F77_FUNC (geterrorlinef, GETERRORLINEF) #define GetErrorLineF FC_FUNC (geterrorlinef, GETERRORLINEF)
#define GetWarningLineCountF F77_FUNC (getwarninglinecountf, GETWARNINGLINECOUNTF) #define GetWarningLineCountF FC_FUNC (getwarninglinecountf, GETWARNINGLINECOUNTF)
#define GetWarningLineF F77_FUNC (getwarninglinef, GETWARNINGLINEF) #define GetWarningLineF FC_FUNC (getwarninglinef, GETWARNINGLINEF)
#define GetComponentCountF F77_FUNC (getcomponentcountf, GETCOMPONENTCOUNTF) #define GetComponentCountF FC_FUNC (getcomponentcountf, GETCOMPONENTCOUNTF)
#define GetComponentF F77_FUNC (getcomponentf, GETCOMPONENTF) #define GetComponentF FC_FUNC (getcomponentf, GETCOMPONENTF)
#define OutputLastErrorF F77_FUNC (outputlasterrorf, OUTPUTLASTERRORF) #define OutputLastErrorF FC_FUNC (outputlasterrorf, OUTPUTLASTERRORF)
#define OutputLastWarningF F77_FUNC (outputlastwarningf, OUTPUTLASTWARNINGF) #define OutputLastWarningF FC_FUNC (outputlastwarningf, OUTPUTLASTWARNINGF)
#define OutputLinesF F77_FUNC (outputlinesf, OUTPUTLINESF) #define OutputLinesF FC_FUNC (outputlinesf, OUTPUTLINESF)
#endif /* F77_FUNC */ #endif /* FC_FUNC */
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {

View File

@ -1,5 +1,7 @@
EXTRA_DIST = phreeqc.dat llnl.dat EXTRA_DIST = phreeqc.dat llnl.dat
AM_FCFLAGS = -I$(top_srcdir)/include
AM_FFLAGS = -I$(top_srcdir)/include AM_FFLAGS = -I$(top_srcdir)/include
noinst_PROGRAMS = kinn noinst_PROGRAMS = kinn
kinn_SOURCES = kinn.f dummy.cxx kinn_SOURCES = kinn.f main.cxx
kinn_LDADD = ../src/libiphreeqc.la $(FLIBS) kinn_LDADD = $(top_builddir)/src/libiphreeqc.la $(FCLIBS)

View File

@ -1,5 +1,6 @@
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
PROGRAM DRIVER C PROGRAM DRIVER
SUBROUTINE F_MAIN
IMPLICIT NONE IMPLICIT NONE
INCLUDE 'IPhreeqc.f.inc' INCLUDE 'IPhreeqc.f.inc'
@ -10,18 +11,22 @@
CHARACTER(30) comp CHARACTER(30) comp
INTEGER n INTEGER n
INTEGER len INTEGER len
INTEGER id INTEGER(KIND=4) id
REAL*8 dvalue REAL*8 dvalue
id = CreateIPhreeqc() id = CreateIPhreeqc()
write (*,*) "id = ", id
IF (id.LT.0) THEN IF (id.LT.0) THEN
CALL OutputLastError(id) CALL OutputLastError(id)
STOP STOP
ENDIF ENDIF
write (*,*) "id = ", id
iresult = LoadDatabase(id, 'llnl.dat') iresult = LoadDatabase(id, 'llnl.dat')
write (*,*) "id = ", id
IF (iresult.NE.0) THEN IF (iresult.NE.0) THEN
write (*,*) "id = ", id
CALL OutputLastError(id) CALL OutputLastError(id)
STOP STOP
ENDIF ENDIF
@ -103,7 +108,8 @@
50 FORMAT(A15,A,$) 50 FORMAT(A15,A,$)
60 FORMAT(1PG15.7E2,A,$) 60 FORMAT(1PG15.7E2,A,$)
END PROGRAM DRIVER C END PROGRAM DRIVER
END SUBROUTINE F_MAIN
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
SUBROUTINE SOLUTION(id, C, Ca, Na) SUBROUTINE SOLUTION(id, C, Ca, Na)
INCLUDE 'IPhreeqc.f90.inc' INCLUDE 'IPhreeqc.f90.inc'
@ -111,13 +117,13 @@
INTEGER err INTEGER err
REAL C, Ca, Na REAL C, Ca, Na
CHARACTER(80) line CHARACTER(80) line
WRITE (line,100),'SOLUTION 1' WRITE (line,100) 'SOLUTION 1'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line,110),'C ', C WRITE (line,110) 'C ', C
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line,110),'Ca ', Ca WRITE (line,110) 'Ca ', Ca
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line,110),'Na ', Na WRITE (line,110) 'Na ', Na
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
100 FORMAT(A) 100 FORMAT(A)
110 FORMAT(TR4,A,F8.4) 110 FORMAT(TR4,A,F8.4)
@ -130,9 +136,9 @@
REAL si, amount REAL si, amount
CHARACTER*(*) phase CHARACTER*(*) phase
CHARACTER(80) line CHARACTER(80) line
WRITE (line,'(A)'),'EQUILIBRIUM_PHASES' WRITE (line,'(A)') 'EQUILIBRIUM_PHASES'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line,'(TR4, A, F8.4, F8.4)'), phase, si, amount WRITE (line,'(TR4, A, F8.4, F8.4)') phase, si, amount
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
END SUBROUTINE EQUILIBRIUM_PHASES END SUBROUTINE EQUILIBRIUM_PHASES
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -146,37 +152,37 @@
CHARACTER(800) line CHARACTER(800) line
CHARACTER(80) form CHARACTER(80) form
CHARACTER(30) heading(20) CHARACTER(30) heading(20)
WRITE (line,200),'USER_PUNCH' WRITE (line,200) 'USER_PUNCH'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
DO i = 1,max DO i = 1,max
WRITE (heading(i), 210), WRITE (heading(i), 210)
& i, '.name ', & i, '.name ',
& i, '.type ', & i, '.type ',
& i, '.moles ' & i, '.moles '
END DO END DO
WRITE (line, *), '-head ', (heading(i), i=1,max) WRITE (line, *) '-head ', (heading(i), i=1,max)
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 200), '-start' WRITE (line, 200) '-start'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 220), '10 n = sys("' WRITE (line, 220) '10 n = sys("'
& , element, '", count, names$, types$, moles)' & , element, '", count, names$, types$, moles)'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 230), '20 n = ', max WRITE (line, 230) '20 n = ', max
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 240), '30 if count < ', max WRITE (line, 240) '30 if count < ', max
& , ' then n = count' & , ' then n = count'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 200), '40 for i = 1 to count' WRITE (line, 200) '40 for i = 1 to count'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 200), '50 PUNCH names$(i), types$(i), moles(i)' WRITE (line, 200) '50 PUNCH names$(i), types$(i), moles(i)'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 200), '60 next i' WRITE (line, 200) '60 next i'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 200), '70 list' WRITE (line, 200) '70 list'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 200), '-end' WRITE (line, 200) '-end'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line, 200), 'SELECTED_OUTPUT' WRITE (line, 200) 'SELECTED_OUTPUT'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
!!! WRITE (line, 200), '-file srctest.txt' !!! WRITE (line, 200), '-file srctest.txt'
!!! CALL AccumulateLine(line) !!! CALL AccumulateLine(line)
@ -193,13 +199,13 @@
INTEGER err INTEGER err
CHARACTER(80) line CHARACTER(80) line
INTEGER i INTEGER i
WRITE (line,500),'PHASES' WRITE (line,500) 'PHASES'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line,510),'Fix_H+' WRITE (line,510) 'Fix_H+'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line,510),'H+ = H+' WRITE (line,510) 'H+ = H+'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
WRITE (line,510),'log_k 0.0' WRITE (line,510) 'log_k 0.0'
err = AccumulateLine(id, line) err = AccumulateLine(id, line)
500 FORMAT(A) 500 FORMAT(A)
510 FORMAT(TR4,A) 510 FORMAT(TR4,A)