* MODEL FOR CARRIER OPERATIONS IN ENEMY WATERS NOTE NOTE Graciously provided by Geoff Coyle NOTE See Coyle, R. G. (1992). A system dynamics model of aircraft carrier survivability. System Dynamics Review 8(3): 193-213 NOTE downloaded from Tom Fiddaman's model library, www.sd3.info NOTE written in COSMIC, a dynamic simulation language syntactically close to DYNAMO NOTE NOTE FILE NAMED CARR-MOD NOTE RUN 190 SECS WITH 5 CASES NOTE NOTE CARRIERS IN ENEMY WATERS NOTE L CINS.K=CINS.J+DT*(CARNS.JK-CLRNS.JK) N CINS=0 NOTE NOTE EQUATIONS FOR PIPELINE NOTE R DCARNS.KL=DELAY3(CDR.JK,DEL) NOTE TP PREV=16*0 NOTE R DCARNS.KL=DLPIPE(PREV,CDR.JK,DEL) L CAE.K=CAE.J+DT*(DCARNS.JK-CARNS.JK) N CAE=0 R CARNS.KL=CLIP(QUANT.K/DT,0,CAE.K,QUANT.K-0.05) A QUANT.K=CLIP(FQ,SQ,FQ,CCD.K+0.01) C FQ=1 C SQ=1 R CDR.KL=PULSE(CFORCE/DT,1,100) C DEL=4 A CACE.K=FIC.K+BIC.K C CFORCE=6 L CCD.K=CCD.J+DT*CARNS.JK N CCD=0 C MAXAC=55 A ACCH.K=MAXAC-FACPC.K-BACPC.K NOTE NOTE FIGHTER AIRCRAFT DEPLOYED FROM CARRIERS NOTE L FIC.K=FIC.J+DT*(FARWC.JK-FLRFEA.JK-FLRFCL.JK) N FIC=0 A AFPC.K=RATIO(FIC.K,CINS.K) R FARWC.KL=CARNS.KL*FACPC.K A FACPC.K=CLIP(FQF,SQF,FQ,CCD.K+0.01) C FQF=24 C SQF=24 R FLRFEA.KL=MAX(0,MIN(FCOO.K/DT,BFSAC.K*FLPBS.K)-FLRFCL.KL) A FCOO.K=FIC.K*DEOAO.K A FLPBS.K=BFLPBS*BFTFDF.K A BFTFDF.K=TABHL(TBFTDF,BFTFD.K,1,2,0.5) T TBFTDF=0.3/0.4/1.0 A BFTFD.K=RATIO(BFSAC.K,FCOO.K) C BFLPBS=0.30 R FLRFCL.KL=MIN(CLRNS.KL*AFPC.K*(1-TFRAC.K),FIC.K/DT) A TFRAC.K=MIN(MIN(BTFRAC,DEOAO.K),CLIP(CINS.K-1,0,CINS.K,2)*(MAXAC- X (ABPC.K+AFPC.K))/(ABPC.K+AFPC.K+0.01))*CLIP(0,1,ADAM.K,DLIM.K) C BTFRAC=0.75 N OCF=MAXAC/(FACPC+BACPC) NOTE NOTE EFFECTIVE FIGHTERS AS MODIFIED BY CARRIER NUMBERS NOTE A EFCPC.K=FCPC.K*ECNFE.K A ECNFE.K=TABHL(TECNFE,CINS.K,1,5,2) T TECNFE=1.0/1.2/1.3 A FCPC.K=RATIO(FCOO.K,CINS.K) L CUCBFL.K=CUCBFL.J+DT*(FLRFEA.JK+FLRFCL.JK) N CUCBFL=0 L CFLFCL.K=CFLFCL.J+DT*FLRFCL.JK N CFLFCL=0 A FFLWC.K=RATIO(CFLFCL.K,CUCBFL.K) A FCECE.K=TABHL(TFCECE,EFCPC.K,0,16,8) T TFCECE=0.01/0.26/1.0 NOTE NOTE BOMBER A/C DEPLOYED FROM CARRIERS NOTE L BIC.K=BIC.J+DT*(BARWC.JK-BLRFEA.JK-BLRFCL.JK) N BIC=0 R BARWC.KL=CARNS.KL*BACPC.K A BACPC.K=CLIP(FQB,SQB,FQ,CCD.K+0.01) C FQB=24 C SQB=24 A CBCOO.K=BIC.K*DEOAO.K R BSDR.KL=CBCOO.K*BSR C BSR=1 L CBSD.K=CBSD.J+DT*BSDR.JK N CBSD=0 R BLRFEA.KL=MAX(0,BSDR.KL*BLPR-BLRFCL.KL) C BLPR=0.03 R BLRFCL.KL=MIN(CLRNS.KL*ABPC.K*(1-TFRAC.K),BIC.K/DT) A ABPC.K=BIC.K/CLIP(CINS.K,10E12,CINS.K,1) L CUCBBL.K=CUCBBL.J+DT*(BLRFEA.JK+BLRFCL.JK) N CUCBBL=0 L CBLFCL.K=CBLFCL.J+DT*BLRFCL.JK N CBLFCL=0 A FBLWC.K=RATIO(CBLFCL.K,CUCBBL.K) NOTE NOTE DAMAGE TO CARRIERS NOTE L CUDAM.K=CUDAM.J+DT*(RIDTC.JK-RRDTC.JK- X CLIP(CLRNS.JK*ADAM.J*CNF.J,CUDAM.J/DT,DLIM.J,ADAM.J)) N CUDAM=0 R RIDTC.KL=BFSAC.K*BFDE.K*CLIP(1,0,CINS.K/DT,CLRNS.KL+0.01) R RRDTC.KL=MIN(DRR.K*CINS.K,CUDAM.K/DT) X *CLIP(1,0,CINS.K/DT,CLRNS.KL+0.01) X (1-CLIP(1,0,CLRNS.KL,0.01)*SWITCH(1,0,CINS.K-1)) A ADAM.K=RATIO(CUDAM.K,CINS.K) A DRR.K=BDRR*ADM.K A ADM.K=TABHL(TADM,ADAM.K,0,200,100) T TADM=1.0/0.8/0.4 C BDRR=50 A DEOAO.K=TABHL(TDEOA,ADAM.K,0,BDLIM,BDLIM/3) T TDEOA=1.0/0.8/0.3/0 NOTE NOTE LOSS OF A CARRIER NOTE R CLRNS.KL=CLIP(CLIP(1/DT,0,ADAM.K*CNF.K,DLIM.K),CINS.K/DT, X DLIM.K,ADAM.K) X *CLIP(1,0,CINS.K,1) A DLIM.K=BDLIM C BDLIM=270 A CNF.K=TABHL(TCNF,CINS.K,1,6,2.5) T TCNF=1.0/1.8/2.5 A CLFRAC.K=(CCD.K-CINS.K)/MAX(0.1,CCD.K) A CATIME.K=TSTORE(CINS.K,0.1) L CCL.K=CCL.J+DT*CLRNS.JK N CCL=0 A FQTM.K=TSTORE(CCD.K,FQ) A SQTM.K=TSTORE(CCD.K,SQ+FQ) A TQTM.K=TSTORE(CCD.K,FQ+2*SQ) A LCTM.K=TSTORE(CCL.K,CFORCE) A CDUR.K=MAX(0,LCTM.K-CATIME.K) A FLTM.K=TSTORE(CCL.K,FQ) A SLTM.K=TSTORE(CCL.K,FQ+SQ) A TLTM.K=TSTORE(CCL.K,FQ+2*SQ) A FQDUR.K=FLTM.K-FQTM.K A SQDUR.K=SLTM.K-SQTM.K A TQDUR.K=TLTM.K-TQTM.K NOTE NOTE ENEMY BOMBER ATTACKS AGAINST CARRIERS NOTE L BFF.K=BFF.J+DT*(-BFLR.JK) N BFF=BFFI C BFFI=150 A BFSAC.K=BFF.K*BFSR*CLIP(1,0,CINS.K,1.00)* X (1-CLIP(1,0,CLRNS.KL,0.01)*SWITCH(1,0,CINS.K-1)) C BFSR=1.0 R BFLR.KL=MIN(BFSAC.K,FCOO.K*FABFCE*FCECE.K) A BFDE.K=BFDEB*FCM.K A FCM.K=TABHL(TFCM,EFCPC.K,0,16,8) T TFCM=1.0/0.75/0.4 C BFDEB=14.0 C FABFCE=1.20 L CBFL.K=CBFL.J+DT*BFLR.JK N CBFL=0 A BFLF.K=CBFL.K/BFFI L BADAC.K=BADAC.J+DT*CLIP(1,0,BFSAC.J,0.001) N BADAC=0 NOTE NOTE OUTPUT AND CONTROL SECTOR NOTE C DT=0.25 C LENGTH=20 A PRTPER.K=BPRTPER-STEP(BPRTPER-DT,A)+STEP(BPRTPER+DT,B) C A=100 C B=100 C BPRTPER=5 C PLTPER=1 PRINT 1)CDR,CARNS,FRED,CCD,CCL,CAE,CINS,CLRNS PRINT 2)CACE,FIC,BIC,AFPC,ABPC,TFRAC PRINT 3)FCM,FCOO,FCECE,CBCOO,FQDUR,SQDUR,TQDUR PRINT 4)BFF,BFSAC,BFLR,CBFL,BFLF,BFDE PRINT 5)FLRFCL,FLRFEA,BLRFCL,BLRFEA,DEOAO,BADAC PRINT 6)BSDR,CBSD,ACCH,CBLFCL,CFLFCL PRINT 7)CUCBFL,CUCBBL,FFLWC,FBLWC,CLFRAC,CATIME,LCTM,CDUR X ,FQTM,SQTM,TQTM PRINT 8)CUDAM,ADAM,RIDTC,CNF,BFDE,ADM,RRDTC PLOT CINS=C(0,10)/CACE=A(0,500)/CUDAM=D(0,1000)/BFF=B(0,200) PLOT CCD=D,BERT=B,CCL=L(0,10) NOTE NOTE DEFINITIONS OF VARIABLES NOTE NOTE NOTE DU MEANS DAMAGE UNITS NOTE NOTE BAC MEANS BOMBER AIRCRAFT (IN CARRIERS) NOTE EBS MEANS ENEMY BOMBER SORTIES NOTE EB MEANS ENEMY BOMBERS NOTE FAC MEANS CARRIER-BORNE FIGHTER AIRCRAFT D ABPC=(BAC/CARR) AVERAGE BOMBERS PER CARRIER D ACCH=(AC) CHECK VARIABLE TO ENSURE THAT CARRIER CAPACITY X HAS NOT BEEN EXCEEDED D ADAM=(DU/CARR) AVERAGE DAMAGE PER CARRIER D ADM=(1) MULTIPLIER TO REFLECT EFFECTS OF AVERAGE DAMAGE X ON DAMAGE REPAIR ABILITY D AFPC=(FAC) AVERAGE FIGHTER PER CARRIER D BACPC=(BAC/CARR) BOMBER AIRCRAFT PER CARRIER D BADAC=(DAY) DURATION OF ACTUAL COMBAT BETWEEN BOMBER SAND X CARRIERS D BARWC=(BAC/DAY) BOMBERS ARRIVING WITH CARRIER D BDLIM=(DU/CARR) BASE VALUE FOR DAMAGE LIMIT D BDRR=((DU/DAY)/CARR) BASE DAMAGE REPAIR RATE D BFDE=(DU/EDS) ENEMY BOMBER DAMAGE EFFECTIVENESS ON CARRIER D BFDEB=(DU/EDS) BASE VALUE OF BFDE D BFF=(EB) ENEMY BOMBER FORCE D BFFI=(EB) INITIAL NUMBER OF ENEMY BOMBERS D BFLF=(1) FRACTION OF ENEMY BOMBERS LOST D BFLPBS=(FAC/EDS) BASE VALUE FOR FLPBS D BFLR=(EB/DAY) ENEMY BOMBER LOSS RATE D BFSAC=(EBS/DAY) ENEMY BOMBER SORTIES AGAINST CARRIERS D BFSR=((EBS/DAY)/ED) ENEMY BOMBER SORTIE RATE D BFTFD=((EBS/DAY)/FAC) ENEMY BOMBER TO FIGHTER TARGET DENSITY D BFTFDF=(1) FACTOR ON FIGHTER LOSSES FROM X ENEMY BOMBER TO FIGHTER TARGET DENSITY D BIC=(BAC) BOMBERS IN CARRIERS D BLPR=(1/BS) LOSS PROBABILITY OF A CARRIER BOMBER D BLRFCL=(BAC/DAY) BOMBER LOSS RATE FROM CARRIER LOSSES D BLRFEA=(BAC/DAY) BOMBER LOSS RATE FROM ENEMY ACTION D BSDR=(BS/DAY) BOMBER SORTIE DELIVERY RATE D BSR=((BS/DAY)/BAC) BOMBER SORTIE RATE D BTFRAC=(1) BASE VALUE FOR TFRAC D CACE=(AC) CARRIER AIRCRAFT EFFECTIVE D CAE=(CARR) CARRIERS AWAITING ENTRY TO AREA(DUMMY VARIABLE) D CARNS=(CARR/DAY) CARRIER ARRIVAL RATE IN ENEMY WATERS D CATIME=(DAY) TIME OF ARRIVAL OF FIRST CARRIER IN ENEMY WATERS D CBCOO=(BAC) CARRIER-BORNE BOMBERS CAPABLE OF OPERATING D CBLFCL=(BAC) CUMULATIVE CARRIER-BORNE BOMBERS LOST X FROM CARRIER LOSSES D CBFL=(EB) TOTAL ENEMY BOMBER LOSSES D CBSD=(BS) CUMULATIVE BOMBER SORTIES DELIVERED D CCD=(CARR) CUMULATIVE CARRIERS DEPLOYED INTO ENEMY WATERS D CCL=(CARR) CUMULATIVE CARRIERS LOST D CDR=(CARR/DAY) CARRIER DESPATCH RATE D CDUR=(DAY) SURVIVAL TIME OF CARRIER FORCE D CFLFCL=(FAC) CUMULATIVE CARRIER-BORNE FIGHTERS LOST X THROUGH CARRIER LOSSES D CFORCE=(CARR) CARRIER FORCE DEPLOYED D CINS=(CARR) CARRIERS IN ENEMY WATERS D CLFRAC=(1) FRACTION OF CARRIERS LOST D CLRNS=(CARR/DAY) CARRIER LOSS RATE IN ENEMY WATERS D CNF=(1) CARRIER NUMBERS FACTOR TO REFLECT DISTRIBUTION X OF DAMAGE OVER A NUMBER OF SHIPS D CUCBBL=(BAC) CUMULATIVE CARRIER BORNE BOMBERS LOST D CUCBFL=(FAC) CUMULATIVE CARRIER BORNE FIGHTERS LOST D CUDAM=(DU) CUMULATIVE DAMAGE TO SURVIVING CARRIERS D DCARNS=(CARR/DAY) DUMMY CARRIER ARRIVAL RATE IN ENEMY WATERS X TO CREATE EFFECT OF PIPELINE DELAY D DEOAO=(1) MULTIPLIER TO REFLECT EFFECTS OF CARRIER X DAMAGE ON ABILITY TO MOUNT AIR OPERATIONS D DEL=(DAY) VOYAGE TIME TO ENEMY WATERS D DLIM=(DU/CARR) DAMAGE LIMIT BEYOND WHICH A CARRIER IS LOST D DRR=((DU/DAY)/CARR) RATE OF REPAIRING DAMAGE TO CARRIERS D DT=(DAY) SOLUTION INTERVAL D ECNFE=(1) SCALING FACTOR TO REFLECT EFFECT THAT CARRIER X NUMBERS HAVE ON FIGHTER EFFECTIVENESS D EFCPC=(FAC) EFFECTIVE FIGHTER COVER PER CARRIER D FABFCE=(((EB/EDS)/DAY)/FAC) FIGHTER V ENEMY BOMBER COMBAT EFFECTIVENESS D FACPC=(FAC/CARR) FIGHTER A/C PER CARRIER D FARWC=(FAC/DAY) FIGHTER ARRIVAL RATE WITH CARRIERS D FBLWC=(1) FRACTION OF CARRIER-BORNE BOMBERS LOST FROM CARRIER LOSSES D FCECE=(1) FRACTION TO REFLECT EFFECTS OF FIGHTER COVER PER CARRIER ON FIGHTER X FIGHTER COMBAT EFFECTIVENESS AGAINST ENEMY BOMBERS D FCM=(1) MULTIPLIER TO EFFECT FIGHTER COVERAGE OF CARR. D FCOO=(FAC) FIGHTERS CAPABLE OF BEING OPERATED D FCPC=(FAC/CARR) FIGHTER COVER PER CARRIER D FFLWC=(1) FRACTION OF CARRIER-BORNE FIGHTERS LOST X WITH CARRIER SINKINGS D FIC=(FAC) FIGHTERS IN CARRIERS D FLPBS=(FAC/EDS) FIGHTERS LOST PER ENEMY BOMBER SORTIE D FLRFEA=(FAC/DAY) FIGHTER LOSS RATE DUE TO ENEMY ACTION D FLRFCL=(FAC/DAY) FIGHTER LOSS RATE FROM CARRIER LOSSES D FOURTM=(DAY) TIME AT WHICH FOURTH CARRIER ARRIVES D FQ=(CARR) NUMBER OF CARRIERS IN FIRST WAVE D FQB=(BAC) BOMBERS PER CARRIER IN FIRST WAVE D FQF=(FAC/CARR) FIGHTERS PER CARRIER IN SECOND WAVE D LCTM=(DAY) TIME OF LOSS OF LAST CARRIER D LENGTH=(DAY) SIMULATED DURATION D MAXAC=(AC) ABSOLUTE MAXIMUM NUMBER OF AIRCRAFT X ON A CARRIER D OCF=(1) FACTOR TO REFLECT ABILITY TO OVERCROWD AIRCRAFT X ON SURVIVING CARRIERS WHEN TRANSFERRING THEM FROM SINKING SHIPS D PLTPER=(DAY) PLOTTING INTERVAL D PRTPER=(DAY) PRINTING INTERVAL D QUANT=(CARR) NUMBER OF CARRIERS COMMITTED ON ANY ONE OCCASION D RIDTC=(DU/DAY) RATE OF INFLICTING DAMAGE TO CARRIERS D RRDTC=(DU/DAY) RATE OF REPAIRING DAMAGE TO CARRIERS D SECTM=(DAY) TIME AT WHICH SECOND CARRIER ARRIVES D SQ=(CARR) NUMBER OF CARRIERS IN SUBSEQUENT WAVES D SQB=(BAC/CARR) BOMBERS PER CARRIER IN SUBSEQUENT WAVES D SQF=(FAC/CARR) FIGHTERS PER CARRIER IN SUBSEQUENT WAVES D TADM=(1) TABLE FOR ADM D TBFTDF=(1) TABLE FOR BFTDF D TCNF=(1) TABLE FOR CNF D TDEOA=(1) TABLE FOR DEOAO D TECNFE=(1) TABLE FOR ECNFE D TFCECE=(1) TABHL FOR FCECE D TFCM=(1) TABLE FOR FCM D TFRAC=(1) FRACTION REPRESENTING THE ABILITY TO TRANSFER X SURVIVING AIRCRAFT FROM A LOST CARRIER TO ANOTHER D TIME=(DAY) SIMULATED TIME RUN SINGLE ARRIVALS NOTE C FQ=2 NOTE C SQ=2 NOTE RUN COMMITMENT IN PAIRS NOTE C FQ=3 NOTE C SQ=3 NOTE RUN COMMITMENT IN THREES NOTE C FQ=2 NOTE C SQ=4 NOTE RUN A PAIR THEN A SECOND WAVE OF FOUR CARRIERS NOTE C FQF=48 NOTE C SQF=12 NOTE C FQB=0 NOTE C SQB=36 NOTE RUN BOMBERS HELD FOR SECOND WAVE OF CARRIERS NOTE C FQ=2 NOTE C SQ=2 NOTE C FQF=24 NOTE C SQF=24 NOTE C FQB=24 NOTE C SQB=24 NOTE C FABFCE=1.8 NOTE RUN 50% INCREASE FIGHTER COMBAT EFFECTIVENESS NOTE C FABFCE=2.4 NOTE RUN DOUBLE FIGHTER COMBAT EFFECTIVENESS NOTE C FABFCE=1.20 NOTE T TFCM=1.0/0.30/0.2 NOTE RUN IMPROVED TFCM (LINK X) EXPERIMENT B NOTE T TFCM=1.0/0.75/0.4 NOTE T TFCECE=0.2/0.5/1.0 NOTE RUN IMPROVED TFCECE LINK 2 EXPERIMENT C NOTE T TFCECE=0.01/0.26/1.0 NOTE T TDEOA=1.0/1.0/0.9/0.3 NOTE RUN IMPROVED TDEOA EXPERIMENT D NOTE C BDLIM=400 NOTE RUN HIGHER DLIM AND IMPROVED TDEOA EXPERIMENT E NOTE T TFCM=1.0/0.3/0.2 NOTE RUN EXPERIMENT E WITH IMPROVED TFCM NOTE C BDLIM=270 NOTE T TFCM=1.0/0.75/0.4 NOTE T TDEOA=1.0/0.8/0.3/0 NOTE C CFORCE=1 NOTE C FQ=1 NOTE RUN CARRIER FORCE OF 1 NOTE C CFORCE=2 NOTE C FQ=2 NOTE RUN TWO CARRIERS NOTE C CFORCE=3 NOTE C FQ=3 NOTE RUN THREE CARRIERS NOTE C CFORCE=4 NOTE C FQ=4 NOTE RUN FOUR CARRIERS NOTE C CFORCE=5 NOTE C FQ=5 NOTE RUN FIVE CARRIERS NOTE C CFORCE=6 NOTE C FQ=6 NOTE RUN SIX CARRIERS +