procedure(cur,kp);

/*

initialize setimates for parameters

*/

if (cur = 1 ) then

begin;

tbl_name = cat('retard',cur);

if tableexists(tbl_name) then delete table(tbl_name);

call setcell("parameter",1,1,kp);

call setcell("parameter",1,2,kp);

call setcell("parameter",1,3,kp);

call setcell("parameter",2,1,0.06);

call setcell("parameter",2,2,0.001);

call setcell("parameter",2,3,0.5);

disp=getcell("conserv1",1,1);

call setcell("parameter",3,1,disp);

call setcell("parameter",3,2,.01);

call setcell("parameter",3,3,1000);

t0=getcell("conserv1",2,1);

call setcell("parameter",6,1,t0);

call setcell("parameter",6,2,t0);

call setcell("parameter",6,3,t0);

t1=getcell("conserv1",3,1);

call setcell("parameter",7,1,t1);

call setcell("parameter",7,2,t1);

call setcell("parameter",7,3,t1);

call setcell("parameter",11,1,0);

call setcell("parameter",11,2,0);

call setcell("parameter",11,3,0);

call setcell("parameter",10,1,1);

call setcell("parameter",10,2,1);

call setcell("parameter",10,3,1);

if tableexists('xy') then delete table 'xy';

l_row = lastrow('data');

allocate table(xy) l_row rows by 2 columns;

do ii=1 to l_row;

xy[ii,1]=1.0;

end;

set col 1 of table(xy) to col 7 of table('data');

set col 2 of table(xy) to col 6 of table ('data');

rename table(xy) to 'xy';

/*

perform inversion to convective dispersive equation

*/

lsf('xy',2,3,5000,1000,'parameter',0,11);

end;

if (cur = 2 ) then

begin;

tbl_name = cat('retard',cur);

if tableexists(tbl_name) then delete table(tbl_name);

call setcell("parameter",1,1,kp);

call setcell("parameter",1,2,kp);

call setcell("parameter",1,3,kp);

call setcell("parameter",2,1,0.06);

call setcell("parameter",2,2,0.001);

call setcell("parameter",2,3,0.5);

disp = 0;

call setcell("parameter",3,1,disp);

call setcell("parameter",3,2,disp);

call setcell("parameter",3,3,disp);

t0=getcell("conserv2",1,1);

call setcell("parameter",6,1,t0);

call setcell("parameter",6,2,t0);

call setcell("parameter",6,3,t0);

t1=getcell("conserv2",2,1);

call setcell("parameter",7,1,t1);

call setcell("parameter",7,2,t1);

call setcell("parameter",7,3,t1);

c0=getcell("retard1",4,1);

call setcell("parameter",8,1,c0);

call setcell("parameter",8,2,c0);

call setcell("parameter",8,3,c0);

sigma= getcell("conserv2",4,1);

call setcell("parameter",11,1,sigma);

call setcell("parameter",11,2,sigma);

call setcell("parameter",11,3,sigma);

nl=5;

call setcell("parameter",10,1,nl);

call setcell("parameter",10,2,nl);

call setcell("parameter",10,3,nl);

if tableexists('xy') then delete table 'xy';

l_row = lastrow('data');

allocate table(xy) l_row rows by 2 columns;

do ii=1 to l_row;

xy[ii,1]=1.0;

end;

set col 1 of table(xy) to col 7 of table('data');

set col 2 of table(xy) to col 6 of table ('data');

rename table(xy) to 'xy';

/*

perform inversion to convective dispersive equation

*/

lsf('xy',2,3,5000,1000,'parameter',0,11);

end;

end;