Skip to content

Commit

Permalink
solo.qli.batch: New algo. QLI_FMD_INTERVAL
Browse files Browse the repository at this point in the history
  • Loading branch information
ErikPGJ committed Apr 12, 2024
1 parent a5d13bd commit 18f0bb3
Showing 1 changed file with 30 additions and 1 deletion.
31 changes: 30 additions & 1 deletion mission/solar_orbiter/+solo/+qli/+batch/interface.m
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@
Settings.datasetDirsCa, fmdQliDir, Settings.Fsr, ...
algorithmArgumentsCa);

case 'QLI_FMD_INTERVAL'
DaysDtArray = solo.qli.batch.interface.get_days_from_QLI_FMD_interval( ...
fmdQliDir, Settings.Fsr, algorithmArgumentsCa);

otherwise
error('Illegal argument dateSelectionAlgorithmId="%s"', dateSelectionAlgorithmId)
end
Expand Down Expand Up @@ -78,7 +82,7 @@
% YYYY-MM-DD. Function is made to make it easy to generate more
% easy-to-understand error messages.
function check_interface_date_str(dateStr)
DATE_RE = '^20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]$';
DATE_RE = '^[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]$';

assert(ischar(dateStr))

Expand All @@ -93,6 +97,8 @@ function check_interface_date_str(dateStr)
function DaysDtArray = filter_days_array(...
DaysDtArray, maxNDaysStr, beginDayUtcInclStr, endDayUtcExclStr)

solo.qli.utils.assert_UTC_midnight_datetime(DaysDtArray)

solo.qli.batch.interface.check_interface_date_str(beginDayUtcInclStr)
solo.qli.batch.interface.check_interface_date_str(endDayUtcExclStr)

Expand Down Expand Up @@ -277,6 +283,29 @@ function check_interface_date_str(dateStr)



function DaysDtArray = get_days_from_QLI_FMD_interval(...
qliDir, Fsr, algorithmArgumentsCa)

assert(numel(algorithmArgumentsCa) == 3, 'Illegal number of algorithm arguments.')

maxNDaysStr = algorithmArgumentsCa{1};
startInclFmdDt = datetime(algorithmArgumentsCa{2});
stopExclFmdDt = datetime(algorithmArgumentsCa{3});

QliDfmdd = solo.qli.batch.fmd.get_days_from_QLI_FMD_interval( ...
qliDir, startInclFmdDt, stopExclFmdDt, Fsr);
if QliDfmdd.numEntries == 0
DaysDtArray = solo.qli.const.EMPTY_DT_ARRAY;
else
DaysDtArray = QliDfmdd.keys;
end

DaysDtArray = solo.qli.batch.interface.filter_days_array(...
DaysDtArray, maxNDaysStr, '0000-01-01', '9999-12-31');
end



end % methods(Static)


Expand Down

0 comments on commit 18f0bb3

Please sign in to comment.