This project analyzes temperature time series data using C++.
It demonstrates C++ features like STL algorithms, lambdas, const-correctness, file I/O, and modular design.
The goal is to process environmental/meteorological data, calculate statistics, and produce results that are useful for analysis or visualization.
- CSV parsing for time series data (
datetime,value) - Compute overall statistics:
- Mean temperature
- Minimum and maximum temperature
- Sliding window statistics:
- Mean, min, max with associated datetimes
- Print first/last few data points
- Robust error handling for empty datasets
- Computes daily min, max, mean, range from input data
- Calculates daily anomaly (daily mean minus overall mean)
- Saves results to
results/daily_stats.csv - Designed for meteorological analysis and further processing
- Place input CSV files in
data/ - Compile the project:
g++ -std=c++20 src/main.cpp src/statistics.cpp src/csv_reader.cpp -o timeseries - Run the program:
./timeseries data/temperature.csv - Check daily statistics output in
results/daily_stats.csv
cpp_temperature_timeseries/ ├── src/ # C++ source code ├── include/ # Header files ├── data/ # Input CSV files ├── results/ # Processed output (daily stats) ├── build/ # Optional build directory └── README.md