News blog
pomp version 1.16 released
17 December 2017
pomp version 1.16 is now available on CRAN and is coming soon to a mirror near you. This release includes new features and bug fixes.
Highlights include:
 A new facility, gillespie.hl.sim, allows implementation of Gillespie’s algorithm for exact stochastic simulation of continuoustime Markov processes via a streamlined C snippet interface. The old facility for Gillespie simulations, gillespie.sim, now accepts C snippets for faster calculation of event rates. Thanks to Eamon O’Dea for this new functionality!
 The bug in
traj.match
, reported in issue #57 has been fixed. Thanks to Yue Wu for identifying and helping fix the bug!  An error arising when building pomp objects with Csnippets in certain Windows configurations has been fixed.
 Issue #56, in which covariate names are discarded when coercing a pomp object to a data frame, has been fixed. Thanks to Eamon O’Dea for reporting this bug!
See the package NEWS for more details.
pomp version 1.15 released
21 September 2017
pomp version 1.15 is now available on CRAN and is coming soon to a mirror near you. This release fixes errors that would have arisen in R version 3.5 due to new changes in the underpinnings of R.
Additionally, there has been one augmentation of the pomp C API: a new dmultinom
function for multinomial likelihoods.
See the package NEWS for more details.
pomp version 1.14 released
24 August 2017
pomp version 1.14 is now available on CRAN and is coming soon to a mirror near you.
This release fixes a bug in gillespie.sim
and removes the kleap.sim
plugin.
A new feature: the new argument hmax
to gillespie.sim
allows the user to specify the maximum step size that will be taken before covariates are evaluated.
The Kleap method has been removed because its accuracy on test problems is low and it is difficult to make it compatible with the pomp paradigm. In particular, it does not readily accomodate timevarying covariates in a sensible way, nor does it lend itself to simulations at prespecified times.
See the package NEWS for more details.
pomp version 1.13 released
17 July 2017
pomp version 1.13 is now available on CRAN and will make its way soon to a mirror near you. This is strictly a bugfix release. See the package NEWS for more details.
pomp version 1.12 released
19 April 2017
pomp version 1.12 is now available on CRAN and will make its way soon to a mirror near you. This is strictly a bugfix release. See the package NEWS for more details.
pomp version 1.11 released
01 March 2017
pomp version 1.11 is now available on CRAN. This release introduces one new feature, fixes some bugs, and improves the documentation.
New feature
The functions bake
, stew
, and freeze
now preserve information about the system time used in computation as an attribute of the returned object.
Another attribute stores information about the RNG settings used.
Other changes
 Some documentation improvements, including better documentation of the adaptive MCMC proposal (
mvn.rw.adaptive
), courtesy of Sebastian Funk.  More verbosity is provided with
verbose=TRUE
, especially during Csnippet building.  Better handling of the
pomp
times
argument, avoiding some potentially buggy behavior.  Internally, routines called by
.Call
are now registered.
pomp version 1.10 released
23 November 2016
pomp version 1.10 is now available on CRAN. This release removes some deprecated facilities and provides one new feature.
Deprecated facilities removed
 The deprecated options to supply a matrix or numeric vector as the
data
argument topomp
have been removed and an error is now generated.data
must now be provided either as a data frame or as an object of classpomp
. See?pomp
for details.  The deprecated
skeleton.type
andskelmap.delta.t
arguments topomp
have been removed. Using these arguments will now generate an error message. To specifying the deterministic skeleton, one now must use theskeleton=map()
orskeleton=vectorfield()
syntax. This is explained in more detail in the help pages (?pomp
).
New feature
 There is now a
logLik
method defined forpmcmcList
objects.
See the package NEWS for more details.
pomp version 1.9
02 October 2016
pomp version 1.9 is now available on CRAN. This release fixes several bugs.
Bug fixes
 During particle filtering, when nonfinite
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.  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.
Please see the package NEWS for more details.
pomp version 1.8
31 August 2016
pomp version 1.8 is now available on CRAN. This release introduces one new feature and fixes several bugs.
New feature
 The new
shlib.args
option topomp
, allows one to specify arbitrary options to be passed to the compiler when C snippets are used.
Uservisible changes
 In Sobol’ sequence generation (i.e.,
sobolDesign
,profileDesign
), we now use the suggestion of Joe & Kuo (2003) to choose a better sequence start point.  The demos have been revised to show off current best practices.
Under the hood
 The generation of Sobol’ sequences (
sobolDesign
,profileDesign
) is now performed using the routines written in C (from the NLopt library) 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 Kleap methods (
gillespie.sim
,kleap.sim
) have been refactored in C. In addition, errors due to accumulation of roundoff error have been repaired. The result will be more accurate, but somewhat slower when there are a very large number of reactions.  The
rw.sd
facility for specifying randomwalk perturbations inmif2
has been refactored for greater stability.  There have been many improvements to the test suite. The code coverage is now 100%.
Bug fixes
 A bug in
plot
onpomp
objects with more than 10 variables to plot has been fixed.  A bug in
gillespie.sim
andkleap.sim
due to accumulation of roundoff error has been repaired.
Please see the package NEWS for more details.
pomp version 1.7 is released
01 August 2016
pomp version 1.7 is now available on CRAN. This is a bugfix and documentation upgrade. Since version 1.6, I have continued to improve the handling of error messages and warnings. Please continue to send examples of error messages that are uninformative or misinformative, along with the code that produced them, so I can trap those errors and improve the messages!
Please see the package NEWS for more details.
pomp version 1.6!
01 July 2016
pomp version 1.6 is now available on CRAN. Lots of changes to report: big improvements in the documentation and in the error messages, lots of bug fixes, and some new features, too.
Improvements to the error handling system: War on useless error messages!
 I’ve given the whole errorhandling system a major overhaul. Error messages “should” all now say where they come from. This has been made possible by a massive improvement in the testing suite, which now has 99% code coverage. However, in view of the wide range of uses to which pomp is put, I am certain that there are many error scenarios I have not foreseen.
 I hereby declare war on useless error messages! But I can’t win without you: please send examples of error messages that are uninformative or misinformative, along with the code that produced them, so I can trap those errors and improve the messages!
Documentation improvements
 I’ve made major revisions to the package help pages and manual.
Of special note, the separate documentation on C snippets and processmodel plugins has been merged into the
pomp
constructor help page, which now has comprehensive instructions on model implementation. I’ve moved the C snippet instructions to the forefront, where they belong, and removed all the overly technical discussion of the very sophisticated options that are not encountered by most users.
Uservisible changes
 The matrix and numeric vector options for the
data
argument topomp
are now deprecated and will be removed in a future release. In calls topomp
,data
should be either a data frame or apomp
class object.  The redundant
bootstrap
argument tonlf
has been removed.  In
mif2
, it is now required thatNmif>0
.
New features
 There is a new plugin for
rprocess
calledkleap.sim
, which implements the socalled “Kleap method” of Cai & Xu (2007). This is another way of accelerating the, usually painfully slow, exact Gillespie method for certain classes of continuoustime Markov processes. The underlying FORTRAN code is a contribution of Helen Wearing’s.  There are new methods for the Ensemble Kalman Filter (
enkf
) and Ensemble Adjustment Kalman Filter (eakf
) methods. These methods userprocess
but, since they assume normal measurement errors, make no use ofrmeasure
ordmeasure
. They should be considered experimental for the time being and subject to change that is not backwardcompatible. I would very much appreciate hearing of your experience with them, along with any suggestions for improvements.
Bug fixes
The many changes to the testing suite turned up a number of bugs, which have been fixed. These include:
 Bugs that arose in rare circumstances in
simulate
andeulermultinom
functions.  A bug in
pompExample
that caused the example code to be executed even when not desired.  A bug in specification of the skeleton portion of some pomp examples.
 A bug restricting access in C code to
userdata
.
Under the hood
 I’ve made many improvements to the test suite to obtain very high code coverage. Although this helps, there is still room for improvement, and your help is requested to continue to improve the package.
pomp
is no longer an S4 method. It’s gone back to being a lowly R function, but its new status abbreviates and consolidates the code and simplifies the documentation, so it’s happy.
Please see the package NEWS for more details.
pomp version 1.5 released
31 May 2016
pomp version 1.5 is now available on CRAN.
Uservisible changes
 A better interface for specifying a model’s deterministic skeleton is provided.
In the
pomp
function, specifyskeleton=map(f,delta.t)
for a discretetime skeleton (a map) andskeleton=vectorfield(f)
for a continuoustime skeleton (a vectorfield). The old argumentsskeleton.type
andskelmap.delta.t
are deprecated and will be removed in a future release, at which point the new interface will be mandatory.  The
method="mif2"
option tomif
has been removed. Usemif2
instead.  The
particles
method (rarely if ever used), has been removed to streamline themif
codes. mif2
no longer computes filter means of parameters or state variables. The minimum version of \R supported is now 3.1.2.
New features
 The new argument
show
ofpompExamples
allows one to display the example code instead of executing it. init.state
now has the optional argumentnsim
. Using this, one can request multiple initial state vectors per parameter vector.
Documentation improvements
 The
pfilter
help page has been improved. Specifically, the discussion of filtering failures is more explicit and easier to find.
Bug fixes
 A bug associated with the
rw.sd
argument tomif2
on Windows platforms has been fixed.
Under the hood
pfilter
now uses less memory when it is asked to run at a single point in parameter space. The particle filtering algorithms underlying
mif
andmif2
have now been completely separated from those underlyingpfilter
, a considerable simplification of the codes.
Please see the package NEWS for more details.
panelPomp package alpha release
24 May 2016
This alpha release provides tools for working with panel data using partially observed Markov processes.
In particular, this package allows one to model multiple, independent units (or individuals) for each of which one has (potentially multivariate) time series data.
The basic idea driving panelPomp is to apply to a collection of units some of the pomp package facilities for implementing POMP models, simulating them, and fitting them to time series data.
Regarding fitting, as of this release, only the iterated filtering (mif2
) algorithm has currently been extended to the panelPomp panel setting.
The package is authored and maintained by Carles Breto.
See the panelPomp github site for information, source code, and downloads.
Journal of Statistical Software paper on pomp released!
29 March 2016
A Journal of Statistical Software paper describing pomp, its rationale, structure, and the inference algorithms it contains, has just been released.
The paper gives the inference algorithms in detail (including pseudocode), and demonstrates them on a few examples.
Its aim is to give an introduction pomp both as a scientific tool and as a platform for development of inference methods for POMPs.
Please cite this paper (do citation("pomp")
in an R session to see how) when you use the package.
Coinciding with the paper’s release is a new version of pomp which is on CRAN now.
See the package NEWS for details on the new release.
Short course on pomp at SISMID, Seattle
15 March 2016
Ed Ionides and Aaron King will be teaching their short course on Simulationbased Inference for Epidemiological Dynamics for the second time this July at the 8th Summer Institute in Statistics and Modeling in Infectious Diseases (SISMID). The course introduces statistical inference techniques and computational methods for dynamic models of epidemiological systems. It will explore deterministic and stochastic formulations of epidemiological dynamics and develop inference methods appropriate for a range of models. Special emphasis will be on exact and approximate likelihood as the key elements in parameter estimation, hypothesis testing, and model selection. Specifically, the course will cover sequential Monte Carlo and synthetic likelihood techniques. Students will learn to implement these in R to carry out maximum likelihood and Bayesian inference. Knowledge of the material in Module 1 (Probability and Statistical Inference) is assumed. Students new to R should complete a tutorial before the module. The course is listed as Module 9 and will run from 1820 July 2016 at the University of Washington in Seattle.
Can I write a pomp for multivariate data?
01 March 2016
This is no problem.
The data you supply to pomp can contain multiple variables.
You simply refer to these variables by name in writing the rmeasure
and dmeasure
Csnippets
.
See FAQ 3.2 for an example.
pomp version 1.3.1.1 released
29 February 2016
In version 1.3.1.1, several features that had long been deprecated have been removed. These include:
 the
seed
argument topfilter
. Usefreeze
to obtain similar functionality.  the redundant
pars
argument tomif
has been removed.  the old
parameter.transform
andparameter.inv.transform
arguments topomp
. In version 0.651, these were superseded by thefromEstimationScale
andtoEstimationScale
arguments.
Please see the package NEWS for more details.
pomp version 1.2.1.1 released
24 September 2015
Version 1.2.1.1 has been released and is coming soon to a CRAN mirror near you. This is a bugfix and documentation improvement release. Please see the package NEWS for details.
pomp version 1.1.1.1 released
20 August 2015
Version 1.1.1.1 has been released and is coming soon to a CRAN mirror near you. Since version 0.651, there have been many changes to pomp, including new features, some bug fixes, and algorithmic improvements. Some of the highlights include:
New features

A fullfeatured version of IF2, an improved iterated filtering algorithm, is now available as
mif2
. This allows a more general structure for the random perturbations applied to parameters and is generally much more efficient and stable than IF1.mif2
should be preferred tomif
in almost all circumstances. 
There is a new, adaptive MCMC proposal function,
mvn.rw.adaptive
that can be used inpmcmc
andabc
. This can greatly increase the efficiency of these samplers. 
By default, when
Csnippet
s are used, the source code is now stored internally to thepomp
object. When apomp
object is used, a test is first performed to see if the needed sharedobject file exists. If it does not, the source code is written to a file in the session’s temporary directory, which is then compiled and loaded. This feature allowspomp
objects to be stored and reused across R sessions, including parallel sessions on a cluster. 
A
pomp
object’s initializer can now be specified as aCsnippet
. 
pmcmc
andpfilter
now have the capability of saving filtered trajectories. These can be extracted using the new methodfilter.traj
. The principal use will be in conjunction withpmcmc
, where, upon convergence to the posterior, samples from the filtered trajectories are draws from the posteriorProb[x[1:T]  y[1:T]]
. Thanks to Sebastian Funk for initiating this development. 
partrans
andparmat
have been jiggered to make them play better withreshape2::melt
. 
Measles data from England and Wales, kindly provided by Ben Bolker, are now included as
ewmeas
andewcitmeas
. 
The new functions
bake
andstew
faciliate storing expensive calculations for later retrieval in a transparent fashion. These functions have arguments that allow the control of the RNG: one can now set the state (and kind) of the RNG in a selfcontained fashion. 
The new function
freeze
allows control of the RNG similarly. 
There is now a
coef
method formifList
andmif2List
objects. 
In the
pomp
constructor, unrecognized arguments are stored internally for use with usersupplied model functions. Now, an informative message is generated when this happens. Previously, this silent behavior was a source of confusion for some users.
Bug fixes

logmeanexp
had used a deltamethod estimate of the variance inlog(mean(exp(x)))
whense = TRUE
. This gave misleadingly small values when the variance inexp(x)
was large. The newlogmeanexp
uses a jackknife estimate of the variance. This is still conservative, in that it is biased upwards, but is more robust. 
The new
covmat
method, applied toabc
,abcList
,pmcmc
, orpmcmcList
objects, returns an inflated empirical covariance matrix suitable for use as input to the proposal generatormvn.rw
.
Deprecated and defunct
 Some deprecated functionality has been removed:
 The deprecated
transform.params
argument fromnlf
has been removed.  The deprecated
pars
andrw.sd
arguments fromabc
andpmcmc
have been removed.  The deprecated
data.array
method has been removed.
 The deprecated

The
seed
argument ofbsmc
andbsmc2
has been removed. Its use now generates a warning, stating that it has no effect. 
The
seed
argument topfilter
is now deprecated and will be removed soon. Equivalent functionality is provided viafreeze
,bake
, orstew
. pompBuilder
, which has not been actively maintained for some time due to the its being superseded by theCsnippet
facility, is now no longer exported.
Improved "getting started" tutorial
09 August 2015
The Getting started with pomp
tutorial has been substantially improved.
In particular, the tutorial now contains not only an example of the construction of a pomp
object, but also
 the construction of a likelihood profile using parallelized
mif2
computations,  the estimation of a posterior probability density using
pmcmc
, including the use of an adaptive proposal distribution (mvn.rw.adaptive
) and the estimation of smoothed state trajectories (usingfilter.traj
).
Although the tutorial uses as its example a very simple data analysis (one in fact for which far simpler methods than the ones employed would be sufficient), the methods that it illustrates can be readily transposed for dealing with much more challenging problems.
Adaptive PMCMC proposals
07 August 2015
As of version 0.781, pomp includes facilities for adaptive proposals for particle MCMC (pmcmc
) and approximate Bayesian computation (abc
).
The new function mvn.rw.adaptive
generates an multivariate normal randomwalk MCMC proposal function that adapts in scale and shape.
Thanks to Sebastian Funk for contributing a patch that spurred this development.
This functionality should be regarded as experimental and subject to change.
Please tell me about your experiences with it and contribute suggestions for improvement (or pull requests!) if you can.
Deprecated arguments removed
06 August 2015
A number of minor changes to pomp have been made since the last blog post. Specifically, in pomp version 0.771:
 The deprecated
transform.params
argument tonlf
has been removed.  The deprecated
pars
andrw.sd
arguments toabc
andpmcmc
have been removed.  The deprecated
data.array
method has been removed. Useobs
instead.  The default value of
max.fail
forpmcmc
is nowInf
. That is, by defaultpmcmc
will not halt (but will issue a warning) when filtering failure occurs (i.e., no particles are consistent with the data, as defined by the likelihood thresholdtol
).
Bug fix for logmeanexp
29 July 2015
A bug in logmeanexp
has been fixed.
Previously, when se = TRUE
, this function used a deltamethod estimate of the variance in log(mean(exp(x)))
which was accurate when exp(x)
had small variance but had two problems:
 It was overly conservative, being an estimate of the standard error on each element of
x
, as opposed to the standard error onlog(mean(exp(x)))
, as might have been expected  It performed poorly when the variance in
exp(x)
was large. In particular, it returned misleadingly small estimates of the standard error in this case.
The new version uses a jackknife estimate of the variance in log(mean(exp(x)))
.
Since the jackknife estimate is biased upward, it is still somewhat conservative, but is more robust when the variance of exp(x)
is large.
Short course on "Simulationbased Inference for Epidemiological Dynamics"
28 July 2015
Ed Ionides and Aaron King taught a short course on this topic at the 7th Summer Institute for Statistics and Modeling for Infectious Disease at the University of Washington in Seattle this summer. The materials include:
 an introduction to POMP models,
 essential of stochastic simulation with emphasis on the stochastic Euler algorithm,
 a tutorial on the theory and practice of the particle filter,
 an introduction to iterated filtering, and
 four cases studies illustrating pomp methods:
 understanding polio’s persistence, replicating some of the results in a recent PLoS Biology paper,
 revisiting measles dynamics in England and Wales to see what fullinformation methods reveal,
 a longitudinal study of sexual behavior changes that illustrates how pomp and
mif2
can be used to fit models to panel data, drawn from another recent paper, and  a study showing illustrating model diagnostics and forecasting methods in the context of the recent Ebola outbreak in West Africa, again based on a recent paper.
These materials are available via the pomp website.
Pimp my pomp
27 July 2015
The new pimp my pomp page on the pomp wiki is for sharing advice and code. The first entry contains some advice about maintaining a database of parameter points and likelihoods to facilitate exploration of complex likelihood surfaces.
Better caching
25 July 2015
When a pomp
object is constructed using Csnippet
s, the C source is compiled and dynamically loaded into the running R session.
Heretofore, this meant that one had to rebuild the pomp
in each new R session.
Changes in version 0.751 now make it so that one can store and reuse pomp
objects across R sessions.
This is achieved by storing the source code internally to the pomp
object.
When a pomp
object is used, a test is first performed to see if the needed sharedobject file exists.
If it does not, the source code is written to a file in the session’s temporary directory, which is then compiled and loaded.
This feature allows pomp
objects to be stored and reused across R sessions.
To avoid collisions, the name of the file is constructed using a hash of its contents.
Reproducibility utilities
24 July 2015
On cooking shows, recipes requiring lengthy baking or stewing are prepared beforehand.
The bake
and stew
functions perform analogously, performing an R computation and storing the result in a named file.
If the function is called again and the file is present, the computation is not executed; rather, the results are loaded from the file in which they were previously stored.
Moreover, via their optional seed
and kind
arguments, bake
and stew
can control the pseudorandomnumber generator (RNG) for greater reproducibility.
After the computation is finished, these functions restore the preexisting RNG state to avoid side effects.
The freeze
function doesn’t save results, but does set the RNG state to the specified value and restore it after the computation is complete.
Changes to the way certain functions manipulate the RNG seed
20 July 2015

The
seed
argument topfilter
is now deprecated and will be removed soon. Using it generates a warning. Equivalent functionality is provided via the new functionsfreeze
,bake
, orstew
. 
The
seed
argument ofbsmc
andbsmc2
has been removed. Its use now generates a warning, stating that it has no effect.
Smoothed trajectories via PMCMC
10 July 2015
pmcmc
and pfilter
now have the capability of saving filtered trajectories. These can be extracted using the new method filter.traj
.
The principal use will be in conjunction with pmcmc
, where, upon convergence to the posterior, samples from the filtered trajectories will be draws from the posterior P[x[1:T]  y[1:T]], i.e., the smoothing distribution.
Thanks to Sebastian Funk for initiating this development!
Initializer can now be furnished as a Csnippet
11 June 2015
 A
pomp
object’s initializer can now be specified as aCsnippet
.  In addition, the default initializer is now considerably faster.
Fullfeatured version of mif2 now implemented
05 June 2015
A fullfeatured version of IF2, an improved iterated filtering algorithm, is now available as mif2
.
This allows a more general structure for the random perturbations applied to parameters and is generally more efficient and stable than IF1.
mif2
should be preferable to mif
in just about all circumstances.
pomp version 0.651 released to CRAN
01 June 2015
pomp version 0.651 is now available on CRAN and coming soon to a mirror near you.
This release contains many improvements. Highlights include:

The documentation has been thoroughly revised. Most of the help pages have been rewritten. Of special interest is the help on writing Csnippets, which are now the preferred method of writing pomp objects. Additionally, there is a new “Getting Started with pomp” vignette, accessible on the package website [https://kingaa.github.io/pomp].

A forthcoming Journal of Statistical Software article explains the package’s motivation and structure, details many of the inference algorithms currently implemented, and presents several examples of their use. An uptodate version of this paper is available as a vignette, accessible via the package website.

pmcmc
andabc
can now use arbitrary symmetric proposal distributions via theproposal
argument. In future, the requirement that proposals be symmetric should be relaxed. Two new functions,mvn.diag.rw
andmvn.rw
, generate suitable proposal functions. The first generates a multivariate normal randomwalk proposal with diagonal variancecovariance matrix; this duplicates the old behavior of bothabc
andpmcmc
. The second,mvn.rw
, corresponds to a multivariate normal randomwalk proposal with arbitrary variancecovariance matrix. Using these as a template, the user can easily construct alternatives.

In
pmcmc
andabc
, the argumentspars
andrw.sd
are now unneeded (see above) and have been deprecated. Use ofrw.sd
will generate a warning and result in behavior equivalent to choosingproposal=mvn.diag.rw(rw.sd)
. Use ofpars
will be ignored, with a warning. 
The unfortunately named
pomp
argumentsparameter.transform
andparameter.inv.transform
have been deprecated in favor of the more mnemonictoEstimationScale
andfromEstimationScale
. Using the old arguments will result in the same behavior as previously, but a warning will be generated. 
The mif option
cooling.fraction
has been replaced by the more descriptivecooling.fraction.50
. Recall that this parameter specifies the fraction of randomwalk remaining after 50 mif iterations. 
The
var.factor
argument tomif
now has the default value 1. Sincevar.factor
has long been a required parameter, this change is backward compatible. 
The
mif
argumentpars
, which is redundant, is now deprecated. In a future release, this argument will be removed. 
The longdeprecated
cooling.factor
option tomif
has now been removed. 
In
nlf
, thetransform.params
argument is now deprecated; use instead thetransform
argument, as in the other inference methods. 
Compiler messages are now suppressed by default when Csnippets are used in construction of a pomp object. These can be enabled by setting
options(verbose=TRUE)
. 
simulate
has a new argument,include.data
, that when used in conjuncion withas.data.frame=TRUE
will include the actual data in the resulting data frame along with the simulations. 
The
pompExample
function has been revamped. A search path for example directories is now stored in global optionpomp.examples
. 
The new
values
method extracts simulated probe values onprobed.pomp
object. 
The
pomp.h
header file is now better documented through comments. 
A modified version of the Liu and West (2001) algorithm is included as
bsmc2
.
pomp version 0.531 released
30 June 2014
pomp version 0.531 is now available on CRAN and coming soon to a mirror near you.
This is a major new feature release. Some highlights are:
 It is now much easier to accelerate code through the use of compiled code.
pomp can now take snippets of C code directly as definitions of the various basic functions. This is accomplished through the use of a new Csnippet function. See the “sir” demo for a demonstration.

Features that facilitate multiple PMCMC and ABC chains have been added. There are
c
methods to combineabc
andpmcmc
objects. Runningconv.rec
on anabc
,pmcmc
,abcList
, orpmcmcList
object now produces codamcmc
andmcmc.list
objects, respectively. Diagnostic plots are produced by runningplot
on such objects. Package coda is now a dependency of pomp. This package provides various generic MCMC diagnostics. 
The
transform
argument forpmcmc
andabc
has been removed. 
nlf
now returns an S4 object of classnlfd.pomp
with alogLik
method for extracting the log quasi likelihood and a$
method for extracting arbitrary components.
It thus behaves like pomp's other inference methods. 
The package manual and tutorials are no longer included with the package source. Instead, links are provided to the pomp website. The package help pages have been revisited for accuracy and completeness.
pomp version 0.491 on CRAN
23 March 2014
pomp version 0.491 is now available on CRAN and coming soon to a mirror near you.
This is a new feature release. Some highlights are:

A new method,
probe.match.objfun
, constructs objective functions suitable for use in optimizers. 
Inference methods based on optimization can now use the
nloptr
package, which provides a suite of optimization algorithms. 
The new
abc
method implements Approximate Bayesian Computation for pomp models. 
New inline C functions
to_log_barycentric
andfrom_log_barycentric
are provided in pomp.h to facilitate logbarycentric transformations. These have proven very useful in dealing with parameters constrained to sum to one (e.g., initial conditions of compartmental models). 
Pomp objects now contain
dprior
andrprior
slots. These are used by the Bayesian methods (abc
,bsmc
, andpmcmc
). The oldhyperparams
argument to these methods has been removed; hyperparameters are now treated just as any others. 
By default,
pompBuilder
now creates all files in the temporary directory. Use thesave=TRUE
option to get the old behavior. 
The vignettes are no longer available via the
vignette()
command but can be reached via the HTML documentation, in thedoc
directory, and online at https://kingaa.github.io/pomp