code: def create_station(self, external_id, name, lat, lon, alt=None):
          
          assert external_id is not None
          assert name is not None
          assert lon is not None
          assert lat is not None
          if lon < -180.0 or lon > 180.0:
              raise ValueError("'lon' value must be between -180 and 180")
          if lat < -90.0 or lat > 90.0:
              raise ValueError("'lat' value must be between -90 and 90")
          if alt is not None:
              if alt < 0.0:
                  raise ValueError("'alt' value must not be negative")
          status, payload = self.http_client.post(
              STATIONS_URI,
              params={'appid': self.API_key},
              data=dict(external_id=external_id, name=name, lat=lat,
                        lon=lon, alt=alt),
              headers={'Content-Type': 'application/json'})
          return self.stations_parser.parse_dict(payload)
docs: Create a new station on the Station API with the given parameters
  
          :param external_id: the user-given ID of the station
          :type external_id: str
          :param name: the name of the station
          :type name: str
          :param lat: latitude of the station
          :type lat: float
          :param lon: longitude of the station
          :type lon: float
          :param alt: altitude of the station
          :type alt: float
          :returns: the new *pyowm.stationsapi30.station.Station* object