[ADMB Users] ADMB development cycle

John Sibert sibert at hawaii.edu
Sat Aug 22 00:04:16 PDT 2009


Hi Ben,
If you want to become a "beta tester" we can give you access to the 
Honolulu svn server. Let me know off line.

I think we will definitely maintain 2 branches of the source code. I 
don't have any particular beef with the R folks. In fact we have 
imitated the R project and foundation in setting up the ADMB project and 
foundataion. The expectation that  ADMB should to be like R, however, is 
misguided. They are complementary and do different things. I use R for 
what it is good for and ADMB for hard stuff. It is not difficult at all 
to get ADMB and R to play nicely in the sand box. All of our Kalman 
filter track reconstruction software, for instance, uses R to invoke 
ADMB executables and display the resulting output.

Yes, the Regents of the University of California now own the copyright 
on most of the ADMB source code. The Moore Foundation grant was 
administered by NCEAS. We had hoped that the NCEAS connection would help 
us promote the use of ADMB in the larger ecological community, but that 
hope has yet to bear fruit (if I may mix metaphores).
Cheers,
John


Ben Bolker wrote:
>   John: thanks for the clarification.  I had missed the document you
> referenced, or forgotten about it.  If I wanted to sign up as a beta
> tester, where would I go?  Or is the google code repository the beta site?
>
>   Re: production and development servers. While there may indeed be
> reasons to grumble at the reception that ADMB has had among the R
> community, I think the R development model works pretty well.  In
> particular, there is always a "development" branch and a "release"
> branch (your "development" and "production" version) in progress at any
> given time.  Both are available from a SVN server, but it is clear to
> potential users that the development branch is bleeding-edge/potentially
> broken.
>
>   By the way, is the copyright owner of ADMB really the
> Regents of the University of California, as listed?  (Is that an
> NCEAS/UCSB connection?)
>
>   cheers
>     Ben Bolker
>
> John Sibert wrote:
>   
>> Jon, Ben -
>> Thanks for your feedback and support.
>>
>> I apologize for your confusion over the source code on code google. We
>> regard the current code on this site as an interim step. It was not our
>> immediate intention that this code be used for making the libraries.
>> Rather it is posted mainly to allow people to study the main parts of
>> the ADMB code. Currently some  parts  of the ADMB code need to  be
>> modified slightly before the whole package can be released. If you look
>> at the ADMB Project workplan at
>> http://admb-project.org/community/public-domain, you will see that our
>> intention is, and always has been, to make the full source code and make
>> utilities available in December 2009. We are definitely on track to make
>> that deadline.
>>
>> The whole point of an open-source project is sharing breakfast with
>> canine colleagues, and that is also one of the purpose of the ADMB
>> Project. One could wish that dogs were a more patient species.
>>
>> Meanwhile, Johnoel has  updated the code.google site so that it reflects
>> the most recent changes.
>>
>> We make the Honolulu subversion server available to people who have
>> reason to use it, i.e. those who have agreed to take on specific tasks.
>>
>> In the long run, I'm not sure that we will eliminate the Honolulu
>> subersion repository. It may be beneficial to maintain both "production"
>> and "development" versions.
>>
>> Thanks again for your comments.
>> John
>>
>>
>>
>> Schnute, Jon wrote:
>>     
>>> John - Thanks for your reply. I'm going to try responding pretty
>>> honestly, but first let me emphasize that I'm speaking as an
>>> enthusiastic supporter of the ADMB project who is genuinely trying to
>>> help. I don't want to criticise anyone, particularly you who played (and
>>> continues to play) a key role in making the project possible. I'm sure
>>> that Ben also comes from that point of view, and we're really lucky to
>>> have someone like him making contributions. (Users who don't know him
>>> may wish to check out his web site
>>> http://people.biology.ufl.edu/bolker/.)
>>>
>>> I was glad to see that Jim Ianelli enjoyed the dog food metaphor. Like
>>> you, I generally eat my own dog food. I think Ben's point is that the
>>> more people eating the same food the better. Different people, with
>>> different tastes, can make constructive suggestions for the recipe, and
>>> after a while the stuff might get really tasty. (Of course, it could
>>> also get pretty horrible.) Very possibly the ingredients may lead to a
>>> variety of new recipes.
>>>
>>> In regard to ADMB, I feel as if I have the can of dog food, but no can
>>> opener. In framework of "open source" software, I honestly don't
>>> understand the concept of an "official" Honolulu SVN repository that
>>> isn't publically available. How can people make useful comments and
>>> contributions without seeing what's really going on? It seems to me that
>>> if you have everything running from your repository (and the binary
>>> files demonstrate that you do), then you must have quite a few tools,
>>> such as "make" files that don't appear on the Google Code site. Also, I
>>> see no source code (perhaps originally in Lex/Yacc) for the executables
>>> tpl2cpp and tpl2rem.
>>>
>>> As things currently stand, I get the (possibly false) impression that
>>> ADMB has a core group of insiders, who really know what's going on, and
>>> a group of outsiders (like me) who don't really see the picture clearly.
>>> >From Ben's comments and his notable record in education, I think he just
>>> wants to learn the tool so that he can adopt it in his courses and teach
>>> it to his students. (Ben, sorry if I'm reading you wrong on this.) That
>>> certainly is where I'm coming from, although I just have "colleagues",
>>> not formal students.
>>>
>>> Could you perhaps open the Honolulu SVN server (read only) to the ADMB
>>> community and give us the address? Or, if the server can't handle the
>>> load, could you give me access to the server so that I can post current
>>> files on the Google code site from time to time? It strikes me that
>>> Google offers many features above and beyond the SVN server itself, such
>>> as an tools for posting problem issues and providing reviews.
>>>
>>> I can understand that you probably have very limited resources in
>>> Honolulu. If so, I think you can get a lot more help from the user
>>> community by making the project more open. Everything I've read about
>>> open source software suggests that this is true.
>>>
>>> Hey, I'm just a retired guy like you. I could be out in the garden
>>> instead of writing a letter like this one. I'll feel slightly rebuffed
>>> if this appeal warrants only a cryptic reply with no proposed changes.
>>> But maybe I'm just a grouchy old guy speaking on a subject of no
>>> interest to anyone. It might help to hear comments from other ADMB users
>>> about this issue.
>>>
>>> I've had these thoughts for some time, but Ben's comments encouraged me
>>> to speak freely. Am I at the head of a parade, or just trotting along
>>> far behind everyone else?
>>>
>>> Thanks for reading this, and best wishes,
>>> Jon
>>>
>>> -----Original Message-----
>>> From: John Sibert [mailto:sibert at hawaii.edu]
>>> Sent: August-19-09 10:36 PM
>>> To: Schnute, Jon
>>> Cc: users at admb-project.org
>>> Subject: Re: [ADMB Users] ADMB development cycle (bug in file f1b2vc1)
>>>
>>> Jon (et al),
>>> The explanation is simple. The code on code.google has not been kept up
>>> to date with the "official" svn repository in Honolulu. We could be a
>>> bit more diligent I suppose.
>>>
>>> I generally eat my own dog food.
>>> John
>>>
>>> Schnute, Jon wrote:
>>>
>>>       
>>>> We've had some excellent exchanges among ADMB users recently. In
>>>> particular, according to a message from Dave on August 6 (attached at
>>>> the bottom of this message), Ben found a fatal bug. A few days later
>>>> (August 10), Johnoel announced the release of ADMB 9.0.363 with
>>>>
>>>>         
>>> "various
>>>
>>>       
>>>> fixes to the libraries". I made the assumption that this bug had
>>>> probably been fixed, so I thought I'd check the status of the code at
>>>> http://code.google.com/p/admb-project/. In particular, I looked at the
>>>> file f1b2vc1.cpp, located at:
>>>>
>>>>
>>>>
>>>>         
>>> http://code.google.com/p/admb-project/source/browse/trunk/df1b2-separabl
>>>
>>>       
>>>> e/f1b2vc1.cpp
>>>>
>>>> According to the SVN log on this file, it hasn't changed since release
>>>> 43 on March 31. Also, it appears not to include Dave's suggestion
>>>>
>>>>         
>>> about
>>>
>>>       
>>>> ADUNCONST(dvector,x).
>>>>
>>>> So my question is this: How does the source code site
>>>> http://code.google.com/p/admb-project/ fit into the ADMB development
>>>> cycle? Also, how would I actually build a version of ADMB from the
>>>>
>>>>         
>>> files
>>>
>>>       
>>>> in the trunk subdirectories: df1b2-separable, examples, LICENSE,
>>>> linad99, nh99, and tools99?
>>>>
>>>> I've used SVN to build and track my own local version of the source
>>>> files, but I see from the change log at:
>>>>
>>>> http://code.google.com/p/admb-project/source/list
>>>>
>>>> that all changes since release 43 have pertained to the Wiki.
>>>>
>>>> Probably, I've failed to notice an explanation somewhere of how all
>>>>
>>>>         
>>> this
>>>
>>>       
>>>> should work, and I suspect that the Google code site is still in
>>>> development. But I know from my own recent experience that the tools
>>>> available at "Google code" can greatly facilitate project development.
>>>> Perhaps the ADMB user community would explore some of the changes Ben
>>>> discussed if they/we had a full understanding of the complete toolkit
>>>> needed to build ADMB from the latest source code.
>>>>
>>>> Thanks,
>>>> Jon
>>>>
>>>> ******************************************
>>>> Jon Schnute
>>>> Pacific Biological Station
>>>> 3190 Hammond Bay Road
>>>> Nanaimo, BC V9T 6N7
>>>> CANADA
>>>>
>>>> NEW email: Jon.Schnute at dfo-mpo.gc.ca
>>>>  (formerly schnutej at pac.dfo-mpo.gc.ca)
>>>> ******************************************
>>>>
>>>> -----Original Message-----
>>>> From: users-bounces at admb-project.org
>>>> [mailto:users-bounces at admb-project.org] On Behalf Of dave fournier
>>>> Sent: August-06-09 8:30 AM
>>>> To: users at admb-project.org
>>>> Subject: [ADMB Users] bug in file f1b2vc1
>>>>
>>>>
>>>> Thanks Ben you found a fatal bug. Hard to believe that function had
>>>> never been used before. In the file f1b2vc1.cpp
>>>> the line
>>>>
>>>>       ADUNCONST(df1b2vector,x)
>>>>
>>>> should have been
>>>>
>>>>     ADUNCONST(dvector,x)
>>>>
>>>>
>>>>
>>>> df1b2vector operator + (const dvector& _x,const df1b2vector& _y)
>>>>   {
>>>>     ADUNCONST(df1b2vector,x)
>>>>
>>>>    ADUNCONST(df1b2vector,y)
>>>>
>>>>    check_shape(x,y,"operator +");
>>>>
>>>>
>>>>    int mmin=x.indexmin();
>>>>
>>>>    int mmax=x.indexmax();
>>>>
>>>>    df1b2vector tmp;
>>>>
>>>>    tmp.noallocate(mmin,mmax);
>>>>
>>>>
>>>>    for (int i=mmin;i<=mmax;i++)
>>>>     {
>>>>
>>>>      tmp(i)=x(i)+y(i);
>>>>     }
>>>>
>>>>    return tmp;
>>>>
>>>>  }
>>>>
>>>>
>>>> Sorry for that.  The reason for these stupid errors is that every once
>>>> and a while the  compiler police for the various c++ compilers make
>>>> changes that break huge amount of old code so one has to fix it all at
>>>> one go and these sorts of errors  creep in.
>>>>
>>>> Maybe someone can comment on how this can get fixed quickly.
>>>>
>>>> as for just hoping that prob will remain between 0 and 1 -- that is a
>>>> mugs game. It will break at the most inopportune time. I modifed your
>>>> code to put in the bounds. also you need to include the prior for the
>>>> u's
>>>>
>>>> Finally WRT yuo commentabout initial values for the u's being
>>>>
>>>>         
>>> necessary.
>>>
>>>       
>>>> that is inaccurate. default values are provided for all parameters.
>>>> However if you want to supply a *.pin ifle then it must include values
>>>> for all parameters. I have already commented on the easiest way to
>>>> produce such a *.pin file.
>>>>
>>>> Herre is your code as I have modified it.
>>>>
>>>>  //cout << "cvec calc\n";
>>>>  cvec = sigma_c*(Z*u)+c;
>>>>  a1vec = elem_prod(pow(size/d,g),exp(-size/d));
>>>>  //cout << "prob calc\n";
>>>>  prob = 1/(1/(elem_prod(cvec,a1vec))+h*initial);
>>>>
>>>>  dvariable ppen=0.0;
>>>>  dvar_vector pprob=posfun(prob,0.01,ppen);
>>>>  f+=ppen;
>>>>
>>>>  ppen=0.0;
>>>>
>>>>  dvar_vector pprob2=1.0-posfun(1.0-pprob,0.01,ppen);
>>>>
>>>>  f+=ppen;
>>>>
>>>>  f+=0.5*norm2(u);  // prior
>>>>
>>>>  f -= sum( log_comb(initial,killed)+
>>>>           elem_prod(killed,log(pprob2))+
>>>>           elem_prod(initial-killed,log(1-pprob2)));
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>         
>> --
>> Visit the ADMB project http://admb-project.org/
>>
>>     
>
>
>   

-- 
Visit the ADMB project http://admb-project.org/




More information about the Users mailing list