Skip to content

This code creates an output .txt file of hurricane lightning flash events collected over interpolated pathways utilizing data from AWS s3 at increased speed and scale compared to similar python programs.

Notifications You must be signed in to change notification settings

Corey4005/HALOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

HALOS - "Hurricane Advanced Lightning Observation Software" is a C++ program to collect lightning data from interpolated timestamp points over known hurricane pathways. Currently, Python based programs that provide similar solutions take increased time (~6-8 hours per storm path) to collect all lightning information along a pathway. This program can collect the same amount of infomation in half the time because it is written in C++, which serperates run time from compile time, does not need an interpretor and manages memory more efficiently. This means that this tool could possibly help researchers interested in generating lighting climatologies over hurrricane events at increased scale and speed. This program is also built on the AWS cloud system which provides all GOES-16 Geostationary Lightning Mapper (GLM) netCDF files that currently exist free of charge to the user. This means that in order to retrieve lightning data, the user does not need the netCDF data locally and only needs an AWS key.

Currently this repo can be built on a windows machine using Visual Studio and the MSVC legacy compiler.

Required

  1. vcpkg - C++ package manager for windows machines
  2. AWS C++ SDK [S3] - tool for data collection from cloud to local /netcdf directory
  3. netcdf-cxx4 - netcdf library from UCAR to process netcdf files
  4. HDF5 - hierarchical data format library, required for netcdf-cxx4 as dependency

How to install vspkg

  • First pull the vspkg github repo to a suitable file on your local machine
  • Then, add vcpkg application to your environment path variable

How to install netcdf-cxx4

The following will install the x64 version of the library:

$ vcpkg install netcdf-cxx4:x64-windows 

The following command will make all libraries downloaded available to the #include preprocessor statement in Visual Studio:

$ vcpkg integrate install 

How to install S3, transfer

vcpkg install aws-cpp-sdk[s3, transfer]:x64-windows

How to install HDF5

vcpkg install hdf5:x64-windows

Important configuration and credential settings for the AWS SDK

Before running the code, you will need to set up specific AWS environment variables, which are needed to initialize the api and call for the netcdf files containing lightning data.

  1. Set up an AWS account and follow steps 1-11 here to create a credentials file.
  2. Similarly, you will need to set up an AWS config file with plain text that is best for your region. Documentation on config files are found here.
  3. Set up your AWS_CONFIG_FILE and AWS_CREDENTIALS_FILE path variables by using the windows commands at the bottom of this page.

Import configuration setting for HDF5

  1. You will get an HDF error when trying to read an NcFile unless you set the HDF5_USE_FILE_LOCKING=FALSE as an environment variable on your computer.

About

This code creates an output .txt file of hurricane lightning flash events collected over interpolated pathways utilizing data from AWS s3 at increased speed and scale compared to similar python programs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published