diff --git a/ssc/cmod_hybrid.cpp b/ssc/cmod_hybrid.cpp index ec1880f4a..8d2b09655 100644 --- a/ssc/cmod_hybrid.cpp +++ b/ssc/cmod_hybrid.cpp @@ -497,8 +497,6 @@ class cm_hybrid : public compute_module for (size_t i = 0; i < (size_t)analysisPeriod; i++) pOMProduction[i+1] *= battery_discharged[i]; - - // resize annual outputs size_t arr_length = analysisPeriod + 1; ssc_number_t yr_0_value = 0.0; @@ -513,7 +511,6 @@ class cm_hybrid : public compute_module ssc_data_set_table(outputs, compute_module.c_str(), compute_module_outputs); ssc_module_free(module); ssc_data_free(compute_module_outputs); - } bool use_batt_output = false; @@ -608,8 +605,6 @@ class cm_hybrid : public compute_module ssc_data_set_array(&(compute_module_inputs->table), "monthly_energy", pGenMonthly, 12); ssc_data_set_number(static_cast(&input), "annual_energy", pGenAnnual); - - // run remaining compute modules in sequence and add results to "Hybrid" VarTable ssc_data_t hybridFinancialOutputs = ssc_data_create(); @@ -633,20 +628,15 @@ class cm_hybrid : public compute_module ssc_data_set_var(hybridFinancialOutputs, var_name, var_value); } } - ssc_module_free(module); - } ssc_data_set_table(outputs, hybridVarTable.c_str(), hybridFinancialOutputs); ssc_data_free(hybridFinancialOutputs); - - } assign("output", var_data(*(static_cast(outputs)))); ssc_data_free(outputs); - } else { throw exec_error("hybrid", "No compute modules specified."); diff --git a/ssc/cmod_trough_physical.cpp b/ssc/cmod_trough_physical.cpp index 3f3e7e905..8894e58ef 100644 --- a/ssc/cmod_trough_physical.cpp +++ b/ssc/cmod_trough_physical.cpp @@ -365,29 +365,29 @@ static var_info _cm_vtab_trough_physical[] = { { SSC_OUTPUT, SSC_NUMBER, "field_htf_cp_avg_des", "Field average htf cp at design", "kJ/kgK", "", "Solar Field", "*", "", "" }, { SSC_OUTPUT, SSC_NUMBER, "single_loop_aperture", "Single loop aperture", "m2", "", "Solar Field", "*", "", "" }, { SSC_OUTPUT, SSC_NUMBER, "min_inner_diameter", "Minimum absorber inner diameter in loop", "m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_design_heat_losses" "Heat loss at design" "W/m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "csp_dtr_loop_hce_heat_loss" "Loop Heat Loss from HCE at Design" "W/m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_sca_calc_sca_effs" "SCA optical efficiencies at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "loop_optical_efficiency" "Loop total optical effiency at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_optical_effs" "HCE optical efficiencies at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "SCAInfoArray" "Receiver (,1) and collector (,2) type for each assembly in loop" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "SCADefocusArray" "Order in which the SCA's should be defocused" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "max_field_flow_velocity" "Maximum field flow velocity" "m/s", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "min_field_flow_velocity" "Minimum field flow velocity" "m/s", "", "Solar Field", "*", "", "" }, - - { SSC_OUTPUT, SSC_NUMBER, "total_loop_conversion_efficiency" "Total Loop Conversion Efficiency at Design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_required_aperture_for_SM1" "Aperture required for solar mult = 1" "m2", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "required_number_of_loops_for_SM1" "Heat loss at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "nLoops" "Number of loops in the field" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_aperture" "Total field aperture area" "m2", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "field_thermal_output" "Design-point thermal power from the solar field" "MWt", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "fixed_land_area" "Fixed Land Area" "acre", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_land_area" "Total Land Area" "acre", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_tracking_power" "Total Tracking Power" "MWe", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "K_cpnt" "Minor loss coefficients of the components in each loop interconnect" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "D_cpnt" "Inner diameters of the components in each loop interconnect" "m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "L_cpnt" "Lengths of the components in each loop interconnect" "m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "Type_cpnt" "Type of component in each loop interconnect [0=fitting | 1=pipe | 2=flex_hose]" "Wm", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_design_heat_losses", "Heat loss at design", "W/m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "csp_dtr_loop_hce_heat_loss", "Loop Heat Loss from HCE at Design", "W/m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_sca_calc_sca_effs", "SCA optical efficiencies at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "loop_optical_efficiency", "Loop total optical effiency at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_optical_effs", "HCE optical efficiencies at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "SCAInfoArray", "Receiver (,1) and collector (,2) type for each assembly in loop", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "SCADefocusArray", "Order in which the SCA's should be defocused", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "max_field_flow_velocity", "Maximum field flow velocity", "m/s", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "min_field_flow_velocity", "Minimum field flow velocity", "m/s", "", "Solar Field", "*", "", "" }, + + { SSC_OUTPUT, SSC_NUMBER, "total_loop_conversion_efficiency", "Total Loop Conversion Efficiency at Design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_required_aperture_for_SM1", "Aperture required for solar mult = 1", "m2", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "required_number_of_loops_for_SM1", "Heat loss at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "nLoops", "Number of loops in the field", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_aperture", "Total field aperture area", "m2", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "field_thermal_output", "Design-point thermal power from the solar field", "MWt", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "fixed_land_area", "Fixed Land Area", "acre", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_land_area", "Total Land Area", "acre", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_tracking_power", "Total Tracking Power", "MWe", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "K_cpnt", "Minor loss coefficients of the components in each loop interconnect", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "D_cpnt", "Inner diameters of the components in each loop interconnect", "m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "L_cpnt", "Lengths of the components in each loop interconnect", "m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "Type_cpnt", "Type of component in each loop interconnect [0=fitting | 1=pipe | 2=flex_hose]", "Wm", "", "Solar Field", "*", "", "" }, // Thermal Storage { SSC_OUTPUT, SSC_NUMBER, "vol_tank", "Total tank volume", "m3", "", "Thermal Storage","*", "", "" }, diff --git a/ssc/cmod_trough_physical_iph.cpp b/ssc/cmod_trough_physical_iph.cpp index 0fece5dfb..2c828abb0 100644 --- a/ssc/cmod_trough_physical_iph.cpp +++ b/ssc/cmod_trough_physical_iph.cpp @@ -347,29 +347,29 @@ static var_info _cm_vtab_trough_physical_iph[] = { { SSC_OUTPUT, SSC_NUMBER, "field_htf_cp_avg_des", "Field average htf cp at design", "kJ/kgK", "", "Solar Field", "*", "", "" }, { SSC_OUTPUT, SSC_NUMBER, "single_loop_aperture", "Single loop aperture", "m2", "", "Solar Field", "*", "", "" }, { SSC_OUTPUT, SSC_NUMBER, "min_inner_diameter", "Minimum absorber inner diameter in loop", "m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_design_heat_losses" "Heat loss at design" "W/m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "csp_dtr_loop_hce_heat_loss" "Loop Heat Loss from HCE at Design" "W/m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_sca_calc_sca_effs" "SCA optical efficiencies at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "loop_optical_efficiency" "Loop total optical effiency at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_optical_effs" "HCE optical efficiencies at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "SCAInfoArray" "Receiver (,1) and collector (,2) type for each assembly in loop" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_ARRAY, "SCADefocusArray" "Order in which the SCA's should be defocused" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "max_field_flow_velocity" "Maximum field flow velocity" "m/s", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "min_field_flow_velocity" "Minimum field flow velocity" "m/s", "", "Solar Field", "*", "", "" }, - - { SSC_OUTPUT, SSC_NUMBER, "total_loop_conversion_efficiency" "Total Loop Conversion Efficiency at Design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_required_aperture_for_SM1" "Aperture required for solar mult = 1" "m2", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "required_number_of_loops_for_SM1" "Heat loss at design" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "nLoops" "Number of loops in the field" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_aperture" "Total field aperture area" "m2", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "field_thermal_output" "Design-point thermal power from the solar field" "MWt", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "fixed_land_area" "Fixed Land Area" "acre", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_land_area" "Total Land Area" "acre", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_NUMBER, "total_tracking_power" "Total Tracking Power" "MWe", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "K_cpnt" "Minor loss coefficients of the components in each loop interconnect" "", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "D_cpnt" "Inner diameters of the components in each loop interconnect" "m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "L_cpnt" "Lengths of the components in each loop interconnect" "m", "", "Solar Field", "*", "", "" }, - { SSC_OUTPUT, SSC_MATRIX, "Type_cpnt" "Type of component in each loop interconnect [0=fitting | 1=pipe | 2=flex_hose]" "Wm", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_design_heat_losses", "Heat loss at design", "W/m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "csp_dtr_loop_hce_heat_loss", "Loop Heat Loss from HCE at Design", "W/m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_sca_calc_sca_effs", "SCA optical efficiencies at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "loop_optical_efficiency", "Loop total optical effiency at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "csp_dtr_hce_optical_effs", "HCE optical efficiencies at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "SCAInfoArray", "Receiver (,1) and collector (,2) type for each assembly in loop", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_ARRAY, "SCADefocusArray", "Order in which the SCA's should be defocused", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "max_field_flow_velocity", "Maximum field flow velocity", "m/s", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "min_field_flow_velocity", "Minimum field flow velocity", "m/s", "", "Solar Field", "*", "", "" }, + + { SSC_OUTPUT, SSC_NUMBER, "total_loop_conversion_efficiency", "Total Loop Conversion Efficiency at Design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_required_aperture_for_SM1", "Aperture required for solar mult = 1", "m2", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "required_number_of_loops_for_SM1", "Heat loss at design", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "nLoops", "Number of loops in the field", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_aperture", "Total field aperture area", "m2", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "field_thermal_output", "Design-point thermal power from the solar field", "MWt", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "fixed_land_area", "Fixed Land Area", "acre", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_land_area", "Total Land Area", "acre", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_NUMBER, "total_tracking_power", "Total Tracking Power", "MWe", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "K_cpnt", "Minor loss coefficients of the components in each loop interconnect", "", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "D_cpnt", "Inner diameters of the components in each loop interconnect", "m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "L_cpnt", "Lengths of the components in each loop interconnect", "m", "", "Solar Field", "*", "", "" }, + { SSC_OUTPUT, SSC_MATRIX, "Type_cpnt", "Type of component in each loop interconnect [0=fitting | 1=pipe | 2=flex_hose]", "Wm", "", "Solar Field", "*", "", "" }, // Thermal Storage { SSC_OUTPUT, SSC_NUMBER, "vol_tank", "Total tank volume", "m3", "", "Thermal Storage","*", "", "" },