     public var visibility: Double?
     public var ozone: Double?
     
+    public init(
+        time: Int,
+        summary: String? = nil,
+        icon: String? = nil,
+        sunriseTime: Int? = nil,
+        sunsetTime: Int? = nil,
+        moonPhase: Double? = nil,
+        nearestStormDistance: Double? = nil,
+        nearestStormBearing: Double? = nil,
+        precipProbability: Double? = nil,
+        precipType: PrecipitationType? = nil,
+        precipAccumulation: Double? = nil,
+        temperature: Double? = nil,
+        temperatureMin: Double? = nil,
+        temperatureMinTime: Int? = nil,
+        temperatureMax: Double? = nil,
+        temperatureMaxTime: Double? = nil,
+        apparentTemperature: Double? = nil,
+        apparentTemperatureMin: Double? = nil,
+        apparentTemperatureMinTime: Int? = nil,
+        apparentTemperatureMax: Double? = nil,
+        apparentTemperatureMaxTime: Int? = nil,
+        dewPoint: Double? = nil,
+        windSpeed: Double? = nil,
+        windBearing: Double? = nil,
+        cloudCover: Double? = nil,
+        humidity: Double? = nil,
+        pressure: Double? = nil,
+        visibility: Double? = nil,
+        ozone: Double? = nil
+        ) {
+            self.time = time
+            self.summary = summary
+            self.icon = icon
+            self.sunriseTime = sunriseTime
+            self.sunsetTime = sunsetTime
+            self.moonPhase = moonPhase
+            self.nearestStormDistance = nearestStormDistance
+            self.nearestStormBearing = nearestStormBearing
+            self.precipProbability = precipProbability
+            self.precipType = precipType
+            self.precipAccumulation = precipAccumulation
+            self.temperature = temperature
+            self.temperatureMin = temperatureMin
+            self.temperatureMinTime = temperatureMinTime
+            self.temperatureMax = temperatureMax
+            self.temperatureMaxTime = temperatureMaxTime
+            self.apparentTemperature = apparentTemperature
+            self.apparentTemperatureMin = apparentTemperatureMin
+            self.apparentTemperatureMinTime = apparentTemperatureMinTime
+            self.apparentTemperatureMax = apparentTemperatureMax
+            self.apparentTemperatureMaxTime = apparentTemperatureMaxTime
+            self.dewPoint = dewPoint
+            self.windSpeed = windSpeed
+            self.windBearing = windBearing
+            self.cloudCover = cloudCover
+            self.humidity = humidity
+            self.pressure = pressure
+            self.visibility = visibility
+            self.ozone = ozone
+    }
+    
     public init(json: JSON) {
         time = json["time"].intValue
         summary = json["summary"].string

    public var expires: Int
    public var description: String
    public var uri: String
    
    public init(json: JSON) {
        title = json["title"].stringValue

        return self.rawValue
    }
}

/**
    A singleton that retrieves forecasts from forecast.io
*/
