private void createDI_Totals() { EnergyMeterObj meter; try { DI_Totals = new FileWriter(DI_Dir + DSS.SEPARATOR + "DI_Totals.csv"); PrintWriter pw = new PrintWriter(DI_Totals); pw.write("Time"); for (int i = 0; i < DSS.activeCircuit.getEnergyMeters().size(); i++) { meter = DSS.activeCircuit.getEnergyMeters().get(i); pw.print(", \"" + meter.getRegisterName(i) + "\""); } pw.println(); pw.close(); } catch (Exception e) { DSS.doSimpleMsg( "Error creating: \"" + DI_Dir + DSS.SEPARATOR + "DI_Totals.csv\": " + e.getMessage(), 539); } }
private void writeTotalsFile() { EnergyMeterObj mtr; double[] regSum = new double[EnergyMeter.NUM_EM_REGISTERS]; int i, j; File f; /* Sum up all registers of all meters and write to totals.csv */ for (i = 0; i < EnergyMeter.NUM_EM_REGISTERS; i++) regSum[i] = 0.0; for (EnergyMeterObj meter : DSS.activeCircuit.getEnergyMeters()) { if (meter.isEnabled()) { for (j = 0; j < EnergyMeter.NUM_EM_REGISTERS; j++) regSum[j] = regSum[j] + meter.getRegister(j) * meter.getTotalsMask(j); } } try { // write the file f = new File(DI_Dir + DSS.SEPARATOR + "totals.csv"); FileWriter fw = new FileWriter(f, false); PrintWriter pw = new PrintWriter(fw); pw.write("Year"); mtr = DSS.activeCircuit.getEnergyMeters().get(0); if (mtr != null) { for (i = 0; i < EnergyMeter.NUM_EM_REGISTERS; i++) pw.print(", \"" + mtr.getRegisterName(i) + "\""); } pw.println(); pw.write(DSS.activeCircuit.getSolution().getYear()); for (i = 0; i < EnergyMeter.NUM_EM_REGISTERS; i++) pw.printf(", %g ", regSum[i]); pw.println(); pw.close(); fw.close(); } catch (Exception e) { DSS.doSimpleMsg( "Error opening demand interval file Totals.csv." + DSS.CRLF + e.getMessage(), 543); } }
private void createMeterTotals() { int i; EnergyMeterObj mtr; Circuit ckt = DSS.activeCircuit; try { File f = new File(DI_Dir + DSS.SEPARATOR + "EnergyMeterTotals.csv"); meterTotals = new FileWriter(f); PrintWriter pw = new PrintWriter(meterTotals); pw.write("Name"); mtr = ckt.getEnergyMeters().get(0); if (mtr != null) { for (i = 0; i < EnergyMeter.NUM_EM_REGISTERS; i++) pw.print(", \"" + mtr.getRegisterName(i) + "\""); } pw.println(); pw.close(); } catch (IOException e) { DSS.doSimpleMsg("Error writing meter totals: " + e.getMessage(), -1); } }