1
1
// MachineCosts sheet
2
2
function MachineCosts ( DieselFuelPrice : number ) {
3
- const HourlyMeanWageFeller = 30.96 ; // = CA FallBuckWage May 2019
4
- const HourlyMeanWageOthers = 22.26 ; // = CA AllOthersWage May 2019
3
+ const HourlyMeanWageFeller = 35.13 ; // = CA FallBuckWage May 2020
4
+ const HourlyMeanWageOthers = 22.07 ; // = CA AllOthersWage May 2020
5
5
const benefits = 0.35 ; // Assume a nationwide average of 35% for benefits and other payroll costs
6
6
const WageAndBenRateF = HourlyMeanWageFeller * ( 1 + benefits ) ;
7
7
const WageAndBenRate = HourlyMeanWageOthers * ( 1 + benefits ) ;
@@ -10,7 +10,7 @@ function MachineCosts(DieselFuelPrice: number) {
10
10
const Diesel_fuel_price = DieselFuelPrice ;
11
11
const smh = 1600 ; // Scheduled machine hours (SMH, sh/year)
12
12
const PPI2002 = 176.6 ; // Producer Price Index in 2002
13
- const PPI2019 = 264.3 ; // Producer Price Index in Dec 2019
13
+ const PPIcurrent = 267.4 ; // Producer Price Index in Dec 2020
14
14
15
15
const EquipmentCosts2002 = {
16
16
PurchasePriceChainsaw : 700 ,
@@ -36,7 +36,7 @@ function MachineCosts(DieselFuelPrice: number) {
36
36
37
37
// Chainsaw
38
38
const PurchasePriceChainsaw =
39
- ( EquipmentCosts2002 . PurchasePriceChainsaw * PPI2019 ) / PPI2002 ;
39
+ ( EquipmentCosts2002 . PurchasePriceChainsaw * PPIcurrent ) / PPI2002 ;
40
40
const HorsepowerChainsaw = 0 ;
41
41
const LifeChainsaw = 1 ;
42
42
const svChainsaw = 0.2 ;
@@ -67,7 +67,7 @@ function MachineCosts(DieselFuelPrice: number) {
67
67
const wbFBuncher = personsFBuncher * WageAndBenRate ;
68
68
// DriveToTree
69
69
const PurchasePriceFBuncherDTT =
70
- ( EquipmentCosts2002 . PurchasePriceFBuncherDTT * PPI2019 ) / PPI2002 ;
70
+ ( EquipmentCosts2002 . PurchasePriceFBuncherDTT * PPIcurrent ) / PPI2002 ;
71
71
const HorsepowerFBuncherDTT = 150 ;
72
72
const LifeFBuncherDTT = 3 ;
73
73
const svFBuncherDTT = 0.2 ;
@@ -87,7 +87,7 @@ function MachineCosts(DieselFuelPrice: number) {
87
87
const PMH_DriveToTree = DriveToTree [ 1 ] ;
88
88
// SwingBoom
89
89
const PurchasePriceFBuncherSB =
90
- ( EquipmentCosts2002 . PurchasePriceFBuncherSB * PPI2019 ) / PPI2002 ;
90
+ ( EquipmentCosts2002 . PurchasePriceFBuncherSB * PPIcurrent ) / PPI2002 ;
91
91
const HorsepowerFBuncherSB = 200 ;
92
92
const LifeFBuncherSB = 5 ;
93
93
const svFBuncherSB = 0.15 ;
@@ -107,7 +107,7 @@ function MachineCosts(DieselFuelPrice: number) {
107
107
const PMH_SwingBoom = SwingBoom [ 1 ] ;
108
108
// SelfLeveling
109
109
const PurchasePriceFBuncherSL =
110
- ( EquipmentCosts2002 . PurchasePriceFBuncherSL * PPI2019 ) / PPI2002 ;
110
+ ( EquipmentCosts2002 . PurchasePriceFBuncherSL * PPIcurrent ) / PPI2002 ;
111
111
const HorsepowerFBuncherSL = 240 ;
112
112
const SelfLeveling = CostCalc (
113
113
PurchasePriceFBuncherSL ,
@@ -135,7 +135,7 @@ function MachineCosts(DieselFuelPrice: number) {
135
135
const wbHarvester = personsHarvester * WageAndBenRate ;
136
136
// Small
137
137
const PurchasePriceHarvesterS =
138
- ( EquipmentCosts2002 . PurchasePriceHarvesterS * PPI2019 ) / PPI2002 ;
138
+ ( EquipmentCosts2002 . PurchasePriceHarvesterS * PPIcurrent ) / PPI2002 ;
139
139
const HorsepowerHarvesterS = 120 ;
140
140
const HarvesterS = CostCalc (
141
141
PurchasePriceHarvesterS ,
@@ -151,7 +151,7 @@ function MachineCosts(DieselFuelPrice: number) {
151
151
const PMH_HarvS = HarvesterS [ 1 ] ;
152
152
// Big
153
153
const PurchasePriceHarvesterB =
154
- ( EquipmentCosts2002 . PurchasePriceHarvesterB * PPI2019 ) / PPI2002 ;
154
+ ( EquipmentCosts2002 . PurchasePriceHarvesterB * PPIcurrent ) / PPI2002 ;
155
155
const HorsepowerHarvesterB = 200 ;
156
156
const HarvesterB = CostCalc (
157
157
PurchasePriceHarvesterB ,
@@ -178,7 +178,7 @@ function MachineCosts(DieselFuelPrice: number) {
178
178
const wbSkidder = personsSkidder * WageAndBenRate ;
179
179
// Small
180
180
const PurchasePriceSkidderS =
181
- ( EquipmentCosts2002 . PurchasePriceSkidderS * PPI2019 ) / PPI2002 ;
181
+ ( EquipmentCosts2002 . PurchasePriceSkidderS * PPIcurrent ) / PPI2002 ;
182
182
const HorsepowerSkidderS = 120 ;
183
183
const LifeSkidderS = 5 ;
184
184
const SkidderS = CostCalc (
@@ -195,7 +195,7 @@ function MachineCosts(DieselFuelPrice: number) {
195
195
const PMH_SkidderS = SkidderS [ 1 ] ;
196
196
// Big
197
197
const PurchasePriceSkidderB =
198
- ( EquipmentCosts2002 . PurchasePriceSkidderB * PPI2019 ) / PPI2002 ;
198
+ ( EquipmentCosts2002 . PurchasePriceSkidderB * PPIcurrent ) / PPI2002 ;
199
199
const HorsepowerSkidderB = 200 ;
200
200
const LifeSkidderB = 4 ;
201
201
const SkidderB = CostCalc (
@@ -218,7 +218,7 @@ function MachineCosts(DieselFuelPrice: number) {
218
218
const rmForwarder = 1 ;
219
219
// Small
220
220
const PurchasePriceForwarderS =
221
- ( EquipmentCosts2002 . PurchasePriceForwarderS * PPI2019 ) / PPI2002 ;
221
+ ( EquipmentCosts2002 . PurchasePriceForwarderS * PPIcurrent ) / PPI2002 ;
222
222
const HorsepowerForwarderS = 110 ;
223
223
const svForwarderS = 0.25 ;
224
224
// some vars have the same value as in Skidder, therefore keep those Skidder vars in the function below
@@ -236,7 +236,7 @@ function MachineCosts(DieselFuelPrice: number) {
236
236
const PMH_ForwarderS = ForwarderS [ 1 ] ;
237
237
// Big
238
238
const PurchasePriceForwarderB =
239
- ( EquipmentCosts2002 . PurchasePriceForwarderB * PPI2019 ) / PPI2002 ;
239
+ ( EquipmentCosts2002 . PurchasePriceForwarderB * PPIcurrent ) / PPI2002 ;
240
240
const HorsepowerForwarderB = 200 ;
241
241
const svForwarderB = 0.2 ;
242
242
const ForwarderB = CostCalc (
@@ -255,7 +255,7 @@ function MachineCosts(DieselFuelPrice: number) {
255
255
256
256
// Yarder small
257
257
const PurchasePriceYarderS =
258
- ( EquipmentCosts2002 . PurchasePriceYarderS * PPI2019 ) / PPI2002 ;
258
+ ( EquipmentCosts2002 . PurchasePriceYarderS * PPIcurrent ) / PPI2002 ;
259
259
const HorsepowerYarderS = 100 ;
260
260
const LifeYarder = 10 ;
261
261
const svYarder = 0.1 ;
@@ -279,7 +279,7 @@ function MachineCosts(DieselFuelPrice: number) {
279
279
const PMH_YarderS = YarderS [ 1 ] ;
280
280
// Yarder intermediate
281
281
const PurchasePriceYarderI =
282
- ( EquipmentCosts2002 . PurchasePriceYarderI * PPI2019 ) / PPI2002 ;
282
+ ( EquipmentCosts2002 . PurchasePriceYarderI * PPIcurrent ) / PPI2002 ;
283
283
const HorsepowerYarderI = 200 ;
284
284
const YarderI = CostCalc (
285
285
PurchasePriceYarderI ,
@@ -306,7 +306,7 @@ function MachineCosts(DieselFuelPrice: number) {
306
306
const wbProcessor = personsProcessor * WageAndBenRate ;
307
307
// Small
308
308
const PurchasePriceProcessorS =
309
- ( EquipmentCosts2002 . PurchasePriceProcessorS * PPI2019 ) / PPI2002 ;
309
+ ( EquipmentCosts2002 . PurchasePriceProcessorS * PPIcurrent ) / PPI2002 ;
310
310
const HorsepowerProcessorS = 120 ;
311
311
const ProcessorS = CostCalc (
312
312
PurchasePriceProcessorS ,
@@ -322,7 +322,7 @@ function MachineCosts(DieselFuelPrice: number) {
322
322
const PMH_ProcessorS = ProcessorS [ 1 ] ;
323
323
// Big
324
324
const PurchasePriceProcessorB =
325
- ( EquipmentCosts2002 . PurchasePriceProcessorB * PPI2019 ) / PPI2002 ;
325
+ ( EquipmentCosts2002 . PurchasePriceProcessorB * PPIcurrent ) / PPI2002 ;
326
326
const HorsepowerProcessorB = 200 ;
327
327
const ProcessorB = CostCalc (
328
328
PurchasePriceProcessorB ,
@@ -349,7 +349,7 @@ function MachineCosts(DieselFuelPrice: number) {
349
349
const wbLoader = personsLoader * WageAndBenRate ;
350
350
// Small
351
351
const PurchasePriceLoaderS =
352
- ( EquipmentCosts2002 . PurchasePriceLoaderS * PPI2019 ) / PPI2002 ;
352
+ ( EquipmentCosts2002 . PurchasePriceLoaderS * PPIcurrent ) / PPI2002 ;
353
353
const HorsepowerLoaderS = 120 ;
354
354
const LoaderS = CostCalc (
355
355
PurchasePriceLoaderS ,
@@ -365,7 +365,7 @@ function MachineCosts(DieselFuelPrice: number) {
365
365
const PMH_LoaderS = LoaderS [ 1 ] ;
366
366
// Big
367
367
const PurchasePriceLoaderB =
368
- ( EquipmentCosts2002 . PurchasePriceLoaderB * PPI2019 ) / PPI2002 ;
368
+ ( EquipmentCosts2002 . PurchasePriceLoaderB * PPIcurrent ) / PPI2002 ;
369
369
const HorsepowerLoaderB = 200 ;
370
370
const LoaderB = CostCalc (
371
371
PurchasePriceLoaderB ,
@@ -392,7 +392,7 @@ function MachineCosts(DieselFuelPrice: number) {
392
392
const wbChipper = personsChipper * WageAndBenRate ;
393
393
// Small
394
394
const PurchasePriceChipperS =
395
- ( EquipmentCosts2002 . PurchasePriceChipperS * PPI2019 ) / PPI2002 ;
395
+ ( EquipmentCosts2002 . PurchasePriceChipperS * PPIcurrent ) / PPI2002 ;
396
396
const HorsepowerChipperS = 350 ;
397
397
const ChipperS = CostCalc (
398
398
PurchasePriceChipperS ,
@@ -408,7 +408,7 @@ function MachineCosts(DieselFuelPrice: number) {
408
408
const PMH_ChipperS = ChipperS [ 1 ] ;
409
409
// Big
410
410
const PurchasePriceChipperB =
411
- ( EquipmentCosts2002 . PurchasePriceChipperB * PPI2019 ) / PPI2002 ;
411
+ ( EquipmentCosts2002 . PurchasePriceChipperB * PPIcurrent ) / PPI2002 ;
412
412
const HorsepowerChipperB = 700 ;
413
413
const ChipperB = CostCalc (
414
414
PurchasePriceChipperB ,
@@ -426,7 +426,7 @@ function MachineCosts(DieselFuelPrice: number) {
426
426
427
427
// Bundler
428
428
const PurchasePriceBundler =
429
- ( EquipmentCosts2002 . PurchasePriceBundler * PPI2019 ) / PPI2002 ;
429
+ ( EquipmentCosts2002 . PurchasePriceBundler * PPIcurrent ) / PPI2002 ;
430
430
const HorsepowerBundler = 180 ;
431
431
const fcrBundler = 0.025 ;
432
432
// the other vars are the same as Chipper's, therefore pass chipper vars in the function below
0 commit comments