v4.1: Bug correction related to the mh_recover mode (needs more tests).
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2264 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
ca0e886204
commit
3026575522
|
@ -310,7 +310,7 @@ elseif options_.mh_recover
|
||||||
while b <= nblck
|
while b <= nblck
|
||||||
if NumberOfMhFilesPerBlock(b) < ExpectedNumberOfMhFilesPerBlock
|
if NumberOfMhFilesPerBlock(b) < ExpectedNumberOfMhFilesPerBlock
|
||||||
CrashedBlck = b;% YES, chain b!
|
CrashedBlck = b;% YES, chain b!
|
||||||
disp(['MH: Chain ' int2str(b) ' is uncomplete!'])
|
disp(['MH: Chain ' int2str(b) ' is not complete!'])
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
disp(['MH: Chain ' int2str(b) ' is complete!'])
|
disp(['MH: Chain ' int2str(b) ' is complete!'])
|
||||||
|
@ -324,7 +324,7 @@ elseif options_.mh_recover
|
||||||
end
|
end
|
||||||
%% The new metropolis-hastings should start from chain... (fblck=CrashedBlck)
|
%% The new metropolis-hastings should start from chain... (fblck=CrashedBlck)
|
||||||
fblck = CrashedBlck;
|
fblck = CrashedBlck;
|
||||||
%% How many mh-files are saved in this block ?
|
%% How many mh-files are saved in this block?
|
||||||
NumberOfSavedMhFilesInTheCrashedBlck = NumberOfMhFilesPerBlock(CrashedBlck);
|
NumberOfSavedMhFilesInTheCrashedBlck = NumberOfMhFilesPerBlock(CrashedBlck);
|
||||||
%% How many mh-files were saved in this block during the last session
|
%% How many mh-files were saved in this block during the last session
|
||||||
%% (if there was a complete session before the crash)
|
%% (if there was a complete session before the crash)
|
||||||
|
@ -353,10 +353,6 @@ elseif options_.mh_recover
|
||||||
IsTheLastFileOfThePreviousMhFull = 0;
|
IsTheLastFileOfThePreviousMhFull = 0;
|
||||||
NumberOfCompletedMhFiles = NumberOfMhFilesPerBlock(CrashedBlck);
|
NumberOfCompletedMhFiles = NumberOfMhFilesPerBlock(CrashedBlck);
|
||||||
reste = 0;
|
reste = 0;
|
||||||
elseif ~OldMh && NumberOfSavedMhFilesInTheCrashedBlck
|
|
||||||
IsTheLastFileOfThePreviousMhFull = 0;
|
|
||||||
NumberOfCompletedMhFiles = 0;
|
|
||||||
reste = 0;
|
|
||||||
end
|
end
|
||||||
%% How many runs were saved ?
|
%% How many runs were saved ?
|
||||||
NumberOfSavedDraws = MAX_nruns*NumberOfCompletedMhFiles + reste;
|
NumberOfSavedDraws = MAX_nruns*NumberOfCompletedMhFiles + reste;
|
||||||
|
@ -384,5 +380,17 @@ elseif options_.mh_recover
|
||||||
end
|
end
|
||||||
ilogpo2(CrashedBlck) = logpo2(end);
|
ilogpo2(CrashedBlck) = logpo2(end);
|
||||||
ix2(CrashedBlck,:) = x2(end,:);
|
ix2(CrashedBlck,:) = x2(end,:);
|
||||||
|
else
|
||||||
|
if NumberOfSavedMhFilesInTheCrashedBlck
|
||||||
|
load([MhDirectoryName '/' ModelName '_mh' ...
|
||||||
|
int2str(NumberOfCompletedMhFiles) '_blck' int2str(CrashedBlck) '.mat']);
|
||||||
|
fline(CrashedBlck,1) = 1;
|
||||||
|
NewFile(CrashedBlck) = NumberOfCompletedMhFiles+1;% NumberOfSavedMhFilesInTheCrashedBlck+1;
|
||||||
|
ilogpo2(CrashedBlck) = logpo2(end);
|
||||||
|
ix2(CrashedBlck,:) = x2(end,:);
|
||||||
|
else
|
||||||
|
fline(CrashedBlck,1) = 1;
|
||||||
|
NewFile(CrashedBlck) = 1;
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end% of (if options_.load_mh_file == {0,1 or -1})
|
end% of (if options_.load_mh_file == {0,1 or -1})
|
Loading…
Reference in New Issue