@@ -29,6 +29,7 @@ type Report struct {
2929// ReportDaily — one daily observation as written by the processor.
3030type ReportDaily struct {
3131 Date time.Time `bson:"date" json:"date"` // RFC3339 stored as time in Go
32+ Type int `bson:"type,omitempty" json:"type"` // 0: actual, 1: forecast
3233 NDVI * float64 `bson:"ndvi,omitempty" json:"ndvi,omitempty"`
3334 CloudCover * int `bson:"cloud_cover,omitempty" json:"cloud_cover,omitempty"` // HLS cloud mask (0..100?)
3435 Collection string `bson:"collection,omitempty" json:"collection,omitempty"` // e.g., "HLSS30_2.0"
@@ -37,16 +38,18 @@ type ReportDaily struct {
3738 CloudcoverPct * float64 `bson:"cloudcover_pct,omitempty" json:"cloudcover_pct,omitempty"`
3839 WindSpeedMps * float64 `bson:"wind_speed_mps,omitempty" json:"wind_speed_mps,omitempty"`
3940 ClarityPct * float64 `bson:"clarity_pct,omitempty" json:"clarity_pct,omitempty"`
40-
41- Type int `bson:"type,omitempty" json:"type,omitempty"` // 0: actual, 1: forecast
4241}
4342
4443// ReportForecast — forecast section produced by the processor.
4544type ReportForecast struct {
46- Year int `bson:"year" json:"year"`
47- YieldTph * float64 `bson:"yieldTph,omitempty" json:"yieldTph,omitempty"`
48- NDVIPeak * float64 `bson:"ndviPeak,omitempty" json:"ndviPeak,omitempty"`
49- NDVIPeakAt * time.Time `bson:"ndviPeakAt,omitempty" json:"ndviPeakAt,omitempty"`
50- Model string `bson:"model,omitempty" json:"model,omitempty"`
51- Confidence * float64 `bson:"confidence,omitempty" json:"confidence,omitempty"`
45+ Year int `bson:"year" json:"year"`
46+ YieldTph * float64 `bson:"yieldTph,omitempty" json:"yieldTph,omitempty"`
47+ YieldModel string `bson:"yieldModel,omitempty" json:"yieldModel,omitempty"`
48+ YieldConfidence * float64 `bson:"yieldConfidence,omitempty" json:"yieldConfidence,omitempty"`
49+ NDVIPeak * float64 `bson:"ndviPeak,omitempty" json:"ndviPeak,omitempty"`
50+ NDVIPeakAt * time.Time `bson:"ndviPeakAt,omitempty" json:"ndviPeakAt,omitempty"`
51+ NDVIStartAt * time.Time `bson:"ndviStartAt,omitempty" json:"ndviStartAt,omitempty"`
52+ NDVIEndAt * time.Time `bson:"ndviEndAt,omitempty" json:"ndviEndAt,omitempty"`
53+ NDVIModel string `bson:"ndviModel,omitempty" json:"ndviModel,omitempty"`
54+ NDVIConfidence * float64 `bson:"ndviConfidence,omitempty" json:"ndviConfidence,omitempty"`
5255}
0 commit comments