Case 1. Sol og måne
MET har laget en ny versjon av sin Sunrise-tjeneste som er nettopp lagt ut som beta. Denne er skrevet i Python og vil snart bli lagt ut som åpen kildekode. Før vi startet arbeidet var det noen som spurte om vi faktisk trengte en slik tjeneste. “Kan ikke folk regne ut dette selv?” var det noen som sa.
Det er et godt spørsmål. Vi vet at mesteparten av dagens trafikk kommer fra mobilapper og statiske skjermløsninger ved skysstasjoner o.l. Hvorvidt disse har nok regnekapasitet og lagringsplass for å lagre efmeridetabeller og kalkulere tidspunkter med minuttpresisjon er et åpent spørsmål. Vi vil derfor utfordre studentene til å lage en app for å beregne soloppgang, solnedgang og når solen står høyest (krysser meridianen).
For å kvalitetssikre at beregningene deres er korrekte skal appen sammenlikne resultatet med følgende datakilder og vise forskjellen i en tabell:
- Sunrise 2.0 API (XML) (dokumentasjon)
- Sunrise 2.1 API (XML, samme som over men med noen bugfikser)
- Sunrise 3.0 API (GeoJSON) (dokumentasjon)
Dersom deres konklusjon er at det ikke er praktisk gjennomførbart å gjøre slike beregninger med dagens mobilteknologi, er dette også et fullt ut godkjent resultat. I så fall er det ikke selve appen som vil vektlegges, men rapporten hvor dere forklarer de tekniske begrensningene.
Yr.no har nå gått over fra Sunrise til å bruke et internt C#-bibliotek. Ta gjerne stikkprøver derfra med i sammenlikningen, fortrinnsvis i perioden nærme midnattsol for å sjekke om solnedgang skjer etter midnatt.
Hjelpemidler og referanser:
Kode
- Astronomy Engine - astronomisk Kotlin-bibliotek
- Kildekode for Sunrise/3.0 - Python, nå på GitHub
Data og dokumentasjon
- Almanakk for Norge - den autorative kilden, med ekstramateriale fra Institutt for teoretisk astrofysikk
- Definisjoner på soloppgang og solnedgang fra US Naval Observatory
- Kalkulator fra samme sted
- TimeandDate - nyttig norskutviklet nettsted for alt som har med tid å gjøre