function [mStatesPriorEn,mStatesNOKF]=sodaPropStates(sodaPar,iIter,mConstants,...
    mStatesPriorEn,mStatesPostEn,mPars,mStatesNOKF)

nMembers = sodaPar.nEnsembleMembers;
nStatesKF = sodaPar.nStatesKF;
nStatesNOKF = sodaPar.nStatesNOKF;
% nOutputs = sodaPar.nOutputs;


IO=sodaPar.obsPoints{1,2}(iIter)<=sodaPar.simPoints{1,2} &...
    sodaPar.simPoints{1,2}<=sodaPar.obsPoints{1,2}(iIter+1);

mTime{1,1} = sodaPar.simPoints{1,1};
mTime{1,2} = sodaPar.simPoints{1,2}(IO);

evalStr = ['[mStatesPriorEn(iIter+1,1:nStatesKF,iMember),',...
            'mStatesNOKF(iIter+1,1:nStatesNOKF,iMember)] = ',...
            sodaPar.modelName,...
            '(sodaPar,mConstants,mStatesPostEn(iIter,1:nStatesKF,iMember),',...
            'mStatesNOKF(iIter,1:nStatesNOKF,iMember),mPars,mTime);'];


for iMember = 1:nMembers

    eval(evalStr)
    
end
