PROGRAM DPVAX05 C*****GENERATE TEST DATA FOR RETROSPECTIVE ANALYSIS BY RPVAX05 C***** C VERSION OF APR 27, 2011 C***** DIMENSION ISD(11) C.....SPECIFICATIONS C N1 INITIAL POPULATION SIZE C NT TIME HORIZON C UXF MEAN OF LOGNORMAL DISTRIBUTION OF FACTOR OF INCREASE C SXF STD OF LOGNORMAL DISTRIBUTION OF FACTOR OF INCREASE C ISEED SEED FOR RANDOM NUMBER GENERATOR C..... N1=50 NT=100 UXF=1.02 SXF=0.05 ISEED=97 C.....SET DEVICES AND OUTPUT FILE LUNS=6 LUNF=7 OPEN (LUNF,FILE='DPVAX05.DAT') C.....INITIALIZE RANDOM NUMBER GENERATOR ISD(1)=ISEED CALL NRINT(ISD) C.....CONVERT LOGNORMAL PARAMETERS TO LOG SPACE CALL LNSPC(UXF,SXF,ULF,SLF) C.....CLEAR CUMULATORS FBAR=0.0 FVAR=0.0 FRBAR=0.0 FRVAR=0.0 FA=1.0 FN=FLOAT(N1) C.....INITIALIZE N=N1 C.....SIMULATE DO 1020 I=1,NT C.....WRITE RECORD WRITE (LUNS,9000) N,FA WRITE (LUNF,9000) N 9000 FORMAT (1X,I10,'.0 ',F10.3) C.....SAMPLE ENVIRONMENTAL VARIATION IN FA CALL LNORG(ULF,SLF,FA,ISD) C.....CUMULATE MOMENTS OF FLOATING POINT FA FBAR=FBAR+FA FVAR=FVAR+FA*FA C.....ADVANCE POPULATION IN INTEGER SPACE, ROUNDING AFTER MULTIPLICATION FNOLD=FN FN=FLOAT(N) FN=FN*FA N=IFIX(FN+0.5) C.....CUMULATE MOMENTS OF REALIZED INTEGER CHANGE FR=FN/FNOLD FRBAR=FRBAR+FR FRVAR=FRVAR+FR*FR C.....TRAP EXTINCTION IF (N) 1010,1010,1020 1010 WRITE (LUNS,9010) WRITE (LUNF,9010) 9010 FORMAT (1X,'EXTINCTION ENCOUNTERED, ABORT') GO TO 9999 1020 CONTINUE C.....NORMALIZE REALIZED STATISTICS FNT=FLOAT(NT) FBAR=FBAR/FNT FVAR=FVAR/FNT-FBAR*FBAR FVAR=SQRT(FVAR) WRITE (LUNS,9020) WRITE (LUNF,9020) 9020 FORMAT(1X,'STATISTICS OF SAMPLE OF FLOATING POINT LAMBDAS') WRITE (LUNS,9030) FBAR,FVAR WRITE (LUNF,9030) FBAR,FVAR 9030 FORMAT (1X,'MEAN=',F10.4,' STD=',F10.4) FRBAR=FRBAR/FNT FRVAR=FRVAR/FNT-FRBAR*FRBAR FRVAR=SQRT(FRVAR) WRITE (LUNS,9040) WRITE (LUNF,9040) 9040 FORMAT( *1X,'STATISTICS OF SAMPLE OF LAMBDAS OF INTEGERS') WRITE (LUNS,9030) FRBAR,FRVAR WRITE (LUNF,9030) FRBAR,FRVAR WRITE (LUNS,9050) WRITE (LUNF,9050) 9050 FORMAT (1X,'LOG SPACE TRUE (NOT SAMPLE) PARAMETER VALUES FOR MOMEN| *TS OF R:') WRITE (LUNS,9030) ULF,SLF WRITE (LUNF,9030) ULF,SLF C.....PROGRAM COMPLETE 9999 STOP END