METEOROLOGISKE DATA

I løpet av de siste 10 årene er det blitt registrert det varmeste klimaet noen gang siden man begynte med systematiske temperaturmålinger. I tillegg har vi opplevd flere og flere tilfeller av såkalt ekstremvær. Her i Norge har vi heldigvis vært forskånet for de store naturkatastrofene vi har sett andre steder i verden. De to siste årene har vi opplevd uvanlig kalde vintre og våte somre, med tidvis store nedbørsmengder. Det har vært sagt og skrevet mye om global oppvarming, hvor stor denne kan bli og hva den kan føre til. Blant forskerne er det bred enighet om at utviklingen skyldes menneskeskapte utslipp av såkalte klimagasser. I tillegg har vi de naturlige klimasvingningene.

I denne situasjonen er det viktig å ha effektive analyseverktøy til å få oversikt over utviklingen. Du får derfor i oppgave å lage et program som kan være til hjelp for dette. Programmet skal kunne brukes til å registrere meteorologiske data over lengre tidsperioder på forskjellige steder. Det skal videre kunne brukes til å hente ut diverse opplysninger om slike data, samt vise forskjellige typer statistikker. Nærmere detaljer om dette er gitt nedenfor.

REGISTRERING

Programmet skal kunne registrere maksimumstemperatur, minimumstemperatur og nedbør (i antall millimeter) for hvert døgn i løpet av året for et antall steder og over flere år for hvert sted. I tillegg til stedsnavnet, skal det for stedene registreres hvilket fylke stedet ligger i, slik at det eventuelt kan lages fylkesvise statistikker. (Programmet skal begrense seg til å være tilpasset steder i Norge.)

Det må være en viss kontroll på inngangsdata. For eksempel skal det ikke være mulig på en dato å registre høyere minimumstemperatur enn maksimumstemperatur. Heller ikke skal det være mulig å registrere negativ nedbør. Dersom det ellers forsøkes å registre verdier som kan synes ekstreme, bør bruker bli bedt om å bekrefte verdiene før de godtas av programmet.

Som beskrevet ovenfor, er det et krav ved levering at det skal være lagt inn noe data i programmet for at sensor lettere skal kunne teste det og vurdere det. Disse dataene må da strekke seg noen år tilbake i tid. Det må selvsagt være fiktive, men realistiske data.

LAGRING

Skrive data til fil

For at dataene som ligger lagret i programmets interne datastruktur ikke skal gå tapt når programmet avsluttes, må alle data lagres på fil. Lagring på fil må foretas i forbindelse med hver programavslutning. Det kan dessuten være ønskelig å kunne foreta lagring på fil også under programmets kjøring.

Lese data fra fil

Hver gang programmet startes, må alle dataene som ligger lagret på fil leses inn i programmets interne datastruktur.

SØKEMULIGHETER OG INFORMASJON

Det er ønskelig at programmet har gode og fleksible søkemuligheter. Det som nedenfor er listet opp som prioriterte krav, må normalt være oppfylt for at programmet skal kunne godkjennes. For øvrig er det opp til de enkelte gruppene å velge hvor mye de vil implementere.

Prioriterte krav

Programmet bør kunne hente ut og vise følgende informasjon:

Øvrige ønsker

Det kan være interessant om programmet kan vise

Det er fritt opp til den enkelte gruppe å legge inn andre søkemuligheter eller statistikker som kan være av interesse.

OPPGAVENS OMFANG

Oppgavens størrelse vil være avhengig av hvor mye av oppdragsgiverens krav og ønsker dere implementerer. For mange vil den bli for omfattende hvis alt skal implementeres fullt ut. En av utfordringene blir derfor å gjøre fornuftige valg for HVA som implementeres og HVA som kan utelates. Det er imidlertid viktig at programmet kan kompletteres på et seinere tidspunkt (for eksempel av en annen programmerer) uten at det må gjøres vesentlige forandringer i den eksisterende koden. (Som en mulig utvidelse kan vi for eksempel tenke oss registrering av lufttrykk, antall soltimer, snødybde, badetemperaturer etc., samt statistikker over utviklingen av disse størrelsene. Man kan da f.eks finne ut hvilket sted som hadde "penest vær" (flest soltimer) i løpet av en gitt periode: "Kristiansand var den byen i landet som hadde det beste været i juli.")

Kravene fra oppdragsgiver er veiledende. Dere kan legge til og trekke fra alt etter som dere finner det hensiktsmessig. Oppdragsgiver ønsker imidlertid at dere skal komme med forslag til utvidelser av programmet. Dere står også fritt til å implementere mer funksjonalitet enn det som er beskrevet i det følgende. Dersom dere implementerer mindre enn det som er beskrevet, må det gå klart fram av dokumentasjonen hva som er utelatt og hvordan dere har prioritert.