ministerie van verkeer en waterstaat
rijkswaterstaat directie flevoland
ministerie van verkeer en waterstaat
rijkswaterstaat directie flevoland
oied •
werkdocument de gegevensverwerking van de stappenbaken op y111 en y112 in 1 9 8 9 door aadje mugie
1989 - 37 liw
lelystad, September 1989
werkdocumenten zijn als regel eerste versies van te schrijven rapporten (uittypen geschreven tekst) en daardoor uitsluitend bestemd voor intern gebruik; de verantwoordelijkheid voor de tekst berust bij de auteur.
postbus 600 8200 AP lelystad smedinghuis zuiderwagenplein 2 tel. (03200) 99111 telex 40115 telefax (03200) 34300
TV
2 o 65&
Inleiding Op de plekken Ylll en Y112 in het Markermeer zijn stappenbaken opgesteld voor het meten van waterstanden en golfhoogten. De stappenbaken zenden al hun gegevens over naar de Trekvogel in Lelystad. Hier worden de gegevens opgeslagen en om de paar dagen via een telefoonlijn naar het Smedinghuis gezonden. Daar worden de gegevens per dag op floppy gezet, waarna ze verder verwerkt kunnen worden. In dit rapport is de prograiranatuur voor deze verwerking beschreven. Een gedeelte van de prograiranatuur is afkomstig van Dirk Vlag (DBW/RIZA).
Doel De programma's berekenen uit de gegevens van de stappenbaak de gemiddelde waterstand, de significante golfhoogte, de periode van de significante golfhoogte, de gemiddelde golfhoogte en de gemiddelde periode.
Berekeningsmethode Ieder uur wordt gedurende 20 minuten met een freguentie van 4 Hz de waterstand gemeten. Deze waarden worden binair opgeslagen, waarbij per uur een file wordt gemaakt met de naam ddmmuumm.ssf. Deze letters staan voor dag, maand, uur, minuut, sensornummer en meetfreguentie. Het sensornummer is 01 voor de stappenbaak op Ylll en 02 voor de stappenbaak op Y112. De binaire waarden uit deze file worden ingelezen, gecontroleerd en omgezet naar waterpeil. Uit deze waterpeilen wordt de gemiddelde waterstand per 20 minuten t.o.v. het NiVP berekend. Hierna worden de golfhoogten en perioden bepaald door te zoeken naar doorsnijdingen van de gemiddelde waterstand, waarbij de golfhoogte is gedefinieerd als top-dal. Uit deze berekende golfhoogten wordt de gemiddelde golfhoogte en de significante golfhoogte volgens de definitie berekend. Verder wordt de significante golfhoogte berekend volgens de methode zoals is beschreven in Meetopstellingen Markermeer; methoden en resultaten 1988 (Mugie en Derks). De resultaten van beide berekeningsmethoden worden weergegeven in de uitvoerfiles. Het programma rekent in een keer een hele dag door en zet alle berekeningsresultaten in een uitvoerfile. Alleen de eerste filenaam van een dag, dus de file van 0 uur, moet worden aangegeven, de daarop volgende files van die dag worden er bijgezocht en doorgerekend. Er worden 2 uitvoerfiles met dezelfde berekeningsresultaten gemaakt: een .CSV file om te laden in Supercalc en een file zonder extentie met een toelichting op de berekeningsresultaten. De filenamen zijn afgeleid van de invoerfilenamen: ddmmssff.
Het programma heeft de mogelijkheid om alle berekende golfhoogtes en perioden naar een uitvoerfile te schrijven en een freguentietabel op te stellen, maar dit wordt niet standaard uitgevoerd. Als de C tekens voor de betreffende programmaregels worden verwijderd, kan dit deel van het programma worden uitgevoerd.
Progranmatuur Programmeertaal De programma's zijn geschreven in FORTRAN. Er is gebruik gemaakt van de compiler versie 4.00A en de linker versie 3.55. Deze versies zijn gebruikt vanwege de toepassing van enkele functies voor het omzetten van binaire waarden.
Namen De programma's heten llstapl.for llstap2.for 12stap.for Deze 3 programma's zijn in principe hetzelfde, maar aangepast voor de plek en stand van de betreffende stappenbaak. Het programma llstapl.for is voor de gegevens van de stappenbaak van Ylll van voor 5 juli 1989. Op die dag is de hoogte van de stappenbaak veranderd. Na deze datum moet het programma llstap2.for worden gebruikt, hierin is gecorrigeerd voor de verandering van het NAP t.o.v. de stappenbaak. Het programma 12stap.for is voor de gegevens van stappenbaak Y112 van 1989. Dit programma is opgenomen in bijlage 1.
Uitvoering Het programma kan worden gestart door het intypen van de filenaam zonder extentie. Er wordt dan gevraagd naar de eerste filenaam (met drive aanduiding) dus de file van middernacht. Daarna worden van die dag alle files van de opeenvolgende uren doorgerekend. De uitvoerfiles komen op de C schijf. De gebruikte versie van FORTRAN en de programmatuur staan op floppy. Aanpassing voor volgende jaren In het programma is een aantal keer ( regel 18, 93, 214, 247, 256, 265 en 278) het jaartal 1989 opgenomen, dit moet ieder jaar bijgesteld worden. Verder is in het programma de stand van de stappenbaak t.o.v. NAP verwerkt. In de programmatuur van 1989 is de stand zo berekend dat bij windstil weer de stappenbaken op Ylll en Y112 dezelfde gemiddelde waterstand aangeven. Hierbij is niet afgerond op een veelvoud van 5 cm, de meetstap van de stappenbaak, maar zijn de waarden op elkaar en op de waterstand van de Houtribsluizen afgestemd. Deze waarden staan in regel 18 en 199 in het programma.
Bijlage 1 $LARGE PROGRAM STAPPENBAAK C C AADJE MUGIE, JULI 1989 C Programma voor het verwerken van de gegevens van de stappenbaak. C Berekend worden de gemiddelde waterstand, significante C golfhoogte, periode van de significante golfhoogte, gemiddelde C golfhoogte en periode van de gemiddelde golfhoogte van een serie C files met gegevens van de stappenbaak. C Van elk uur is er een file van 20 min met een meetfreguentie van 4 Hz. C De eerste gevraagde filenaam is de filenaam van middernacht. C Daarna zoekt het programma zelf de opeenvolgende filenamen van de C hele dag, telkens op het hele uur. C Er worden 2 uitvoerfiles gemaakt: een CSV file om in een spreadsheet C te laden en een file zonder extentie met de gegevens en tekst. C Van de stappenbaak op Y112 staat in 1989 sensor 19 op NAP, dus 95 cm C tov onderkant stappenbaak is NAP. C C C---DECLARATIE VARIABELEN EN FILE DEFINITIES C C C—nrgolf = array met 16 elementen, ieder bitje van het gegeven wordt C een integer met de waarde 0 of 1 C—algolf = array met 4800 elementen voor het inlezen van gegevens C— 4800 is het maximum aantal characters per regel, dus per C— file van 20 min van 4 Hz C—igolf = nummer van bewerkt gegeven C—elaant = hoogte in aantal elektroden C—lhoog = hoogte in cm, 1 elektrode is 5 cm, array 4800 elementen C—nrgoed = aantal goede metingen per file C INTEGER*2 ALGOLF(4800), NRG0LF(16), LHOOG(4800) INTEGER*2 NRGOED, IBIT, IGOLF, I, MAXGOLF INTEGER*2 LNUL, LEEN, LTWEE, LDRIE, LVIER, LVIJF INTEGER*2 LZES, LZEVEN, LACHT INTEGER*2 ELAANT, N INTEGER*2 DAG, MAAND, UUR, MINUUT, SENSOR, FREQ C C--toteng = totale energie C--gemws = gemiddelde waterstand C—meetw = meetwaarde C—hsign = significante golfhoogte REAL*4 HOOGTOT REAL*4 TOTENG, GEMWS, HSIGN, MEETW(4800) C C C—bitje = variabele voor bittest C—besta = variabele voor aanwezigheid file C LOGICAL BITJE, BESTA C C C—voerin en voeruit zijn filenamen
Bijlage 1 CHARACTER*64 VOERIN, VOERUIT C C C--maxgolf = maximum aantal characters per file van 20 min bij 4 Hz C maxgolf = 4800 C c open(88,file='hulp.dat') C — hulp.dat is file met freguentietabel C C—eerste invoerfile C WRITE(*,'(A\)')' NAAM EERSTE INVOERFILE (met drive aanduiding)?' READ(*,'(A\)')VOERIN C C- -verwerk gegevens uit filenaam READ (VOERIN(l:2),43) DRIVE READ (VOERIN(3:4),5) DAG READ (VOERIN(5:6),5) MAAND READ (VOERIN(7:8),5) UUR READ (VOERIN(9:10),5) MINUUT READ (VOERIN(12:13),5) SENSOR READ (VOERIN(14:14),6) FREQ
c
c- -open de uitvoerfiles c- -er zijn 2 uitvoerfiles met namen ddmmssff en ddmmssff.csv bedoeld c- -als tekstfile en om te laden in een spreadsheet c WRITE(VOERUIT,7)DAG,MAAND,SENSOR,FREQ OPEN (6,FILE=VOERUIT,ACCESS='SEQUENTIAL',STATUS='NEW*) WRITE(6,12) WRITE(6,12) GEGEVENS STAPPENBAAK Y112' WRITE(6,12) ,DAG,'-',MAAND,'-1989' WRITE(6,13) ' DATUM WRITE(6,12) = gemiddelde waterstand in m NAP' WRITE(6,12) gem.ws. = aantal goede meetwaarden per 20 min.' WRITE(6,12) aantal = significante golfhoogte volgens defini WRITE(6,12) Hsigl +tie [m]' = significante golfhoogte volgens energi WRITE(6,12) Hsig2 -t-evergelijking [m]' WRITE(6,12)' periode Hsig = periode van significante golfhoogte [s +ec]' WRITE(6,12) gem.golfh. = gemiddelde golfhoogte [m] van 20 min.' WRITE(6,12) gem. periode • periode van gemiddelde golfhoogte [sec
+ ]' WRITE(6,12) aant. golven = aantal golven per 20 minuten' = sensor 19' WRITE(6,12) NAP WRITE(6,12) WRITE(6,12) tijd gem.ws. aantal Hsigl Hsig2 periode WRITE(6,12) aantal' + gem. gem. meetw. Hsig WRITE(6,12) ' 1 golven + golfh. periode
Bijlage 1 WRITE(VOERUIT,17)DAG,MAAND,SENSOR,FREQ,'.CSV OPEN (8,FILE=V0ERUIT,ACCESS='SEQUENTIAL',STATUS='NEW) C C C--INLEZEN EN INTERPRETEREN VAN GEGEVENS C C DO 41 N=l,24 INQUIRE(FILE=VOERIN,EXIST=BESTA) WRITE(*,65) VOERIN IF (BESTA) THEN OPEN (10,FILE=VOERIN, ACCESS='SEQUENTIAL', FORM='BINARY', +STATUS='OLD') REWIND(10) READ(10,END=15,ERR=15) (ALGOLF(I),I=1,MAXG0LF) 15 CLOSE (10) C C—bewerking van ingelezen gegevens C 1=0 IGOLF=0 NRGOED=0 TOTENG=0 HOOGTOT=0 C C C—begin van loop waarin telkens 1 gegeven wordt geinterpreteerd C DO 1 I=l,MAXGOLF MEETW(I)=0 IGOLF=IGOLF + 1 C C—bitjes uitwerken van een ingelezen golf, een golf bestaat uit C—2 woorden dus 16 bitjes, ieder bitje wordt een woord (nrgolf) C--met de waarde 0 of 1 C DO 40 IBIT=0,15 BITJE=BTEST(ALGOLF(IGOLF),IBIT) IF (BITJE) THEN NRG0LF(IBIT+1)=1 ELSE NRGOLF(IBIT+1)=0 END IF 40 CONTINUE C C—wat stellen bitjes voor C— 9 bitjes voor de golfhoogte (nrgolf 1 t/m 6,9,10,11) C— 1 bitje voor de status (nrgolf(12) 0=normaal, l=fout) C-2 bitjes voor foute elektrodes (nrgolf 13+14) C— (3 betekent 3 of meer fout) C C--status bepalen C—als de status fout is vervalt de meting voor berekening C IF (NRGOLF(12) .EQ. 1) THEN MEETW(I)=-999
Bijlage 1 GOTO 1 ENDIF C C C--bepalen aantal droge elektroden C—bij 1 of meer droge elektrode vervalt de meting voor berekening C—3 betekend 3 of meer droge elektroden C IF ((NRGOLF(13)*2 + NRGOLF(14)) . GE . 1) THEN MEETW(I)=-999 GOTO 1 ENDIF C C C—bepalen van waterhoogte LHOOG C LACHT = NRGOLF(ll) * 256 LZEVEN = NRGOLF(IO) * 128 LZES = NRGOLF(9) * 64 LVIJF = NRGOLF(6) * 32 LVIER = NRGOLF(5) * 16 LDRIE = NRGOLF(4) * 8 LTWEE = NRGOLF(3) * 4 LEEN = NRGOLF(2) * 2 LNUL = NRGOLF(l) C ELAANT=LACHT+LZEVEN+LZES+LVIJF+LVIER+ + LDRIE+LTWEE+LEEN+LNUL LHOOG(I)=ELAANT*5 LHOOG(I)=LHOOG(I)-95-2 C—dit is lhoog tov NAP HOOGTOT=HOOGTOT+LHOOG(I) NRGOED=NRGOED+l 1 CONTINUE C C—einde loop C C C--BEREKENING EN UITVOER GEGEVENS NAAR FILE C C IF (NRGOED.EQ.O) THEN WRITE(6,51) UUR,'.',MINUUT,' — ' IF (N.EQ.l) THEN WRITE(8,52) DAG,'-',MAAND,'-89',',',UUR,'.',MINUUT, + ' IT e e e e e e e /
+
u
ELSE WRITE(8,53) ' 0'
',',UUR,'.',MINUUT,
i i e e e e e eSJ
ENDIF ELSE
C C
GEMWS=HOOGTOT/NRGOED DO 2 I=1,MAXG0LF IF (MEETW(I).GT.-990) THEN
Bijlage 1
2
MEETW(I)=(LHOOG(I)-GEMWS)/100. ENDIF CONTINUE
C WRITE(*,66) NRGOED C C berekenen significante golfhoogte en -periode via golven C CALL BERHT3(MEETW,MAXGOLF,H3A,H3B,T3,GH,GT,KGOLF) C C C H3 en T3 zijn resp. Hsign en de erbij behorende periode C GH en GT zijn resp. de gem. golfhoogte en -periode C KGOLF is het aantal geregistreerde golven C C—gegevens naar uitvoerfiles C IF (NRGOED.GE.2500) THEN WRITE(6,54) UUR,'.',MINUUT,GEMWS*0.01,NRGOED, + H3A,H3B,T3,GH,GT,KGOLF IF ((N.EQ.1).AND.(H3A.NE.-1)) THEN WRITE(8,55) DAG,'-*,MAAND,'-89',',',UUR,'.',MINUUT,',', + GEMWS*0.01,*,',NRGOED,',',H3A,',',H3B,',',T3,',',GH, + ',',GT,',',KGOLF ENDIF IF ((N.NE.1).AND.(H3A.NE.-1)) THEN WRITE(8,56)',',UUR,•.',MINUUT,',',GEMWS*0.01,',•,NRGOED,',', + H3A,',',H3B,',',T3,',',GH,',',GT,',',KGOLF ENDIF IF ((N.EQ.1).AND.(H3A.EQ.-1)) THEN WRITE(8,63) DAG,'-',MAAND,'-89',',',UUR,'.',MINUUT,',,',NRGOED ENDIF IF ((N.NE.1).AND.(H3A.EQ.-1)) THEN WRITE(8,64)',',UUR,'.',MINUUT,',,',NRGOED ENDIF ELSE WRITE(6,57) UUR,'.',MINUUT,-1.00,NRGOED,-1.00,-1.00,-1.00,-1.00 + ,-1.00,-1.00 IF (N.EQ.l) THEN WRITE(8,58) DAG, '-*,MAAND,'-89',',',UUR,'.',MINUUT, + ' , ,*,NRGOED ELSE WRITE(8,59)',',UUR,'.',MINUUT,',,',NRGOED ENDIF ENDIF ENDIF C C--als de invoerfile niet bestaat streepjes in uitvoerfile ELSE WRITE(6,60) UUR,'.*,MINUUT,' — ' IF (N.EQ.l) THEN WRITE(8,61) +DAG,'-',MAAND,'-89',',',UUR,'.',MINUUT,' ,,,,,,,,' ELSE WRITE(8,62) ',',UUR,'.',MINUUT,' ,,,,,,,,' ENDIF
Bijlage 1 ENDIF C C--volgende filenaam maken C UUR=UUR+1 WRITE(VOERIN,11)DRIVE,DAG,MAAND,UUR,MINUUT,'.',SENSOR,FREQ 41 CONTINUE C C—formaatcodes C 5 FORMAT(I2.2) 6 FORMAT(Il.l) 7 FORMAT(4I2.2) 11 F0RMAT(A2,4I2.2,A1,I2.2,I1.1) 12 FORMAT(A\) 13 FORMAT(A9,I2.2,Al,I2.2,A5) 17 FORMAT(4I2.2,A4) 43 FORMAT(A2) 51 F0RMAT(I2.2,A1,I2.2,A9) 52 FORMAT(I2.2,A1,I2.2,A3,A1,I2.2,A1,I2.2,A8) 53 F0RMAT(A1,I2.2,A1,I2.2,A8) 54 FORMAT(12.2,Al,12.2,F9.2,18,5(F9.2),18) 55 FORMAT(12.2,Al,12.2,A3,2(Al,12.2),Al,F5.2,Al,14,5(Al,F5.2), +A1,I4) 56 F0RMAT(A1,2(I2.2,A1),F5.2,A1,I4,5(A1,F5.2),A1,I4) 57 FORMAT(12.2,Al,12.2,F9.2,18,6(F9.2)) 58 FORMAT(12.2,Al,12.2,A3,Al,12.2,Al,12.2,A8,14) 59 F0RMAT(A1,I2.2,A1,I2.2,A8,I4) 60 F0RMAT(I2.2,A1,I2.2,A9) 61 F0RMAT(I2.2,A1,I2.2,A3,A1,I2.2,A1,I2.2,A8) 62 F0RMAT(A1,I2.2,A1,I2.2,A8) 63 FORMAT(12.2,Al,12.2,A3,Al,12.2,Al,12.2,A2,14) 64 F0RMAT(A1,I2.2,A1,I2.2,A2,I4) 65 FORMAT(//,' FILENAAM ',A20) 66 FORMAT(/,' AANTAL GOEDE METINGEN: ',14,/) END C SUBROUTINE BERHT3(MEETW,NGOLF,H3A,H3B,TH,GH,GT,KGOLF) CC In deze subroutine worden de significante golfhoogte, gemiddelde C golfhoogte, periode van de significante golfhoogte en gemiddelde C periode berekend. C Uit de meetwaarden worden eerst de golfhoogtes (top tot dal) C bepaald. Uit deze gegevens worden de bovengenoemde variabelen C berekend. C De significante golfhoogte wordt op 2 manieren berekend: C - volgens de definitie:het gemiddelde van het hoogste derde gedeelte C van de golven. Hiervoor worden de golven gesorteerd op grootte C en van het hoogste derde gedeelte wordt het gemiddelde genomen, C - volgens de empirische formule uit rapport Meetopstellingen Marker C meer; methoden en resultaten 1988 C C C—meetw = meetwaarde t.o.v. gemiddelde waterstand C—ngolf = maximum aantal meetwaarden
Bijlage 1 C—H3A = significante golfhoogte volgens definitie C—H3B = significante golfhoogte volgens energievergelijking C—TH = periode van significante golfhoogte C—GH = gemiddelde golfhoogte C--GT = periode van gemiddelde golfhoogte C—kgolf = aantal golven C PARAMETER (DT=0.25) INTEGER*2 NGOLF, D, K REAL*4 MEETW(4800),G(2500),T(2500),NUM(2500),IF(60) LOGICAL EOF C KGOLF=0 INR=0 CC- TEST OP EINDE MEETREEKS C25 INR=INR+1 IF(INR .GT. NGOLF) THEN CC- EINDE MEETREEKS CGOTO 500 ENDIF CC- NEERWAARTSE SNUDING OPZOEKEN VOOR (HER)STARTEN TELLEN GOLVEN C50 DO 100 I=INR,NGOLF IF(MEETW(I) .GT. -100.) THEN CC- EERSTE GOEDE WATERSTAND CH1=MEETW(I) INR=I GOTO 150 ENDIF 100 CONTINUE CC- EINDE MEETREEKS CGOTO 500 CC- NU SNYDING + — > - ZOEKEN C150 INR=INR+1 IF(INR .GT. NGOLF) THEN CC- EINDE MEETREEKS CGOTO 500 ENDIF H2=MEETW(INR) IF(H2 .LT. -100.) THEN CC- GEEN GOEDE WATERSTAND OPNIEUW ZOEKEN NAAR NEERW. SNIJDING C-
Bijlage 1 GOTO 25 ELSE CC- TEST OP NEERWAARTSE SNIJDING CIF(H1 .GE. 0. .AND. H2 .LT. 0.) THEN TS=ABS(H2/(H1-H2))*DT H1=H2 GOTO 200 ELSE CC- NOG GEEN SNIJDING; VOLGENDE CH1=H2 GOTO 150 ENDIF ENDIF CC- BEGIN GOLFLUS, ZOEKEN NAAR OPWAARTSE SNIJDING C200 HMIN=H1 300 INR=INR+1 IF(INR .GT. NGOLF) THEN CC- EINDE MEETREEKS GOTO 500 ENDIF H2=MEETW(INR) IF(H2 .LT. -100.) THEN CC- GEEN GOEDE WATERSTAND OPNIEUW ZOEKEN NAAR NEERW. SNIJDING CGOTO 25 ELSE TS=TS+DT IF(H2 .GT. 0.) THEN HMAX=H2 H1=H2 GOTO 400 ELSE HMIN=AMIN1 (HMIN, H2) H1=H2 GOTO 300 ENDIF ENDIF CC- VOLGENDE NEERWAARTSE SNIJDING C400 INR=INR+1 IF(INR .GT. NGOLF) THEN CC- EINDE MEETREEKS CGOTO 500 ENDIF
Bijlage 1 H2=MEETW(INR) IF(H2 .LT. -100.) THEN CC- GEEN GOEDE WATERSTAND OPNIEUW ZOEKEN NAAR NEERW. SNIJDING CGOTO 25 ELSE TS=TS+DT IF(H2 .LT. 0.) THEN T1=ABS( H2/(H1-H2)) *DT TS=TS-T1 CC- WEGSCHRIJVEN GOLFHOOGTE EN PERIODE CIF(HMAX-HMIN .GE. HM) THEN KGOLF=KGOLF+l NUM(KGOLF)=KGOLF G(KGOLF)=HMAX-HMIN T(KGOLF)=TS c WRITE(88,701) NUM(KGOLF),G(KGOLF),T(KGOLF) c 701 FORMAT (F8.2,2(' ',F6.3)) ENDIF CC- KLAARZETTEN VOOR DE VOLGENDE GOLF CTS=T1 H1=H2 GOTO 200 ELSE HMAX=AMAX1(HMAX,H2) H1=H2 GOTO 400 ENDIF ENDIF C C- einde van bepaling golfhoogtes en aantal golven CC- SORTEREN C500 NMl=KGOLF-l K=KGOLF+l DO 600 1=1,NM1 K=K-1 IW=0 A=G(1) DO 550 J=2,K B=G(J) IF(A .LT. B) THEN G(J-1)=B G(J)=A C=T(J-1) T(J-1)=T(J) T(J)=C IW=1 ELSE A=B
Bijlage 1 ENDIF CONTINUE IF(IW .EQ. 0) GOTO 700 600 CONTINUE CC- DE GOLVEN PRINTEN C700 WRITE(*,201) DT C KEER=KGOLF/15 C KREST=MOD(KGOLF,15) C— WRITE(88,*) 'GOLFHOOGTEN EN -PERIODEN' C DO 710 1=1,KEER C IBEG=15*(I-1)+1 C— WRITE(88,«) C— WRITE(88,210) (G(J),J=IBEG,IBEG+14) C— WRITE(88,210) (T( J) ,J=IBEG,IBEG+14) C 710 CONTINUE C IF(KREST -NE. 0) THEN C— WRITE(88,*) C IBEG=KEER*15+1 C— WRITE(88,210) (G(J),J=IBEG,IBEG+KREST-1) C— WRITE(88,210) (T(J),J=IBEG,IBEG+KREST-1) C ENDIF CC- GEM. HOOGTE EN PERIODE BEREKENEN CSOMG=0. SOMT=0. IF(KGOLF.LE.3) THEN GH= GT= H3A= H3B= TH= ELSE DO 715 1=1,KGOLF SOMG=SOMG+G(I) SOMT=SOMT+T(I) 715 CONTINUE GH=SOMG/KGOLF GT=SOMT/KGOLF CC- Hl/3 EN Tl/3 BEREKENEN VOLGENS DEFINITIE CIAG=KGOLF/3 SH=0. ST=0. DO 750 1=1,IAG SH=SH+G(I) ST=ST+T(I) 750 CONTINUE H3A=SH/IAG TH=ST/IAG C C C—Hl/3 BEREKENEN VOLGENS DE ENERGIEVERGELIJKING 550
Bijlage 1 901
12
TOTENG=0 DO 12 1=1,KGOLF G(I)=G(I)/2 TOTENG=TOTENG+(G(I)*G(I)) CONTINUE H3B=2*1.4142*SQRT(TOTENG/KGOLF) ENDIF
CCC- PRINTEN CWRITE(*,220) KGOLF,H3A,H3B,TH,GH,GT CC- FREQ TAB SAMENSTELLEN, EERST OP NUL STELLEN CC DO 800 1=1,60 C IF(I)=0 CONTINUE C 800 K=5 C C NM1=KG0LF+1 C 850 NM1=NM1-1 C IF(NM1 .EQ. 0) GOTO 900 IF(100.*G(NM1) .GT. K) THEN C 860 K=K+5 C GOTO 860 C ENDIF C C IF(K/5)=IF(K/5)+l C GOTO 850 C 900 WRITE(88,230) (IF(I),1=1,20) C IF(G(1) .GT. 1.00) WRITE(88,240) (IF(I),1=21,40) C IF(G(1) .GT. 2.00) WRITE(88,245) (IF(I),1=41,60) 201 FORMAT(' INTERVAL IS',F4.2,' SECONDEN.'/) 210 F0RMAT(1X,15F8.3) 220 FORMAT(' AANTAL GOLVEN IS',15,//, + ' Hl/3 IS',F8.3, M (volgens definitie)',//, + ' Hl/3 IS',F8.3, M (volgens energievergelijking)',//, + ' Tl/3 IS',F8.3, S',//, + ' HGEM IS',F8.3, M',//, + ' TGEM IS',F8.3, S',//) 230 F0RMAT(1X,' 5 10 15 20 25 30 35 40 45 50 55 60' + ' 65 70 75 80 85 90 95 100',/,IX,2014,/) 240 F0RMAT(1X,' 105 110 115 120 125 130 135 140 145 150 155 160' + ' 165 170 175 180 185 190 195 200',/,IX,2014,/) 245 F0RMAT(1X,' 205 210 215 220 225 230 235 240 245 250 255 260' + ' 265 270 275 280 285 290 295 300',/,IX,2014,/) 250 FORMAT(F4.2,I5,4F8.3) 900 RETURN END