BACARDI dataset

The following script exemplifies the access and usage of the Broadband AirCrAft RaDiometer Instrumentation (BACARDI), that combines two sets of Kipp and Zonen broadband radiometer measuring upward and downward irradiance in the solar (pyranometer model CMP-22, 0.2 - 3.6 μm) and terrestrial (pyrgeometer model CGR-4, 4.5 - 42 μm) spectral range.

The dataset is published under Ehrlich et al. (2021). If you have questions or if you would like to use the data for a publication, please don’t hesitate to get in contact with the dataset authors as stated in the dataset attributes contact or author.

Get data

  • To load the data we first load the EUREC4A meta data catalogue. More information on the catalog can be found here.

import eurec4a
cat = eurec4a.get_intake_catalog()
list(cat.HALO.BACARDI)
['irradiances']
  • We can further specify the platform, instrument, if applicable dataset level or variable name, and pass it on to dask.

Note

Have a look at the attributes of the xarray dataset ds for all relevant information on the dataset, such as author, contact, or citation infromation.

ds = cat.HALO.BACARDI.irradiances['HALO-0205'].to_dask()
ds
<xarray.Dataset>
Dimensions:             (time: 327320)
Coordinates:
  * time                (time) datetime64[ns] 2020-02-05T09:15:52 ... 2020-02...
Data variables:
    alt                 (time) float32 ...
    lat                 (time) float32 ...
    lon                 (time) float32 ...
    sza                 (time) float32 ...
    saa                 (time) float32 ...
    F_down_solar        (time) float32 ...
    F_down_solar_diff   (time) float32 ...
    F_up_solar          (time) float32 ...
    F_down_terrestrial  (time) float32 ...
    F_up_terrestrial    (time) float32 ...
    F_down_solar_sim    (time) float32 ...
    cloud_mask          (time) int8 ...
Attributes:
    title:                Broadband radiation mesured by BACARDI during EUREC4A
    campaign:             EUREC4A
    platform:             HALO
    instrument:           Broadband AirCrAft RaDiometer Instrumentation (BACA...
    research_flight_day:  2020/02/05
    version:              Revision 1 from 2021/02/04
    comment_1:            BACARDI Raw data was processed by DLR, contact Andr...
    contact:              Andre Ehrlich, University Leipzig, a.ehrlich@uni-le...

The data from EUREC4A is of 10 Hz measurement frequency and corrected for dynamic temperature effects. For the downward solar irradiance, data are provided with and without aircraft attitude correction corresponding to cloud-free and cloudy conditions, respectively, above HALO.

Plots

We plot the upward and downward irradiances in two panels.

%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use(["./mplstyle/book", "./mplstyle/wide"])
fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.set_prop_cycle(color=['darkblue', 'red'])
for var in ['F_up_solar', 'F_up_terrestrial']:
    ds[var].plot(ax=ax1,label= var)
ax1.legend()
ax1.set_ylabel('upward solar and terrestrial irradiance / Wm$^{-2}$')

ax2.set_prop_cycle(color=['grey', 'skyblue', 'darkblue'])
for var in ['F_down_solar_sim', 'F_down_solar_diff', 'F_down_solar']:
    ds[var].plot(ax=ax2, label= var)
ax2.legend()
ax2.set_ylabel('downward solar irradiance / Wm$^{-2}$');
_images/bacardi_9_0.png

The attitude correction of downward solar irradiance does not account for the present cloud situation above HALO. Instead, two data sets, one assuming cloud-free and one assuming overcast (diffuse illumination) conditions, are provided. Depending on the application, the user needs to choose between both data sets. For the downward solar irradiance assuming cloud-free conditions, the data are filtered for turns of HALO, high roll and pitch angles. This filter is not applied for the data assuming overcast/diffuse conditions to provide the full data. However, data during turns of HALO need to be analysed with care. As shown in the example some artifical spikes due to turns are present in the data.

The wiggles originate from the about 200km change in location and therewith solar zenith angle within one circle / hour as can be seen in a plot.

fig, ax = plt.subplots()
ds.F_down_solar.plot(ax=ax, color='darkblue')
ax.set_ylabel('downward solar irradiance \n corrected for cloud-free conditions / Wm$^{-2}$',
              color='darkblue')
ax2 = ax.twinx()
ds.sza.plot(ax=ax2, color='black')
ax2.set_ylim(110, 28);
_images/bacardi_12_0.png