public ArrayParametersComputedList(GISData gis, ArrayParameterList array) : base(new List<FloatParameter>(),defaults) { int numModules = calcNumPanelsOnRoof(gis.width, gis.height, array.module_model_params.getWidth(), array.module_model_params.getHeight()); if (array.inverter_model_params == null) { InverterModelParams imp = new DatasheetInverterModel("default", numModules * array.module_model_params.getRatedPower() * 1.15f); array.setInverterModelParams(imp); } int[] shape = calcArrayWiring(numModules, array.inverter_model_params.getMaxRatedVoltage(), array.module_model_params.getVmax()); Dictionary<string, IParameter> update = new Dictionary<string, IParameter>() { {"modules_per_string", new FloatParameter("modules_per_string",shape[0])}, {"strings_in_parallel", new FloatParameter("strings_in_parallel",shape[1])}, {"subarray1_tilt", new FloatParameter("subarray1_tilt",gis.tilt)}, {"subarray1_azimuth", new FloatParameter("subarray1_azimuth",gis.azimuth)}, {"inverter_count", new FloatParameter("inverter_count", 1)} }; parameters.Clear(); foreach (string key in update.Keys) { parameters.Add(key,update[key]); } }
public ArrayParametersComputedList(GISData gis, ArrayParameterList array) : base(new List <FloatParameter>(), defaults) { int numModules = calcNumPanelsOnRoof(gis.width, gis.height, array.module_model_params.getWidth(), array.module_model_params.getHeight()); if (array.inverter_model_params == null) { InverterModelParams imp = new DatasheetInverterModel("default", numModules * array.module_model_params.getRatedPower() * 1.15f); array.setInverterModelParams(imp); } int[] shape = calcArrayWiring(numModules, array.inverter_model_params.getMaxRatedVoltage(), array.module_model_params.getVmax()); Dictionary <string, IParameter> update = new Dictionary <string, IParameter>() { { "modules_per_string", new FloatParameter("modules_per_string", shape[0]) }, { "strings_in_parallel", new FloatParameter("strings_in_parallel", shape[1]) }, { "subarray1_tilt", new FloatParameter("subarray1_tilt", gis.tilt) }, { "subarray1_azimuth", new FloatParameter("subarray1_azimuth", gis.azimuth) }, { "inverter_count", new FloatParameter("inverter_count", 1) } }; parameters.Clear(); foreach (string key in update.Keys) { parameters.Add(key, update[key]); } }