home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / oilfield / spe-25.lzh / ECON.FOR < prev    next >
Text File  |  1987-12-17  |  24KB  |  299 lines

  1.       COMMON/I1/PRESX(50),BY(50),XX,N,FINT                              SHJ00040
  2.       DIMENSION NY(50),QGAS(50),QOIL(50),YGAS(50),YOIL(50),PW(50),DOLR  SHJ00050
  3.      1(50),X(50)                                                        SHJ00060
  4.       DIMENSION GPRICE(50),OPRICE(50),YREV(50),OPCO(50),WIN(50)         SHJ00070
  5.       DIMENSION OIN(50),NYEAR(50),OVCO(50),CFL(50)                      SHJ00080
  6.       DIMENSION DRATE(50),ITITLE(80),WCO(50),OCO(50),CPW(50)            SHJ00090
  7.       DIMENSION JTITLE(80)                                              SHJ00100
  8.  10   FORMAT(' ')                                                       SHJ00110
  9. C     READ PROJECT DESIGNATION                                          SHJ00120
  10. C     READ STARTING YEAR OF EVALUATION                                  SHJ00130
  11.       READ(5,38)(ITITLE(IJ),IJ=1,36)                                    SHJ00140
  12.       READ(5,38)(JTITLE(IJ),IJ=1,36)                                    SHJ00150
  13. 38    FORMAT(36A2)                                                      SHJ00160
  14.       WRITE(6,39)(ITITLE(IJ),IJ=1,36)                                   SHJ00170
  15.       WRITE(6,39)(JTITLE(IJ),IJ=1,36)                                   SHJ00180
  16. 39    FORMAT(10X,36A2)                                                  SHJ00190
  17.       READ(5,15)IYEAR,IORGVN,NDATA                                      SHJ00200
  18.  15   FORMAT(3I4)                                                       SHJ00210
  19. C WELL DIFFERENTIATE BETWEEN MAIN PRODUCT STREAM 1.0 FOR GAS 0.0 FOR OILSHJ00220
  20.       READ(5,4)WELL                                                     SHJ00230
  21.  4    FORMAT(F5.0)                                                      SHJ00240
  22. C     READ TIME : INVESTMENTS : WELL COST ($), OTHER COSTS ($)          SHJ00250
  23.       READ(5,6)WC,OC                                                    SHJ00260
  24.  6    FORMAT(2F15.2)                                                    SHJ00270
  25. C     READ OPERATING COST ($/MONTH),INFLATION RATE (DEC/YEAR)           SHJ00280
  26.       READ(5,6)OPC,RI                                                   SHJ00290
  27. C     READ NO. OF LONG TERM INVESTMENTS (MAX. =9)                       SHJ00300
  28.       READ(5,9)NO                                                       SHJ00310
  29. 9     FORMAT(I1)                                                        SHJ00320
  30.       IF(NO.EQ.0) GO TO 13                                              SHJ00330
  31.       DO 12 IZ =1,NO                                                    SHJ00340
  32. C     READ YEAR OF EXPENSE, WELL COST,$,AND OTHER COSTS,$               SHJ00350
  33.       READ(5,16)NYEAR(IZ),WCO(IZ),OCO(IZ)                               SHJ00360
  34.  16   FORMAT (I5,2F10.0)                                                SHJ00370
  35.  12   CONTINUE                                                          SHJ00380
  36.  13   CONTINUE                                                          SHJ00390
  37.       IF(WELL.EQ.0.0) GO TO 17                                          SHJ00400
  38. C READ GAS RESERVES,MMCF,GAS RATE,MCF/D,CONDENSATE RATE,BARREL/MCF,     SHJ00410
  39. C     DECLINE RATE,DECIMAL,CONSTANT PERIOD,YEARS,SALES DELAY,           SHJ00420
  40. C     MONTHS (MAX.=24)                                                  SHJ00430
  41.       READ(5,19)GRES,QGAS(1),BPM,DR,CP,SD                               SHJ00440
  42.  19   FORMAT (2F15.0,4F10.2)                                            SHJ00450
  43. C     READ STARTING PRICES : GAS ($/MCF),CONDNESATE($/BBL.),AND         SHJ00460
  44. C     ESCALATION RATE (DECIMAL/YEAR)                                    SHJ00470
  45.       READ(5,21)GPRICE(1),OPRICE(1),CR                                  SHJ00480
  46.  21   FORMAT(3F10.2)                                                    SHJ00490
  47.       GO TO 22                                                          SHJ00500
  48.  17   CONTINUE                                                          SHJ00510
  49. C     READ RESERVES (MBO),OIL RATE,BOPD,DECLINE RATE,DECIMAL,GOR        SHJ00520
  50. C     SCF/BARREL,CONSTANT PERIOD,YEARS,SALES DELAY,MONTH                SHJ00530
  51. C     (MAX.=24)                                                         SHJ00540
  52.       READ(5,19)ORES,QOIL(1),DR,GOR,CP,SD                               SHJ00550
  53. C     READ STARTING PRICES :OIL($/BBL),GAS($/MCF),AND ESCALATION RATE   SHJ00560
  54. C     (DECIMAL/YEAR)                                                    SHJ00570
  55.       READ(5,21)OPRICE(1),GPRICE(1),ER                                  SHJ00580
  56.  22   CONTINUE                                                          SHJ00590
  57. C     CALCULATE TIME ZERO COSTS,OVERHEAD AND CASH FLOWS                 SHJ00600
  58.       WC=WC/1000.0                                                      SHJ00610
  59.       OC=OC/1000.0                                                      SHJ00620
  60.       TC=WC + OC                                                        SHJ00630
  61.       OH=TC*0.20                                                        SHJ00640
  62.       CFL(1)=0.0-(TC+OH)                                                SHJ00650
  63.       DOLR(1)=CFL(1)                                                    SHJ00660
  64. C     INITIALIZE NECESSARY VALUES TO TIME ZERO                          SHJ00670
  65.       OPCO(1)=(OPC*12.0/1000.0)/(1.0+RI)                                SHJ00680
  66.       SUMREV=0.0                                                        SHJ00690
  67.       SUMOIL=0.0                                                        SHJ00700
  68.       SUMGAS=0.0                                                        SHJ00710
  69.       X(1)=0.0                                                          SHJ00720
  70.       NY(1)=IYEAR-1                                                     SHJ00730
  71.       IX=NDATA                                                          SHJ00740
  72.       SUMOPC=0.0                                                        SHJ00750
  73.       OPCONE=SUMOPC                                                     SHJ00760
  74.       SUMLTW=WC                                                         SHJ00770
  75.       SUMLTO=OC                                                         SHJ00780
  76.       SUMOVC=OH                                                         SHJ00790
  77.       YGAS(1)=0.0                                                       SHJ00800
  78.       YOIL(1)=0.0                                                       SHJ00810
  79.       GPRICE(1)=GPRICE(1)/(1.0+ER)                                      SHJ00820
  80.       OPRICE(1)=OPRICE(1)/(1.0+ER)                                      SHJ00830
  81.       YREV(1)=0.0                                                       SHJ00840
  82.       WIN(1) =WC                                                        SHJ00850
  83.       OIN(1) =OC                                                        SHJ00860
  84.       OVCO(1)=OH                                                        SHJ00870
  85. C     TIME ZERO OIL AND GAS RATES                                       SHJ00880
  86.       IF(WELL.EQ.0.0)QGAS(1)=QOIL(1)*GOR/1000.0                         SHJ00890
  87.       IF(WELL.NE.0.0)QOIL(1)=QGAS(1)*BPM                                SHJ00900
  88. C                                                                       SHJ00910
  89. C     CACULATE PRODUCTION REVENUE AND COSTS FOR ALL YEARS               SHJ00920
  90.       NOP1=NO+1                                                         SHJ00930
  91.       DO 100 I =2,IX                                                    SHJ00940
  92.       JIM = I-1                                                         SHJ00950
  93.       X(I) = X(JIM) + 1.0                                               SHJ00960
  94.       NY (I) = NY(JIM)+1                                                SHJ00970
  95.       IF(IORGVN.EQ.1) GO TO 60                                          SHJ00980
  96.       IF(CP.GE.X(1)) XDR =0.0                                           SHJ00990
  97.       IF(CP.LT.X(I))XDR = DR                                            SHJ01000
  98.       SDF =1.0                                                          SHJ01010
  99.       IF(SD.LE.12.0.AND.I.EQ.2) SDF =1.0 - (SD/12.0)                    SHJ01020
  100.       IF(SD.GT.12.0.AND.I.EQ.2) SDF =0.0                                SHJ01030
  101.       IF(SD.GT.12.0.AND.I.EQ.3) SDF =1.0 - ((SD-12.0)/(12.0))           SHJ01040
  102.       QGAS(I) = QGAS(JIM)*(1.0-(XDR*SDF))                               SHJ01050
  103.       QOIL(I) = QOIL(JIM)*(1.0-(XDR*SDF))                               SHJ01060
  104.       IF(QGAS(I).EQ.QGAS(JIM))GO TO 25                                  SHJ01070
  105.       IF(QOIL(I).EQ.QOIL(JIM))GO TO 25                                  SHJ01080
  106.       YGAS(I)=((QGAS(JIM)-QGAS(I))*365.*SDF)/(ALOG(QGAS(JIM)/QGAS(I)))  SHJ01090
  107.       YOIL(I)=((QOIL(JIM)-QOIL(I))*365.*SDF)/(ALOG(QOIL(JIM)/QOIL(I)))  SHJ01100
  108.       GO TO 26                                                          SHJ01110
  109.  25   CONTINUE                                                          SHJ01120
  110.       YGAS(I)= QGAS(I)*365.*SDF                                         SHJ01130
  111.       YOIL(I)= QOIL(I)*365.*SDF                                         SHJ01140
  112.       GO TO 26                                                          SHJ01150
  113. C 60  DO 26 I = 1, NDATA                                                SHJ01160
  114.    60 READ(5,500)QOIL(I)                                                SHJ01170
  115.  500  FORMAT(F15.0)                                                     SHJ01180
  116.       QGAS(I) = QOIL(I)*GOR/1000.0                                      SHJ01190
  117.       YGAS(I) = QGAS(I)*365.0                                           SHJ01200
  118.       YOIL(I) = QOIL(I)*365.0                                           SHJ01210
  119.  26   CONTINUE                                                          SHJ01220
  120.       YGAS(I) = YGAS(I)/1000.0                                          SHJ01230
  121.       YOIL(I) = YOIL(I)/1000.0                                          SHJ01240
  122.       SUMGAS = SUMGAS + YGAS(I)                                         SHJ01250
  123.       SUMOIL = SUMOIL + YOIL(I)                                         SHJ01260
  124. C     REVENUE                                                           SHJ01270
  125.       GPRICE(I) = GPRICE(JIM)*(1.0 + ER)                                SHJ01280
  126.       OPRICE(I) = OPRICE(JIM)*(1.0 + ER)                                SHJ01290
  127.       YREV(I)   =(YOIL(I)*OPRICE(I))+(YGAS(I)*GPRICE(I))                SHJ01300
  128.       SUMREV    = SUMREV + YREV(I)                                      SHJ01310
  129. C     OPERATING COST                                                    SHJ01320
  130.       OPCO(I) = OPCO(JIM)*(1.0+RI)                                      SHJ01330
  131.       SUMOPC  = SUMOPC+OPCO(I)                                          SHJ01340
  132. C     LONG TERM INVESTMENTS                                             SHJ01350
  133.       WIN(I) = 0.0                                                      SHJ01360
  134.       OIN(I) = 0.0                                                      SHJ01370
  135.       IF(NO.EQ.0) GO TO 27                                              SHJ01380
  136.       DO 110 J = 1,NO                                                   SHJ01390
  137.       IF(NY(I).EQ.NYEAR(J)) WIN(I) = WCO(J)*EXP(RI*X(I))                SHJ01400
  138.       IF(NY(I).EQ.NYEAR(J)) OIN(I) = OCO(J)*EXP(RI*X(I))                SHJ01410
  139.  110  CONTINUE                                                          SHJ01420
  140.       WIN(I) = WIN(I)/1000.0                                            SHJ01430
  141.       OIN(I) = OIN(I)/1000.0                                            SHJ01440
  142.  27   CONTINUE                                                          SHJ01450
  143.       SUMLTW = SUMLTW + WIN(I)                                          SHJ01460
  144.       SUMLTO = SUMLTO + OIN(I)                                          SHJ01470
  145. C     OVERHEAD COSTS ( 20% OF TOTAL COSTS )                             SHJ01480
  146.       OVCO(I) = 0.2*(OPCO(I) + WIN(I) + OIN(I))                         SHJ01490
  147.       SUMOVC  = SUMOVC + OVCO(I)                                        SHJ01500
  148. C     YEARLY CASH FLOW                                                  SHJ01510
  149.       CFL(I)  = YREV(I)-(OPCO(I) + OIN(I) + WIN(I) + OVCO(I))           SHJ01520
  150. C     CUMULATIVE CASH FLOW                                              SHJ01530
  151.       DOLR(I) = DOLR(JIM) + CFL(I)                                      SHJ01540
  152. C     STOP DO LOOP IF REVENUE IS LESS THAN 1.2 TIMES OPERATING COST OR  SHJ01550
  153. C     IF RESERVES ARE EXHAUSTED                                         SHJ01560
  154.       IF (YREV(I).LE.(1.2*OPCO(I))) IX =I                               SHJ01570
  155.       IF(WELL.EQ.0.0.AND.SUMOIL.GE.ORES) IX = I                         SHJ01580
  156.       IF(WELL.NE.0.0.AND.SUMGAS.GE.GRES) IX = I                         SHJ01590
  157.       IF(IX.EQ.I) GO TO 101                                             SHJ01600
  158.  100  CONTINUE                                                          SHJ01610
  159.  101  CONTINUE                                                          SHJ01620
  160. C     CALCULATE PRESENT WORTH AT DISCOUNT RATES FROM 1.1 TO 0.0 IN      SHJ01630
  161. C     INCREMENTS OF 0.1                                                 SHJ01640
  162.       DRATE(1) = 1.1                                                    SHJ01650
  163.       BY(1) = DRATE(1)                                                  SHJ01660
  164.       PW(1) = 0.0 - 1.0                                                 SHJ01670
  165.       PRESX(1) = PW(1)                                                  SHJ01680
  166.       DO 120 L = 2,12                                                   SHJ01690
  167.       PW(L)    = 0.0                                                    SHJ01700
  168.       DRATE(L) = DRATE(L-1) - 0.1                                       SHJ01710
  169.       DO 115 IK = 1,IX                                                  SHJ01720
  170.       CPW(IK) =CFL(IK)*EXP(0.0-DRATE(L)*X(IK))                          SHJ01730
  171.       PW(L) = PW(L) + CPW(IK)                                           SHJ01740
  172. 115   CONTINUE                                                          SHJ01750
  173.       PRESX(L) = PW(L)                                                  SHJ01760
  174.       BY(L) = DRATE(L)                                                  SHJ01770
  175. 120   CONTINUE                                                          SHJ01780
  176. C     CALCULATE PROFITABILITY INDEX                                     SHJ01790
  177.       XAXIS = 0.0                                                       SHJ01800
  178.       NN    = 48                                                        SHJ01810
  179.       N  = NN                                                           SHJ01820
  180.       XX = XAXIS                                                        SHJ01830
  181.       PI = 0.0                                                          SHJ01840
  182.       IF(PW(2).GE.0.0) PI = 100.0                                       SHJ01850
  183.       IF(PW(2).GE.0.0) GO TO 28                                         SHJ01860
  184.       CALL TLUP                                                         SHJ01870
  185.       PI = FINT                                                         SHJ01880
  186.       PI = PI*100.0                                                     SHJ01890
  187. 28    CONTINUE                                                          SHJ01900
  188. C     WRITE(6,7000)PI                                                   SHJ01910
  189. C7000 FORMAT(10X,F15.5)                                                 SHJ01920
  190. C     CALCULATEPAYOUT TIME IN MONTHS                                    SHJ01930
  191.       DO 1000 J = 1,IX                                                  SHJ01940
  192.       PRESX(J)  = DOLR(J)                                               SHJ01950
  193.       BY(J)     = X(J)                                                  SHJ01960
  194. 1000  CONTINUE                                                          SHJ01970
  195.       XX = XAXIS                                                        SHJ01980
  196.       N  = IX                                                           SHJ01990
  197.       CALL TLUP                                                         SHJ02000
  198.       POUT = FINT                                                       SHJ02010
  199.       POUT = POUT*12.0                                                  SHJ02020
  200. C     WRITE(6,7000)POUT                                                 SHJ02030
  201. C     CALCULATE R.O.I. UNDISCOUNTED                                     SHJ02040
  202.       ROI  = DOLR(IX)/(0.0-DOLR(1))                                     SHJ02050
  203. C   CASH POSITION AND MAXIMUM CASH OUTLAY CONVERSION TO DOLLARS FROM MS SHJ02060
  204.       CAP = DOLR(IX)*1000.0                                             SHJ02070
  205.       COM = (0.0-DOLR(1))*1000.0                                        SHJ02080
  206. C     WRITE OUTPUT                                                      SHJ02090
  207.       WRITE(6,10)                                                       SHJ02100
  208.       WRITE(6,10)                                                       SHJ02110
  209.       WRITE(6,10)                                                       SHJ02120
  210.       WRITE(6,10)                                                       SHJ02130
  211.       WRITE(6,201)                                                      SHJ02140
  212. 201   FORMAT(20X,'ECONOMICS :',/,20X,11('*'),/)                         SHJ02150
  213. 202   FORMAT(9X,'PAYOUT             =',7X,F15.2,'MONTHS',/,             SHJ02160
  214.      110X,'R.O.I.            =',5X,F15.0,/,                             SHJ02170
  215.      210X,'P.I.              =',5X,F15.2,/,                             SHJ02180
  216.      310X,'CASH POSITION     =',2X,'$',2X,F15.0,/,                      SHJ02190
  217.      410X,'MAX.CASH OUTLAY   =',2X,'$',2X,F15.0,/,10X,43('*'),//)       SHJ02200
  218. 214   FORMAT(10X,'DISCOUNT RATE',10X,'PRESENT WORTH',/,11X,36('*')      SHJ02210
  219.      1,//)                                                              SHJ02220
  220. 215   FORMAT(10X,F12.4,10X,F12.0,/)                                     SHJ02230
  221. 203   FORMAT(10X,'RESERVES :',/,11X,8('*'),/)                           SHJ02240
  222. 204   FORMAT(9X,'WELL LIFE         =',6X,I3,5X,'YEARS',/,               SHJ02250
  223.      110X,'CUM. OIL PRODUCED =',F12.0,2X,'MBBLS',/,                     SHJ02260
  224.      210X,'CUM. GAS PRODUCED =',F12.0,2X,'MMCF',/,10X,38('*'),/)        SHJ02270
  225. 207   FORMAT(20X,'CASH FLOW TABLE, THOUSAND DOLLARS',/,21X,33('*')      SHJ02280
  226.      1,//)                                                              SHJ02290
  227. 208   FORMAT(1X,'YEAR',3X,'OIL PRODUCTION',2X,'OIL RATE',2X,            SHJ02300
  228.      1'GAS PRODUCTION',2X,'GAS RATE',3X,'OIL PRICE',2X,'GAS PRICE',     SHJ02310
  229.      25X,'TOTAL REVENUE',/,13X,'MBO',10X,'STB/D',8X,'MMCF',9X,'MCF/D'   SHJ02320
  230.      3,7X,'$/BO',5X,'$/MCF',/,1X,100('*'),//)                           SHJ02330
  231. 211   FORMAT(1X,'YEAR',8X,'WELL COSTS',2X,'OTHER COSTS',5X,             SHJ02340
  232.      1'OPERATING COSTS',2X,'OVERHEAD COSTS',2X,'CASH FLOW',2X,          SHJ02350
  233.      2'CUMULATIVE',/,87X,'CASH FLOW',/,1X,100('*'),//)                  SHJ02360
  234. 212   FORMAT(1X,'TIME0',7X,F10.0,3X,F10.0,7X,F10.0,6X,F10.0,2X,         SHJ02370
  235.      1F10.0,2X,F10.0,/)                                                 SHJ02380
  236. 29    FORMAT(1X,I4,8X,F10.0,3X,F10.0,7X,F10.0,6X,F10.0,2X,F10.0,        SHJ02390
  237.      22X,F10.0,/)                                                       SHJ02400
  238. 209   FORMAT(1X,I4,5X,F12.0,2X,F8.0,5X,F10.0,2X,F8.0,3X,F8.0,           SHJ02410
  239.      13X,F8.0,5X,F12.0,/)                                               SHJ02420
  240.       WRITE(6,202)POUT,ROI,PI,CAP,COM                                   SHJ02430
  241.       WRITE(6,214)                                                      SHJ02440
  242.       DO 41 MN = 2,12                                                   SHJ02450
  243.       WRITE(6,215)DRATE(MN),PW(MN)                                      SHJ02460
  244. 41    CONTINUE                                                          SHJ02470
  245.       WRITE(6,10)                                                       SHJ02480
  246.       WRITE(6,10)                                                       SHJ02490
  247.       WRITE(6,203)                                                      SHJ02500
  248.       WRITE(6,10)                                                       SHJ02510
  249.       WRITE(6,204) IX,SUMOIL,SUMGAS                                     SHJ02520
  250.       WRITE(6,10)                                                       SHJ02530
  251.       WRITE(6,10)                                                       SHJ02540
  252.       WRITE(6,10)                                                       SHJ02550
  253.       WRITE(6,10)                                                       SHJ02560
  254.       WRITE(6,207)                                                      SHJ02570
  255.       WRITE(6,10)                                                       SHJ02580
  256.       WRITE(6,10)                                                       SHJ02590
  257.       WRITE(6,208)                                                      SHJ02600
  258.       WRITE(6,10)                                                       SHJ02610
  259.       DO 30 K = 2,IX                                                    SHJ02620
  260.       WRITE(6,209)NY(K),YOIL(K),QOIL(K),YGAS(K),QGAS(K),OPRICE(K),      SHJ02630
  261.      1GPRICE(K),YREV(K)                                                 SHJ02640
  262. 30    CONTINUE                                                          SHJ02650
  263.       WRITE(6,210) SUMOIL,SUMGAS,SUMREV                                 SHJ02660
  264. 210   FORMAT(2X,100('-'),/,'TOTAL',5X,F12.0,15X,F10.0,37X,F12.0)        SHJ02670
  265.       WRITE(6,10)                                                       SHJ02680
  266.       WRITE(6,10)                                                       SHJ02690
  267.       WRITE(6,211)                                                      SHJ02700
  268.       WRITE(6,212)WC,OC,OPCONE,OH,CFL(1),DOLR(1)                        SHJ02710
  269.       DO 40 M = 2,IX                                                    SHJ02720
  270.       WRITE(6,29)NY(M),WIN(M),OIN(M),OPCO(M),OVCO(M),CFL(M),DOLR(M)     SHJ02730
  271. 40    CONTINUE                                                          SHJ02740
  272.       WRITE(6,213)SUMLTW,SUMLTO,SUMOPC,SUMOVC,DOLR(IX)                  SHJ02750
  273. 213   FORMAT(2X,100('-'),/,'TOTAL',8X,F10.0,3X,F10.0,7X,F10.0,6X,       SHJ02760
  274.      *F10.0,2X,F10.0,/)                                                 SHJ02770
  275. 702   FORMAT(2X,100('-'),//)                                            SHJ02780
  276. 999   CONTINUE                                                          SHJ02790
  277.       WRITE(6,10)                                                       SHJ02800
  278.       WRITE(6,10)                                                       SHJ02810
  279.       STOP                                                              SHJ02820
  280.       END                                                               SHJ02830
  281.       SUBROUTINE TLUP                                                   SHJ02840
  282.       COMMON/I1/PRESX(50),BY(50),XX,N,FINT                              SHJ02850
  283. C     THE FOLLOWING FUNCTION PERFORMS LINEAR INTERPOLATION              SHJ02860
  284. C     ----------------------------------------------------              SHJ02870
  285.       IF(XX.GT.PRESX(1)) GO TO 1                                        SHJ02880
  286.       FINT = (BY(1)/PRESX(1))*XX                                        SHJ02890
  287.       GO TO 22                                                          SHJ02900
  288. 1     CONTINUE                                                          SHJ02910
  289.       DO 21 K = 2,N                                                     SHJ02920
  290.       IF(XX-PRESX(K))11,11,21                                           SHJ02930
  291. 11    SLOPE = (BY(K)-BY(K-1))/(PRESX(K)-PRESX(K-1))                     SHJ02940
  292.       B = BY(K)-SLOPE*PRESX(K)                                          SHJ02950
  293.       FINT = SLOPE*XX + B                                               SHJ02960
  294.       GO TO 22                                                          SHJ02970
  295. 21    CONTINUE                                                          SHJ02980
  296. 22    CONTINUE                                                          SHJ02990
  297.       RETURN                                                            SHJ03000
  298.       END                                                               SHJ03010
  299.