SkillAgentSearch skills...

PyBlock

Python Polarimetric Radar Beam Blockage Calculation (PyBlock)

Install / Use

/learn @nasa/PyBlock
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

PyBlock README

PyBlock is a Python 2 or 3 module that enables the end user to estimate partial beam blockage using polarimetric radar data. The methodologies it uses depend on the self-consistency of polarimetric radar variables - reflectivity (Zh), differential reflectivity (Zdr), and specific differential phase (Kdp) - in pure rain. There are two methodologies currently available to the end user, both described in Lang et al. (2009): The KDP method, and the Fully Self-Consistent (FSC) method. Briefly, the KDP method will check the behavior of Zh and Zdr for a given range of Kdp both inside and outside of blocked azimuths, and use that to suggest corrections to these measurands. This is effectively a relative calibration of Z and Zdr. The FSC method uses a derived or specified self-consistency relationship to do an absolute calibration of Zh within the blocked regions. PyBlock implements these methodologies within an object-oriented Python framework.

PyBlock Installation

The following dependencies need to be installed first:

  • A robust version of Python 2.7 or 3.4-3.6 (other versions untested) w/ most standard scientific packages (e.g., numpy, matplotlib, pandas, etc.) - Get one for free here.
  • The h5py module (available via most package managers; e.g., conda)
  • [The Python Atmospheric Radiation Measurement (ARM) Radar Toolkit (Py-ART)] (https://github.com/ARM-DOE/pyart)
  • CSU_RadarTools
  • SkewT - Python 3 version can be found here.
  • [DualPol] (https://github.com/nasa/DualPol)

Specific import calls in the PyBlock source code:

from __future__ import division
from __future__ import print_function
import numpy as np
import matplotlib.pyplot as plt
from warnings import warn
import statsmodels.api as sm
import os
import h5py
import pyart
import dualpol
from csu_radartools import csu_misc
import six

To install PyBlock, in the main directory for the package:

python setup.py install

Using PyBlock

To access everything:

import pyblock

To see PyBlock in action, check out the IPython notebook provided in this distribution.

View on GitHub
GitHub Stars41
CategoryDevelopment
Updated5mo ago
Forks21

Languages

Jupyter Notebook

Security Score

72/100

Audited on Oct 23, 2025

No findings