Skip to content

Commit 57d56c7

Browse files
authored
Merge pull request #29 from ucdavis/costUpdateTo2020
update costs to 2020
2 parents 4c6d8c1 + e02f052 commit 57d56c7

File tree

3 files changed

+26
-26
lines changed

3 files changed

+26
-26
lines changed

src/systems/frcs.model.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export class InputVar implements InputVar {
7575
TreeVolSLT = 70;
7676
RemovalsLLT = 5;
7777
TreeVolLLT = 100;
78-
DieselFuelPrice = 3.251;
78+
DieselFuelPrice = 3.356;
7979
MoistureContent = 50;
8080
ChipAll = false;
8181
constructor() {}
@@ -92,7 +92,7 @@ export class MoveInInputVar implements MoveInInputVar {
9292
System = 'Cable Manual WT';
9393
Area = 1;
9494
MoveInDist = 2;
95-
DieselFuelPrice = 3.251;
95+
DieselFuelPrice = 3.356;
9696
ChipAll = false;
9797
constructor() {}
9898
}

src/systems/methods/machinecosts.ts

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// MachineCosts sheet
22
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
55
const benefits = 0.35; // Assume a nationwide average of 35% for benefits and other payroll costs
66
const WageAndBenRateF = HourlyMeanWageFeller * (1 + benefits);
77
const WageAndBenRate = HourlyMeanWageOthers * (1 + benefits);
@@ -10,7 +10,7 @@ function MachineCosts(DieselFuelPrice: number) {
1010
const Diesel_fuel_price = DieselFuelPrice;
1111
const smh = 1600; // Scheduled machine hours (SMH, sh/year)
1212
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
1414

1515
const EquipmentCosts2002 = {
1616
PurchasePriceChainsaw: 700,
@@ -36,7 +36,7 @@ function MachineCosts(DieselFuelPrice: number) {
3636

3737
// Chainsaw
3838
const PurchasePriceChainsaw =
39-
(EquipmentCosts2002.PurchasePriceChainsaw * PPI2019) / PPI2002;
39+
(EquipmentCosts2002.PurchasePriceChainsaw * PPIcurrent) / PPI2002;
4040
const HorsepowerChainsaw = 0;
4141
const LifeChainsaw = 1;
4242
const svChainsaw = 0.2;
@@ -67,7 +67,7 @@ function MachineCosts(DieselFuelPrice: number) {
6767
const wbFBuncher = personsFBuncher * WageAndBenRate;
6868
// DriveToTree
6969
const PurchasePriceFBuncherDTT =
70-
(EquipmentCosts2002.PurchasePriceFBuncherDTT * PPI2019) / PPI2002;
70+
(EquipmentCosts2002.PurchasePriceFBuncherDTT * PPIcurrent) / PPI2002;
7171
const HorsepowerFBuncherDTT = 150;
7272
const LifeFBuncherDTT = 3;
7373
const svFBuncherDTT = 0.2;
@@ -87,7 +87,7 @@ function MachineCosts(DieselFuelPrice: number) {
8787
const PMH_DriveToTree = DriveToTree[1];
8888
// SwingBoom
8989
const PurchasePriceFBuncherSB =
90-
(EquipmentCosts2002.PurchasePriceFBuncherSB * PPI2019) / PPI2002;
90+
(EquipmentCosts2002.PurchasePriceFBuncherSB * PPIcurrent) / PPI2002;
9191
const HorsepowerFBuncherSB = 200;
9292
const LifeFBuncherSB = 5;
9393
const svFBuncherSB = 0.15;
@@ -107,7 +107,7 @@ function MachineCosts(DieselFuelPrice: number) {
107107
const PMH_SwingBoom = SwingBoom[1];
108108
// SelfLeveling
109109
const PurchasePriceFBuncherSL =
110-
(EquipmentCosts2002.PurchasePriceFBuncherSL * PPI2019) / PPI2002;
110+
(EquipmentCosts2002.PurchasePriceFBuncherSL * PPIcurrent) / PPI2002;
111111
const HorsepowerFBuncherSL = 240;
112112
const SelfLeveling = CostCalc(
113113
PurchasePriceFBuncherSL,
@@ -135,7 +135,7 @@ function MachineCosts(DieselFuelPrice: number) {
135135
const wbHarvester = personsHarvester * WageAndBenRate;
136136
// Small
137137
const PurchasePriceHarvesterS =
138-
(EquipmentCosts2002.PurchasePriceHarvesterS * PPI2019) / PPI2002;
138+
(EquipmentCosts2002.PurchasePriceHarvesterS * PPIcurrent) / PPI2002;
139139
const HorsepowerHarvesterS = 120;
140140
const HarvesterS = CostCalc(
141141
PurchasePriceHarvesterS,
@@ -151,7 +151,7 @@ function MachineCosts(DieselFuelPrice: number) {
151151
const PMH_HarvS = HarvesterS[1];
152152
// Big
153153
const PurchasePriceHarvesterB =
154-
(EquipmentCosts2002.PurchasePriceHarvesterB * PPI2019) / PPI2002;
154+
(EquipmentCosts2002.PurchasePriceHarvesterB * PPIcurrent) / PPI2002;
155155
const HorsepowerHarvesterB = 200;
156156
const HarvesterB = CostCalc(
157157
PurchasePriceHarvesterB,
@@ -178,7 +178,7 @@ function MachineCosts(DieselFuelPrice: number) {
178178
const wbSkidder = personsSkidder * WageAndBenRate;
179179
// Small
180180
const PurchasePriceSkidderS =
181-
(EquipmentCosts2002.PurchasePriceSkidderS * PPI2019) / PPI2002;
181+
(EquipmentCosts2002.PurchasePriceSkidderS * PPIcurrent) / PPI2002;
182182
const HorsepowerSkidderS = 120;
183183
const LifeSkidderS = 5;
184184
const SkidderS = CostCalc(
@@ -195,7 +195,7 @@ function MachineCosts(DieselFuelPrice: number) {
195195
const PMH_SkidderS = SkidderS[1];
196196
// Big
197197
const PurchasePriceSkidderB =
198-
(EquipmentCosts2002.PurchasePriceSkidderB * PPI2019) / PPI2002;
198+
(EquipmentCosts2002.PurchasePriceSkidderB * PPIcurrent) / PPI2002;
199199
const HorsepowerSkidderB = 200;
200200
const LifeSkidderB = 4;
201201
const SkidderB = CostCalc(
@@ -218,7 +218,7 @@ function MachineCosts(DieselFuelPrice: number) {
218218
const rmForwarder = 1;
219219
// Small
220220
const PurchasePriceForwarderS =
221-
(EquipmentCosts2002.PurchasePriceForwarderS * PPI2019) / PPI2002;
221+
(EquipmentCosts2002.PurchasePriceForwarderS * PPIcurrent) / PPI2002;
222222
const HorsepowerForwarderS = 110;
223223
const svForwarderS = 0.25;
224224
// 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) {
236236
const PMH_ForwarderS = ForwarderS[1];
237237
// Big
238238
const PurchasePriceForwarderB =
239-
(EquipmentCosts2002.PurchasePriceForwarderB * PPI2019) / PPI2002;
239+
(EquipmentCosts2002.PurchasePriceForwarderB * PPIcurrent) / PPI2002;
240240
const HorsepowerForwarderB = 200;
241241
const svForwarderB = 0.2;
242242
const ForwarderB = CostCalc(
@@ -255,7 +255,7 @@ function MachineCosts(DieselFuelPrice: number) {
255255

256256
// Yarder small
257257
const PurchasePriceYarderS =
258-
(EquipmentCosts2002.PurchasePriceYarderS * PPI2019) / PPI2002;
258+
(EquipmentCosts2002.PurchasePriceYarderS * PPIcurrent) / PPI2002;
259259
const HorsepowerYarderS = 100;
260260
const LifeYarder = 10;
261261
const svYarder = 0.1;
@@ -279,7 +279,7 @@ function MachineCosts(DieselFuelPrice: number) {
279279
const PMH_YarderS = YarderS[1];
280280
// Yarder intermediate
281281
const PurchasePriceYarderI =
282-
(EquipmentCosts2002.PurchasePriceYarderI * PPI2019) / PPI2002;
282+
(EquipmentCosts2002.PurchasePriceYarderI * PPIcurrent) / PPI2002;
283283
const HorsepowerYarderI = 200;
284284
const YarderI = CostCalc(
285285
PurchasePriceYarderI,
@@ -306,7 +306,7 @@ function MachineCosts(DieselFuelPrice: number) {
306306
const wbProcessor = personsProcessor * WageAndBenRate;
307307
// Small
308308
const PurchasePriceProcessorS =
309-
(EquipmentCosts2002.PurchasePriceProcessorS * PPI2019) / PPI2002;
309+
(EquipmentCosts2002.PurchasePriceProcessorS * PPIcurrent) / PPI2002;
310310
const HorsepowerProcessorS = 120;
311311
const ProcessorS = CostCalc(
312312
PurchasePriceProcessorS,
@@ -322,7 +322,7 @@ function MachineCosts(DieselFuelPrice: number) {
322322
const PMH_ProcessorS = ProcessorS[1];
323323
// Big
324324
const PurchasePriceProcessorB =
325-
(EquipmentCosts2002.PurchasePriceProcessorB * PPI2019) / PPI2002;
325+
(EquipmentCosts2002.PurchasePriceProcessorB * PPIcurrent) / PPI2002;
326326
const HorsepowerProcessorB = 200;
327327
const ProcessorB = CostCalc(
328328
PurchasePriceProcessorB,
@@ -349,7 +349,7 @@ function MachineCosts(DieselFuelPrice: number) {
349349
const wbLoader = personsLoader * WageAndBenRate;
350350
// Small
351351
const PurchasePriceLoaderS =
352-
(EquipmentCosts2002.PurchasePriceLoaderS * PPI2019) / PPI2002;
352+
(EquipmentCosts2002.PurchasePriceLoaderS * PPIcurrent) / PPI2002;
353353
const HorsepowerLoaderS = 120;
354354
const LoaderS = CostCalc(
355355
PurchasePriceLoaderS,
@@ -365,7 +365,7 @@ function MachineCosts(DieselFuelPrice: number) {
365365
const PMH_LoaderS = LoaderS[1];
366366
// Big
367367
const PurchasePriceLoaderB =
368-
(EquipmentCosts2002.PurchasePriceLoaderB * PPI2019) / PPI2002;
368+
(EquipmentCosts2002.PurchasePriceLoaderB * PPIcurrent) / PPI2002;
369369
const HorsepowerLoaderB = 200;
370370
const LoaderB = CostCalc(
371371
PurchasePriceLoaderB,
@@ -392,7 +392,7 @@ function MachineCosts(DieselFuelPrice: number) {
392392
const wbChipper = personsChipper * WageAndBenRate;
393393
// Small
394394
const PurchasePriceChipperS =
395-
(EquipmentCosts2002.PurchasePriceChipperS * PPI2019) / PPI2002;
395+
(EquipmentCosts2002.PurchasePriceChipperS * PPIcurrent) / PPI2002;
396396
const HorsepowerChipperS = 350;
397397
const ChipperS = CostCalc(
398398
PurchasePriceChipperS,
@@ -408,7 +408,7 @@ function MachineCosts(DieselFuelPrice: number) {
408408
const PMH_ChipperS = ChipperS[1];
409409
// Big
410410
const PurchasePriceChipperB =
411-
(EquipmentCosts2002.PurchasePriceChipperB * PPI2019) / PPI2002;
411+
(EquipmentCosts2002.PurchasePriceChipperB * PPIcurrent) / PPI2002;
412412
const HorsepowerChipperB = 700;
413413
const ChipperB = CostCalc(
414414
PurchasePriceChipperB,
@@ -426,7 +426,7 @@ function MachineCosts(DieselFuelPrice: number) {
426426

427427
// Bundler
428428
const PurchasePriceBundler =
429-
(EquipmentCosts2002.PurchasePriceBundler * PPI2019) / PPI2002;
429+
(EquipmentCosts2002.PurchasePriceBundler * PPIcurrent) / PPI2002;
430430
const HorsepowerBundler = 180;
431431
const fcrBundler = 0.025;
432432
// the other vars are the same as Chipper's, therefore pass chipper vars in the function below

swagger.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@
258258
"DieselFuelPrice": {
259259
"type": "number",
260260
"format": "float",
261-
"example": 3.251,
261+
"example": 3.356,
262262
"description": "California On-Highway Diesel Fuel Price in dollars per gallon."
263263
},
264264
"MoistureContent": {
@@ -463,7 +463,7 @@
463463
"DieselFuelPrice": {
464464
"type": "number",
465465
"format": "float",
466-
"example": 3.251,
466+
"example": 3.356,
467467
"description": "California On-Highway Diesel Fuel Price in dollars per gallon."
468468
},
469469
"ChipAll": {

0 commit comments

Comments
 (0)