[Developers] Robust data parser
Arni Magnusson
arnima at hafro.is
Wed Jan 18 10:51:05 PST 2012
ADMB users generally don't have to worry about line endings - expecially
when working in Linux.
Surely we can improve the robustness of the data file parser so it can
handle a file like this, right?
ftp://glpd.fw.msu.edu/QFC/ADMB-Videos/Current_ADMB_Video_Release/ADMB%202/growth_loglike.dat
Arni
On Wed, 18 Jan 2012, Arni Magnusson wrote:
> I run into the same problem as Jacob, but only in Linux.
>
> [Windows] the test vector is -99 100 -101
> [Linux] the test vector is 0 0 0
>
> The problem seems to caused by the .dat file, which contains Dos line
> endings. The short-term solution is to convert the line endings:
>
> $ dos2unix growth_loglike.dat
>
> I hope the long-term solution will be to make ADMB data file parser more
> robust. To examine the problem I changed the model to
>
> DATA_SECTION
> init_int nobs
> !! SHOW(nobs);
> init_matrix vonBdata(1,nobs,1,2)
> !! SHOW(vonBdata);
> init_vector testvec(1,3)
> !! SHOW(testvec);
>
> PARAMETER_SECTION
> init_number t0
> objective_function_value nll
>
> PROCEDURE_SECTION
> nll = square(t0-1.0);
>
> GLOBALS_SECTION
> #define SHOW(x) cout << #x << ": " << x << endl;
>
> It looks like the problem arises when three conditions are met:
>
> 1. Model is run in Linux
> 2. Data file has Dos line endings
> 3. Data file has empty line between two comments
>
> Thanks for reporting this problem, Jacob. You can use the 'dos2unix' shell
> command to fix the problem for now.
>
> Arni
>
>
>
> On Wed, 18 Jan 2012, Weihai Liu wrote:
>
>> pretty sure your admb is broken, can you even run the simple.tpl which in
>> admb examples folder? The training example is fine after changing its tpl
>> name and the version will not be a issue for this kind testing.
>>
>> weihai
>>
>>
>>
>> On Wed, Jan 18, 2012 at 11:52 AM, Jacob Kasper
>> <jacobkasper at gmail.com>wrote:
>>
>>> I am going through the training video and I keep getting errors with ADMB2
>>> and onwards. I can run some tpl files but not the ones that are associated
>>> with the training video, even when I download fore example the files here
>>> ftp://glpd.fw.msu.edu/QFC/ADMB-Videos/Current_ADMB_Video_Release/ADMB%202/and
>>> change the .tpl so that the names is the same as the .dat. when I run the
>>> .tpl and then the program I get the message "the test vector is 0 0 0"
>>> which is not what the training video suggests that it should return. I
>>> have been over the .tpl file carefully and I cannot figure out the error,
>>> could this be a version issue? I am running Linux 64 bit and built it from
>>> the source distribution.
>>>
>>> THank you
>>>
>>> Jacob
>>>
>>
>
More information about the Developers
mailing list