_N_e_w_s _f_o_r _p_a_c_k_a_g_e '_p_o_m_p'

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._1_2:

        • Some changes have been made to the use of random numbers in
          some codes (the stochastic simulations in ‘gillespie.sim’ and
          the resampling in the particle-filtering codes).  These
          changes will mean that calculations performed before will not
          be reproducible in perfect detail, but will be statistically
          equivalent.

        • Minor changes in C codes to obviate warnings generated by T.
          Kalibera's ‘rchk’ checks.

        • The rare and fascinating “Bug of St. Patrick” has been fixed.
          Thanks to Carles Breto for finding the bug and helping to
          isolate it.

        • More informative error messages are generated when ‘dmeasure’
          returns a non-finite likelihood in any of the particle
          filtering codes.

        • Some streamlining of codes.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._1_1:

        • Callable routines are now registered.

        • The functions ‘bake’, ‘stew’, and ‘freeze’ now preserve
          information about the system time used in computation as an
          attribute of the returned object.  In addition, these
          functions store information about the RNG settings.

        • Some documentation improvements, courtesy of Sebastian Funk.

        • Various documentation improvements.

        • More verbosity is provided with ‘verbose=TRUE’.

        • Better handling of ‘pomp’'s ‘times’ argument.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._1_0:

        • New ‘logLik’ method for ‘pmcmcList’ objects.

        • The deprecated option to supply a matrix or numeric vector as
          the ‘data’ argument to ‘pomp’ have been removed and an error
          is now generated.  ‘data’ must be provided as either a data
          frame or an object of class ‘pomp’.  See ‘?pomp’ for details.

        • The deprecated ‘skeleton.type’ and ‘skelmap.delta.t’
          arguments to ‘pomp’ have been removed.  Using these arguments
          will now generate an error message.  The correct method of
          specifiying the deterministic skeleton is now explained in
          the help pages (‘?pomp’).

        • Source code fixes to eliminate warnings during compilation.

        • Improved test suite.

        • Minor documentation correction.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._9:

        • During particle filtering, when non-finite ‘dmeasure’ values
          are generated, an error is generated and the offending
          parameters, states, data, and time are reported.  In methods
          that use parameter transformations (‘transform=TRUE’), the
          reported parameters were on the transformed (estimation)
          scale, which can be confusing.  The error message now gives
          the parameters on the natural (model) scale.

        • Modified ‘src/ssa.c’ to fix UBSAN errors.

        • C codes have been modified to take advantage of changes to
          the R API (R SVN REVISION 71180).

        • A bug in ‘mif2’ arising when filtering fails in the final
          timestep has been fixed.  In this case, when all particles
          are deemed inconsistent with the data, we use an unweighted
          mean (with a warning) in place of the default weighted mean.

        • C codes have been modified to take advantage of changes to
          the ‘R’ API (R SVN REVISION 71180).

        • Modified ‘src/ssa.c’ to fix UBSAN errors.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._8:

        • There is a new option, ‘shlib.args’, to ‘pomp’.  This allows
          arbitrary options to be passed to the compiler when C
          snippets are used.  In particular, one can link a library of
          C snippets against a precompiled static library.

        • In Sobol' sequence generation (‘sobolDesign’,
          ‘profileDesign’), we now use the suggestion of Joe & Kuo
          (2003) to choose a better sequence start point.

        • The generation of Sobol' sequences (‘sobolDesign’,
          ‘profileDesign’) is now performed using the ‘NLopt’ routines
          written in C instead of the original TOMS 659 FORTRAN codes.
          The copyright notices are located in the source code.

        • The stochastic simulation algorithms underlying the Gillespie
          and K-leap methods (‘gillespie.sim’, ‘kleap.sim’) have been
          refactored in C.  In addition, errors due to accumulation of
          round-off error have been repaired.  The result will be more
          accurate, but somewhat slower when there are a very large
          number of reactions.

        • Fixed a bug in ‘plot’ on ‘pomp’ objects with more than 10
          variables to plot.

        • Refactored ‘rw.sd’ for greater stability.

        • Modified the “dacca” example to use C snippets.

        • Made Sobol' codes more robust.

        • Modified the demos to use best practices.

        • Further improvements to the test suite.  Code coverage is now
          100%.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._7:

        • Improvement of the test suite and of error messages.

        • Improve the ‘show’ and ‘print’ methods for ‘pomp’ objects.

        • Some internal refactoring.

        • Improve error messages for missing basic components.

        • Fix typos in one of the help-page examples.

        • Several obscure bug-fixes.

        • Add some references.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._6:

        • Major revisions to the package help pages and manual.  The
          separate documentation on C snippets and process-model
          plugins has been merged into the main ‘pomp’ help page, which
          now has comprehensive instructions on building a ‘pomp’
          object.

        • Update to the package help page.

        • New methods for the Ensemble Kalman Filter (‘enkf’) and
          Ensemble Adjustment Kalman Filter (‘eakf’) have been added to
          the package.

        • There is a new plugin for ‘rprocess’ called ‘kleap.sim’.
          This implements the so-called “K-leap method” of Cai & Xu
          (2007).

        • Major overhaul of error handling system and to error and
          warning messages.  Many more errors are now trapped and
          reported with more informative messages.

        • The matrix and numeric vector options for the ‘data’ argument
          to ‘pomp’ are now deprecated and will be removed in a future
          release.  In calls to ‘pomp’, ‘data’ should be either a data
          frame or a ‘pomp’-class object.

        • In ‘mif2’, it is now required that ‘Nmif>0’.

        • Redundant ‘bootstrap’ argument to ‘nlf’ has been removed.

        • Many improvements to the test suite to obtain better code
          coverage.

        • Fixed bugs that might arise in rare circumstances in
          ‘simulate’ and ‘eulermultinom’ functions.

        • Fixed a bug in ‘pompExample’.

        • Fixed several small, rare bugs found as a result of improved
          testing.

        • Fixed bug in specification of skeleton in pompExamples.

        • ‘pomp’ is no longer an S4 method.  Its new status as an
          ordinary function abbreviates and consolidates the code and
          simplifies the documentation.

        • A bug restricting access in C code to ‘userdata’ has been
          fixed.

        • Fixed bug in ‘pompExample(...,show=TRUE)’.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._5:

        • A better interface for specifying a model's deterministic
          skeleton is provided.  One specifies
          ‘skeleton=map(f,delta.t)’ for a discrete-time skeleton (a
          map) and ‘skeleton=vectorfield(f)’ for a continuous-time
          skeleton (a vectorfield).  The old arguments ‘skeleton.type’
          and ‘skelmap.delta.t’ are deprecated and will be removed in a
          future release.

        • The ‘pfilter’ help page has been improved.  Specifically, the
          discussion of filtering failures is better.

        • Miscellaneous improvements to the help pages.

        • ‘mif2’ no longer computes filter means.

        • The new argument ‘show’ of ‘pompExamples’ allows one to
          display the example code instead of executing it.

        • The minimum version of R supported is now 3.1.2.

        • ‘init.state’ now has the optional argument ‘nsim’.  Using
          this, one can request multiple initial state vectors per
          parameter vector.

        • ‘pfilter’ now uses less memory when it is asked to run at a
          single point in parameter space.

        • A bug associated with the ‘rw.sd’ argument to ‘mif2’ on
          Windows platforms has been fixed.

        • The ‘method="mif2"’ option to ‘mif’ has been removed.  Use
          ‘mif2’ instead.

        • The ‘particles’ method (rarely if ever used), has been
          removed to streamline the ‘mif’ codes.

        • The ‘method="mif2"’ option to ‘mif’ is now deprecated.  It
          will be removed in a future release.  Use ‘mif2’ instead.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._4:

        • Following the publication of the Journal of Statistical
          Software announcement paper, the ‘CITATION’ has been modified
          to include the appropriate citation.  Please use
          ‘citation("pomp")’ to learn about how to cite ‘pomp’
          correctly.

        • ‘conv.rec’ on the results of a ‘mif2’ computation now play
          nicely with ‘reshape2::melt’.

        • It is now possible to direct ‘pomp’ to place ‘Csnippet’ codes
          in a specified location.  This is accomplished via the new
          ‘cdir’ and ‘cfile’ arguments to ‘pomp’.

        • When several concurrent R processes attempt to simultaneously
          compile ‘Csnipet’ code from copies of a ‘pomp’ object on the
          same machine, a race condition exists.  This release fixes
          this by ensuring that ‘Csnippet’ codes are written and
          compiled in a process-specific directory.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._3:

     This release removes several long-deprecated features.

        • The ‘seed’ argument to ‘pfilter’ has been removed.  Use
          ‘freeze’ to obtain similar functionality.

        • The redundant ‘pars’ argument to ‘mif’ has been removed.
          Names of parameters to be estimated are taken from the
          nonzero entries of ‘rw.sd’.  Initial-value parameters are
          designated using the ‘ivps’ argument.

        • The old ‘parameter.transform’ and ‘parameter.inv.transform’
          arguments to ‘pomp’ have been removed.  They were superseded
          by the arguments ‘fromEstimationScale’ and
          ‘toEstimationScale’ in version 0.65-1.

        • Some internal changes to ‘mif2’ by C. Breto, in support of
          panel methods under development.

_C_h_a_n_g_e_s _i_n '_p_o_m_p' _v_e_r_s_i_o_n _1._2:

        • Bug fix: for POMPs with a scalar state variable, the
          ‘filter.mean’, ‘pred.mean’, and ‘pred.var’ methods dropped
          the singleton dimension of the respective arrays, in conflict
          with the assumptions of certain ‘plot’ methods.  This
          resolves issue #3.

        • Documentation improvements.  Specifically, the details of how
          step-sizes are chosen in the ‘euler.sim’,
          ‘discrete.time.sim’, and ‘onestep.sim’ plugins has been
          spelled out explicitly.  Also, incompleteness in the
          ‘sannbox’ documentation has been corrected.

        • Provide ‘filter.traj’ method for ‘pmcmcList’ objects.

        • Fixed a bug in ‘mif’ and ‘mif2’ when
          ‘cooling.type="hyperbolic"’ and ‘cooling.fraction.50=1’.

