1
2
3      SUBROUTINE costac(DIM,X,Y,Z,WELRATE,NLAY,NROW,NCOL,COSTC,FLAG)
4      IMPLICIT NONE
5
6      INTEGER DIM,NLAY,NROW,NCOL,I,FLAG
7      INTEGER X(DIM), Y(DIM), Z(DIM)
8      DOUBLE PRECISION WELRATE(DIM),ZGS,HMIN, TEMP,COSTC
9      DOUBLE PRECISION TEMP2
10      DOUBLE PRECISION QM(DIM), DEPTH(DIM)
11      REAL*8 DRWDOWN(DIM), MINRATE
12
13C Exponents
14      REAL*8 B0,B1,B2
15C Coefficients
16      REAL*8 C0,C1
17C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18C define constant coefficients, exponents, etc...
19
20      B0 = 0.3
21      B1 = 0.45
22      B2 = 0.64
23      C0 = 5500.0
24      C1 = 5750.0
25      ZGS = 30.0
26      hmin = 10.0
27      TEMP = 0.0
28      COSTC = 0.0
29      TEMP2 = (ZGS-HMIN)**B2
30      MINRATE = 0.0001
31C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32C define the depth of each well
33      DO 10 , I=1,DIM
34      DEPTH(I) = ZGS
35      QM(I) = 1.5*WELRATE(I)
36 10   CONTINUE
37C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38C Compute cost to drill the wells
39      DO 20 , I=1,DIM
40         IF(ABS(WELRATE(I)) .GT. MINRATE)THEN
41C         WRITE(*,*) 'Well', I, 'is ON'
42         TEMP = TEMP + C0*DEPTH(I)**B0
43C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44C If the well is extracting, add on the cost of a pump
45         IF(WELRATE(I) .LT. 0.0)THEN
46         TEMP = TEMP + C1*(ABS(QM(I))**B1)*TEMP2
47C         WRITE(*,*) '-',I
48         ENDIF
49         ENDIF
50 20      CONTINUE
51      COSTC = TEMP
52      END
53
54