def power_unit_area( start_time, route, speed, power_per_square=140, title=0, azim=0, tracking=0, power_coefficient=0.3, cut_in_speed=2, cut_off_speed=15, technology='csi', system_loss=0.10, angles=None, dataFrame=False, ): """ Get power output of wind and PV system in a 1 metre square unit area. :param start_time: str or Dateindex start date of journey :param route: numpy nd array (n,2) [lat, lon] of way points :param speed: float or list if float is given, it is assumed as constant speed operation mode otherwise, a list of n with averaged speed should be given :param power_per_square: float W/m^2 rated power per squared meter :param title: float degrees title angle of PV panel :param azim: float degrees azim angle of PV panel :param tracking: int 0 1 or 2 0 for no tracking, 1 for one axis, 2 for two axis :param power_coefficient: float power coefficient of wind turbine :param cut_in_speed: float m/s cut in speed of wind turbine :param cut_off_speed: float m/s cut off speed of wind turbine :param technology: optional str 'csi' :param system_loss: float system lost of the system :param angles: optional solar angle :param dataFrame: optional return dataframe or not :return: tuple of Pandas series solar power and wind power with datatime index """ route = np.array(route).reshape(-1, 2) # Unpack route to ndarray for route based processing mission = Mission(start_time, route, speed) sim = Sim(mission) sim.sim_wind(1, power_coefficient, cut_in_speed, cut_off_speed) sim.sim_solar( title, azim, tracking, power_per_square, technology, system_loss, angles, dataFrame, ) solar_power = sim.solar_power wind_power = sim.wind_power return solar_power, wind_power
'sonar': { 'power': [0.5, 50], 'duty_cycle': 0.5 }, 'ph_sensor': { 'power': [0.08, 0.1], 'duty_cycle': 0.95 }, 'temp_sensor': { 'power': [0.04], 'duty_cycle': 1 }, 'wind_sensor': { 'power': [0.67, 1.1], 'duty_cycle': 0.5 }, 'servo_motors': { 'power': [0.4, 1.35], 'duty_cycle': 0.5 }, 'radio_transmitter': { 'power': [0.5, 20], 'duty_cycle': 0.2 } } test_mission = Mission('2014-01-01', test_route, 2) test_task = Task(test_mission, test_ship, power_consumption_list) test_task.estimate_demand_load()