- Added missing packages when compiling on Windows
- From this version, only keeping notes for major and minor version. Notes for patches are dismissed.
- Introduced spatial analogs with
PyTorch
and deep learning - Added a new class
Grid
and the Python APIAnEnGrid
- Added a new command line tool,
anen_transform
- Added a new option
--no-norm
for AI embeddings - Moved
Txt
class fromAnEnIO
to the lower level classGrid
- Migrated from C++11 to C++14 for
RAnEn
to avoid compilation error fromBH
anen_netcdf
can now accept reading from different subsets of observation and forecast stations.- Fixed the inconsistency when writing AnEn results generated from
AnEnSSEMS
- Added functionality for
anen_grib
andgrib_convert
so that input files can now be specified within a text file - Added new argument
--exclude-closest-location
for SSE - Added station subset by indices for
anen_netcdf
- Added
AnEnSSEMS
for matching stations. This addition has also been ported toRAnEn
.
- Added test time specification to C++ utility tools
- Added functionality to
CAnEnMPI
to deal with excessive processes
- Added multi-tokens to wind speed name conversion
- Fixed a bug when reading doubles with no decimal from an NetCDF file into R. The small error will be removed when reading.
- Added
RAnEn::readNc2
,RAnEn::readNcAttrs
,RAnEn::mergeList
- Added
recursive
toRAnEn::print.list
- Added functions to unwrap observations when saving test observations (C++)
- Fixed a bug for multi-variate analogs when NAN indices are present
- Moved 'RAnEn::schaakeShuffle' to
RAnEnExtra::schaakeShuffle
- Improve efficiency of AI inference
- Added reading root attributes to
RAnEn::readNc
- Added
RAnEn::formatForecasts
andRAnEn::sortStations
- Added debug printing when parameters are missing
- Added functionality to read
nc_STRING
- Added embedding support for 2-dimensional embedding (parameters, lead times)
- Added default embedding type
- Added complete messages
- Fixed a bug when reading configuration arguments with multiple tokens
- Separated AI models into an embedding model and a similarity model.
- Added OpenMP parallelization to embeddings
RAnEn::readConfig
now reads any*.cfg
file into a list.
- Added AI functionality to C++ utilities
- Add copy operators to classes
- 'RAnEn::alignObservations' has been changed to be silent by default.
- 'RAnEn::schaakeShuffle' can find proper index for shuffling and added parameters.
- Minor fix. When similarity value is NAN, do not copy any results to output.
- Added
RAnEn::writeNcVar
- Fixed partial reading check for station start and count
- Improve column-wise check
- Added
anen_netcdf
- Fixed missing weight problem in
anen_grib
- Fixed missing variable in
RAnEn::writeNetCDF
- Avoid printing too much information for length-of-1 list in
RAnEn::AnEn
.
- Added thread control
- Removed profiling current memory
- Added sorting capability to
RAnEn::formatObservations
- Added argument to read a subset of variables to
RAnEn::readNc
- Bug fixed in
RAnEn::formatObservations
when X and Y column names are used - Bug fixed in
RAnEn::writeNetCDF
whenStationNames
is empty
- Bug fixed. Analog values should not be saved when the similarity value is NAN. All other information (time and station index) will still be saved
- Added
AnEnMPI
- Improved
Profiler
and added more profiling information - Progress information will be displayed every 1%
- Improved documentation
- Changed
MPI_Init
toMPI_Init_thread
for OpenMP programs - Add progress information to AnEn computation
- Improved the distribution of files across nodes
- Added the regular expressions for forecast and analysis filenames separately
- Changed from
boost::regex
toboost::xpressive
- Added MPI support
- Fixed a bug when reading lat/lon from grib files
- Improved the file I/O functions in
RAnEn
- Improved the printing functions for
Forecasts
andObservations
- Added test and search period checks to avoid calculating analogs over empty time periods
- Changed the tutorial on generating operational analogs
- Improve the performance of
AnEnReadGrib
by avoiding reading entire files
- Added
RAnEn::generateSearchStations
- Updated document links
- Changed Underlying data structure from boost to pointer for better performance
- Introduced functionalities like checks of searching into future
- Reduced memory consumption when using the R API
- Changed several configuration names in R
- Some functions are deprecated
- R API changed
- Introduced auto generation of HPC work flows using
RAnEn::generateHPCWorkflow
- Fixed a bug during subseting observation times in
RAnEn::plotAnalogTimeSeries
- Added
operational
inRAnEn::generateHPCWorkflow
search_times_compare
automatically changed whenoperational
was used- Changed
RAnEn::writeConfiguration
fromifelse
to using the functionif
- Negative values in indices were removed by default. Added a parameter
debug
for backward compatibility. - Added function
RAnEn::formatObservations
- Updated the docker image
- Change
require
torequireNamespace
to avoid function name conflicts - Added
RAnEn::subsetStations
- Improve
RAnEn
name space management - Added
RAnEn::plotAnalogTimeSeries
- Changed default values for
Configuration
fromNA
toNULL
when it is necessary
- Added reading forecast circular parameters in `RAnEn::readForecasts
- Added station subset function
RAnEn::subsetCoordinates
- Minor document fix
- Added Github repository link on R documentation website
- Set up binder with RStudio and removed python notebooks
- Fixed environment issue for
RAnEn::verify
- Bug fixed in
RAnEn::plotAnEnSelection
- Updated the building process of
gribConverter
. - Changed the spread skill verification function to slicing by FLTs.
- Fixed a bug in checking the configuration object in R
- Added instructions for package citation
- Changed the implementation of
RAnEn::verifySpreadSkill
- Changed legal information
- Added checks and default values in
RAnEn::generateSearchStation
- Resolved issues in tests
- Added a convenient function
RAnEn::getAssociatedForecasts
- Used
magrittr
pipes to improve code readability - Added the printing method for R class 'Configuration'
- Added
RAnEn::generatePersistent
- Added function names when
Done
is printed
- Verification just became simpler. Added a caller function
RAnEn::verify
and helper functionRAnEn::showVerificationMethods
- Resolved a variable missing bug in
RAnEn::writeNetCDF
- Changed warnings of
CAnEnIO
fromcout
tocerr
- Reduced copies in
RAnEn::AnEnC2R
- Added garbage collection mechanism to R file I/O functions
- Resolved a naming bug in
RAnEn::schaakeShuffle
- Resolved a path bug in
RAnEn::readAnEn
- Added
RAnEn::writeConfiguration
- Added
ParameterCirculars
in functionRAnEn::writeNetCDF
- Changed C++ test verbose levels
- Improved documentation for
RAnEn::verifyBrier
andRAnEn::verifyThreatScore
- Improved the printing information for 'class: AnEn list'
- Added the beta function
RAnEn::schaakeShuffle
. - Added multiple variable support for
windFieldCalculator
. - Added support for
Forecasts
inRAnEn::writeNetCDF
.
- Added functions
toDateTime
,toForecastTime
,val2Col
,makeTransparent
, andplotBackground
. - Improved
verifyCRPS
. - Improved
RAnEn
function documentation. - Added identification for cycle time in C++ utilities.
- Bug fixed in checking functions in
RAnEn
. - Added grid checks in
gribConverter
for each file. - Made
classifier
the parameter forextendedSearch
only. - Improved website and tutorials/posts.
- Added slicing tool
fileSlice
. - Added R functions
writeNetCDF
,readForecasts
,readObservations
,readAnEn
,AnEnC2R
,verifyThreatScore
,verifyBrier
, andreadConfig
. - Improved visualization. Fix the x plotting range of
RAnEn
figures. - Changed
analogGenerator
code. Similarity output is sorted now.
- Added grid subset functionality to
gribConverter
for typeForecasts
. This function has been tested. - Fixed
RAnEn
installation script for C/C++ compilers. - Fixed
OpenMP
shared object issue forruntime_error
.
- Introducing SSE functionality based on classifiers. Search space can now be computed based on a classification map that only stations that belong to the same class will be considered when computing search space.
- SSE based on classification has been ported to R interfaces.
- Minor bugs fixed.
- Fix an indexing bug in
RAnEn
operational mode. - Fix a parallelization bug in the internal verification function
anen.mean
. - 'analogGenerator' accepts multiple test forecast files.
- Add partial reading feature in
fileAggregate
forSimilarity
andAnalogs
. - Improve efficiency of verification functions. Some missing functions have been resolved.
- Add
FLT_radius
parameter toRAnEn
- Add parameters to restrict the number of similarities to keep. This can be very helpful to reduce the memory required. The C++ parameter is
max-num-sims
and the R parameter ismax_num_sims
. - Change package name from
Parallel Ensemble Forecast
toParallel Analog Ensemble
. similarityCalculator
,analogSelector
,analogGenerator
now accept multiple configuration files.- Add
along
parameter check toAnEnIO
. - 'analogGenerator' accepts multiple search forecast and observation files.
- Add parallelization to verification functions.
- Add features to C++ tools that
similarityCalculator
andanalogSelector
now accept multiple file input. - Add proper wall time profiling in C++ tools
similarityCalculator
andanalogSelector
. - Change the profiling output messages.
- Add function
RAnEn::plotAnalogSample
andRAnEn::plotAnalogSelection
. - Add the feature for
RAnEn
to preserve standard deviations. - Add tests for R and C++ for similarity calculation and standard deviation calculation.
- Add verification functions.
- Change R interface input parameters to constant references.
- Bug fixed for the
RAnEn
configuration parameternum_nearest
andnum_max_search_stations
. - Bug fixed in
RAnEn::verifyCorrelation
. - Add mapping calculation feature to analog selector.
- Bug fixed for using weights.
- Bug fixed for using partial compare times from test and search. This was causing stack overflow.
- Change the onload message of
RAnEn
. - Add density limit parameter for
RAnEn::biasCorrectionInsitu
.
- Port
max_flt_nan
andmax_par_nan
parameters to R functioncompute_analogs
. - Update R and C++ document.
- Add R configuration
preserve_search_stations
toindependentSearch
as well. Now, bothindependentSearch
andextendedSearch
support this configuration. - Add
RAnEn::alignObservations
- Improve backward compatibility of R function
compute_analogs
. This function now returns the analog member index in the 4D observations, rather than in the 3D observations. - Add a cleaner version of configuration. Configuration now, by default, is the cleaner version. The old version can be accessed by using
advanced
parameter when generating a configuration. - Remove some of the post contents to reduce redundant information. Tutorials are now only hosted on binder.
- Add MPI implementation for "MPI_UNIVERSE_SIZE" to limit the number of child spawned processes.
- Add unique identifier in
SimilarityMatrices
andAnalogs
to distinguish the reason for the NAN value.
- Remove computing sds outside the loops when operational search is used.
- Add demo for using operational search.
- Performance improved for computing similarity.
- Add default value in
RAnEn
forconfiguration$test_forecasts
andconfiguration$test_times
. If they are not specified, they are copied fromconfiguration$search_forecasts
andconfiguration$search_times
respectively. - Add default value for
test-forecast-nc
inanalogGenerator
andsimilarityCalculator
. If they are not provided, the search file will be also used as a test file. - When MPI is used, the reading function should automatically detect whether the file can be accessed with parallel processes.
- Synchronize versions of all components.
- Add similarity computing methods including SeparateTestSearch, LeaveOneOut, and OperationalSearch. This has brought an significant addition to similarity calculation function features.
- Add automatic removal of the overlapping test and search times. For example, if forecasts are 3 days ahead, the historical forecast for yesterday will not be compared to the forecast of today even if the yesterday forecast is included in the search times (which is considered as a mistaken input from the user).
- Add R function
generateTimeMapping
.
- Refactor Similarity Calculation core function and improve readability.
- Resolve the potential bug in the function
biasCorrectionInsitu
. - Remove return_index option from computeSearchStations.
- Skip processing the similarity array if it is not preserved in the result.
- Update documentation.
- Update README file.
- Add MPI read functions for values only.
- Fix bug for MPI functions in reading.
- Add serial program limit to AnEn library.
- Add MPI read functions for strings.
- Speed up the station matching process.
- Reduce code size of the
computeSimilarity
function. - Resolve a potential bug in
computeSimilarity
and introduce a new parameterextend_observations
to this function. Now,extend_observations
is supported by bothcomputeSimilarity
andselectAnalogs
functions. - Minor changes to
RAnEn::biasCorrection
. - Introduce a new function for bias correction using a neural network.
- Change authors of the package.
- Update documentation.
- Change names of members from bias correction.
- Change import functions to suggested for
parallel
,nnet
, andpbapply
.
- Basic AnEn I/O functions.