Hawk#
Hyperspectral fields of visible and near infrared cloud top radiance observed by AISA Hawk (384 spatial pixels and 384 spectral channels between 931 and 2545 nm) as measured during the ACLOUD, AFLUX, MOSAiC-ACA, and HALO-(AC)3 campaign.
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.
Data access#
The data files from AISA Hawk are very big. Therefore, it is not very convinient or even possible to load them directly from the PANGAEA database. Instead it is recommended to download the whole dataset for each campaign or single flights and store them on a local disk. Paths to the datasets can be found on the respective data description page on PANGAEA: ACLOUD, AFLUX, MOSAiC-ACA, and HALO-AC3 (not yet available).
import os
from dotenv import load_dotenv
load_dotenv()
ac3cloud_username = os.environ['AC3_USER']
ac3cloud_password = os.environ['AC3_PASSWORD']
credentials = dict(user=ac3cloud_username, password=ac3cloud_password)
# local caching
kwds = {'simplecache': dict(
cache_storage=os.environ['INTAKE_CACHE'],
same_names=True
)}
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In[1], line 2
1 import os
----> 2 from dotenv import load_dotenv
4 load_dotenv()
6 ac3cloud_username = os.environ['AC3_USER']
ModuleNotFoundError: No module named 'dotenv'
Get data#
To analyse the data they first have to be loaded by importing the (AC)³airborne meta data catalogue. To do so the ac3airborne package has to be installed. More information on how to do that and about the catalog can be found here.
import ac3airborne
cat = ac3airborne.get_intake_catalog()
instrument = 'HAWK'
datasets = []
for campaign in ['ACLOUD', 'AFLUX','MOSAiC-ACA']:
datasets.extend(list(cat[campaign]['P5'][instrument]))
datasets
['ACLOUD_P5_RF04',
'ACLOUD_P5_RF05',
'ACLOUD_P5_RF06',
'ACLOUD_P5_RF07',
'ACLOUD_P5_RF08',
'ACLOUD_P5_RF10',
'ACLOUD_P5_RF11',
'ACLOUD_P5_RF13',
'ACLOUD_P5_RF14',
'ACLOUD_P5_RF15',
'ACLOUD_P5_RF16',
'ACLOUD_P5_RF17',
'ACLOUD_P5_RF18',
'ACLOUD_P5_RF19',
'ACLOUD_P5_RF20',
'ACLOUD_P5_RF21',
'ACLOUD_P5_RF22',
'ACLOUD_P5_RF23',
'ACLOUD_P5_RF25',
'AFLUX_P5_RF03',
'AFLUX_P5_RF04',
'AFLUX_P5_RF05',
'AFLUX_P5_RF06',
'AFLUX_P5_RF07',
'AFLUX_P5_RF08',
'AFLUX_P5_RF09',
'AFLUX_P5_RF10',
'AFLUX_P5_RF11',
'AFLUX_P5_RF12',
'AFLUX_P5_RF13',
'AFLUX_P5_RF14',
'AFLUX_P5_RF15',
'MOSAiC-ACA_P5_RF05',
'MOSAiC-ACA_P5_RF06',
'MOSAiC-ACA_P5_RF09',
'MOSAiC-ACA_P5_RF10',
'MOSAiC-ACA_P5_RF11']
Reading the data#
A description on how to work with locally stored or cached data can be found Caching and local datasets. Assuming the data have been downloaded and stored in /work/mech/data/ac3airborne/, the arguments for the cache option needs to be defined as follows:
kwds = {'simplecache': dict(
cache_storage='/work/mech/data/ac3airborne/HAWK/',
same_names=True
)}
The dataset can be read by overwritting the intake value for the location of the data with the values just defined.
flight_id = 'AFLUX_P5_RF03'
ds_hawk = cat['AFLUX']['P5'][instrument][flight_id](storage_options=kwds).to_dask()
ds_hawk
<xarray.Dataset> Dimensions: (nwl_hawk: 288, xs_1001: 4926, ys: 384, xs_1007: 9008, xs_1028: 7102, xs_1034: 10817, xs_1043: 2881, xs_1055: 12916, xs_1103: 9712, xs_1109: 10290, xs_1123: 2615, xs_1138: 9197, xs_1148: 6793, xs_1212: 1078, xs_1217: 4715, xs_1248: 3211, xs_1336: 7900, xs_1356: 5219) Dimensions without coordinates: nwl_hawk, xs_1001, ys, xs_1007, xs_1028, xs_1034, xs_1043, xs_1055, xs_1103, xs_1109, xs_1123, xs_1138, xs_1148, xs_1212, xs_1217, xs_1248, xs_1336, xs_1356 Data variables: (12/113) wavelength (nwl_hawk) float32 931.5 937.2 942.9 ... 2.538e+03 2.544e+03 radiance_1001 (xs_1001, nwl_hawk, ys) int16 ... time_1001 (xs_1001) float32 10.03 10.03 10.03 10.03 ... 10.1 10.1 10.1 lat_1001 (xs_1001) float32 78.61 78.61 78.61 ... 78.78 78.78 78.78 lon_1001 (xs_1001) float32 14.92 14.92 14.92 ... 14.64 14.64 14.64 roll_1001 (xs_1001) float32 2.17 2.173 2.176 ... 1.797 1.789 1.781 ... ... time_1356 (xs_1356) float32 13.94 13.94 13.94 ... 14.01 14.01 14.01 lat_1356 (xs_1356) float32 79.52 79.52 79.52 ... 79.35 79.35 79.35 lon_1356 (xs_1356) float32 11.06 11.06 11.06 ... 11.63 11.63 11.63 roll_1356 (xs_1356) float32 3.394 3.389 3.38 ... 0.6234 0.5747 0.517 pitch_1356 (xs_1356) float32 -0.07696 -0.07054 ... -0.6002 -0.5976 yaw_1356 (xs_1356) float32 122.9 122.9 122.9 ... 138.6 138.7 138.8 Attributes: Institution: Leipzig Institute for Meteorology (LIM) - University of L... Variable name: Each variable name indicates the measurement start time i... Comment: Michael Schaefer Tue Oct 6 10:18:10 2020