[Developers] Control files and basic MCMC

Jim Ianelli - NOAA Federal jim.ianelli at noaa.gov
Fri Jan 10 12:21:11 PST 2014

Thanks Arni, this is a great explanation of some wishlist ideas.

embedding such a PLUI class is a great idea but i see some issues and

   1. You would probably need a flag of some sort that a mymod.ctl file is
   being used
   2. if flagged, then does mymod.ctl have a record for every parameter?
   what about bounded_vector_vectors etc?
   3. Perhaps INITIALIZATION_SECTION could be modified to accommodate the P
   L and U of PLUI? It already does the initialization (obviously). Putting
   greater control here may not be a benefit though and would likely cause
   more confusion

Re the MCMC option, aside from output generation, it shouldn't be hard to
add a command line option that did default behavior, i.e., -runmcmc that
would do both -mcmc 1e6 -mcsave 200 then -mceval in sequence?


On Fri, Jan 10, 2014 at 12:00 PM, Arni Magnusson <arnima at hafro.is> wrote:

> Happy new year to you, core developers!
> As Johnoel mentions, there is a wishlist item #11 in the Reykjavik
> Workshop Report that says:
> "Flag/switch class Simplify the use of control and MCMC files, perhaps
> MFCL-like object capability"
> This wishlist item is really about two things:
> ---
> (1) Sometimes we want to make ADMB applications general and user-friendly.
> By user-friendly, I don't mean beginner-friendly, but an efficient
> interface for running a variety of related models without recompiling.
> Fixing parameters and setting bounds, phases, and initial values, and
> various model-specific settings. This is sometimes done inside the main
> data file and sometimes in a separate control file.
> Take http://www.hafro.is/~arnima/pella/pella.tpl for example. The data
> and parameter sections are rather convoluted, in order to provide a PLUI
> (phase,lower,upper,init) interface for controlling the parameter estimation.
> Of course the exact implementation will vary from model to model. But
> writing the PLUI code feels unnecessarily clunky and repetitive. The code
> for switching to the control file is rather ugly, and and so is the code to
> set the parameter phases, bounds and inits. Perhaps these tasks are so
> common and so useful that we can provide some new functionality to make
> them easier for the ADMB programmer.
> This example is a tiny model with very few parameters. The importance of
> this wishlist item becomes greater with dozens of parameters.
> ---
> (2) MCMC is an important feature of ADMB. I like telling potential and new
> users that it's a piece of cake to run MCMC for any ADMB model: you
> basically just type mymodel -mcmc.
> Well, sort of.
> The http://www.hafro.is/~arnima/pella/pella.tpl example shows a common
> approach. First we have if(mceval_phase()) write_mcmc(); and later we have
> FUNCTION write_mcmc, with a long workaround to put a header for each column
> in the MCMC output.
> Wouldn't it be cool if the user could actually type mymodel -mcmc without
> all that stuff, and get a text file with column headers, ready to plot. For
> the most advanced users, the PSV file is just that, but for the majority of
> users that's not a very intuitive or accessible format. Again, a task that
> is so common and so useful could be made easier to use.
> A related idea is an MCMC_SECTION with a stream object that's ready to
> use, mcmc<<"blah"<<..., much like the report stream object in the
> ---
> As you can tell, I'm interested in both of these wishlist items. They may
> not be top priority, but potential areas where ADMB could be a bit smoother
> around the edges. We can revisit them at the next workshop, to decide
> whether and how some of this could be done. We did not look at this at the
> Reykjavik workshop, but included it in the report as a reminder of a
> discussion item after the workshop.
> All the best,
> Arni
> On Fri, 10 Jan 2014, Johnoel Ancheta wrote:
>  Hi all,
>> Happy New Years.
>> I looked over the workshop report and noticed a priority task
>> "Flag/Switch class to simplify the use of control and MCMC files..."
>> It says someone is working on this, but did not say who?
>> Johnoel
>>  _______________________________________________
> Developers mailing list
> Developers at admb-project.org
> http://lists.admb-project.org/mailman/listinfo/developers


James Ianelli
NMFS/NOAA Building 4
7600 Sand Pt Way NE
Seattle WA 98115

 206 526 6510

Visit the ADMB project http://admb-project.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.admb-project.org/pipermail/developers/attachments/20140110/a72fa0a8/attachment.html>

More information about the Developers mailing list