Das Sorten- und Volumenprogramm BDAT 2.0 wurde als Kern zusammen mit anderen Programmen zur Berechnung von Durchmesserreihen, von Abschnittsvolumen und Rindenstärken als Dynamic-Link-Library (DLL) in der Programmbibliothek BDATPro.DLL zusammengefasst. Die Programmschnittstellen und Bedeutung der formalen Programmparameter werden nachfolgend schematisch dokumentiert.
*******************************************************************************************
SUBROUTINE BDAT20 â( BDATBArtNr, D1, H1, D2, H2, H,Hxh, Hkz, Skz, Az, Hsh, Zsh, Zab, Sokz,
Skl, Vol, Bhd, IFeh,FixLngDef, NMaxFixLng, FixLng, NfixLng ) *******************************************************************************************
SUBROUTINE BDAT10( BDATBArtNr, D1, H1, D2, H2, H, Hxh, Hkz, Skz, Az, Hsh, Zsh, Zab, Sokz,
Skl, Vol, Bhd, IFeh )
*******************************************************************************************
Zweck:
Volumen- und Sortenberechnung bei den BWI - Probebäumen
Interne Programmparameter
Felddimensionen Fixlängen:
Parameter (NParFixLngDef=4, NParFixLng=6, MMaxFixLng=30)
Parameter (MFixLng=NParFixLng*MMaxFixLng)
Stockabschnitt am Stammfuß:
Parameter (StammFussPrz =1) (H*0.01 [m])
Formale Parameter - Datentypen und Dimensionierung
BDATBArtNr |
Ein |
Int*2 |
Baumart: 1 – 14 Nadelholz 15 – 36 Laubholz |
D1 |
E |
Real*4 |
Unterer Durchmesser m. R. [cm] |
H1 |
E |
Real*4 |
Höhe unterer Durchmesser [m] 0 – H1 = 1.3 m |
D2 |
E |
Real*4 |
> 0 - Oberer Durchmesser m. R. [cm] = 0 und H2 =0 - Massentafel äquivalente Formigkeit = 0 und 0 < H2 < 100 BWI Formigkeit mit <<H2>> % - Perzentilwerte der q0.30-Verteilung (BWI) als q*0.30 . H2 = 50 - BWI äquivalente Formigkeit < 50 - abholzige Formen > 50 - vollholzige Formen = 0 und H2 ≥ 100 - BWI äquivalente Formigkeit -1 < D2 <
0 - Formquotient q0.30 = ABS(D2) D2 ≤-1 - BWI äquivalente Formigkeit |
H2 |
E |
Real*4 |
D2 > 0 und H2 > 0 - Höhe D2 [m] D2 > 0 und H2 = 0 - Höhe D2 = 7m D2 ≤ 0
s.o. |
H |
E |
Real*4 |
Baumhöhe [m] |
Hxh |
E |
Real*4 |
Länge X-Holz am Stammfuß [m] |
Hkz |
E |
Int*2 |
Höhenkennziffer: 1 - Wipfelbruch; H = H + 2 m 2 - Gipfelbruch; |
Skz |
E |
Int*2 |
Stammkennziffer : 1 - Wipfelschäftigkeit bei Laubbäumen 2 - Zwieselung zwischen Brusthöhe und 7 m 3 - kein ausgeprägter Stamm; 4 - abgestorbener oder gebrochener Stamm; 5 - Baum abgestorben, Holz nicht mehr verwertbar oder |
Az |
E |
Real*4 |
Grenzzopf für die Aufarbeitung m. R. [cm] 0 – Verwendung von Tabellenwerten |
Hsh |
E |
Real*4 |
Stammhöhe [m] |
Zsh |
E |
Real*4 |
Mindestzopf für Stammholz
o. R. [cm] |
Zab |
E |
Real*4 |
Mindestzopf für oberen Stammholzabschnitt o. R. [cm] 0 – 14 cm |
Sokz |
E |
Int*2 |
Sortierkennziffer 1 – Mittenstärke 2 – Heilbronner |
Skl(1:6) |
Aus |
Int*2 |
Klassen der Stärkesortierung |
(1) |
|
|
Stärkeklasse X-Holzabschnitt |
(2) |
|
|
Unterklasse 0-a, 1-b |
(3) |
|
|
Stärkeklasse Stammholz |
(4) |
|
|
Unterklasse 0-a, 1-b |
(5) |
|
|
Stärkeklasse oberer Abschnitt |
(6) |
|
|
Unterklasse 0-a, 1-b |
Vol(1:7) |
A |
Real*4 |
Volumen |
(1) |
|
|
Vfm m. R. |
(2) |
|
|
X-Holz Efm o. R. |
(3) |
|
|
Stammholz Efm o. R. |
(4) |
|
|
oberer Abschnitt Efm o. R. |
(5) |
|
|
Industrieholz Efm o. R. |
(6) |
|
|
Nicht verwertetes Derbholz o. R. |
(7) |
|
|
Ernteverlust Efm o. R. |
BHD |
A |
Real*4 |
Gemessener oder geschätzter Brusthöhendurchmesser in cm m. R. BHD = D1 falls H1 = 1.3 m |
IFeh |
A |
Int*2 |
Fehlerindikator 1 - Unzulässiger Baumartenschlüssel 2 - fehlende Baumhöhe: 3 - unterer Durchmesser fehlt: 4 - Höhe unterer Durchmesser falsch: 5 - (nicht verwendet) 6 - Stammhöhe > 0 7 - Zwieselung unterhalb 7 m und Stammhöhe > 7 m bei Laubholz: 8 - Laubbäume ohne erkennbaren Stamm aber mit Angabe einer Stammhöhe: 9 - Falsche Stammhöhe bei gebrochenem oder abgestorbenem Laubbaum: 10 - Wipfelschäftiges Nadelholz mit pos. Stammhöhe: 11 - Abgestorbenes oder gebrochenes Nadelholz ohne Angabe eines Wipfel- oder
Gipfelbruchs: 12 - Zu vorgegebenen Stammdimensionen H, BHD; keine q0.30-Schätzung möglich (D0 = 0) 13 - Zu vorgegebenen Stammdimensionen H, BHD; kein Massentafelwert vorhanden (D0 = 0) 14 - q*0.30 ungenau, Iteration geht nicht durch D7m 15 - Dimensionen zu klein (H, BHD) keine Massentafeln BHD<7 cm |
Parameter für die Fixlängensortierung in BDAT20â
FixLngDef(1:4) |
E |
Real*4 |
Festlegung des Fixlängensortiments |
(1) |
|
|
Mindestzopf o.R. [cm] |
(2) |
|
|
Sortimentslänge [m] |
(3) |
|
|
Längenzugabe [cm] |
(4) |
|
|
Längenzugabe [%] Falls beide Längenzugaben > 0 wird die größere von beiden verwendet (Mindestlängenzugabe) |
NMaxFixLng |
E |
Int*2 |
Maximal Anzahl auszuformender Fixlängen (≤30) (Eingabe) |
FixLng(1:180) |
A |
Real*4 |
Ausgeformte Fixlängensortimente |
(1) |
|
|
Lfd. Nummer (1. Fixlängensortiment) |
(2) |
|
|
Position (Fuß) des Sortiments [m] im Stamm |
(3) |
|
|
Fixlänge [m] |
(4) |
|
|
Mittendurchmesser o.R. [cm] |
(5) |
|
|
Zopfdurchmesser o.R. [cm] |
(6) |
|
|
Volumen o.R. |
(7) |
|
|
Lfd. Nummer (2. Fixlängensortiment) |
... |
|
|
|
(180) |
|
|
Volumen o.R. (30. Fixlängensortiment) |
NFixLng |
A |
Int*2 |
Anzahl ausgeformte Fixlängensortimente Die Komponenten des Feldes FixLng (NFixLng*6+1:180) sind mit 0 besetzt. |
******************************************************************************************
Subroutine BDATDmRHx (BDATBArtNr, D1, H1, D2, H2, H, Hx, IFeh, DmRHx)
Real*4 Function FNBDATDmRHx (BDATBArtNr, D1, H1, D2, H2, H, Hx, IFeh, DmRHx)
--------------------------------------------------------------------------------------------------------
Subroutine BDATDoRHx (BDATBArtNr, D1, H1, D2, H2, H, Hx, IFeh, DoRHx)
Real*4 Function FNBDATDoRHx (BDATBArtNr, D1, H1, D2, H2, H, Hx, IFeh, DoRHx)
*****************************************************************************************
Zweck:
Für einen Baum mit den Dimensionsdaten <<D1,H1,D2,H2,H>> wird der Durchmessers m.R. / o.R. [cm] in <<Hx>> Metern Höhe über dem Stammfuß berechnet
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 D1
Real*4 H1
Real*4 D2
Real*4 H2
Real*4 H
Real*4 Hx Höhe [m] für den Durchmesser
Aus: Int*2 IFeh
Real*4 DmRHx Durchmesser m. R. bei <<Hx>>
Real*4 DoRHx Durchmesser o. R. bei <<Hx>>
Real*4 FNBDATDmRHx ./.
Real*4 FNBDATDoRHx ./.
Die Bedeutung von D1,H1,D2,H2,H und IFeh wie in BDAT20
*********************************************************************************************
Real*4 Function FNBDATHxDx ( BDATBArtNr, D1, H1, D2, H2, H, Hx, Dx, IFeh)
*********************************************************************************************
Zweck:
Baumhöhe (Hx) mit gegebenem Durchmesser (Dx) iterativ bestimmen.
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 D1
Real*4 H1
Real*4 D2
Real*4 H2
Real*4 H
Real*4 Dx Grenzdurchmesser [cm]
Aus: Real*4 Hx Lage des Grenzdurchmessers Dx [m]
Int*2 IFeh Fehlerindikator
1 – falsche Startwerte
2 – Max. Anzahl (100) Iterationen erreicht
ohne Konvergenz
Die Bedeutung von D1,H1,D2,H2,H wie in BDAT20
********************************************************************************************
subroutine BDATVolDHmR ( BDATBArtNr, D1, H1, D2, H2, H, DHGrz,
HDHGrz, SekLng, IFeh, VolDHmR )
real*4 function FNBDATVolDHmR ( BDATBArtNr, D1, H1, D2, H2, H, DHGrz, HDHGrz, SekLng, IFeh, VolDHmR )
********************************************************************************************
Zweck:
Für einen Baum mit den Dimensionsdaten <<D1,H1,D2,H2,H>> wird das Derbholzvolumen über sektionsweise Kubierung berechnet. Die Länge der Sektionen wird durch <<SekLng>> vorgegeben. (BDAT: SekLng = 2). Die Festlegung der Derbholzgrenze erfolgt über den Derbholzzopf (DHGrz).
Formale Parameter – Datentypen
EIN: Int*2 BDATBArtNr
Real*4 D1
Real*4 H1
Real*4 D2
Real*4 H2
Real*4 H
Real*4 DHGrz Derbholzgrenze [cm]
Real*4 HDHGrz Höhe der Derbholzgrenze (Ausgabe)
Real*4 SekLng Sektionslänge [m] für die Kubierung
Aus: Int*2 IFeh
Real*4 VolDHmR Derbholzvolumen (Ausgabe)
Real*4 FNBDATVolDHmR ./.
Die Bedeutung von D1,H1,D2,H2,H und IFeh wie in BDAT20
********************************************************************************************
subroutine BDATVolABmR ( BDATBArtNr, D1, H1, D2, H2, H, A, B, SekLng, IFeh, VolABmR )
real*4 Function FNBDATVolABmR ( BDATBArtNr, D1, H1, D2, H2, H,A, B, SekLng, IFeh, VolABmR )
-----------------------------------------------------------------------------------------------------------
subroutine
BDATVolABoR ( BDATBArtNr, D1, H1, D2, H2, H,A, B,
SekLng, IFeh, VolABoR )
real*4
Function FNBDATVolABoR ( BDATBArtNr, D1, H1, D2, H2, H, A, B, SekLng, IFeh,
VolABoR )
********************************************************************************************
Zweck:
Für einen Baum mit den Dimensionsdaten <<D1,H1,D2,H2,H>> wird das Abschnittsvolumen über sektionsweise Kubierung berechnet. Die Länge der Sektionen wird durch <<SekLng>> vorgegeben. (BDAT: SekLng = 2). Der Abschnitt wird durch die Lage <<A>> und <<B>> der Unter- bzw. Obergrenze definiert.
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 D1
Real*4 H1
Real*4 D2
Real*4 H2
Real*4 H
Real*4 A Abschnittsuntergrenze [m]
Real*4 B Abschnittsobergrenze [m]
Real*4 SekLng Sektionslänge [m] für die Kubierung
Aus: Int*2 IFeh
Real*4 VolABmR Abschnittsvolumen m. R. (Ausgabe)
Real*4 FNBDATVolABmR ./.
Real*4 VolABoR Abschnittsvolumen o. R. (Ausgabe)
Real*4 FNBDATVolABoR ./.
Die Bedeutung von D1,H1,D2,H2,H und IFeh wie in BDAT20
*********************************************************************************************
subroutine BDATMwQ03BWI (BDATBArtNr, D, H, Q03Pct,MwQ03BWI, StDevQ03BWI, MwQ03BWIPct)
********************************************************************************************
Zweck:
Berechnet innerhalb einer <<BHD,H>> - Klasse den Mittelwert (MwQ03BWI), die Streuung (StDevQ03BWI ) und den Formquotienten q0.30 = D0.30/D0.05 (BWI) zum Percentilwert << Q03Pct >>. Der Mittelwert entspricht dem BWI – äquivalenten Formquotienten:
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 D BHD [cm]
Real*4 H Baumhöhe [m]
Real*4 Q03Pct Percentilwert (0,1) für das geschätzte q0.30 –
Percentil (MwQ03BWIPct)
Aus: Real*4 MwQ03BWI Mittelwert q0.30 (BWI äquivalent)
Real*4 StDevQ03BWI Standardabweichung q0.30 - Verteilung
Real*4 MwQ03BWIPct
q0.30 – Percentil zu
<<Q03Pct>>.
*********************************************************************************************
subroutine
BDATPctQ03BWI (BDATBArtNr, D, H, Q03,MwQ03BWI, StDevQ03BWI, MwQ03BWIPct)
********************************************************************************************
Zweck:
Berechnet innerhalb einer <<D,H>> - Klasse den Mittelwert (MwQ03BWI), die Streuung (StDevQ03BWI ) und den Percentilwert für die Formquotienten <<Q03>> . Der Mittelwert entspricht dem BWI – äquivalenten Formquotienten:
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 D BHD [cm]
Real*4 H Baumhöhe
[m]
Real*4 Q03 Formquotient
(q0.30 = D0.30/D0.05)
Aus: Real*4 MwQ03BWI Mittelwert q0.30 (BWI äquivalent)
Real*4 StDevQ03BWI Standardabweichung q0.30 - Verteilung
Real*4 PctQ03BWI Percentilwert zum Formquotienten <<Q03>>
innerhalb der <<D,H>> - Stufe
*********************************************************************************************
real*4 function FNBDATQ03VHDx (BDATBArtNr, D1, H1, H,
Dx, VolHDx, MIt, q031, q032, q03x, NIt, IFeh)
*********************************************************************************************
Zweck:
Iterative Berechnung des Formquotienten q03x, so dass das über die Schaftkurve bis zum Grenzdurchmesser integrierte Volumen mit dem Normvolumen <<VolHDx>> übereinstimmt:
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 D1 unterer Durchmesser [cm]
Real*4 H1 Höhe D1 [m]
Real*4 H Baumhöhe [m]
Real*4 Dx Grenzdurchmesser Normvolumen
bei Derbholzvolumen = 7
Real*4 VolHDx Normvolumen
Int*2 MIt Maximale Anzahl Iterationen
Real*4 q031 unterer Startwert für q03x
Real*4 q032 oberer Startwert mit Vol(<<q031>>)<=
VolHDx <= Vol(<<q032>>)
Aus: Real*4 q03x volumenäquivalenter
Formquotient
Real*4 FNBDATQ03VHDx ./.
Int*2 Nit Anzahl
Iteration
Int*2 IFeh Fehlerindikator
1 – falsche Startwerte
2 – Max. Anzahl Iterationen erreicht ohne
Konvergenz
*********************************************************************************************
real*4 function FNBDATEstQ032(BDATBArtNr, BHD1, D71, H1, BHD2, H2, Estq032, EstD72, IFeh)
*********************************************************************************************
Zweck:
Fortschreibung der Schaftform (q0.30 & D7m) bei Wiederholungsinventuren:
.
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 BHD1 BHD 1. Aufnahme [cm]
Real*4 D71 D7m ./.
D71 = 0 à Estq032
Real*4 H1 Höhe
./. [m]
Real*4 BHD2 BHD 2. Aufnahme [cm]
Real*4 H2 Höhe ./. [m]
Aus: Real*4 Estq032 q0.30 Fortschreibung
Real*4 EstD72 D7m ./.
D71 = 0 à EstD72
Int*2 IFeh Fehlerindikator
Real*4 FNBDATEstQ032 q0.30 Fortschreibung
*********************************************************************************************
subroutine
BDATD2H2Trans (BDATBArtNr, D1, H1, D2, H2, H)
*********************************************************************************************
Zweck:
Umsetzung der in BDAT20 (vgl. 3.1) beschriebenen Interpretation von D2 und H2
Formale Parameter – Datentypen
Ein: Int*2 BDATBArtNr
Real*4 D1
Real*4 H1
Real*4 D2 (Aus)
Real*4 H2 (Aus)
Real*4 H
Die Bedeutung von D1, H1, D2, H2, H wie in BDAT20
*********************************************************************************************
subroutine
EQ03ParIni(EQP,SQP)
*********************************************************************************************
Zweck:
Ausgabe der Parameter für die Regression zur Schätzung der BWI – äquivalenten Formquotienten
Formale
Parameter – Datentypen
Aus: Real*4 EQP(1:8,1:2,1:7)
Real*4 SQP(1:8,1:6)
********************************************************************************************
subroutine
BDATRinde2Hx ( BDATBArtNr, D1, H1, D2, H2, H, Hx, IFeh, Rinde2Hx)
********************************************************************************************
Zweck
Für einen Baum mit den Dimensionsdaten <<D1,H1,D2,H2,H>> wird die doppelte Rindenstärke [cm] an der Stelle Hx [m] berechnet.
Formale Parameter – Datentypen
Int*2 BDATBArtNr
Real*4 D1
Real*4 H1
Real*4 D2
Real*4 H2
Real*4 H
Real*4 Hx
Int*2 IFeh
Real*4 Rinde2Hx Doppelte Rindenstärke [cm] Ausgabe
Die Bedeutung von D1,H1,D2,H2,H und IFeh wie in BDAT20