The original CRSM code exists as a single file called ? CRSMLR.BUR.? This file is loaded onto the
<br />SGI workstation and is split into its component subroutines, functions, and block data programs
<br />fsplit
<br />using the UNIX command. The resulting ?abnorm.f? file contains the ?abnorm? subroutine
<br />shown below, and hereafter referred to as [original]:
<br /> SUBROUTINE ABNORM(LOT,J) ABNORM 1
<br />C-----------------------------------------------------------------------ABNORM 2
<br />C THIS SUBROUTINE PRINTS MESSAGES RELATING TO CERTAIN ERROR ABNORM 3
<br />C CONDITIONS ABNORM 4
<br />C-----------------------------------------------------------------------ABNORM 5
<br /> COMMON /GENRL/ LTITLE(8),NCTRL(25,20),MOBEG,IYRBEG,MOEND,IYREND, GENRL 1
<br /> +NUMNOD,ISEQ(25,20),KPRI,NUMSEQ(25),NDWTR(25,25),MOTRN,IYRTRN,DAT, GENRL 2
<br /> +TIM,IFLOW,IOC(30),NSMESS,TRENDYR,IW,MOPR,IYRPR,NODPR,ISEQPR, GENRL 3
<br /> +MAXDEM,MAXNOD,EOMC(25),TIMER(10),NEX(25,10),IDTRA,NRSBERS,IYR,MO, GENRL 4
<br /> +JYR,ICM,NCOMT,IBASEYR,NYRSOV,IVRSDAT,SUMSALT(25,10),IRUN,IOS(30), GENRL 5
<br /> +NSKIP,ITRNYR,ITRNMO,DBTITLE(8),NSURPID,IYSURP,JYSURP,DIFSNDP(13) RDO 4
<br /> +,NFLD,BSURP(2),PROBNU,MYRS(2) RDO 5
<br /> COMMON / / RDATA(25,100),RULE(25,12),CONEVP(25,12),BANKCO(25), BLANK 1
<br /> +KSURNM(25,8),QINFLO(25,10, 5),DEMAND(25,10,16),KDEMNM(25,10,8), BLANK 2
<br /> +TRENDP(25,10,12),TRENDC(25,10,2),ITREND(25,10),BNKRES(25,2) BLANK 3
<br /> COMMON /POWER/ CAPBAB(25,25),TDATA(25,4),ENERGY(25,8),PDATA(25,12)POWER 1
<br /> +,BASECFS(25) POWER 2
<br /> INTEGER TYPE ABNORM 9
<br /> GO TO (100,110,120,130,140,180,190,200,210,150,160,170),LOT ABNORM 10
<br /> 100 WRITE(IW,9010) ABNORM 11
<br /> GO TO 220 ABNORM 12
<br /> 110 WRITE(IW,9020) ABNORM 13
<br /> GO TO 220 ABNORM 14
<br /> 120 WRITE(IW,9030) ABNORM 15
<br /> GO TO 220 ABNORM 16
<br /> 130 WRITE(IW,9040) ABNORM 17
<br /> GO TO 220 ABNORM 18
<br /> 140 WRITE(IW,9050) ABNORM 19
<br /> GO TO 220 ABNORM 20
<br /> 150 WRITE(IW,9070) ABNORM 21
<br /> GO TO 220 ABNORM 22
<br /> 160 WRITE(IW,9080) ABNORM 23
<br /> GO TO 220 ABNORM 24
<br /> 170 CONTINUE ABNORM 25
<br /> GO TO 220 ABNORM 26
<br /> 180 WRITE(IW,9060) ABNORM 27
<br /> GO TO 220 ABNORM 28
<br /> 190 WRITE(IW,9090) ABNORM 29
<br /> GO TO 220 ABNORM 30
<br /> 200 CONTINUE ABNORM 31
<br /> 210 CONTINUE ABNORM 32
<br /> 220 TYPE=8HR DATA= ABNORM 33
<br /> WRITE(IW,9000) TYPE,(RDATA(J,I),I=1,100) ABNORM 34
<br /> TYPE=8HP DATA= ABNORM 35
<br /> WRITE(IW,9000) TYPE,(PDATA(J,I),I=1,12) ABNORM 36
<br /> RETURN ABNORM 37
<br /> 9000 FORMAT(11X,A8,(10X,6E17.10/)) ABNORM 38
<br /> 9010 FORMAT(//" ERROR ABNO001 CAPACITY EXCEEDS THE AREA-CAPACITY " ABNORM 39
<br /> +"TABULAR DATA") ABNORM 40
<br /> 9020 FORMAT(//" ERROR ABNO002 SOLUTION OF QUADRATIC FOR ELEVATION " ABNORM 41
<br /> +"IS IMAGINARY") ABNORM 42
<br /> 9030 FORMAT(//" ERROR ABNO003 INSUFFICIENT RESERVOIR CAPACITY") ABNORM 43
<br /> 9040 FORMAT(//" ERROR ABNO004 MINIMUM RELEASE CONSTRAINT VIOLATED " ABNORM 44
<br /> +"IN MEETING POWER DEMAND") ABNORM 45
<br /> 9050 FORMAT(//" ERROR ABNO005 RESERVOIR RELEASE IS NEGATIVE IN " ABNORM 46
<br /> +"MEETING CAPACITY CONSTRAINTS") ABNORM 47
<br /> 9060 FORMAT(//" ERROR ABNO006 ITERATION FOR HYDROLOGIC BALANCE IN " ABNORM 48
<br /> +"SUBROUTINE RESBAL EXCEEDS THE MAXIMUM") ABNORM 49
<br /> 9070 FORMAT(//" ERROR ABNO007 SOLUTION OF QUADRATIC FOR GROSS " ABNORM 50
<br /> +"POWER HEAD IS IMAGINARY") ABNORM 51
<br /> 9080 FORMAT(//" ERROR ABNO008 GROSS HEAD EXCEEDED MAXIMUM HEAD IN " ABNORM 52
<br /> +"PREVIOUS TIME FRAME") ABNORM 53
<br /> 9090 FORMAT(//" ERROR ABNO009 IN SUBROUTINE RESBAL, THE FIRST " ABNORM 54
<br /> +"ITERATION MAY NOT REQUIRE A RESERVOIR RELEASE") ABNORM 55
<br /> END ABNORM 56
<br />The modified ?abnorm? subroutine supplied by the State is shown below and is hereafter referred to
<br />as [modified]. It can be seen that [original] has some code different than [modified], and it also has
<br />line numbers at the end of each line of code (perhaps a remnant of the mainframe version?). This
<br />4
<br />A275 01.08.95 1.05-20 Malers
<br />
|