[ADMB Users] ADMB development cycle
Ben Bolker
bolker at ufl.edu
Fri Aug 21 06:32:58 PDT 2009
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/
>
--
Ben Bolker
Associate professor, Biology Dep't, Univ. of Florida
bolker at ufl.edu / www.zoology.ufl.edu/bolker
GPG key: www.zoology.ufl.edu/bolker/benbolker-publickey.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://lists.admb-project.org/pipermail/users/attachments/20090821/bad28824/attachment.pgp>
More information about the Users
mailing list