-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathPNWTARIF.F
476 lines (458 loc) · 18.3 KB
/
PNWTARIF.F
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
C 12/17/2012
C The tarif volume equation used by FIA PNW
C Created by YW 12/17/2012
C 2018/08/08 YW Added species code 116, 119 and 020 for FIA equation
SUBROUTINE PNWTARIF(VOLEQ,DBHOB,HTTOT,MTOPP,VOL,BFPFLG,CUPFLG,
> ERRFLAG)
CHARACTER*10 VOLEQ
REAL DBHOB,HTTOT,MTOPP,VOL(15)
INTEGER BFPFLG,CUPFLG,ERRFLAG,SPN,SCRBLOGL,FCLASS
CHARACTER*2 REGION
CHARACTER*3 SPEC
REAL DBH,HT,CVTS,CV4,CVT,COFA,COFB,COFC
REAL BA,BA_TMP,TMP_DBH,CF4,CF4_TMP,TERM,TARIF,CV4_TMP,TARIF_TMP
REAL Z, F, Z25, THT, DRC
REAL RC6,CV6,CUBUS,B4,RS616L,RS616,RS632,SV616,SV632,R16,XINT6
DO 10,I=1,15
VOL(I) = 0
10 CONTINUE
ERRFLAG = 0
if(dbhob .lt. 1.0)then
errflag = 3
goto 999
endif
DBH=DBHOB
HT=HTTOT
BA = DBH**2*0.005454154
SPEC = VOLEQ(8:10)
READ(SPEC,'(i3)') SPN
READ(VOLEQ(2:3), '(I2)') SCRBLOGL
C Move initialization of variables prior to any regional filtering
CV4 = 0.0
CVT = 0.0
CVTS = 0.0
TARIF = 0.0
IF(VOLEQ(1:1).EQ.'6')THEN
C REGION 6 EQUATION
IF(SPEC.EQ.'202') THEN
IF(SCRBLOGL.EQ.32)THEN
C COASTAL DOUGLAS-FIR (FIA EQ#1)
CVTS=10**(- 3.21809+ 0.04948*LOG10(DBH)*LOG10(HT)
& -0.15664*LOG10(DBH)**2+ 2.02132*LOG10(DBH)
& + 1.63408*LOG10(HT)- 0.16185*LOG10(HT)**2)
ELSEIF(SCRBLOGL.EQ.16)THEN
C INTERIOR DOUGLAS-FIR (FIA EQ#2)
CVTS=EXP(-6.110493+1.81306*LOG(DBH)+ 1.083884*LOG(HT))
ENDIF
ELSEIF(SPEC.EQ.'122')THEN
C PONDEROSA PINE (FIA EQ#4)
CVTS=EXP(-8.521558+1.977243*LOG(DBH)-0.105288*LOG(HT)**2
& + 136.0489/HT**2+1.99546 *LOG(HT))
ELSEIF(SPEC.EQ.'263')THEN
C WESTERN HELMLOCK (FIA EQ#6)
CVTS=10**(-2.72170+ 2.00857*log10(DBH)+1.08620*log10(HT)
& -.00568*DBH)
ELSEIF(SPEC.EQ.'242')THEN
IF(SCRBLOGL.EQ.16)THEN
C INTERIOR REDCEDAR (FIA EQ#8)
COFA=-2.464614
COFB=1.701993
COFC=1.067038
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SCRBLOGL.EQ.32)THEN
C COSTAL MATURE REDCEDAR (FIA EQ#9)
COFA=-2.379642
COFB=1.682300
COFC=1.039712
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ENDIF
ELSEIF(SPEC.EQ.'019')THEN
C INTERIOR TRUE FIR (FIA EQ#10)
COFA=-2.502332
COFB=1.864963
COFC=1.004903
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'011')THEN
C COSTAL MATURE TRUE FIR (FIA EQ#11)
COFA=-2.575642
COFB=1.806775
COFC=1.094665
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'094')THEN
C INTERIOR SPRUCE (FIA EQ#12)
COFA=-2.539944
COFB=1.841226
COFC=1.034051
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'098')THEN
C COSTAL MATURE SITKA SPRUCE
COFA=-2.700574
COFB=1.754171
COFC=1.164531
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'108')THEN
C LODGEPOLE PINE (FIA EQ#15)
COFA=-2.615591
COFB=1.847504
COFC=1.085772
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'264')THEN
C MOUNTAIN HEMLOCK (FIA EQ#17)
CVTS=0.001106485*DBH**1.8140497*HT**1.2744923
ELSEIF(SPEC.EQ.'073')THEN
C WESTERN LARCH (FIA EQ#22)
COFA=-2.624325
COFB=1.847123
COFC=1.044007
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'211')THEN
C REDWOOD (FIA EQ# 24)
CVTS=EXP(-6.2597+1.9967*LOG(DBH)+0.9642*LOG(HT))
ELSEIF(SPEC.EQ.'351') THEN
C REDALDER FIA EQ#25
IF(HT.LT.18.0) THEN
THT = 18.0
ELSE
THT = HT
ENDIF
Z = (THT-0.5-DBH/24)/(THT-4.5)
Z25 = Z**2.5
F = 0.3651*Z25-7.9032*Z25*DBH/1000.0+3.295*Z25 * THT/1000.0
& - 1.9856*Z25*THT*DBH/100000.0-2.9668*Z25*THT**2/1000000.0
& + 1.5092*Z25*THT**.5/1000.0+4.9395*Z**4*DBH/1000.0
& - 2.05937*Z**4*THT/1000.0+1.5042*Z**33*THT*DBH/1000000.0
& - 1.1433*Z**33*THT**0.5/10000.0+1.809*Z**41*THT**2/10000000.0
CVT = 0.00545415*DBH**2*(THT-4.5)*F
CVTS = CVT/(0.9679-0.105*0.5525**(DBH-1.5))
CALL GET_TARIF_FROM_CVT(DBH,CVT,TARIF)
BA= 0.005454154*DBH*DBH
CV4 = TARIF*(BA-0.087266)/0.912733
ELSEIF(SPEC.EQ.'746') THEN
C ASPEN FIA EQ#28
COFA=-2.635360
COFB=1.946034
COFC=1.024793
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'747') THEN
C COTTONWOOD FIA EQ#27
COFA=-2.945047
COFB=1.803973
COFC=1.238853
CALL BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
ELSEIF(SPEC.EQ.'998') THEN
C OTHER HARDWOOD FIA EQ#31 USED FOR EUCALYPTUS
CVTS = .0016144*DBH**2*HT
ELSE
ERRFLAG = 1
DO 5 I=1,15
VOL(I)=0.0
5 CONTINUE
RETURN
ENDIF
IF(TARIF.EQ.0.0) CALL GET_TARIF_FROM_CVTS(DBH,CVTS,TARIF)
IF(CV4.EQ.0.0) CV4=TARIF*(BA-0.087266)/0.912733
IF(CVT.EQ.0.0) CVT=CVTS*(0.9679-0.105*0.5525**(DBH-1.5))
VOL(1) = CVT
VOL(4) = CV4
VOL(14) = CVTS - CVT
CALL GET_MERCH_VOL(SPN,DBH,MTOPP,SCRBLOGL,
& CV4,CVT,TARIF,VOL,ERRFLAG)
ELSEIF(VOLEQ(1:1).EQ.'5')THEN
C REGION 5 (CA) SPECIES
IF(SPN.LT.300 .AND. SPN.NE.60)THEN
C REGION 5 SOFTWOOD SPECIES
IF(DBH.LT.6.0)THEN
TMP_DBH=6.0
ELSE
TMP_DBH=DBH
ENDIF
C CALCULATE BASAL AREA PER TREE USING DBH AND DBH_TEMP
BA_TMP = TMP_DBH**2*0.005454154
C CALCULATE A CUBIC FORM FACTOR (CF4) USING TMP_DBH and DBH
C CF4 EQUATIONS VARY BY VOLUME EQUATION
IF(SPEC.EQ.'202')THEN
C FIA EQ#3
CF4=0.248569+0.0253524*(HT/DBH)-0.0000560175*(HT**2/DBH)
CALL CHECK_CF(CF4)
CF4_TMP=0.248569+0.0253524*(HT/TMP_DBH)
& -0.0000560175*(HT**2/TMP_DBH)
CALL CHECK_CF(CF4_TMP)
ELSEIF(SPEC.EQ.'122'.OR.SPEC.EQ.'116')THEN
C FIA EQ#5
CF4 = 0.402060 - 0.899914 * (1.0/DBH)
CALL CHECK_CF(CF4)
CF4_TMP = 0.402060 - 0.899914 * (1.0/TMP_DBH)
CALL CHECK_CF(CF4_TMP)
ELSEIF(SPEC.EQ.'108')THEN
C FIA EQ#16
CF4 = 0.422709 - 0.0000612236 * (HT**2/DBH)
CALL CHECK_CF(CF4)
CF4_TMP = 0.422709 - 0.0000612236 * (HT**2/TMP_DBH)
CALL CHECK_CF(CF4_TMP)
ELSEIF(SPEC.EQ.'021'.OR.SPEC.EQ.'020')THEN
C FIA EQ#18
CF4 = 0.231237 + 0.028176 * (HT/DBH)
CALL CHECK_CF(CF4)
CF4_TMP = 0.231237 + 0.028176 * (HT/TMP_DBH)
CALL CHECK_CF(CF4_TMP)
ELSEIF(SPEC.EQ.'081')THEN
C FIA EQ#19
CF4 = 0.225786 + 4.44236 * (1.0/HT)
IF(CF4.LT.0.27) CF4=0.27
CF4_TMP = 0.225786 + 4.44236 * (1.0/HT)
IF(CF4_TMP.LT.0.27) CF4_TMP=0.27
ELSEIF(SPEC.EQ.'117'.OR.SPEC.EQ.'119')THEN
c FIA EQ#20
CF4 = 0.358550 - 0.488134 * (1.0/DBH)
CALL CHECK_CF(CF4)
CF4_TMP = 0.358550 - 0.488134 * (1.0/TMP_DBH)
CALL CHECK_CF(CF4_TMP)
ELSEIF(SPEC.EQ.'015')THEN
c FIA EQ# 23
CF4 =0.299039+1.91272*(1.0/HT)+0.0000367217 * (HT**2/DBH)
CALL CHECK_CF(CF4)
CF4_TMP=0.299039+1.91272*(1.0/HT)+
& 0.0000367217*(HT**2/TMP_DBH)
CALL CHECK_CF(CF4_TMP)
ELSE
ERRFLAG = 1
DO 15 I=1,15
VOL(I)=0.0
15 CONTINUE
RETURN
ENDIF
C For ease of use and to improve readability of equations, calculate the following term and use it
C in the equations that follow. Note that actual DBH and BA are used for all trees.
C Do not use TMP_DBH or BA_TMP here.
TERM =((1.033*(1.0+1.382937*EXP(-4.015292*(DBH/10.0))))
& * (BA + 0.087266) - 0.174533 )
IF(DBH.GE.6.0)THEN
CV4 = CF4 * BA * HT
TARIF = (CV4 * 0.912733)/(BA - 0.087266)
IF (TARIF.LE.0.0) TARIF=0.01
CVTS=(CV4*TERM )/(BA - 0.087266)
CVT=TARIF*(0.9679-0.1051*0.5523**(DBH-1.5))*TERM/0.912733
ELSE
CV4_TMP = CF4_TMP*BA_TMP*HT
TARIF_TMP=(CV4_TMP * 0.912733)/(BA_TMP - 0.087266)
IF (TARIF_TMP.LE.0.0) TARIF_TMP = 0.01
C CALCULATE An ADJUSTED TARIF FOR SMALL TREES (Both DBH and TMP_DBH are used)
TARIF=0.5*(TMP_DBH-DBH)**2
& +(1.0+0.063*(TMP_DBH-DBH)**2)*TARIF_TMP
IF(TARIF.LE.0.0) TARIF = 0.01
CVTS = TARIF * TERM
CVT=TARIF*(0.9679-0.1051*0.5523**(DBH-1.5))*TERM !/0.912733
CV4= CF4 * BA * HT
C CV4 calculated with actual DBH and BA
ENDIF
VOL(1)=CVT
VOL(4)=CV4
IF(DBH.LT.5.0) CV4=0.0
CALL GET_MERCH_VOL(SPN,DBH,MTOPP,SCRBLOGL,
& CV4,CVT,TARIF,VOL,ERRFLAG)
ELSEIF(SPEC.EQ.'475')THEN
DRC=DBHOB
FCLASS=1.
CALL R4D2H (VOLEQ,HTTOT,DBHOB,DRC,FCLASS,VOL,ERRFLAG)
ELSE
C OTHER HARDWOOD IN REGION 5 CALL R5HARV
CALL R5HARV(VOLEQ,DBHOB,HTTOT,MTOPP,VOL,BFPFLG,CUPFLG,ERRFLAG)
ENDIF
ENDIF
! get Stump volume which is CVTS-CVT
IF(VOL(14).LE.0.0) VOL(14) = CVTS-CVT
IF(VOL(14).LT.0.0) VOL(14)=0.0
! get stem tip volume which is cvt-cv4
IF(VOL(15).LE.0.0) VOL(15) = CVT-CV4
IF(VOL(15).LT.0.0) VOL(15)=0.0
999 RETURN
END SUBROUTINE PNWTARIF
C CALCULATE MERCH VOLUME
SUBROUTINE GET_MERCH_VOL(SPN,DBH,MTOPP,SCRBLOGL,
& CV4,CVT,TARIF,VOL,ERRFLAG)
REAL DBH,MTOPP,CV4,CVT,CV6,SV616,SV632,XINT6,TARIF,VOL(15)
REAL RC6,CUBUS,B4,RS616L,RS616,RS632,RI6,RI816,SV816,XINT8
INTEGER SPN,SCRBLOGL,ERRFLAG
CV6=0.0
CV8=0.0
SV616=0.0
SV632=0.0
XINT6=0.0
XINT8=0.0
IF(DBH.GE.9.0.AND.MTOPP.GE.6.0)THEN
RC6 = 0.993-0.993*0.62**(DBH-6.0)
C CALCULATION FOR SOFTWOOD AND HARDWOOD ARE DIFFERENT
! IF(SPN.LT.300) THEN
! CV6 = RC6*CV4
! ELSE
! CV6=RC6*CVT
! ENDIF
CV6 = RC6*CV4
IF(CV6.GT.CV4) CV6=CV4
VOL(4)=CV6
CUBUS = CV4-CV6
VOL(7) = CUBUS
B4 = TARIF/0.912733
RS616L=(.174439+.117594*log10(DBH)*log10((TARIF/.912733))
& -8.210585/DBH**2+.236693*log10((TARIF/.912733))
& -.00001345*(TARIF/.912733)**2-.00001937*DBH**2)
RS616=10**RS616L
SV616=RS616*CV6
VOL(2) = SV616
IF(SCRBLOGL.EQ.32)THEN
RS632=1.001491-6.924097/TARIF+0.00001351*DBH**2
SV632=RS632*SV616
VOL(2) = SV632
ENDIF
RI6=(-2.904154+3.466328*log10(DBH*TARIF)
& -.02765985*DBH-.00008205*TARIF**2+11.29598/DBH**2)
XINT6=RI6*CV6
VOL(10) = XINT6
C IF(DBH.GE.11.0)THEN
IF(MTOPP.GE.8.0)THEN
CV8=CV4*(.983-.983*.65**(DBH-8.6))
VOL(4) = CV8
VOL(7) = CV4-CV8
RS816= (.99-.58*.484**(DBH-9.5))
SV816=RS816*SV616
VOL(2) = SV816
RI8=0.99-0.55*0.485 ** (DBH-9.5)
XINT8=XINT6*RI8
VOL(10) = XINT8
ENDIF
ENDIF
! THE VOL HAS BEEN SET UP IN THE ABOVE, SO COMMENT OUT THE BELOW LINES (2018/11/02)
! IF(MTOPP.LT.0.1)THEN
! VOL(4)=CV4
! ELSEIF(MTOPP.LT.3.0)THEN
! VOL(4)=CVT
! ELSEIF(MTOPP.LT.5.0)THEN
! VOL(4)=CV4
! ELSEIF(MTOPP.LT.7.0)THEN
! VOL(4)=CV6
! ELSE
! VOL(4)=CV8
! ENDIF
! IF(MTOPP.LT.7.0.OR.(MTOPP.LT.0.1.AND.SPN.LT.300))THEN
! VOL(2)=SV616
! IF(SCRBLOGL.EQ.32)THEN
! VOL(2)=SV632
! ENDIF
! IF(MTOPP.GT.4.0) VOL(7)=CV4-CV6
! VOL(10)=XINT6
! ELSEIF(MTOPP.LE.9.0.OR.(MTOPP.LT.0.1.AND.SPN.GE.300))THEN
! VOL(2)=SV816
! IF(MTOPP.GT.4.0) VOL(7)=CV4-CV8
! VOL(10)=XINT8
! ENDIF
RETURN
END SUBROUTINE GET_MERCH_VOL
C CHECK CF4 AND CF4_TMP ARE IN THE RANGE OF 0.3 AND 0.4
SUBROUTINE CHECK_CF(CF4)
REAL CF4
IF(CF4.LT.0.3) CF4=0.3
IF(CF4.GT.0.4) CF4=0.4
RETURN
END SUBROUTINE CHECK_CF
C --Browne, J. E. 1962
C --Standard Cubic Foot Volume for Commercial Tree Species of British Columbia
C --British Columbia Forest Service
C --Cubic foot volume of total stem from ground to tip of tree
SUBROUTINE BROWNE_CVTS(DBH,HT,COFA,COFB,COFC,CVTS)
REAL DBH,HT,COFA,COFB,COFC,CVTS
CVTS=10**COFA*DBH**COFB*HT**COFC
RETURN
END SUBROUTINE BROWNE_CVTS
C BRACKETT 1973, NOTES ON TARIS TREE VOLUME COMPUTATION, WASHING STATE DNR REPORT 24
C THE FOLLOWING ROUTINES CALCULATE TARIF BASED CVTS, CVT, CV4 AND CV8
SUBROUTINE GET_TARIF_FROM_CVTS(DBH, CVTS, TARIF)
REAL DBH, CVTS, TARIF
TARIF=(CVTS*.912733)/((1.033*(1+1.382937*
+ EXP(-4.015292*(DBH/10.0))))
+ *(.005454*DBH**2+.087266)-.174533)
RETURN
END SUBROUTINE GET_TARIF_FROM_CVTS
SUBROUTINE GET_TARIF_FROM_CVT(DBH, CVT, TARIF)
REAL DBH, CVT, TARIF
TARIF=CVT*0.912733/((0.9679-0.1051*0.5523**(DBH-1.5))
+ *((1.033*(1+1.382937*Exp(-4.015292*DBH/10.0)))
+ *(.005454154*DBH**2+0.087266)-0.174533))
IF(TARIF.LE.0.0) TARIF = 0.01
RETURN
END SUBROUTINE GET_TARIF_FROM_CVT
SUBROUTINE GET_TARIF_FROM_CV4(DBH, CV4, TARIF)
REAL DBH, CV4, TARIF
TARIF=CV4*.912733/(.005454*DBH**2+.087266)
RETURN
END SUBROUTINE GET_TARIF_FROM_CV4
SUBROUTINE GET_TARIF_FROM_CV8(DBH, CV8, TARIF)
REAL DBH, CV8, TARIF
TARIF=(CV8*0.912733)/((0.983-0.983*0.65**(DBH-8.6))
+ *(.005454154*DBH**2-0.087266))
IF(TARIF.LE.0.0) TARIF = 0.01
RETURN
END SUBROUTINE GET_TARIF_FROM_CV8
C--------------------------------------------------------------------------------------------------------------------
C SOFTWOOD VOLUME EQUATION
C NVEL EQN FIA EQN REFERENCE
C ---------- -------------------------- ----------------------------------------------------------------------------
C 632TRFW202 EQUATION 1 DOUGLAS-FIR (Brackett, 1973; WEYERHAUSER-DNR RPT#24, updated in 1977)
C 616TRFW202 EQUATION 2 DOUGLAS-FIR (DNR MEMO--SUMMERFIELD,11/7/80)
C 516TRFW202 EQUATION 3 DOUGLAS-FIR (USDA-FS RES NOTE PNW-266)
C 616TRFW122 EQUATION 4 PONDEROSA PINE (DNR MEMO--SUMMERFIELD,11/7/80)
C 632TRFW122
C 516TRFW122 EQUATION 5 PONDEROSA PINE (USDA-FS RES NOTE PNW-266)
C 532TRFW122
C 616TRFW263 EQUATION 6 W.HEMLOCK (DNR NOTE 27,4/79)
C 632TRFW263
C EQUATION 7 W.HEMLOCK (BROWNE (1962) BC FOREST SERV,P33)
C 616TRFW242 EQUATION 8 REDCEDAR (REDCEDAR INTERIOR--DNR RPT#24,1977)
C 632TRFW242 EQUATION 9 REDCEDAR (REDCEDAR COAST--DNR RPT#24,1977)
C 616TRFW019 EQUATION10 TRUE FIRS (INTERIOR BALSAM--DNR RPT#24,1977)
C 632TRFW011 EQUATION11 TRUE FIRS (COAST BALSAM--DNR RPT#24,1977)
C 616TRFW094 EQUATION12 SPRUCE (SITKA SPRUCE INTERIOR--DNR RPT#24,1977)
C 616TRFW098 EQUATION13 SPRUCE (SITKA SPRUCE MATURE--DNR RPT#24,1977)
C 632TRFW098
C 616TRFW108 EQUATION15 LODGEPOLE PINE (LODGEPOLE PINE--DNR RPT#24,1977)
C 632TRFW108
C 516TRFW108 EQUATION16 LODGEPOLE PINE (USDA-FS RES NOTE PNW-266)
C 616TRFW264 EQUATION17 MTN.HEMLOCK (BELL, OSU RES.BULL 35)
C 632TRFW264
C 516TRFW021 EQUATION18 SHASTA RED FIR (USDA-FS RES NOTE PNW-266)
C 532TRFW021
C 516TRFW081 EQUATION19 INCENSE CEDAR (USDA-FS RES NOTE PNW-266)
C 532TRFW081
C 516TRFW117 EQUATION20 SUGAR PINE (USDA-FS RES NOTE PNW-266)
C 532TRFW117
C 516TRFW060 EQUATION21 W.JUNIPER (CHITTESTER,1984)
C 532TRFW060
C 616TRFW073 EQUATION22 W.LARCH (LARCH--DNR RPT#24,1977)
C 632TRFW073
C 516TRFW015 EQUATION23 WHITE FIR (USDA-FS RES NOTE PNW-266)
C 532TRFW015
C 616TRFW211 EQUATION24 REDWOOD (Krumland, B.E. and L.E. Wensel. 1975. And DNR RPT#24,1977)
C 632TRFW211
C
C HARDWOOD VOLUME EQUATION
C
C 616TRFW351 EQUATION 25 ALDER (CURTIS/BRUCE, PNW-56)
C 500DVEW351 EQUATION 26 ALDER (BC-ALDER--DNR RPT#24,1977)
C 616TRFW747 EQUATION 27 COTTONWOOD (BC-COTTONWOOD--DNR RPT#24,1977)
C 616TRFW746 EQUATION 28 ASPEN (BC-ASPEN--DNR RPT#24,1977)
C EQUATION 29 BIRCH (BC-BIRCH--DNR RPT#24,1977)
C EQUATION 30 BIGLEAF MAPLE (BC-MAPLE--DNR RPT#24,1977)
C 616TRFW998 EQUATION 31 EUCALYPTUS (MEMO,COLIN D. MacLEAN 1/27/83,(REVISED 2/7/83) )
C 500DVEW431 EQUATION 32 G.CHINQUAPIN (PILLSBURY (H,D), CHARLES BOLSINGER 1/3/83)
C 500DVEW981 EQUATION 33 C.LAUREL (PILLSBURY (H,D), CHARLES BOLSINGER 1/3/83)
C 500DVEW631 EQUATION34 TANOAK (PILLSBURY (H,D), CHARLES BOLSINGER 1/3/83)
C 500DVEW821 EQUATION35 CALIF WHITE OAK (PILLSBURY (H,D), CHARLES BOLSINGER 1/3/83)
C 500DVEW811 EQUATION36 ENGELMANN OAK (PILLSBURY (H,D), CHARLES BOLSINGER 1/3/83)
C 500DVEW312 EQUATION37 BIGLEAF MAPLE (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 500DVEW818 EQUATION38 CALIF BLACK OAK (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 500DVEW807 EQUATION39 BLUE OAK (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 500DVEW361 EQUATION40 PACIFIC MADRONE (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 500DVEW815 EQUATION41 ORE WHITE OAK (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 500DVEW805 EQUATION42 CANYON LIVE OAK (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 500DVEW801 EQUATION43 COAST LIVE OAK (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 500DVEW839 EQUATION44 INT LIVE OAK (PILLSBURY (H,D,FC), CHARLES BOLSINGER 1/3/83)
C 400DVEW475 EQUATION45 MTN. MAHOGANY (Chojnacky, 1985)