Skip to content

Commit

Permalink
changes during final phases of unotrans, committed considerably later
Browse files Browse the repository at this point in the history
  • Loading branch information
kainagel committed Jan 19, 2025
1 parent 1348899 commit 4e3aee9
Show file tree
Hide file tree
Showing 20 changed files with 657 additions and 516 deletions.
19 changes: 10 additions & 9 deletions src/main/java/org/tub/vsp/bvwp/computation/ComputationKN.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,10 @@
import org.apache.logging.log4j.Logger;

public class ComputationKN {
// yyyyyy Einbau von Jahreswerten (z.B. Elektrifizierung über Zeit). Voraussetzung: Ich kann die Diskontierung
// nachbauen.

private static final Logger log = LogManager.getLogger(ComputationKN.class);

public static final double FZKM_AB = 221000;
public static final double LANE_KM_AB = 60000.;

enum CO2_PER_KM { typicalValues, fromPrins }

private static final CO2_PER_KM co2PerKm = CO2_PER_KM.fromPrins;

static final class Amounts {
Expand Down Expand Up @@ -112,13 +106,20 @@ static double nkvOhneKR_induz( Modifications modifications, Amounts amounts, Ben
b_all -= benefits.co2_betrieb;
b_all += benefits.co2_betrieb * modifications.co2Price()/145. * modifications.emobCorrFact() ;

b_all += modifications.mehrFzkm() * 200 * b_per_co2 * modifications.co2Price() / 145 * modifications.discountCorrFact() * modifications.emobCorrFact() ;
// 200 t / 1 mio km = 200g/km
b_all += modifications.mehrFzkm() * 145 * b_per_co2 * modifications.co2Price() / 145 * modifications.discountCorrFact() * modifications.emobCorrFact() ;
// 145 t / 1 mio km = 145g/km

if ( modifications.co2Price()==Modifications.co2PriceBVWP && modifications.mehrFzkm() > 0 ) {
log.info("here");
}
if ( modifications.co2Price()==Modifications.co2Price796 && modifications.mehrFzkm() > 0 ) {
log.info("here");
}

// Problem ist, dass wir den (negativen) CO2-Benefit pro induzierten Fzkm nicht kennen. PRINS weist nur Deltas der CO2-Emissionen sowie
// der Fzkm aus. Wenn man das durcheinander dividiert, dann sind die Resultate "all over the place". Eine Begründung könnte sein, dass
// z.B. viele Fze vorher Landstrasse und jetzt BAB fahren, und daher anders emittieren, obwohl sie die gleichen Fzkm fahren. Daher werden
// die Emissionen des zusätzlichen induzierten Verkehrs "separat" gerechnet ... mit 200g/km. kai, nov'24
// die Emissionen des zusätzlichen induzierten Verkehrs "separat" gerechnet ... mit 145g/km. kai, nov'24

Assert.assrt( modifications.discountCorrFact()==1 ); // m.E. anderen Weg nicht mehr verfolgt
b_all *= modifications.discountCorrFact();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@
import org.apache.logging.log4j.Logger;

public record Modifications(double co2Price, double mehrFzkm, double investmentCostFactor, double discountCorrFact, double emobCorrFact) {

private static final Logger log = LogManager.getLogger(Modifications.class);

public static final double invCostFactor173 = 1.73;

public static final double invCostFactor220 = 2.20;

public static final double INFLATION_Factor2020to2012 = 0.917; // Zinse Wert von 2020 auf BVWP Zeitpunkt 2012 ab.
public static final double co2PriceBVWP = 145.;
public static final double co2Price796 = 796.;
Expand Down
40 changes: 19 additions & 21 deletions src/main/java/org/tub/vsp/bvwp/data/Headers.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,7 @@ public final class Headers{
* Dies ist da, damit "bubble size" als Funktion der Einstufung geplottet werden kann.
*/
public static final String EINSTUFUNG_AS_NUMBER = "einstufungAsNumber";
/**
* Originale Investitionskosten ("Summe bewertungsrelevanter Investitionskosten").
*/
public static final String INVCOST_BARWERT_ORIG = "Inv.kosten BVWP 2030 Barwert";
public static final String INVCOST_SUM_ORIG = "Inv.kosten BVWP 2030 Summe";
// /**
// /**
// * Investitionskosten nach Berechnung der TUD
// */
public static final String INVCOST_TUD = "Inv.kosten TUD";
Expand All @@ -100,7 +95,7 @@ public final class Headers{
* URL des Projektes.
*/
public static final String LINK = "URL";
public static final String NKV_CARBON700_EMOB_INVCOST80 = "NKV mit Inv.Kosten+/CO2-Preis+ & EMob";
// public static final String NKV_CARBON700_EMOB_INVCOST80 = "NKV mit Inv.Kosten+/CO2-Preis+ & EMob";
public static final String NKV_CARBON700_CAPPED5 = HeadersKN.NKV_CARBON700 + "_capped5";


Expand Down Expand Up @@ -144,24 +139,25 @@ public final class Headers{
* {@link #NKV_EL03_CARBON215_INVCOSTTUD} - {@link HeadersKN#NKV_ORIG}
*/
public static final String NKV_EL03_DIFF = "NKV_el03_Diff";
public static final String NKV_ELTTIME_CARBON2000_EMOB_INVCOSTTUD = "NKV mit Inv.Kosten+/Str.mehrverk.+/CO2-Preis++/EMob";
public static final String NKV_ELTTIME_CARBON2000_INVCOSTTUD = "NKV_elTtime_carbon2000_invcostTud";
public static final String NKV_ELTTIME_CARBON215_INVCOSTTUD = "NKV_elTtime_carbon215_invcostTud";
public static final String NKV_ELTTIME_CARBON700 = "NKV mit Straßenmehrverkehr+/CO2-Preis+";
public static final String NKV_ELTTIME_CARBON700_EMOB = "NKV mit Straßenmehrverkehr+/CO2-Preis+/EMob+";
public static final String NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD = "NKV mit Inv.Kosten+/Str.mehrverk.+/CO2-Preis+/EMob";
public static final String NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD_10pctLessTraffic = NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD + "& 10pctLessTraffic";
public static final String NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD_20pctLessTraffic = NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD + "& 20pctLessTraffic";
public static final String NKV_ELTTIME_CARBON700_INVCOSTTUD = "NKV mit Inv.Kosten+/Str.mehrverk.+/CO2-Preis+";

// public static final String NKV_ELTTIME_CARBON2000_EMOB_INVCOSTTUD = "NKV mit Inv.Kosten+/Str.mehrverk.+/CO2-Preis++/EMob";
// public static final String NKV_ELTTIME_CARBON2000_INVCOSTTUD = "NKV_elTtime_carbon2000_invcostTud";
// public static final String NKV_ELTTIME_CARBON215_INVCOSTTUD = "NKV_elTtime_carbon215_invcostTud";


// public static final String NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD = "NKV mit Inv.Kosten+/Str.mehrverk.+/CO2-Preis+/EMob";
// public static final String NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD_10pctLessTraffic = NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD + "& 10pctLessTraffic";
// public static final String NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD_20pctLessTraffic = NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD + "& 20pctLessTraffic";
// public static final String NKV_ELTTIME_CARBON700_INVCOSTTUD = "NKV mit Inv.Kosten+/Str.mehrverk.+/CO2-Preis+";
public static final String NKV_INDUZ_CO2_EN = "BCR_induzCo2";
public static final String NKV_INDUZ_EN = "BCR_induz";
public static final String NKV_INVCOST150_EN = "BCR_invcost150"; //50% höhere Investmentcosts
public static final String NKV_INVCOST200_EN = "BCR_invcost200"; //doppelte Investmentcosts
public static final String NKV_INVCOST38 = "NKV mit Inv.kosten+38%";
public static final String NKV_INVCOST82 = "NKV mit Inv.kosten+82%";
public static final String NKV_INVCOSTTUD = "NKV mit Inv.kosten+";
public static final String NKV_INVCOSTTUD_CARBON700 = NKV_INVCOSTTUD + "/CO2-Preis+";
public static final String NKV_INVCOSTTUD_CARBON700_EMOB = NKV_INVCOSTTUD_CARBON700 + "/EMob";
// public static final String NKV_INVCOST38 = "NKV mit Inv.kosten+38%";
// public static final String NKV_INVCOST82 = "NKV mit Inv.kosten+82%";
// public static final String NKV_INVCOSTTUD = "NKV mit Inv.kostenTud";
// public static final String NKV_INVCOSTTUD_CARBON700 = NKV_INVCOSTTUD + "/CO2-Preis+";
// public static final String NKV_INVCOSTTUD_CARBON700_EMOB = NKV_INVCOSTTUD_CARBON700 + "/EMob";
/**
* NKV bei erhöhten Investitionskosten (welchen?).
*/
Expand All @@ -176,6 +172,8 @@ public final class Headers{
public static final String NKV_ORIG_EN = "BCR_original";

public static final String PROJECT_NAME = "Projektname";
public static final String RAUMORDNERISCHE_BEDEUTUNG = "Raumordnerische Bedeutung";
public static final String UMWELTBETROFFENHEIT = "Umweltbetroffenheit";
public static final String VERKEHRSBELASTUNG_PLANFALL = "DTV_Planfall";

private Headers(){
Expand Down
47 changes: 44 additions & 3 deletions src/main/java/org/tub/vsp/bvwp/data/HeadersKN.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,50 @@
package org.tub.vsp.bvwp.data;

public class HeadersKN {
private HeadersKN(){} // do not instantiate
// !!! NOTE: Ich mache jetzt nur noch NKVs mit dem originalen Barwert; Korrekturen dazu immer nur kurz vor dem Plotten/Rausschreiben. kai, nov'24 !!
// Die Headers landen trotzdem hier!
public static final String INVCOST_BARWERT_ORIG = "Inv.kosten BVWP 2030 Barwert";
/**
* Originale Investitionskosten ("Summe bewertungsrelevanter Investitionskosten").
*/
public static final String INVCOST_SUM_ORIG = "Inv.kosten BVWP 2030 Summe";

// == orig ... still in Headers!

// == einzelne
public static final String NKV_CARBON700 = "NKV mit CO2-Kosten+";
public static final String NKV_ELTTIME_HIGH = "NKV mit induz. Verkehr+ hoch";
public static final String NKV_ELTTIME_LOW = "NKV mit induz. Verkehr+ niedrig";
public static final String NKV_INVCOST73 = "NKV mit Investitionskosten+73%";

// == kombinierte:

public static final String NKV_CARBON700_EMOB = NKV_CARBON700 + "/EMob";
public static final String NKV_ELTTIME = "NKV mit Straßenmehrverkehr+";
public static final String NKV_ORIG = "NKV BVWP 2030";
// (emob kompensiert carbon)
public static final String NKV_ELTTIME_CARBON700 = NKV_ELTTIME_LOW+ "/CO2-Preis+";
// (Vorbereitung auf T&E Szenario)
public static final String NKV_ELTTIME_CARBON700_INVCOST73 = NKV_ELTTIME_CARBON700 + "/Inv.Kosten+73%";
// (dramatische Wirkung T&E Szenario)
public static final String NKV_ELTTIME_CARBON700_EMOB = NKV_ELTTIME_CARBON700 + "/EMob+";
// (Vorbereitung)
public static final String NKV_ELTTIME_CARBON700_EMOB_INVCOST73 = NKV_ELTTIME_CARBON700_EMOB + "/InvKosten+73%";
// (... aber auch dies durch emob wieder eingefangen)

// == BMDV
public static final String NKV_CARBON700_EMOB_INVCOST73 = NKV_CARBON700_EMOB + "/Inv.Kosten+73%";
public static final String NKV_BMDV = NKV_CARBON700_EMOB_INVCOST73;

// == Sensitivität BMDV:
public static final String NKV_CARBON700_EMOB_INVCOST73_ELTTIME = NKV_CARBON700_EMOB_INVCOST73 + "/induz. Verkehr+";
// (mehr induzierter Verkehr ... wollen wir glaube ich gar nicht)

public static final String NKV_CARBON700_INVCOST73 = NKV_CARBON700 + "/Inv.Kosten+73%";
// (emob weggelassen)

public static final String NKV_CARBON700_EMOB_INVCOST73_10pctLessTraffic = NKV_CARBON700_EMOB_INVCOST73 + "/Prognose-";
public static final String INVCOST_PLUS_120_PCT = "Baukosten 2024";
// (niedrigere Prognose)


private HeadersKN(){} // do not instantiate
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import java.util.SequencedMap;

import static org.tub.vsp.bvwp.computation.Modifications.*;
import static org.tub.vsp.bvwp.data.Headers.NKV_ORIG;


public class RailAnalysisDataContainer {
Expand Down Expand Up @@ -56,7 +57,7 @@ private void addComputations() {

entries.put(Headers.B_PER_KM, baseDataContainer.getCostBenefitAnalysis().getOverallBenefit().overall() / baseDataContainer.getProjectInformation().getLength() );

entries.put( HeadersKN.NKV_ORIG, NkvCalculatorRail.calculateNkv( NO_CHANGE, baseDataContainer ) );
entries.put( NKV_ORIG, NkvCalculatorRail.calculateNkv( NO_CHANGE, baseDataContainer ) );

// entries.put(Headers.NKV_CO2, NkvCalculatorRail.calculateNkv(new Modifications( co2Price796, 0., 1, 1, 1. ), baseDataContainer ) );
entries.put(Headers.NKV_CO2_700_EN, NkvCalculatorRail.calculateNkv(new Modifications( co2Price796, 0., 1, 1, 1. ), baseDataContainer ) );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,12 @@ private void addComputations() {

// Nach neuerer Überlegung lassen wir alles andere bei 1.7% , und schieben nur co2 um diesen Faktor nach oben.

final double emobCorrFact = 0.1;
final double emobCorrFact = 0.36;
// Ist mir im Moment nicht klar, warum dieser Wert rauskommt.
// --> Siehe "zweiterZB.mw" im unotrans nextcloud.

// lkw 0.12 laut Richard.

NkvCalculator nkvCalculator = new NkvCalculator( streetBaseData );

entries.put(Headers.NKV_ORIG, nkvCalculator.calculateNkv( NO_CHANGE ) );
Expand All @@ -102,7 +104,7 @@ private void addComputations() {

entries.put(Headers.NKV_CO2_700_EN, nkvCalculator.calculateNkv( new Modifications( co2Price700, 0., 1, 1, 1. ) ) );
entries.put(Headers.NKV_CO2_2000_EN, nkvCalculator.calculateNkv( new Modifications( co2Price2000, 0, 1, 1, 1. ) ) );
entries.put(Headers.NKV_EL03, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, addtlFzkmBeyondPrinsEl03, 1, 1, 1. ) ) );
// entries.put(Headers.NKV_EL03, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, addtlFzkmBeyondPrinsEl03, 1, 1, 1. ) ) );
// entries.put(Headers.NKV_EL03_CARBON215_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price215, addtlFzkmBeyondPrinsEl03, constructionCostFactor ) ) );
// entries.put(Headers.NKV_EL03_CARBON700ptpr0_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( discountCorr*co2Price700, addtlFzkmBeyondPrinsEl03, constructionCostFactor ) ) );
// entries.put(Headers.NKV_EL03_CARBON700ptpr0, nkvCalculator.calculateNkv( new Modifications( discountCorr*co2Price700, addtlFzkmBeyondPrinsEl03, 1. ) ) );
Expand Down Expand Up @@ -133,45 +135,56 @@ private void addComputations() {

// entries.put( INVCOST_TUD, this.constructionCostTud );

double AVERAGE_SPEED_OF_ADDITIONAL_TRAVEL = 50; // km/h
double addtlFzkmFromTtime = - streetBaseData.getPhysicalEffect().getPTravelTimes().overall() * AVERAGE_SPEED_OF_ADDITIONAL_TRAVEL;
entries.put( ADDTL_PKWKM_FROM_TTIME, addtlFzkmFromTtime );
double AVERAGE_SPEED_OF_ADDITIONAL_TRAVEL = 29; // km/h
final Double overall = streetBaseData.getPhysicalEffect().getPTravelTimes().overall();

final Double overall2 = streetBaseData.getPhysicalEffect().getlVehicleHours().overall();

double addtlFzkmFromTtimeHigh = -overall2 * AVERAGE_SPEED_OF_ADDITIONAL_TRAVEL;
double addtlFzkmFromTtimeLow = 0.36 * addtlFzkmFromTtimeHigh;

logger.info( "pTravelTimes=" + overall2 + "; addtlFzm=" + addtlFzkmFromTtimeHigh ) ;

// System.exit(-1);

entries.put( ADDTL_PKWKM_FROM_TTIME, addtlFzkmFromTtimeLow );

// Beiträge einzeln:
entries.put( NKV_INVCOST38, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, 0., 1.38, 1, 1. ) ) );
entries.put( NKV_INVCOST82, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, 0., 1.82, 1, 1. ) ) );
entries.put( NKV_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, 0., constructionCostFactorTud, 1, 1. ) ) );
entries.put( NKV_ELTTIME, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, addtlFzkmFromTtime, 1, 1, 1. ) ) );
// entries.put( NKV_INVCOST38, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, 0., 1.38, 1, 1. ) ) );
// entries.put( NKV_INVCOST82, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, 0., 1.82, 1, 1. ) ) );
// entries.put( NKV_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, 0., constructionCostFactorTud, 1, 1. ) ) );
entries.put( NKV_ELTTIME_HIGH, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, addtlFzkmFromTtimeHigh, 1, 1, 1. ) ) );
entries.put( NKV_ELTTIME_LOW, nkvCalculator.calculateNkv( new Modifications( co2PriceBVWP, addtlFzkmFromTtimeLow, 1, 1, 1. ) ) );
entries.put( NKV_CARBON700, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., 1, 1, 1. ) ) );

// CO2-Preis und eMob kombiniert:
entries.put( NKV_CARBON700_EMOB, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., 1, 1, emobCorrFact ) ) );
// ... + Investitionskosten80%:
entries.put( NKV_CARBON700_EMOB_INVCOST80, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., 1.82, 1, emobCorrFact ) ) );
// entries.put( NKV_CARBON700_EMOB_INVCOST80, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., 1.82, 1, emobCorrFact ) ) );

entries.put( NKV_INVCOSTTUD_CARBON700, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., constructionCostFactorTud, 1., 1. ) ) );

entries.put( NKV_INVCOSTTUD_CARBON700_EMOB, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., constructionCostFactorTud, 1., emobCorrFact ) ) );
// entries.put( NKV_INVCOSTTUD_CARBON700, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., constructionCostFactorTud, 1., 1. ) ) );
//
// entries.put( NKV_INVCOSTTUD_CARBON700_EMOB, nkvCalculator.calculateNkv( new Modifications( co2Price796, 0., constructionCostFactorTud, 1., emobCorrFact ) ) );

// Induz. Strassenmehrverkehr und CO2-Preis kombiniert:
entries.put( NKV_ELTTIME_CARBON700, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtime, 1., 1., 1. ) ) );
entries.put( NKV_ELTTIME_CARBON700, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtimeLow, 1., 1., 1. ) ) );
// ... + Investitionskosten:
entries.put( NKV_ELTTIME_CARBON700_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtime, constructionCostFactorTud, 1., 1. ) ) );
// entries.put( NKV_ELTTIME_CARBON700_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtimeHigh, constructionCostFactorTud, 1., 1. ) ) );
// ... + eMob:
entries.put( NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtime, constructionCostFactorTud, 1, emobCorrFact ) ) );
// entries.put( NKV_ELTTIME_CARBON700_EMOB_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtimeHigh, constructionCostFactorTud, 1, emobCorrFact ) ) );

entries.put( NKV_ELTTIME_CARBON700_EMOB, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtime, 1., 1, emobCorrFact ) ) );
entries.put( NKV_ELTTIME_CARBON700_EMOB, nkvCalculator.calculateNkv( new Modifications( co2Price796, addtlFzkmFromTtimeLow, 1., 1, emobCorrFact ) ) );

entries.put( NKV_ELTTIME_CARBON215_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price215, addtlFzkmFromTtime, constructionCostFactorTud, 1, 1. ) ) );
entries.put( NKV_ELTTIME_CARBON2000_EMOB_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price2000, addtlFzkmFromTtime, constructionCostFactorTud, 1, emobCorrFact ) ) );
// entries.put( NKV_ELTTIME_CARBON215_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price215, addtlFzkmFromTtimeHigh, constructionCostFactorTud, 1, 1. ) ) );
// entries.put( NKV_ELTTIME_CARBON2000_EMOB_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price2000, addtlFzkmFromTtimeHigh, constructionCostFactorTud, 1, emobCorrFact ) ) );

entries.put( CO2_ORIG, nkvCalculator.calculateCo2_t( new Modifications( co2PriceBVWP, 0., 1, 1, 1. ) ) );

entries.put( CO2_ELTTIME, nkvCalculator.calculateCo2_t( new Modifications( co2PriceBVWP, addtlFzkmFromTtime, 1, 1, 1. ) ) );
entries.put( CO2_ELTTIME, nkvCalculator.calculateCo2_t( new Modifications( co2PriceBVWP, addtlFzkmFromTtimeLow, 1, 1, 1. ) ) );

entries.put( CO2_ELTTIME_EMOB, nkvCalculator.calculateCo2_t( new Modifications( co2PriceBVWP, addtlFzkmFromTtime, 1, 1, emobCorrFact ) ) );
entries.put( CO2_ELTTIME_EMOB, nkvCalculator.calculateCo2_t( new Modifications( co2PriceBVWP, addtlFzkmFromTtimeLow, 1, 1, emobCorrFact ) ) );

entries.put( NKV_ELTTIME_CARBON2000_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price2000, addtlFzkmFromTtime, constructionCostFactorTud, 1, 1. ) ) );
// entries.put( NKV_ELTTIME_CARBON2000_INVCOSTTUD, nkvCalculator.calculateNkv( new Modifications( co2Price2000, addtlFzkmFromTtimeHigh, constructionCostFactorTud, 1, 1. ) ) );

if ( streetBaseData.getProjectInformation().getProjectNumber().contains("A1-G50-NI" )) {
this.remarks.add("Eher geringer Benefit pro km ... erzeugt dann ueber die El pro km relativ viel Verkehr " +
Expand Down
Loading

0 comments on commit 4e3aee9

Please sign in to comment.