44 lines
908 B
Go
44 lines
908 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os"
|
|
"time"
|
|
|
|
"git.intra.yksa.space/gsn/predictor/internal/pkg/grib"
|
|
)
|
|
|
|
func main() {
|
|
ctx := context.Background()
|
|
|
|
cfg := &grib.Config{
|
|
Dir: "C:/tmp/grib",
|
|
TTL: 48 * time.Hour,
|
|
CacheTTL: 1 * time.Hour,
|
|
Parallel: 8,
|
|
}
|
|
|
|
svc, err := grib.New(cfg)
|
|
if err != nil {
|
|
fmt.Printf("Error: %v\n", err)
|
|
return
|
|
}
|
|
|
|
// Delete old cube to force rebuild
|
|
cubePath := "C:/tmp/grib/20260212_12.cube"
|
|
if err := os.Remove(cubePath); err != nil && !os.IsNotExist(err) {
|
|
fmt.Printf("Remove cube error: %v\n", err)
|
|
} else {
|
|
fmt.Println("Old cube removed")
|
|
}
|
|
|
|
// Update will download missing pgrb2b files and rebuild cube
|
|
fmt.Println("Starting update (download pgrb2b + rebuild cube)...")
|
|
start := time.Now()
|
|
if err := svc.Update(ctx); err != nil {
|
|
fmt.Printf("Update error: %v\n", err)
|
|
return
|
|
}
|
|
fmt.Printf("Done in %v\n", time.Since(start))
|
|
}
|