[Developers] Control files and basic MCMC

dave fournier davef at otter-rsch.com
Mon Jan 13 16:09:13 PST 2014

On 14-01-10 12:00 PM, Arni Magnusson wrote:

Always something wrong!  We need to pass the name _s to the allocate 

   void param_init_bounded_number::allocate(const data_vector & v,
     const char * _s)
    int phz=int(v(1));
    double lb=v(2);
    double ub=v(3);

> 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

More information about the Developers mailing list