# ING1001 Obligatorisk oppgave 3, del 2, Python-programmering ## Problemstilling De fleste norske husholdninger og bedrifter har nå fått innstallert automatiske strøm-målere ([AMS](https://www.enova.no/privat/smarte-strommalere-ams/)). Disse måler strømforbruket kontinuerlig og rapporterer dette hver time til en sentral database, elhub. Dette danner grunnlag for avregning av både strømforbruk og nettleie. Alle strøm-abonnenter kan logge inn på elhub og hente ut sine egne data, og har dermed grunnlag for å kunne analysere sitt eget forbruksmønster. Nettselskapene, som eier og drifter strømnettet, må bygge ut strømnettet slik at det har tilstrekkelig kapasitet. Forbruket kan variere mye gjennom døgnet, og det betyr at det på noen tidspunkt er overkapasitet. Hvis forbrukerne kunne tilpasse forbruket og jevne det ut kan man senke nivået på utbygd kapasitet. Det betyr lavere investeringer og kanskje lavere nettleie. Et mulig framtidsscenario er å ha forskjellige nettleie-satser til ulike tider på døgnet. For å tilpasse seg dette må forbukerne kjenne sitt eget strømforbruk, og ha teknisk utstyr som kan styre strømforbruket. ## Data Data over strømforbuk kan lastes ned som CSV-fil fra elhub. Det er en fil pr. måned. Hver linje inneholder tidspunkt og forbruket den siste timen. Her er det tre eksempelfiler som skal brukes i besvarelsen. Du velger en av disse. - [AMS-data, alternativ 1](AMS/meteringvalues-mp-xxxxx-consumption-201905-20191004T1140.csv) - [AMS-data, alternativ 2](AMS/meteringvalues-mp-xxxxx-consumption-201906-20191004T1143.csv) - [AMS-data, alternativ 3](AMS/meteringvalues-mp-xxxxx-consumption-201907-20191004T1143.csv) ## Oppgave Dette er en individuell oppgave, men det anbefales å samarbeide med medstudenter underveis for bl.a. å diskutere alternative løsninger. Din oppgave er å skrive et Python-program som analyserer forbruket for en måned. Python-programmet må gjøre visse operasjoner: - åpne datafila - lese igjennom fila linje for linje - lagre data om tidspunkt og forbruk i passende datastrukturer - lese igjennom datastrukturene for å finne eller beregne ønskede data - skrive ut resultatene til en rapportfil ## Resultat Ønskede opplysninger i rapportfila: minimum: - antall dager i måneden - gjennomsnittlig forbruk pr. time - tidspunkt for det høyeste forbruket avansert (frivilig): - døgnet deles inn i fire perioder etter fritt valg - forbruket analyseres innen hver av disse periodene, slik som ovenfor ## Innlevering Dette skal leveres: - python-fil med endelse .py som inneholder programkoden - datafilen som du har brukt, og som programmet gjør analyser på Dette leveres som fil-innlevering i Blackboard. ## Krav til gjennomføring For at arbeidskravet skal anses som godkjent kreves: - programkoden skal kunne kjøres uten feilmeldinger - programkoden skal være strukturert i henhold til god programmeringsskikk - programkoden skal være dokumentert - kjøring av programkode skal gi svar på oppgitte problemstillinger - studenten skal på forespørsel og uten nærmere forberedelse kunne forklare sin egen programkode --- *NTNU 13.10.2019 Sverre Stikbakke*

¯\_(ツ)_/¯