forked from floybix/hydromad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
385 lines (224 loc) · 12.2 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
Changes in Version 0.9-15 (in development)
o gr4j parameters can now be transformed to improve identifiability
o fixed several problems caused by the change in behaviour of filter()
introduced in R 2.13.2.
o added deconvolution of unit hydrograph (deconvolution.uh)
o added code to apply variable event-based time delay to time series (adjVarTd)
o added non-integer time delay estimation
o added fitByCMAES
o added fitByNSGA2
o added rotatedSampling
o if return_state is specified, state variables from SMA can be used for calibration
Changes in Version 0.9-9
o fixes for gr4j model based on comparison to reference
implementation (xls). Contributed by Joseph Guillaume.
o fixed convertFlow() to or from "metres".
o updated list of objective functions in ?hydromad.stats
Changes in Version 0.9-8
o renamed 'hydromad' vignette to 'hydromad_paper' (build problems).
o bug fix for preInterEventDuration().
o updates and docs for feasible set / GLUE stuff.
o make .9/.1 split in gr4j an option.
o remove strict dependency on 'dream' package since it is not on CRAN.
Changes in Version 0.9-7
o defineFeasibleSet() works now, along with a new argument 'glue.quantiles'
which is also now an argument to predict() and update().
The help pages have been updated.
o new vignette("hydromad").
Changes in Version 0.9-6
o glue.hydromad() has been revised and renamed to defineFeasibleSet().
o arguments to the function armax.inverse.sim() have changed, such that
sma = "armax.inverse" can be used for baseflow filtering. See the help.
o fix bug in simulate(): additional empty values were returned.
o remove functions byDays(), byYears(), bySecs(), tsCleanup(), autocorrTime().
o revised catchment area of Queanbeyan data from 506 to 490 km^2 (from BOM).
Changes in Version 0.9-5
o summary() and runlist() were failing on results from simulate().
o updated to use new version of 'car' package.
o fixed bug in predict() with feasible sets.
o xyplot(feasible.bounds = TRUE) now works on log scales too.
o xyplot() now run on hydromad objects which have not been fitted.
Changes in Version 0.9-4
o fixed error in gr4jrouting with x4 = 1.999999999.
o fixed error in glue.hydromad.default.
Changes in Version 0.9-3
o support for feasible parameter sets: use glue.hydromad() on results
from fitBySampling() or fitByDream(); then xyplot/fitted/predict/etc.
Changes in Version 0.9-2
o buildObjectiveFun() renamed to buildTsObjective().
o new function buildTsLikelihood().
o new function event.xyplot() with methods for formula, hydromad and runlist.
o new SMA "intensity".
o the residuals() method can now transform the data before taking residuals.
o the default hydromad.options("optim.method") is now "PORT" (fitByOptim).
o one can now pass 'Q' to hmadstat() to pre-evaluate (cache) statistics.
o the 'item' argument to observed() has been re-named to 'select'.
o some fitBy...() functions were failing if the objective returned NA.
o expuh.ls.fit() and expuh.sriv.fit() should now refit non-physical
solutions properly.
Changes in Version 0.9-1
o all the fitBy...() methods now maximise rather than minimise.
o nseStat() is the new name for fitStat(); the old name is now deprecated.
nseStat() returns "R squared": 1 - sum((Q-X)^2)/sum((Q-ref)^2)
o the default objective function changed (~ r.sq.sqrt + r.sq.monthly...)
o new model GR4J: functions gr4j.sim() and gr4jrouting.sim().
o simulate() and other functions using parameterSets() were doing too
few samples in the method "all.combinations".
Changes in Version 0.9-0
o NOTE: major changes that will break existing code (see below).
o new function buildObjectiveFun().
o objective functions can now include expressions which will be evaluated
once and cached for efficiency by calibration/simulation functions.
See ?hydromad.stats
o fitStat() now returns, typically, sum((Q-X)^2)/sum((Q-ref)^2)
whereas it used to return 1 - this. So "R squared" is now
calculated as ~ 1 - fitStat(Q,X).
o tsFitStat() has been removed as fitStat() now automatically merges
time series and its other functionality has been taken over by
buildObjectiveFun().
o fitBias() has been removed in favour of hmadstat("rel.bias").
o the 'offset' argument to fitStat() has been removed; in particular log
transformations will not have an automatic offset added unless you use
hmadstat("r.sq.log").
o hydromad.options("stats") has been removed in favour of hydromad.stats().
o eventseq() now takes arguments 'inthresh', 'inx', 'indur', 'extend' and
'continue'. The 'inter' argument, which was deprecated, has been removed.
o new function eventsExplorer(), a graphical user interface.
o fitByOptim() now sets control$parscale from the initial parameter values.
Changes in Version 0.8-7
o the default log-likelihood function (hydromad.options("loglik")) changed.
o optimtrace() for Dream results now avoids a problem with objective values.
(not an issue with runs generated from dream >= 0.3-2).
o summary.runlist() now passes on further arguments to summary() (or FUN).
o the summary() method for hydromad.runlist now has with.hydrostats = FALSE.
Changes in Version 0.8-6
o new function optimtrace() to extract history of fitting process.
o the 'elitism' option to SCEoptim() now defaults to 1 (linear weights).
o fitByOptim() now handles boundaries differently, perhaps avoiding errors.
Changes in Version 0.8-5
o statistics are now managed by new functions hydromad.stats()
and hmadstat(). The use of hydromad.options("stats") is now
deprecated.
o statistics and objective functions are now represented as
functions rather than formulae. Formulae can still be
specified for the 'objective' argument, for convenience.
o changed tsFitStat() to calculate 'ref' as mean(trans(obs))
rather than trans(mean(obs)), as was always intended.
Also fitStat() now removes any NAs introduced by 'trans'.
o the coef()<- assignment method has been removed.
o new update() method for runlists, which simple uses lapply().
Changes in Version 0.8-4
o revised statistics.
o new method "PORT", based on nlminb(), for fitByOptim().
o changes some default options for SCEoptim() and fitBy*().
Changes in Version 0.8-3
o new power and hyperbolic forms of the CMD model,
contributed by Jarkko Koskela.
o added hydromad.options("loglik"), used by fitByDream() and
a new logLik() method.
o new function fitByOptim1(), for optimising a single parameter.
o new function fitDbmToPeaks() for use with sma = "dbm".
o fixed error when using rfit methods with "expuh" routing.
o fixed error when using coef() on a runlist.
Changes in Version 0.8-2
o new function fitByDream(), using the dream package.
NB: this uses a likelihood function, not the objective function.
o the fitting functions now store the result from their
respective optimisation functions in the model object as "fit.result",
and fitByOptim and fitBySampling now record the objective over time.
o fitByOptim, fitBySCE, fitByDE all now have a vcov argument,
default FALSE, to estimate the parameter variance-covariance matrix.
o xyplot() applied to a hydromad.runlist now recognises the 'scales'
argument (it was erroneously ignored previously).
Changes in Version 0.8-1
o fixed the "r.sq.monthly" statistic (it gave an error).
o added new statistics "r.sq.smooth7", "ar1" and "X0", and
fixed "X1" and "U1" (they threw an error).
o summary() now gives a warning for NaN stats, not an error.
o new function findThresh() and correponding argument 'n' to
eventseq(), to identify a given number of events.
o arguments to eventseq() and eventapply() have changed.
o estimateDelay() now has a 'negative.ok' argument.
o the setting 'series = 1' to expuh.sim() now places the "s"
component in parallel, rather than the "q" component.
o 'HydroTestData' now has a (POSIXct) 3 hourly time index.
Changes in Version 0.8-0
o the "bucket" SMA now has a C code back-end.
Changes in Version 0.7-3
o the update() method now has a 'newpars' argument, to supply parameter
values as a named vector rather than a series of named arguments.
o the summary() method now takes a 'stats' argument, and definitions of
these are looked up in hydromad.options("stats"). The default set of
stats is given (as a set of names) in hydromad.options("summary.stats").
o improved the "tutorial" vignette.
o improved examples for SMA models.
Changes in Version 0.7-2
o time series data is now stored as 'zooreg' rather than 'ts',
and fitted(), residuals(), predict() will generally return 'zooreg'.
The simulation functions will keep to the format of their input data.
o xyplot() methods for 'hydromad' and 'runlist' have been rewritten.
o the package now depends on the new version of lattice, and therefore
depends on R version 2.11.0 or later.
Changes in Version 0.7-1
o column names are retained in eventapply, it now has a 'simplify'
argument, and it just generally works better.
o 'summary' with the 'breaks' argument now returns a zoo object
rather than a data.frame, which makes plotting easier.
o fixed bug in print.summary.runlist
Changes in Version 0.7-0
o the mass balance term 'c' in cwi.sim is now called 'scale'.
o arbitrary arguments for the model simulation function(s)
(i.e. objects which are not to be treated as model parameters)
may now be passed to 'hydromad'.
o new power law routing 'powuh'.
o new SMA 'awbm'.
o the 'summary' method for 'runlist' is now much simpler and does not
include parameter values (as the 'pars' argument did previously).
Instead a 'coef' method for 'runlist' returns the parameter values.
o 'summaryOrders' removed, just use 'summary'.
o fixed another case of hydromad() failing if 'Q' was not given in DATA.
o renamed 'eventAttributes' to 'eventinfo'.
o 'width' parameter for 'runoffratio' SMA now defaults to 30.
o more complete help pages and examples.
Changes in Version 0.6-6
o the CMD and snow models now run C code when return_state = TRUE.
o fixed a bug in simulate() and fitBySampling() for models with only
one (or zero) free parameters.
o coef<-() method now has an 'all' argument, allowing free parameters
to be easily updated inside an optimisation / simulation loop.
Changes in Version 0.6-5
o fixed the case where hydromad() failed if 'Q' was not given in DATA.
Changes in Version 0.6-4
o snow.sim now has a C code back-end.
o parameterSets (used by fitBySampling etc) now generates a regular
sequence along each parameter range, rather than using quantile().
Changes in Version 0.6-3
o new SMA "snow" -- as function snow.sim() -- from Jarkko Koskela.
o SMA "runoffratio" now has threshold and mass balance parameters.
o class of hydromad objects is now c("hydromad.<sma>", "hydromad").
o the 'fixed.ar' argument to armax.sriv.fit now works
(and this is used by expuh rfit methods too).
o hydromad.options("prefilter") now has 3 hard-coded prefilters.
The 'prefilter' argument is now allowed to be a prefilter-generating
function (function(DATA)).
o more information about fit results is printed.
Changes in Version 0.6-2
o armax.sriv.fit() now takes an argument fallback (default TRUE),
to return the current best result if the matrix cannot be solved.
o predict(return_components = TRUE) didn't work.
Changes in Version 0.6-1
o armax.sim() (and therefore predict()) takes return_components argument.
o new simple SMA "runoffratio" - and function runoffratio.sim().
(it scales P by observed flow, so can not be used for prediction).
o coef() can now be assigned to.
o update(model, sma = ...) changes the SMA and resets its parameters.
o changed default hydromad.options("inverse.rel.tolerance") to 1/1000.
Changes in Version 0.6-0
o "uh" routing renamed to "armax".
o new "lambda" routing option.
o better simulation of third order transfer function models.
o unit tests for transfer functions.
Changes in Version 0.5-4
o event.clusters() renamed to eventseq()
o functions getU() and getP() removed;
use fitted(U = TRUE) and observed(item = "P").