Welcome to the Energy Production and Weather Visualization repository! This project, developed in collaboration with Rebase Energy and the Information Visualization course at KTH, offers a dynamic platform to energy traders for farm management by integrating geospatial insights, energy analytics, and weather data to improve decision making in power trading. Our platform is designed to empower users with comprehensive insights, enabling informed decisions which maximize market opportunities and minimize risks.
For more information and to experience the platform, visit our website.
TODO: add video link
This project is the result of the collaborative efforts of a student team with diverse skills and backgrounds. Group Members:
- Rosamelia Carioni - Github
- Danina Jansson - Github
- Ellin Lundqvist - Github
- Samuel Söderberg - Github
- Mischa Rauch - Github
For more details about the team, and contributions visit our About page.
- Create an account on MapBox and WeatherLayers and create access keys for each.
- Save these keys with the following names on the project root level in a file called
.env.local
NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN= 'your_mapbox_token'
NEXT_PUBLIC_WEATHERLAYERS_ACCESS_TOKEN= 'your_weatherlayers_token'
.
- Clone the repository to your local machine.
- Make sure the npm package manager is installed on your machine.
- Install dependencies using
npm install
. - Change the endpoint in
src/utils/endpoint.js
tohttp://localhost:3000/api
. - Run the development server with
npm run dev
. - Visit
http://localhost:3000
to access the application.
-
Interactive Map: Visualize and sort wind farms based on energy production, capacity, and location. Apply filters by price areas and select different weather models and layers, such as temperature, wind speed, and relative humidity.
-
List Farms Information: Access detailed performance metrics of wind farms, with capabilities to sort and filter based on specific criteria such as price areas.
- App: Contains the main application logic.
- routes: URL addresses to pages. Each file within a route directory contains a
page.js
document serving as a page. - api: Endpoints for data requests.
- page.js: Serves as the HomePage.
- styling: Includes
global.css
for global styles andlayout.js
for layout definitions.
- routes: URL addresses to pages. Each file within a route directory contains a
- Components: Folder containing all React components used in the application.
- Data: JSON files containing project data.
- Utils: Contains methods for API data handling and server endpoint configuration.
- assets:
- weather_data: Images for weather data visualizations, including humidity, temperature, and wind speed.
- images: Developer team profile pictures.
- icons: Navigation icons.
This project utilizes data from multiple sources. The pre-processing of the data can be [found here](https://github.com/rebase-energy/NVE-Wind-Power-Production-in-Norway](https://github.com/RosameliaCarioni/NVE-Wind-Power-Production-in-Norway):
- Farms Data (
src/data/farms_data.json
): Combines energy production of farms and weather forecasts for those specific locations. The energy production data was obtained from the NVE Wind Power Production in Norway and the weather forecasts were provided by Rebase Energy. - Farm Metadata (
src/data/farms_meta_data.json
): Details each Norwegian wind farm's location, production capacity, name, and other characteristics. The data was retrieved from NVE Wind Power Production in Norway. - Global Energy Pricing Areas (
src/data/world.json
): Information on energy price areas across countries, obtained from ElectricityMaps. - Weather Data (
public/assets/weather_data
): Three folders can be found under this. They each include 24 images depicting daily weather predictions for humidity, temperature, and wind speed. - Weather Legends (
src/data/temperature_legend_data.json
,windspeed_legend_data.json
,humidity_legend_data.json
): Describe the map and legend colour codes for various weather conditions. - Team Information (
src/data/team_data.json
): Contains details about our project team.
- React and Next.js for the project structure
- JavaScript for the frontend
- MapBox for the world map
- Weatherlayers for visualizing weather data
- Chart.js for creating customizable charts
- Vercel to deploy our project
Special thanks to our professor Mario Romero, Sebastian Haglund and Henrik Kälvegren from Rebase Energy for the opportunity to work in this project and guidance throughout the process.
This project is licensed under the MIT License - see the LICENSE file for details.