<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def data_manipulation_sh(network):
 """ Adds missing components to run calculations with SH scenarios. Parameters network : :class:`pypsa.Network Overall container of PyPSA """

    from shapely.geometry import Point, LineString, MultiLineString
    from geoalchemy2.shape import from_shape, to_shape

    # add connection from Luebeck to Siems
    new_bus = str(network.buses.index.astype(np.int64).max() + 1)
    new_trafo = str(network.transformers.index.astype(np.int64).max() + 1)
    new_line = str(network.lines.index.astype(np.int64).max() + 1)
    network.add("Bus", new_bus, carrier='AC',
                v_nom=220, x=10.760835, y=53.909745)
    network.add("Transformer", new_trafo, bus0="25536",
                bus1=new_bus, x=1.29960, tap_ratio=1, s_nom=1600)
    network.add("Line", new_line, bus0="26387",
                bus1=new_bus, x=0.0001, s_nom=1600)
    network.lines.loc[new_line, 'cables'] = 3.0

    # bus geom
    point_bus1 = Point(10.760835, 53.909745)
    network.buses.set_value(new_bus, 'geom', from_shape(point_bus1, 4326))

    # line geom/topo
    network.lines.set_value(new_line, 'geom', from_shape(MultiLineString(
        [LineString([to_shape(network.
                              buses.geom['26387']), point_bus1])]), 4326))
    network.lines.set_value(new_line, 'topo', from_shape(LineString(
        [to_shape(network.buses.geom['26387']), point_bus1]), 4326))

    # trafo geom/topo
    network.transformers.set_value(new_trafo,
                                   'geom', from_shape(MultiLineString(
                                       [LineString(
                                           [to_shape(network
                                                     .buses.geom['25536']),
                                            point_bus1])]), 4326))
    network.transformers.set_value(new_trafo, 'topo', from_shape(
        LineString([to_shape(network.buses.geom['25536']), point_bus1]), 4326))

    return