public static CompiledOutputData run(GISData gis, GUIData gui) { PVSAMV1Settings pvss = GISAdapter.getSettings(gis); float arraypower = pvss.modules_per_string * pvss.strings_in_parallel * pvss.module_model.getRatedPower(); DatasheetInverterSettings inverter = new DatasheetInverterSettings("default", arraypower * 1.15f); pvss.inverter_model = inverter; PVSAMV1Output pvo = (PVSAMV1Output)ModuleRunner.runModule(pvss); UtilityRateSettings urs = GUIAdapter.getUtilityRateSettings(gui); urs.setValuesFromPriorOutput(pvo); UtilityRateOutput uro = (UtilityRateOutput)ModuleRunner.runModule(urs); SizeAndCostSettings sc = GUIAdapter.getSizeAndCostSettings(gui); sc.setValuesFromPriorOutput(pvo); CashLoanSettings cls = GUIAdapter.getCashLoanSettings(gui); cls.setValuesFromPriorOutput(sc, uro); CashLoanOutput clo = (CashLoanOutput)ModuleRunner.runModule(cls); return(new CompiledOutputData(pvo, uro, clo, sc)); }
public void setValuesFromPriorOutput(SizeAndCostSettings sc, UtilityRateOutput uro) { analysis_years = uro.getAnalysisYears(); energy_value = uro.getAnnualValueOfNetEnergy(); energy_net = uro.getAnnualNetEnergy(); system_capacity = sc.dc_rating / 1000; total_installed_cost = sc.total_cost; salvage_percentage = uro.getAnalysisYears() * 30 / 25.0f; }
public void initialize(SizeAndCostParameterList sc, UtilityRateOutput uro) { isInit = true; list.Add(new FloatParameter("analysis_years", uro.getAnalysisYears())); list.Add(new FloatArrayParameter("energy_value", uro.getAnnualValueOfNetEnergy())); list.Add(new FloatArrayParameter("energy_net", uro.getAnnualNetEnergy())); list.Add(new FloatParameter("system_capacity", sc.dc_rating / 1000)); list.Add(new FloatParameter("total_installed_cost", sc.total_costs)); list.Add(new FloatParameter("salvage_percentage", uro.getAnalysisYears() * 30 / 25.0f)); }
public void run() { arrayBuilder.initialize(gisData); SystemOutput = arrayBuilder.build().runModule(); utilityBuilder.initialize(SystemOutput); UtilityOutput = utilityBuilder.build().runModule(); sizeBuilder.initialize(SystemOutput); CostOutput = sizeBuilder.build(); cashBuilder.initialize(CostOutput, UtilityOutput); LoanOutput = cashBuilder.build().runModule(); }
public void initialize(SystemModelOutput smo, UtilityRateOutput uro) { SizeAndCostParameterList sc = new SizeAndCostParameterBuilder(smo).build(); initialize(sc, uro); }
public CashLoanParameterBuilder(SizeAndCostParameterList sc, UtilityRateOutput uro) { initialize(sc, uro); }
public CashLoanParameterBuilder(SystemModelOutput smo, UtilityRateOutput uro) { initialize(smo, uro); }