$NOFLOATCALLS C*********************************************************************** C SUBROUTINE PPPP C C*********************************************************************** C C -- THE PRIMARY ENERGY PRICE PREPROSSESSOR -- C C THIS SUBROUTINE COMPUTES THE PRICE OF PRIMARY ENERGY BY REGION C AND FUEL TYPE FOR: OIL, GAS, SOLIDS, SOLAR AND HYDRO. NUCLEAR C ENERGY PRODUCTION COSTS ARE DETERMINED IN THE SUPPLY MODULE. C C C VERSION: A.31.07.84 C C INTEGER INPUTS: NF,NCATCH,NHXIL,NI,NM,NXIL C REAL INPUTS: CSLT,PIM,TRI,TXILM C C REAL OUTPUTS: PILM C C LOCAL REALS: T C C LOCAL INTEGERS: ISOLAR,MM1,NX,NT C C SUBROUTINES CALLED: NONE C C WRITTEN BY: C JAE EDMONDS LATEST REVISION: C 1 JANUARY 1982 31 JULY 1984 C BY: JAE EDMONDS C * SECONDARY ENERGY AND GNP C ARE NO LONGER CALCULATED C IN THIS SUBROUTINE. THEY C ARE NOW CALCULATED IN C SUBROUTINE PSPS. C 1 SEPTEMBER 88 C BY DAVE BARNS C TO INCLUDE COMMON C 15 AUGUST 1989 C BY: JAE EDMONDS C TO CORRECT PROBLEMS IN C THE NUCLEAR SUPPLY PRICE C CALCULATION. C C*********************************************************************** C C MAKE ALL REAL VARIABLES DOUBLE PRECISION C IMPLICIT REAL*8 (A-H,O-Z), INTEGER (I-N) C C COMMON BLOCKS $INCLUDE:'COMMON.FOR' REAL*4 PARMT REAL*8 B,C,T,TT,R,Q,V,W,XX C INTEGER INUC,ISNUC,ISOLAR,MM1,MM2 C INUC =4 ISNUC =5 ISOLAR=5 T =(M-1)*NJUMP TT =NJUMP MM1 =M-1 MM2 =M-2 C C*********************************************************************** C C +---------------------------------+ C | SET PRIMARY ENERGY PRICES | C +---------------------------------+ C DO 20 L=1,NL C +-------------------------------------------+ C | COMPUTE REGIONAL FOSSIL FUEL PRICES | C +-------------------------------------------+ DO 10 I=1,NF PILM(I,L,M)=(PIM(I,M)+TRI(I))*TXILM(I,L,M) IF(M.NE.1) PILM(I,L,M)=(PIM(I,M)+TRI(I)/2.D0)*TXILM(I,L,M) 10 CONTINUE 20 CONTINUE C C *************************************** C *** IF NOT THE FIRST TIME THROUGH *** C *** NUCLEAR, SOLAR, AND HYDRO COSTS *** C *** WERE COMPUTED. ROUTINE RETURNS *** C *************************************** C IF(NAGN.NE.0) RETURN C C*********************************************************************** Q=0.D0 DO 30 L=1,NL C +-------------------------------------------------+ C | SOLAR SUPPLY IS PERFECTLY ELASTIC AT PRICE PILM | C +-------------------------------------------------+ PILM(ISOLAR,L,M)=XNTERP(CSLT(L,1),CSLT(L,2),CSLT(L,3),T) C C +--------------------------+ C | SET HYDRO ELECTRIC PRICE | C +--------------------------+ PILM(NI,L,M)=HYDRO(4,L) C C----------------------------------------------------------------------- C LONG-RUN SUPPLY SCHEDULE FOR C IS=5= NUCLEAR C----------------------------------------------------------------------- C C +------------------------------------------------+ C | ESTIMATE CUMULATIVE PRODUCTION TO DATE | C +------------------------------------------------+ IS=ISNUC I=INUC C +----------------------------------------------------+ C | In the first period cumulative production is zero | C +----------------------------------------------------+ IF(M.EQ.1) QISLM(IS,L,M)=0.D0 C +------------------------------------------------------+ C | After the second period recompute actual cumulative | C | production. | C +------------------------------------------------------+ IF(M.GE.3) QISLM(IS,L,MM1)=QISLM(IS,L,MM2) + & 0.5D0*(ESUILM(I,L,MM2)+ESUILM(I,L,MM1))*TT C +-------------------------------------------------------+ C | For all periods after the first, estimate cumulative | C | production as a simple sum of the previous period's | C | cumulative production plus the last periods | C | production rate times TT years. | C +-------------------------------------------------------+ IF(M.GE.2) QISLM(IS,L,M)=QISLM(IS,L,MM1) + TT*ESUILM(I,L,MM1) C +-----------------------------------------+ C | Compute global cumulative production. | C +-----------------------------------------+ Q=Q+QISLM(IS,L,M) 30 CONTINUE C +--------------------------------------------------------------+ C | USE GLOBAL CUMULATIVE PRODUCTION TO COMPUTE NUCLEAR PRICE | C +--------------------------------------------------------------+ C C ***************************************** C *** FIND RESOURCE GRADE CURRENTLY *** C *** BEING PRODUCED *** C ***************************************** C R=0.D0 DO 50 IG=1,NIG W=0.D0 DO 40 L=1,NL W=W+RIGISL(IG,IS,L) R=R+RIGISL(IG,IS,L) 40 CONTINUE IF(Q.LE.R) GO TO 70 50 CONTINUE C C **************************************** C *** IF RESOURCE IS EXHAUSTED, SET *** C *** CIL=100 *** C **************************************** C DO 60 L=1,NL CIL(IS,L)=100.D0 PILM(4,L,M)=CIL(IS,L) 60 CONTINUE RETURN C C **************************************** C *** CALCULATE EXTRACTION COSTS *** C *** EXCLUDING TECHNOLOGICAL CHANGE *** C *** AND ENVIROMENTAL COSTS *** C **************************************** C 70 CONTINUE C IG1=IG+1 W=(R-Q)/W C=W*CIGIS(IG,IS)+(1.D0-W)*CIGIS(IG1,IS) C C **************************************** C *** CALCULATE TECHNOLOGICAL CHANGE *** C *** AND ENVIRONMENTAL COSTS *** C **************************************** C DO 80 L=1,NL TECH=(1.D0+STISL(IS,L))**T C IF(M.LE.3) V=VISL(IS,L)*T/75.D0 IF(M.GT.3) V=VISL(IS,L) C C **************************************** C *** COMBINE EXTRACTION COSTS, *** C *** ENVIROMENTAL COSTS, AND TECH- *** C *** NOLOGICAL CHANGE TO CALCULATE *** C *** NUCLEAR COST *** C **************************************** C CIL(IS,L)=(C+V)/TECH PILM(4,L,M)=CIL(IS,L) 80 CONTINUE C C RETURN END