Releases: adokter/vol2bird
vol2bird 0.6.0
vol2bird 0.6.0
All issues and PRs included in this release can be found here.
New features:
- new
vol2bird.sh
script for running vol2bird, which sets up required library paths and environmental variables automatically (#152) - new
-c
command line argument to specify vol2bird configuration file, allowing different names thanoptions.conf
(#186) - add range data to pointsarray output (#173)
Changes:
- change default maximum range to 35 km, for consistency with bioRad methods paper (#117)
- updated dependencies rave and hlhdf
Bugfixes:
- address crash that occured when certain NEXRAD files fail to decompress (#196 and ar2v decompression fails)
- fixes a bug that lead to profile generation aborts for files containing scans with a correlation coefficient moment, but missing either reflectivity or radial velocity (#195)
- bugfix for erroneous values outside of mistnet prediction area, changed those to NODATA (#168)
- bugfix of incorrect read of nyquist velocity and range resolution for specific NEXRAD files (#166)
- bugfix for calculating a profile when elevation scans miss data along large sections of the azimuth circle (#163)
- bugfix for compatibility with NEXRAD RDA/RPG build > 19.0 (which adds new moment in the nexrad data format, CFP data) (#158)
- bugfix addressing incorrect loading of cluttermaps defined at a coarser ray resolution than the polar volume data (#153)
- bugfix for handling files where multiple scans in a volume have identical elevations (#148, #150)
0.5.0
vol2bird 0.5.0
All issues and PRs included in this release can be found here.
mistnet
The main PR add functionality for using the MistNet deep convolution neural net for segmentation of meteorological echoes, following Lin et al. 2019:
- new function
segmentScansUsingMistnet()
which identifies cells with precipitation using the MistNet deep convolution neural net. Regions with rain are added to theCELL
PolarScanParameter, just like for the other rain segmentation methods (#130). - new user options available in
options.conf
to specify MistNet options (USE_MISTNET
,MISTNET_ELEVS
,MISTNET_ELEVS_ONLY
,MISTNET_PATH
) - updated build system that integrates with libtorch, the C++ library used to interface with PyTorch deep learning models.
- C++ library libmistnet.cpp, containing the new function
run_mistnet()
which calls MistNet segmentation model - C library librender.c, containing functions for rendering and projecting polar scans onto a Cartesian grid
- functions to map Cartesian rain segmentation generated by MistNet back onto PolarVolume objects (see next two points)
addTensorToPolarVolume()
adds PolarScanParametersBIOLOGY
,WEATHER
,BACKGROUND
to the scans, containing the class probability for each of these three classes as a value between 0 and 1.addClassificationToPolarVolume()
adds the final segmentation to PolarScanParameterCELL
- new functions
distance2height()
,distance2range()
,range2distance()
,range2height()
for converting down range, slant range and height above ground. - Functions extending Rave library to make subselections of scans in a polar volume:
PolarVolume_selectScansByElevation()
,PolarVolume_selectScansByScanUse()
- Functions for allocating and deconstructing 3D tensors used as MistNet input (
init3DTensor()
,fill3DTensor()
,flatten3DTensor()
,free3DTensor()
) and 4D tensors used as MistNet output (create4DTensor()
,free4DTensor()
) - final linking of vol2bird occurs now with c++, as required when mixing c and c++ code
rsl2odim
executable can add mistnet segmentation to a polar volume file, just likevol2bird
executable.
other new features
- fix a bug that assumed incorrect range bin size for certain sweeps in NEXRAD legacy data (#125)
- beam height calculations now account for earth's curvature and diffraction (#28)
- radial velocity standard deviation threshold (
sd_vvp_threshold
) for S-band now defaults to 1 m/s (#102) - made application of gap criterion consistent with bioRad's
sd_vvp_threshold()
function. Bird densities are no longer set to zero in case of a large azimuthal data gap that prevents a velocity (VVP) fit. As a result, we now allow layers to have a valid animal density even when there is no valid speed/direction (#86, #96) - provide information on installed components in
vol2bird --help
(dbb19f4) - fix RSL compilation on Ubuntu, by changing flex to flex-old (9c2e77b) (adokter/rsl#10)
- updated and simplified install instructions, now one file for Ubuntu/Linux and Mac OSX (
4bb6795, #52)
0.4.1
0.4.0
vol2bird 0.4.0
All issues included in this release can be found here.
-
vol2bird now reads Vaisala Sigmet IRIS (Iris RAW) format, the native radar data format of Vaisala radar processors (e.g. used in Canada, Portugal, Finland) (#112)
-
added functionality to vol2bird to read files containing single scans (sweeps) and merge them into polar volumes (#116)
-
rsl2odim now converts Vaisala IRIS format and ODIM hdf5 format and can merge files containing scans / sweeps into a polar volume.
-
new input argument format that allows specifying multiple input files
-
change default maximum range from 25 km to 35 km (#117)
-
fixed a bug that in rare cases produced a negative reflectivity eta (#123)
-
new determineRadarFormat() function to check whether a file is in ODIM, IRIS or RSL format
-
added a documentation webpage generated by doxygen (available at http://adokter.github.io/vol2bird)
-
added this NEWS.md file to document releases