************************************************** * * * lmomRFA package news * * * ************************************************** Version 3.8 2024 Sep 29 o Corrected invalid URL in help file "lmomRFA-package". Version 3.7 2024 Sep 25 o [invisible to users] Fortran source code from package "lmom" is now copied from "lmom" version 3.1. Version 3.6 2023 Aug 29 o Fortran source files rearranged, to make it clear which routines are copied from package "lmom", now specifically "lmom" version 3.0. o [invisible to users] Cleanup of package "lmomRFA"'s own Fortran code: modifications to avoid warnings from CRAN's compiler (GCC 12.2.0) about "Fortran 2018 deleted features"; specific names of intrinsic functions changed to generic. o Documentation of "regdata" now includes definition of L-CV. Version 3.5 2023 Feb 19 o New vignette "RegSim". o In regsimq(), regquantbounds(), and sitequantbounds(), there are changes in calculation methods for accuracy measures (RMSEs and error bounds). For the relative RMSE of the regional growth curve (computed by regsimq()), the absolute RMSE of the regional growth curve (computed by regquantbounds()), and for RMSEs and error bounds of quantiles at sites not used in regional estimation (computed by sitequantbounds() with 'index' and 'seindex' specified), the computational method is different from that used in previous versions of the package. The new approach is fully defined in vignette "RegSim". It uses more information from the simulations and should be more accurate, though results are typically little different from prior versions. The calculation method for RMSEs and error bounds of quantiles at sites used in regional estimation (computed by sitequantbounds() with 'index' not specified) is unchanged. Note also that in regsimq(), version 3.4, the relative RMSE of the regional growth curve was computed incorrectly. The relative RMSE was underestimated, though typically only by a small amount. The RMSE returned by regquantbounds() is a scaled version of the relative RMSE computed by regsimq() and was similarly affected. A fix of this issue was superseded by the change in calculation method noted above. o regsimq()'s return value gains elements "nrep", "true.asgc", and "sim.rgc", but no longer has an element "sim.rgcratio". o In sitequantbounds() when 'index' and 'seindex' are both specified, the distribution of the relative estimation error of the index flood is now assumed to be gamma rather than lognormal. This is felt (by the package maintainer) to be more realistic for most practical applications of regional frequency analysis. o [invisible to users] Changes to internal Fortran code: * Added routine SAMLM (from package "lmom", version 2.9). * Removed routines SAMLMU, SORT. * Minor changes to routines REGTST, LMRGPA. o Fixed: print.regsimq() of the result of a call to regsimq() with 'save=FALSE' would not print the number of simulations. o Fixed: regsimq() would give an error if 'boundprob' had only 1 element. Version 3.4 2022 May 29 o In the value returned by regfit(), component 'qfunc' (a function) now has a smaller environment and uses less memory. o Documentation of regsamlmu() notes that it gives different results from the corresponding program in the LMOMENTS Fortran package, version 3.04. o Fixed: regsimq() was computing the relative RMSE for the regional growth curve incorrectly. The error was small, typically less than 1%, and always in the positive direction. Version 3.3 2019 Dec 5 o Fixed: evplot.rfd(), when adding a site quantile function to an existing plot, would plot an incorrectly scaled version of the quantile function (it would plot the unscaled quantiles of the regional frequency distribution rather than applying the appropriate site-specific scale factor ("index flood")). o [invisible to users] Internal code no longer assumes that class() of a matrix has length 1 (would have caused error in R version 4.0.0). Version 3.2 2019 Mar 10 o Fixed: in cluinf(), incorrect test of whether argument 'merge' could be the result of a call to cluagg(). Version 3.1 2017 Aug 1 o "Native routines" are now "registered". o The simulation procedure used in regtst() involves fitting a kappa distribution to the regional data. The kappa fit may fail, in which case a generalized logistic distribution is used instead. This has always been the case, but is now documented. o Fixed: regtst.s() would give an error for a region containing a single site. Version 3.0-1 2015 Feb 1 o Maintainer's email address changed. No changes to code. Version 3.0 2014 Jan 13 o Increase in major version number, occasioned by some significant recent changes: * Fix to regsimq() noted below: earlier versions of the package would give incorrect results, though errors were typically less than 10%. * Change to computation of relative RMSE in version 2.5. Results returned by regsimq() in earlier versions of the package should be regarded as unreliable. o Now explicitly imports standard package "stats", and functions from standard package "graphics". o In regfit() and regsimq(), the search path used to find the functions specified in the arguments regfit(dist=) and regsimq(fit=) is now explicitly defined. (The search path was previously undocumented, and was not consistent across all prior versions of the package.) o regfit() and regsimq() give more informative error messages when the functions specified in their respective arguments 'dist' and 'fit' cannot be found. o regquantbounds() and sitequantbounds() should now never return negative error bounds. Instead, NA or Inf is returned for error bounds corresponding to negative or positive estimated quantiles, respectively. o regsimq() is faster, by about 25% in the author's tests. o Fixed: regquantbounds() and sitequantbounds() would give negative values for RMSEs corresponding to negative estimated quantiles. o Fixed: regsimq() computed incorrect values in its return value component "relbounds.by site". o Fixed: sitequantbounds(), when 'sitenames' is missing and 'index' has names, is documented to use the names of 'index' as the site names but did not in fact do so. Version 2.5 2013 Jun 17 o Now depends on package lmom, version >= 2.0. o New function regtst.s(). o In regsimq(), the computation of relative RMSE of estimates of quantiles of the regional growth curve has been modified, and is now more consistent with the error bounds for different probabilities. The interpretation of the relative RMSE has not changed: it is still the relative RMSE of the estimated regional growth curve regarded as an estimator of a randomly chosen site growth curve. o In 'regsimq(...,save=TRUE)', the matrix that is component 'sim.rgcratio' of the return value now has row names (derived from the value of the function's argument 'f'). o Component "D" of the return value from regtst() now has names (the site names). o LICENSE file no longer included in package, to avoid a NOTE when building the package for CRAN under R version 3.0.0. The license can be found at http://www.eclipse.org/legal/cpl-v10.html. Version 2.4 2012 Jan 23 o The package uses lazy loading of data, so its datasets (Appalach, Cascades, Maxwind) can be accessed without first calling data(). o regtst() now responds more quickly to a user interrupt (e.g. pressing Esc from the R Windows GUI). o Fixed: regtst() would give an error when the discordancy measure could not be calculated because the covariance matrix of the sample L-moment ratios (matrix A of Hosking and Wallis, 1997, eq. (3.2)) was singular. Version 2.3 2010 Aug 21 o regsimq() no longer gives an error when asked to compute the estimation accuracy for an infinite quantile; instead it returns NaN values in the relevant places (i.e., elements corresponding to infinite quantiles in the "rel.RMSE" and "rel.bound..." variables of the data frames in components "relbounds.rgc" and "relbounds.by.site"). o Fixed: when a data frame with only 6 columns was supplied as argument 'regdata' of regtst(), and summary() was called on the resulting object of class "regtst", an error would occur ("Error in quawak ... missing values in parameter vector"). Version 2.2 2009 Nov 16 o evplot.rfd() gains an argument 'add'. o In the return values of regquantbounds() and sitequantbounds(), column names of "bound" items no longer contain an embedded space: their format is "bound.0.05" etc. o The data frame supplied as argument 'regdata' of regtst() now need have only 6 rather than 7 columns; if it does, some output quantities will not be calculated. (Originally claimed as a feature of Version 2.0, but not actually implemented therein.) Version 2.1 2009 Jul 10 o evplot.rfd() is now exported from the package namespace. o Fixed: as.regdata() would give an error when its argument 'x' was a data frame with default column names ("V1, "V2", etc.). Version 2.0 2009 Apr 30 o This version of the package aims to enable straightforward computation of all the procedures in chapters 3-6 of Hosking and Wallis (1997). To that end there are several new functions: * regavlmom() computes regional average L-moments. It is similar to reglmr() but its interface is more consistent with other functions in the package. * regfit() fits a regional frequency distribution to a regional data set. * regsimh() runs simulations to estimate the distribution of heterogeneity and goodness-of-fit measures. * regsimq() runs simulations to estimate the variability of quantile estimates from a regional frequency distribution. * regqfunc() and siteqfunc() return the regional growth curve and the quantile functions for individual sites, respectively, from a regional frequency distribution fitted by regfit(). * regquant() and sitequant() directly compute quantiles of the regional growth curve and of distributions for individual sites, respectively, from a regional frequency distribution fitted by regfit(). * regquantbounds() and sitequantbounds() compute error bounds for the regional growth curve and for quantiles at individual sites, respectively, from a regional frequency distribution fitted by regfit(). * print.rfd(), print.regsimh(), and print.regsimq() are print methods for the objects returned by regfit(), regsimh(), and regsimq(), respectively. o Class "regdata" is introduced as a standard structure for storing L-moments and other key data for the sites in a region. o New function as.regdata() coerces suitably structured data frames to class "regdata". o New function evplot.rfd() is a method for generic function evplot() in package 'lmom'. It facilitates graphical display of the results returned by regfit(), regquantbounds(), and sitequantbounds(). o regsamlmu(), with suitable values of its arguments, now returns an object of class "regdata". o Argument 'regdat' of regtst() is renamed 'regdata', and is expected to be of class "regdata" (after coercion if necessary). o reglmr() is deprecated; regavlmom() is the recommended replacement. Version 1.0 2009 Mar 1 o First public release. Functions included: cluagg cluinf clukm print.regtst print.summary.regtst reglmr regsamlmu regtst summary.regtst Data sets included: Appalach Cascades Maxwind