*get,prkey_,active,0,prkey
/nopr
pararnam=arg1
*get,zzzparmx,parm,,max
*get,zzzzsclp,parm,,basic
zzzzsclp=zzzzsclp-1
*dim,zzzzparm,char,zzzzsclp+_indxoff
*dim,zzzzparv,array,zzzzsclp+_indxoff
zzzparof=0
*do,zzzzzzz1,1,zzzparmx-2,1
*if,zzzparof,eq,0,then
zzzzzzz2=zzzzzzz1
*else
zzzzzzz2=zzzzzzz1-zzzparof
*endif
*get,zzzzpar,parm,,loc,zzzzzzz1
*get,zzpartyp,parm,%zzzzpar%,type
*if,zzzzzzz1,eq,zzzparmx-2,then
*if,zzpartyp,ne,0,then
*exit
*else
zzzzparm(zzzzzzz2,1)=zzzzpar
*endif
*else
zzzzparm(zzzzzzz2,1)=zzzzpar
*endif
*if,zzpartyp,eq,0,then
zzzzparv(zzzzzzz2,1)=%zzzzpar%
*else
zzzparof=zzzparof+1
*endif
*enddo
zzzzparm(zzzzsclp+1,1)='%pararnam%mxi'
zzzzparv(zzzzsclp+1,1)=zzzzsclp+1
%pararnam%mxi=zzzzsclp+1
*dim,%pararnam%,char,zzzzsclp+1
*dim,%pararnam%v,array,zzzzsclp+1
*do,zijkl,1,zzzzsclp+1,1
%pararnam%(zijkl,1)=zzzzparm(zijkl,1)
%pararnam%v(zijkl,1)=zzzzparv(zijkl,1)
*enddo
*do,zijkl,1,%pararnam%mxi-1,1
*do,zijkm,1,assmpmxi,1
par1=%pararnam%(zijkl,1)
par2=assm_par(zijkm,1)
*if,par1,eq,par2,then
*exit
*else
*if,zijkm,eq,assmpmxi,then
*set,%par1%,
*endif
*endif
*enddo
*enddo
*set,zzpartyp,
*dim,buff,char,%pararnam%mxi
*dim,buffv,array,%pararnam%mxi
parof=0
*do,zijkl,1,%pararnam%mxi,1
parcheck=0
*do,zijkm,1,assmpmxi,1
par1=%pararnam%(zijkl,1)
par2=assm_par(zijkm,1)
*if,par1,eq,par2,then
parof=parof+1
parcheck=1
*endif
*if,zijkm,eq,assmpmxi,then
*if,parcheck,eq,0,then
index=zijkl-parof
buff(index,1)=%pararnam%(zijkl,1)
buffv(index,1)=%pararnam%v(zijkl,1)
*endif
*endif
*enddo
*enddo
*set,%pararnam%(1),
*set,%pararnam%v(1),
*dim,%pararnam%,char,%pararnam%mxi-parof
*dim,%pararnam%v,array,%pararnam%mxi-parof
*do,zijkl,1,%pararnam%mxi-parof,1
%pararnam%(zijkl,1)=buff(zijkl,1)
%pararnam%v(zijkl,1)=buffv(zijkl,1)
*enddo
%pararnam%v(%pararnam%mxi-parof,1)=%pararnam%mxi-parof
*if,modl_num,eq,1,then
par_file(modl_num,1)=pararnam
*else
*do,mnz,1,modl_num-1,1
parfbuff(mnz,1)=par_file(mnz,1)
*enddo
parfbuff(modl_num,1)=pararnam
*set,par_file(1),
*dim,par_file,char,modl_num
*do,mnz,1,modl_num,1
par_file(mnz,1)=parfbuff(mnz,1)
*enddo
*set,parfbuff(1),
*dim,parfbuff,char,modl_num+1
*endif
*if,modl_num,eq,1,then
parfmxi(modl_num,1)=%pararnam%mxi-parof
*else
*do,mnz,1,modl_num-1,1
pfmxibuf(mnz,1)=parfmxi(mnz,1)
*enddo
pfmxibuf(modl_num,1)=%pararnam%mxi-parof
*set,parfmxi(1),
*dim,parfmxi,array,modl_num
*do,mnz,1,modl_num,1
parfmxi(mnz,1)=pfmxibuf(mnz,1)
*enddo
*set,pfmxibuf(1),
*dim,pfmxibuf,array,modl_num+1
*endif
*set,%pararnam%mxi,
*set,zijkl,
*set,zijkm,
*set,par1,
*set,par2,
*set,index,
*set,pararnam,
*set,zzzzparm(1),
*set,zzzzparv(1),
*set,zzzzsclp,
*set,zzzzpar,
*set,zzzparmx,
*set,zzzparof,
*set,zzzzzzz1,
*set,zzzzzzz2,
*set,parcheck,
*set,buff(1),
*set,buffv(1),
*set,parof,
*set,mnz,
*set,_indxoff,
*if,prkey_,eq,1,then
/go
*endif