- Read profiles from Radiometrics files
- Fix
VOODOO
global attributes
- Remove snowfall from categorize rain detection
- Update reader for Galati weather station
- Fix check for empty index array
- Raise exception if all timestamps are screened
- Fix CLI product parsing
- Fix cli product parse
- Optimize
rebin_2d
- Add
raise_on_empty
option - Add CloudnetPy CLI
- Check for missing time data
- Improve plotting of zero temperature line
- Support
ecmwf-open
model
- Improve MIRA data screening
- Support variation of Thies LNM format from pyAtmosLogger
- Use flags in moving average plot only with MWRpy products
- Implement rain and melting layer attenuations
- Calculate liquid and gas attenuation using ITU recommendations
- Calculate wet-bulb temperature using iterative method
- Fix rain detection when data is masked
- Plot zero line for wet-bulb temperature
- Don't flag IRT data in MWR plot
- Change "Wavel" to "WL" in MWR plot
- Sort values in
source_file_uuids
attribute
- Fix wind direction plotting
- Fix bug in liquid detection if all LWP are masked
- Fix
mwr-l1c
plotting
- Improve moving average calculation in 1D plots
- Include error message from MWRpy
- Fix weather station variable names and units of RPG cloud radars
- Support pyAtmosLogger format for Thies LNM
- Check if all data are masked in mwr-single and mwr-multi
- Add check for valid brightness temperatures
- Make geophysical products work without LWP where possible
- Use
lwp_quality_flag
if exists - Avoid divide by zero warning
- Adjust screening of old chm15k data
- Skip smoothing-based filtering when data are range-uncorrected
- Fix bug in altitude above ground calculation
- Increase allowed gap for
mwr-multi
- Sort hatpro timestamps after conversion to fraction hour
- Add
temperature_offset
option to wet bulb temperature
- Improve method for detecting rain from radar
- Increase particle limit in disdrometer rain detection
- Remove rain smoothing when screening insects
- Support missing values in Granada weather station
- Convert lidar liquid colder than -38 C into ice
- Use cl61d noise screening with more ceilometers
- Add support for Galati and Bucharest weather stations
- Fix calculation of average wind direction
- Fix
seconds2date
with NumPy 2.0
- Improve CITATION.cff
- Fix hyytiala weather-station invalid data screening
- Fix legacy file plotting
- Add support for hyytiala weather-station
- Change plotting of models
- Fix
rainfall_amount
calculation - Fix
source
global attribute in weather station
- Fix Kenttärova rainfall rate units
- Support Kenttärova weather station
- Handle incorrect data length in Vaisala ceilometer
- Harmonize
definition
attribute formatting
- Skip Copernicus and Galileo files with missing variables
- Support Granada weather station
- Add
instrument_pid
attribute tomwr-single
andmwr-multi
- Fix missing
n_particles
in categorize generation
- Support custom truncated Thies LNM format
- Fix Thies LNM reader
- Handle unreadable Thies LNM file gracefully
- Fix truncation in unit conversion
- Support TOA5 format for Thies LNM
- Allow truncation in other than time dimension
- Fix
clabel
fallback when using customplot_meta
- Remove NaNs from L3 files
- Return dimensions from L3 plotting
- Fix L3 plot issues
- Improve stripe filter
- Fix Radiometrics units
- Screen completely masked profiles from PollyXT data
- Use double precision in PollyXT time vector
- Remove zero-line from legend
- Fix 2d smoothing to work with masked profiles
- Add zero-line to lwp plot
- Add smoothing to 2d mwrpy plots
- Add windcube instrument
- Add reader for Bucharest Parsivel
- Add doppler-lidar-wind product
- Check measurement date in MWRpy-processed data
- Use double precision for BASTA time
- Handle truncated Vaisala ceilometer file
- Skip invalid lines in Thies LNM file
- Include both elevation and zenith angle in MWRpy products
- Test with Python 3.12
- Skip NaNs when plotting
mwr-l1c
- Fix plotting of brightness temperatures
- Fix dimensions of
ir_wavelength
variable - Show wavelength in IR plots
- Support plotting infrared brightness temperature
- Disable voodoonet progress bar
- Make sure only RPG cloud radar is used with Voodoo
- Adjust variable metadata
- Allow 12 min gap in weather station plots
- Support missing values in Parsivel reader
- Fix Z_error calculation to follow Hogan 1998
- Fix error for radars without width
- Implement disdrometer data in categorize file
- Support plotting of additional Parsivel variables
- Mask invalid values in
number_concentration
andfall_velocity
- Fix units of
number_concentration
variable - Share x-axis on multiple plots
- Support yet another Parsivel format
- Fix line break in a netCDF definition
- Fix moving average plotting when no gaps
- Check parsivel time vector
- Fix unit in rainfall rate plots
- Correct voodoo liquid tops
- Remove radar-detected liquid at warm temperatures
- Fix colorbar label of certain 2d plots
- Show frequency in brightness temperature plot
- Adjust plotting
- Fix a few small bugs and other issues
- Add dimension check to moving average plot
- Fix moving average plot in presence of flagged data
- Adjust flagged region style
- Add PlottingError exception
- Improve mwrpy processing and plotting (#97)
- Fix "/" separator in Parsivel spectra
- Improve quickstart documentation
- Host documentation on GitHub Pages
- Avoid crashing if source attribute is missing
- Make plotting work with legacy files
generate_figure
now takes plotting options as single argument
- Add CloudnetException
- Do not mask zeros from integer data types and rainfall_rate
- Use milliseconds in RPG time
- Fix bug in time index order
- Remove masked model profiles from categorize
- Add yet another Parsivel reader
- Fix mwr-l1c processing without IR data
- Raise error if 'height' missing from model file
- Remove duplicate timestamps from BASTA
- Raise error if all MIRA data are masked
- Support MIRA files with NyquistVelocity as array
- Add a few standard names
- Fix metadata of L3 products
- Avoid abrupt transitions between aerosol and ice
- Plot radar
lwp
- Check
beta_raw
shape
- Use
beta_smooth
mask for beta with CL61
- Screen nan values from Vaisala ceilometers
- Store raw CL61 variables
- Skip Vaisala ceilometer lines with bad data
- Fix calibration offset unit
- Fix Copernicus range issues
- Screen MIRA ldr in STSR mode
- Mask Copernicus data below 150m
- Detect if all MWR data are low quality
- Improve RPG-FMCW-94 zenith angle screening
- Filter RPG-FMCW-94 containing scan data
- Do not process corrupted RPG-FMCW-94 files
- Allow some RPG cloud radar header values to vary
- Mask negative PollyXT beta
- Improve Copernicus noise screening
- Fix disdrometer data_raw data type
- Adjust parameters of CT25K background screening
- Update weather station file format specification
- Fix many warnings
- Improve global attributes of
mwrpy
products
- Include serial number for Thies LNM
- Add more options to
generate_figure
- Add
timestamps
argument toparsivel2nc
- Skip invalid MRR-PRO input files
- Add initial support for MRR-PRO
- Fix the bug in the code that distinguishes cl31 from cl51
- Fix crash on HATPRO files with one profile
- Speed up processing of .znc files by dropping spectra (#87)
- Remove network call from model-related code
- Support
.znc
input (and STSR) inmira2nc
(#84)
- Add VoodooNet version to output file
- Add
source_file_uuids
attribute tomwr_single
andmwr_multi
- Catch mwrpy exception
- Fix brightness temperature plotting
- Use revised mwrpy functions
- Support CL61d and PollyXT serial numbers
- Fix CL61d zenith angle
- Improve CS135 reader
- Support Parsivel from Campbell Scientific CR1000 datalogger
- Fix subtitle of the second plot in
compare_files
(#82)
- Add support for
cs135
- Add option to give ceilometer model to ceilo2nc
- Update fileformat.rst
- Fix reading of truncated lines in Parsivel
- Support input files as list in mira2nc (#81)
- Improve duplicate timestamp handling in HATPRO reader
- Extend mwrpy processing to all sites
- Fix
mwr-multi
time units
- Re-release due to PyPI failure
- Add potential temperature plot meta
- Improve global attributes
- Fix lwp plotting
- Implement mwrpy products
- Support more values in Parsivel telegram
- Change
lwp
unit tokg m-2
- Write CHM15k serial number to output file
- Allow unknown values is Parsivel telegram
- Mask unrealistic
der
values - Split
disdrometer2nc
intoparsivel2nc
andthies2nc
- Support more Parsivel format variants
- Support Python 3.11
- Make Radiometrics reader more flexible
- Read IWV from Radiometrics
- Accept nonzero but constant
azimuth_velocity
- Handle masked
zenith
andazimuth
values
- Improve
mira
global attribute parsing - Allow inconsistent
ovl
inmira
data
- Add
galileo
clutter screening
- Plot wind direction with dots
- Add
galileo
cloud radar processing
- Add fallback for
rainfall_rate
- Mask
nan
values in weather station data - Adjust
rainfall_amount
plot
- Add weather station processing
- Replace
rain_rate
withrainfall_rate
- Harmonize metadata definitions
- Migrate model-evaluation documentation
- Use more specific exceptions in PollyXT handling
- Update
cloudnetpy-qc
version requirement - Add rv-polarstern pollyxt variables
- Update LICENSE
- Add
atmos_utils.py
to get rid of cyclic import - Use human-readable
pylint
problem names
- Fix mask in scaled
der
variables - Change
ier
unit to m - Write
liquid_prob
to categorize file - Add references to
categorize
,ier
andder
files
- Avoid crashing when different number of hatpro
.LWP
and.IWV
files
- Use
voodoonet
for improving liquid detection - Simplify
find_liquid
function - Fix bug in screening function with 3d data
- Fix disdrometer metadata
- Use Python3.10 features
- Update Python requirement to 3.10
- Remove pytz
- Improve disdrometer product writing
- Check for empty time vector
- Use
sldr
for insect detection - Mask invalid parsivel data values (#68)
- Fix bug causing IndexError in melting layer detection
- Allow scalar variable
nave
values to change between concatenatedmira
files
- Fix parsivel
number_concentration
units to pass cfchecks
- Migrate model-evaluation to cloudnetpy
- Raise ValidTimeStampError from disdrometer processing
- Remove duplicate timestamps from disdrometer data
- Adjust potential melting layer temperature range calculation
- Deprecate general.py module and RadarArray class
- Add option to ignore variables from the concatenation
- Fix to work with older BASTA files
- Avoid classifying lidar-only signals as ice close to surface
- Allow sample_duration to vary
- Use
rpgpy
to readrpg-fmcw-94
files
- Check that files to concatenate have same values in variables
- Write SLDR
long_name
attribute to categorize file - Test with Python 3.10
- Fix error when no overlapping timestamps in categorize
- Support inconsistent time vector in HATPRO files
- Improve HATPRO and PollyXT error handling
- Add standard name for IWV
- Adjust copernicus outlier screening
- Change
solar_azimuth_angle
tosensor_azimuth_angle
- Add support for Copernicus cloud radar
- Optimize HATPRO binary file reading speed
- Support HATPRO *.IWV files
- Adjust plotting parameters of RPG radar
- Restore insect probability
- Use fallback pollyXT backscatter channel
- Add sorting of
basta
timesteps
- Add solid and total rainfall rate (#53)
- Add ice effective radius product (#51)
- Add droplet effective radius product (#50)
- Run tests on pull request
- Skip corrupted profiles in CL51 files
- Add missing units
- Test Windows and macOS
- Test Python 3.10 support
- Fix code formatting
- Cast
parsivel
metadata to floats
- Allow
rpg-fmcw-94
latitude and longitude values to vary - Raise error if only one valid
mira
timestamp
- Drizzle without spectral width
- Minor fixes
- Bug fix
- Bug fixes
- Adds support for
chm15k
ceilometers that containbeta_att
instead ofbeta_raw
- Separates test-dependencies in
setup.py
- Fixes myriad type hints
rpg-fmcw-94
fixes:
- Does not crash if elevation angle missing
- Sorts timestamps and removes duplicates
- Adds screening of small
rpg-fmcw-94
width values.
- Fix chm15k(x) source attribute
- Add HALO Doppler lidar to
instruments.py
- Add Radiometrics support
- Use the same plotting routines for current and legacy files
- Return dimensions of generated images
- Adds timestamp sorting and duplicate removal for
mira
- Raises custom exception from bad model file
- Removes duplicate
hatpro
timestamps
- Sort and remove duplicates from Vaisala cl31/51 data
- Correctly classify first layer as ice
- Fixes bug in freezing region determination
- Fix bug in model plotting
- Lidar / radar data gaps removed from the time array
- Data gaps shown as vertical grey bars in classification / status plots
- Level 2 products harmonized against legacy files and netCDF validator
- Improved melting layer detection
- Improved drizzle / insects classification
- Detection status variable to match legacy files
- Minor fixes to plotting and classification file metadata
- Removes quality control from CloudnetPy package
- Adds speckle filter to BASTA data
- Removes classification results from profiles without any lidar data
- Uses Python 3.8 and newer. Older Python versions are not supported from now on.
- Updates categorize file:
- Fixes netCDF metadata
- Interpolates lidar data using nearest neighbor
- Adds 1px melting layer when not detected from data
- Harmonized
hatpro
processing
- Screening of
mira
files with deviating height vector - Screening of
mira
profiles with deviating zenith angle - snr limit option to
pollyxt2nc
- Refactored radar processing
instruments.py
module- Minor fixes to global attributes
- Improved tests
- Deprecated
keep_uuid
option
- Fix processing of old
chm15k
ceilometers
- Minor tuning of the ceilometer screening method
- Improved ceilometer data screening
- PollyXT support
- Harmonized lidar files
- Avoid crash in
update_nc
if invalid nc file - QC adjustment
- Custom exception for disdrometer files that can not be read
- Initial support for
Parsivel2
andThies-LNM
disdrometers - Quality control adjustments
- Adds more contrast to ice clouds
- Fixes processing of
mira
files without geolocation attributes
- Exceptions module
- Small fixes
- Small fixes
- Support for Vaisala CL61-D ceilometer
- Function to efficiently append data to existing netCDF file
- HATPRO timestamp sorting and time unit fix
- Small bug fixes
- Include missing config files
- Quality control routines as a part of CloudnetPy installation package
- Small fixes
- Improved classification of insects
- 100 m minimum requirement for liquid layers
- Bug fixes
- Explicit
_FillValue
attributes - File format documentation
- Filter for stripe-shaped radar artifacts
- Improved error messages and logging
- Small bug fixes
- Filtering of bad quality HATPRO profiles
- 1st range gate artifact removal from RPG radar data
- Bug fixes
Fixes ct25k
processing
- Store
height
in radar files and use in plots - Bug fixes
- Save calibration factor and site altitude in
lidar
file - Check for invalid model files
- Bug fixes
- Takes ceilometer calibration values as argument to
ceilo2nc
.
- Optional time stamp validation for Vaisala ceilometers
- Screening of invalid HATPRO time steps
- Plotting improvements
- Bug fixes
- Fix
palaiseau
andlindenberg
chm15k calibration factors - Improve
mwr
plots
- Cloud top and base variables to classification file
- Support for incomplete model files
- Support for concatenating
NETCDF4
formatted files - Bug fixes, minor method improvements and refactoring
- Fixes bug that misplaced RPG cloud radar time array
- Bug fixes to HATPRO conversion
- Fix classification to work with radars without
LDR
andwidth
- Fixes a bug that prevented file to be closed properly.
This Release:
- Adds support for BASTA cloud radar
- Adds support for HATPRO binary .LWP files
- Fixes
units
oftime
variable - Fixes several smallish issues and bugs
- Adds loads of typehints and refactoring
- Better fix for the MIRA timestamp issue
Fixes bug that raised error if the last MIRA timestamp was at 24:00.
- Library code for concatenating netCDF files
- Option to provide folder name containing
.mmclx
files tomira2nc
function.
- Optional date parameter to mira2nc
- Check that all profiles in a MIRA file have identical date
- Small fixes
- Liquid water path plotting bug fix
Function for creating images from the legacy files for the data portal
- Optional
date
parameter for rpg2nc to validate date in the input files - MWR plotting for operational processing
- Bug fixes
- Optional
uuid
parameter to processing API functions. - Lindenberg ceilometer calibration value
- Minor fixes
This release fixes bug in the RPG timestamp to date conversion.
This release adds support for RPG Level 1 V4 files
- replace global attribute "source" with "source_file_uuids" for categorize file and level 2 products to enable provenance on the data portal
- add more references to global attribute "references"
- minor fixes
- This release fixes a bug that causes rpg2nc reader to fail with Python 3.8.
- This release adds the required modifications and updates from the JOSS review process.
- This release fixes the bug #9
- This version adds option to omit title from plotted figures.
Version 1.1.0
adds bug fixes and minor changes to high-level API functions:
- Option to keep existing UUID
- UUIDs as return values
This is the first CloudnetPy release under actris-cloudnet organization account. The commit history has been truncated. The original repository, which is no longer updated, contains full (and messy) commit history and can be accessed on https://github.com/tukiains/cloudnetpy-legacy.