You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+42-26
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,32 @@
1
1
# Wind Error Assessment
2
2
3
-
Welcome to the Wind Error Assessment project. This repository contains scripts and data for assessing wind measurement errors.
3
+
This project was carried out during my research internship at the [Associate Professorship of Environmental Sensing and Modeling](https://www.ee.cit.tum.de/en/esm/home/) at the Technical University of Munich, TUM School of Computation, Information and Technology.
4
4
5
-
For access to scripts and data locations, as well as a detailed readme for running the framework, please refer to [Run](./RUN.md).
5
+
**Supervisors**:
6
+
- Prof. Dr.-Ing. Jia Chen
7
+
- Dr. rer. nat. Friedrich Klappenbach
8
+
- M.Sc. Andreas Forstmaier
9
+
10
+
## Research Focus: Bayesian Inversion Framework Wind Error Analysis
11
+
12
+
Throughout the research, I conducted wind error analysis, utilising MATLAB for numerical computations and visualizations, and R for statistical computing and graphics. Large-scale data manipulation was performed using various data handling tools such as NetCDF, Geos, Proj, SQLite, HDF5, GDAL, and PkgConf.
13
+
14
+
Shell scripting was used for managing job submissions on a SLURM cluster. This research project was primarily focused on atmospheric data processing, involving tasks such as creating weighted histograms, calculating daily differences, and rotating footprints to enhance the accuracy of the prediction model.
15
+
16
+
## Publication
17
+
18
+
The project contributed to the following publication authored by M.Sc. Andreas Forstmaier:
19
+
20
+
Forstmaier, A., Chen, J., Dietrich, F., Bettinelli, J., Maazallahi, H., Schneider, C., Winkler, D., Zhao, X., Jones, T., van der Veen, C., Wildmann, N., Makowski, M., Uzun, A., Klappenbach, F., Denier van der Gon, H., Schwietzke, S., & Röckmann, T. (2022). Quantification of methane emissions in Hamburg using a network of FTIR spectrometers and an inverse modeling approach. Copernicus GmbH. https://doi.org/10.5194/acp-2022-710
21
+
22
+
## Repository Contents
23
+
24
+
This repository contains the following:
25
+
- Scripts
26
+
- Data
27
+
- Presentations
28
+
29
+
For a detailed guide on how to run the framework, access to scripts, and data locations, please refer to [Run](./RUN.md).
6
30
7
31
# LiDAR Measurements
8
32
@@ -29,9 +53,9 @@ As a result, three 3D arrays (one each for `WSPD`, `WDIR`, and `Z`) of size `[44
29
53
30
54
# ERA5 Model Data
31
55
32
-
The approach taken was to combine hourly ERA5 data on pressure levels with hourly ERA5 data on single levels.
56
+
The approach taken was to combine [hourly ERA5 data on pressure levels](https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-pressure-levels?tab=overview) with [hourly ERA5 data on single levels](https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-single-levels?tab=overview).
33
57
34
-
## ERA5 Hourly Data on Pressure Levels
58
+
## [ERA5 Hourly Data on Pressure Levels](https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-pressure-levels?tab=overview)
35
59
36
60
This is gridded data on a latitude-longitude grid, so after reading the latitude and longitude values, the corresponding indices for the LiDAR location are identified. Instead of `Z` (measurement height above ground level in m) from LiDAR measurements, there are 37 pressure levels in millibars. The pressure levels range from 1000 hPa to 1 hPa. The temporal coverage consists of the 44 days of interest (from 01-Aug 2021 to 09-Sep-2021).
37
61
@@ -40,7 +64,7 @@ ERA5 provides estimates for a large number of atmospheric, ocean-wave and land-s
40
64
-`u` (U component of wind in m s^-1)
41
65
-`v` (V component of wind in m s^-1)
42
66
43
-
## ERA5 Hourly Data on Single Levels
67
+
## [ERA5 Hourly Data on Single Levels](https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-single-levels?tab=overview)
44
68
45
69
Again, this gridded data needs to be mapped to the latitude and longitude corresponding to the LiDAR location. The temporal coverage consists of the 44 days of interest (from 01-Aug 2021 to 09-Sep-2021). Now, the variables of interest are `u100`, `v100`, `u10`, `v10` and `z`.
46
70
@@ -87,13 +111,17 @@ To further investigate these mismatches, we have selected a specific hour from t
The above plot represents the relationship between horizontal wind speed and altitude. The complete set of wind speed plots can be found in the [Wind Speed Visualization](./Data/WSPD_figures) section.
114
+
In these visualizations, the x-axis corresponds to the horizontal wind speed (in m/s) while the y-axis signifies the altitude (in m). Ticks on the y-axis denote particle release heights and horizontal lines represent the boundaries between distinct atmospheric layers.
115
+
116
+
Circles are used to depict model data and the '+' signs represent measurements. Blue color signifies raw data, black color corresponds to interpolated data, and red color indicates the representative data for each layer. Specifically, a red circle within a layer represents the mean of all black circles in that layer. Similarly, a red '+' sign in a layer stands for the mean of all black '+' signs in that layer. Mismatches in terms of wind speed are depicted by the distances between red circles and red '+' signs. The wind speed (WSPD) plots for the entire campaign can be found at: [Wind Speed Visualization](./Data/WSPD_figures).
91
117
92
118
### Wind Direction Analysis
93
119
94
120

95
121
96
-
The above plot visualizes the relationship between wind direction and altitude. The complete set of wind direction plots can be found in the [Wind Direction Visualization](./Data/WDIR_figures) section.
122
+
Analogously, in the wind direction plots, the degree indicates wind direction, and the radius denotes altitude. The upper plot is an enlarged version of the bottom plot for the first three atmospheric layers. Nested circles delineate the boundaries of the atmospheric layers.
123
+
124
+
Circles in these plots symbolize model data, while cross signs illustrate measurement data. For the upper diagram, magenta color depicts raw data, black color shows interpolated data, and red color indicates representatives. For the lower diagram, blue color represents raw data, and red color designates representatives. Mismatches in terms of wind direction are visualized by the distances between red signs. The wind direction (WDIR) plots for the entire campaign can be found at:[Wind Direction Visualization](./Data/WDIR_figures).
97
125
98
126
Both the original data and the computed mismatches are saved for future reference and can be accessed in the [Data Repository](./Data/Lidar_ERA5_representatives).
99
127
@@ -113,9 +141,7 @@ To derive these weights, we propose the following steps:
113
141
114
142
## Scaling Data Output
115
143
116
-
The outcome of this process is a 2D scaling matrix covering the entire campaign, together with the daily scaling factors. Access this data at the following location:
117
-
118
-
[Scaling Data](./Data/Scaling_factors)
144
+
The outcome of this process is a 2D scaling matrix covering the entire campaign, together with the daily scaling factors. Access this data at the following location: [Scaling Data](./Data/Scaling_factors)
119
145
120
146
# Derivation of Weighting Factors via Footprint Intensities
121
147
@@ -125,21 +151,15 @@ The first CSV column represents the date and time, the second column indicates t
125
151
126
152
These factors are computed by multiplying the scaling factor for the respective day by the footprint intensities, essentially the sum of all elements of the 2D footprint image, per layer. Each column from the third onwards corresponds to a particular atmospheric layer.
127
153
128
-
All factors are normalized to ensure the sum in each row equals 1. The output CSV document is available at:
129
-
130
-
[Footprint intensities with scaling factors](./Data/HAM_large_footprint_intensities_with_scaling_factors)
154
+
All factors are normalized to ensure the sum in each row equals 1. The output CSV document is available at: [Footprint intensities with scaling factors](./Data/HAM_large_footprint_intensities_with_scaling_factors)
131
155
132
156
The computed weighting factors are averaged across the instruments (mb, mc, md, me) and normalized again. The normalized weighting factors are then depicted as images with scaled colors, similar to the previous visualizations.
Weighting factors for the chosen day (06-Aug-2021) can be accessed here: 
143
163
144
164
In this image, the sum of a column equals 1, signifying the variable footprint intensities depending on the planetary boundary layer.
145
165
@@ -172,12 +192,8 @@ For reference, the mean and standard deviation values for a selection of days ar
172
192
173
193
## Visualizing Daily Weighted Histograms
174
194
175
-
Weighted histogram plots on a daily basis are generated using the handy `histwc.m` function. This MATLAB function was provided by Mehmet Suzen and is available at [MATLAB Central File Exchange](https://www.mathworks.com/matlabcentral/fileexchange/42493-generate-weighted-histogram). The mean and standard deviation of the daily mismatches are prominently displayed on these plots.
Weighted histogram plots on a daily basis are generated using the handy [histwc.m](./Scripts/histwc.m) function. This MATLAB function was provided by Mehmet Suzen and is available at [MATLAB Central File Exchange](https://www.mathworks.com/matlabcentral/fileexchange/42493-generate-weighted-histogram). The mean and standard deviation of the daily mismatches are prominently displayed on these plots.
180
196
181
-
You can access the weighted histograms for the entire campaign at:
197
+
Check out an example for a specific day: 
182
198
183
-
[Weighted_histograms](./Data/Weighted_histograms)
199
+
You can access the weighted histograms for the entire campaign at: [Weighted_histograms](./Data/Weighted_histograms)
0 commit comments