Storms Id_1 and Id_2 merge if they partially overlap: Distance_of_centers^2 ≤ Radius_1^2 + Radius_2^2.

New_X =
    Trunc((X_1 * Voltage_1 + X_2 * Voltage_2) / (Voltage_1 + Voltage_2))
New_Y =
    Trunc((Y_1 * Voltage_1 + Y_2 * Voltage_2) / (Voltage_1 + Voltage_2))
    ...gewichteter Mittelwert; näher zum Zentrum des stärkeren Sturms
New_Radius =
    Trunc(Sqrt(Radius_1^2 + Radius_2^2))
    ...der neue Sturm ist größer als die ursprünglichen
New_voltage =
    Trunc((Voltage_1 * Radius_1^2 + Voltage_2 * Radius_2^2) / (Radius_1^2 + Radius_2^2))
    ...gewichteter Mittelwert

Die Id-Nummer des neuen Sturmes ist die Id des stärkeren Sturms; bei gleichen Stürmen die höhere von beiden. Richtung und Geschwindigkeit werden von diesem Sturm beibehalten.

Ob der Sturm wächst oder abklingt ergibt sich aus der errechneten New_voltage.

This is a testing version.
It may be incomplete, and have more bugs (or features) than the public live version at planetscentral.com.