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