# alternative approach than center of mass?

For my bachelor thesis i am modelling the electric output of wind-power plants with the help of a multi agent based simulation. I have the information of all wind-power plants in my country (about 6400 plants). Due to performance reasons, i can't implement an agent for each power plant, therefore i need to aggregate them "somehow". I also have the exact gps coordinates of each plant.

My idea to abstract them was to sum up all plants within a radius (changeable downwards if enough processing power is solvent) and create a "virtual" plant with the available rated power of all aggregated-plants and a virtual location. This location is basically calculated with a center of mass approach, example:

1. 1000 MW, Coordinates: 50.0 / 10.0
2. 300 MW, Coordinates 55.0/ 9.0
3. 1500 MW, Coordinates 53.0 /13.0

so the abstracted virtual plant has the coordinates: 52.1429/11.5

-

For the correct calculation of the generated electricity, i need weather information and this weather information is coupled to gps coordinates (my numeric weather database is a grid with the size of 7km*7km, each grid point has information regarding the wind speed etc etc.)

So basically my "virtual" plant agent with the calculated coordinates is placed somewhere on the map and searches for the 4 surrounded grid points. From each grid point (=is also an agent) it gets the relevant information. Depending on the distance to each grid point, it gives a weight to them and calculates the final weather information.

What do you think about my approach?

The aggregation of power plants sounds reasonable to me. If you have many "wind farms" in the area of study (sets of turbines put up in rows or arrays and operated as a group) then aggregation could help you to avoid a lot of unnecessary complication.

I have serious doubts about the plan to make each grid point of the wind field a separate agent, however. Among people I know who do computations in wind fields, including myself, the usual procedure is to put all the wind speeds and directions in a rectangular array (actually a three-dimensional array since we care about winds at high altitudes, but I suppose you only need surface winds) and perform multidimensional linear interpolation.

That is not difficult. For example, if you have wind speed and direction at the grid points $(0,0)$, $(7,0)$, $(0,7)$, and $(7,7)$ (measured in kilometers), and if you have an aggregated set of power plants with "center of mass" at the point $(2,4)$, then you can proceed like this:

• Interpolate the wind speed at $(2,0)$ using linear interpolation between $(0,0)$ and $(7,0)$.
• Interpolate the wind speed at $(2,7)$ using linear interpolation between $(0,7)$ and $(7,7)$.
• Interpolate the wind speed at $(2,4)$ using linear interpolation between $(2,0)$ and $(2,7)$.

Then do the same thing for the wind direction, if you need it. (Maybe you don't for power production, since wind turbines just face the wind wherever it comes from.) If you interpolate directions, you just have to be careful when you work with angles so that if you see two points, one with wind at $350$ degrees and one at $10$, you interpolate a wind at $0$ degrees halfway between them and not a wind at $180$ degrees.

These linear interpolations can be done quite efficiently, especially if you remember, for each power plant, which four grid points it is between and what ratios it needs to use to interpolate in each dimension.

It sounds like a very interesting thesis project, by the way.

Addendum: You can also see a nice description of multidimensional linear interpolation (with proper mathematical formulas!) in this answer to another question.