Skip to content

Commit

Permalink
Merge branch 'SOdevel' into devel
Browse files Browse the repository at this point in the history
New BICAS v8.1.0.
  • Loading branch information
ErikPGJ committed Jun 12, 2024
2 parents 3433d25 + 249f8ca commit dae4503
Show file tree
Hide file tree
Showing 22 changed files with 316 additions and 106 deletions.
16 changes: 9 additions & 7 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ jobs:
path: ciPath/report.pdf
retention-days: 1

# Job which runs selected tests for MATLAB R2020a.
matlab_R2020a:
# Job which runs tests for BICAS specifically (SOdevel, R2024a only).
matlab_BICAS:
# Runs Matlab
#runs-on: ubuntu-latest
## Specify ubuntu-20.04 (as per 2022-12-02T15:30CET) since "ubuntu-latest" was changed to "ubuntu-22.04"
Expand All @@ -71,18 +71,20 @@ jobs:
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v2
with:
release: R2020a
products: MATLAB Parallel_Computing_Toolbox Image_Processing_Toolbox Financial_Toolbox
# NOTE: The MATLAB version must be consistent with version supported
# by BICAS!
release: R2024a
products: MATLAB Parallel_Computing_Toolbox Image_Processing_Toolbox Financial_Toolbox Wavelet_Toolbox Signal_Processing_Toolbox

# Run MATLAB code
- name: Run commands
uses: matlab-actions/run-command@v2
with:
command: tests_before_release_R2020a;
command: tests_before_release_BICAS;

# Upload artifact (pdf report with plots, etc.)
- uses: actions/upload-artifact@v4
with:
name: test_report_R2020a.pdf
path: ciPath/report_R2020a.pdf
name: test_report_BICAS.pdf
path: ciPath/report_BICAS.pdf
retention-days: 1
6 changes: 6 additions & 0 deletions irf/+irf/+fs/get_file_paths.m
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,13 @@
% =================================
for iDir = 1:numel(inputDirPathCa)
path = inputDirPathCa{iDir};

% NOTE: Empirically, Fsoi=dir() returns the ~canonical path in Fsoi.folder,
% not the original path, which means that the new path might not trigger
% automounting! For example, it converts
% brain:/data/solo --> /amd/nas8/USBDiskRaid5/solo .
FsoiArray2 = dir(fullfile(path, '**')); % Recursive call to dir().

FsoiArray2 = FsoiArray2(~[FsoiArray2.isdir]);
FsoiArray2 = FsoiArray2(:);
% CASE: FsoiArray2 is a column array.
Expand Down
5 changes: 0 additions & 5 deletions irf/+irf/assert.m
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@
% TODO-DEC: Use assertions on (assertion function) arguments internally?
% NOTE: Potentially slower.
%
% TODO-NI: Slower to use assert() than if ... error ?
%
% PROPOSAL: Internal utility function for error() and assert() that always use irf.assert.ASSERTION_EMID.
% CON: Not that much shorter.
% error(irf.assert.ASSERTION_EMID, msg)
Expand Down Expand Up @@ -167,9 +165,6 @@
% PROPOSAL: Assert all linebreaks are LF (no CR+LF).
% PROPOSAL: Assert all linebreaks are LF (no CR+LF). Require ending linebreak.
%
% PROPOSAL: Assert string sets equal
% Ex: write_dataobj
%
% PROPOSAL: Assertion functions for MATLAB's date vectors.
% NOTE: Variants with 3 and 6 components
% PROPOSAL: datevec3, datevec6
Expand Down
86 changes: 85 additions & 1 deletion mission/solar_orbiter/bicas/data/solo_ns_ops.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
2021-05-24, Erik P G Johansson: Data has not been systematically searched for saturation, but should cover most cases (or at least the most egregious ones) up until 2021-03-06.
</note>
<note>
2024-02-01, Erik P G Johansson: Table should contain all thruster firings for the time period 2020-02-12 (launch+2 days) to 2024-01-30 (inclusive). Only contains manually identified thuster firings.
2024-02-01, Erik P G Johansson: Table should contain all thruster firings for the time period 2020-02-12 (launch+2 days) to 2024-05-05 (inclusive). Only contains manually identified thuster firings.
</note>
<note>
2024-01-31, Erik P G Johansson: BICAS detects saturation itself since v8.0.0 and labels it as "full saturation". One should therefore not need to add more FULL_SATURATION entries to this list. FULL_SATURATION entries in this table are additionally treated by BICAS as "full saturation".
Expand Down Expand Up @@ -2201,6 +2201,90 @@
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-02-05T01:04:16</startTimeUtc>
<stopTimeUtc> 2024-02-05T01:18:37</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-02-12T01:04:24</startTimeUtc>
<stopTimeUtc> 2024-02-12T01:19:46</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-02-19T00:54:07</startTimeUtc>
<stopTimeUtc> 2024-02-19T01:09:27</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-02-26T00:10:07</startTimeUtc>
<stopTimeUtc> 2024-02-26T00:20:52</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-03-04T01:04:28</startTimeUtc>
<stopTimeUtc> 2024-03-04T01:14:02</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-03-11T01:04:20</startTimeUtc>
<stopTimeUtc> 2024-03-11T01:23:08</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-03-19T01:04:16</startTimeUtc>
<stopTimeUtc> 2024-03-19T01:40:26</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description>Unusually long.</description>
</event>
<event>
<startTimeUtc>2024-03-25T07:04:10</startTimeUtc>
<stopTimeUtc> 2024-03-25T07:55:32</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-03-30T21:04:22</startTimeUtc>
<stopTimeUtc> 2024-03-30T21:53:00</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-04-04T17:14:25</startTimeUtc>
<stopTimeUtc> 2024-04-04T17:46:39</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-04-09T01:04:18</startTimeUtc>
<stopTimeUtc> 2024-04-09T01:39:57</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-04-17T01:04:23</startTimeUtc>
<stopTimeUtc> 2024-04-17T01:43:49</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-04-22T09:49:20</startTimeUtc>
<stopTimeUtc> 2024-04-22T10:17:52</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>
<event>
<startTimeUtc>2024-04-29T01:04:18</startTimeUtc>
<stopTimeUtc> 2024-04-29T01:24:03</stopTimeUtc>
<rcsNsoId>THRUSTER_FIRING</rcsNsoId>
<description></description>
</event>



Expand Down
86 changes: 85 additions & 1 deletion mission/solar_orbiter/bicas/data/solo_ns_ops.xml.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ <H2>Notes</H2>
2021-05-24, Erik P G Johansson: Data has not been systematically searched for saturation, but should cover most cases (or at least the most egregious ones) up until 2021-03-06.
</P>
<P>
2024-02-01, Erik P G Johansson: Table should contain all thruster firings for the time period 2020-02-12 (launch+2 days) to 2024-01-30 (inclusive). Only contains manually identified thuster firings.
2024-02-01, Erik P G Johansson: Table should contain all thruster firings for the time period 2020-02-12 (launch+2 days) to 2024-05-05 (inclusive). Only contains manually identified thuster firings.
</P>
<P>
2024-01-31, Erik P G Johansson: BICAS detects saturation itself since v8.0.0 and labels it as "full saturation". One should therefore not need to add more FULL_SATURATION entries to this list. FULL_SATURATION entries in this table are additionally treated by BICAS as "full saturation".
Expand Down Expand Up @@ -2184,6 +2184,90 @@ <H2>Events</H2>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-02-05T01:04:16</td>
<td> 2024-02-05T01:18:37</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-02-12T01:04:24</td>
<td> 2024-02-12T01:19:46</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-02-19T00:54:07</td>
<td> 2024-02-19T01:09:27</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-02-26T00:10:07</td>
<td> 2024-02-26T00:20:52</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-03-04T01:04:28</td>
<td> 2024-03-04T01:14:02</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-03-11T01:04:20</td>
<td> 2024-03-11T01:23:08</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-03-19T01:04:16</td>
<td> 2024-03-19T01:40:26</td>
<td>THRUSTER_FIRING</td>
<td>Unusually long.</td>
</tr>
<tr>
<td>2024-03-25T07:04:10</td>
<td> 2024-03-25T07:55:32</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-03-30T21:04:22</td>
<td> 2024-03-30T21:53:00</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-04-04T17:14:25</td>
<td> 2024-04-04T17:46:39</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-04-09T01:04:18</td>
<td> 2024-04-09T01:39:57</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-04-17T01:04:23</td>
<td> 2024-04-17T01:43:49</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-04-22T09:49:20</td>
<td> 2024-04-22T10:17:52</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>
<tr>
<td>2024-04-29T01:04:18</td>
<td> 2024-04-29T01:24:03</td>
<td>THRUSTER_FIRING</td>
<td></td>
</tr>



Expand Down
8 changes: 4 additions & 4 deletions mission/solar_orbiter/bicas/descriptor.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
"icd_version": "1.4"
},
"release": {
"version": "8.0.1",
"date": "2024-02-01T15:00:00Z",
"version": "8.1.0",
"date": "2024-06-11T15:00:00Z",
"author": "Erik P G Johansson, BIAS team, IRF",
"contact": "erjo@irfu.se",
"contact": "erjo@irf.se",
"institute": "Swedish Institute of Space Physics (IRF)",
"modification": "Non-Standard Operations (NSO) table for thruster firings updated for up until 2024-01-30; Cap QUALITY_FLAG at 3 (instead of 2); Bugfix for automatic sweep detection (SCDA); Corrected documentation w.r.t. CDF format version.; Changed source code style",
"modification": "Require MATLAB R2024a (instead of R2019b); Non-Standard Operations (NSO) table for thruster firings updated for up until 2024-05-05",
"source": "https://github.com/irfu/irfu-matlab/commits/SOdevel"
},
"environment": {
Expand Down
4 changes: 4 additions & 0 deletions mission/solar_orbiter/bicas/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ DSI, "dataset ID"
analogy with other variables named after GAs.
DSR
Downsampled/Decreased Sampling Rate. Cf. OSR.
DT
MATLAB datetime object.
EMIDP
(MATLAB) Error Message Identifier Part. One of the colon-separated
parts of the MException .identifier string field (error message ID).
Expand Down Expand Up @@ -357,6 +359,8 @@ UFV
Use Fill Values. Refers to CDF records for which science data should be
overwritten with fill values. This refers to both bias currents and
measured voltages.
VBMC
Validate BICAS Master CDFs.
WOLS
WithOut Leap Seconds
ZV
Expand Down
6 changes: 6 additions & 0 deletions mission/solar_orbiter/bicas/release_notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,9 @@ QUALITY_FLAG is now capped at 3 (previously 2).
Non-Standard Operations (NSO) table thruster firings updated for until 2024-01-30.
Bugfix: Automatic sweep detection (SCDA) no longer removes data due to labelling data as sweeps when constant BIAS HK currents are very different.
Changed setting names relating to autodetection of sweeps.


Version 8.1.0
-------------
Require and use MATLAB R2024a (instead of MATLAB R2019b).
Non-Standard Operations (NSO) table thruster firings updated for until 2024-05-05.
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@
%INPUT_DSI = 'SOLO_L2_RPW-LFR-SURV-CWF-E';
% Define length of bins, and relative position of corresponding
% bin timestamps.
% NS = Nanoseconds
BIN_LENGTH_WOLS_NS = int64(10e9);
BIN_TIMESTAMP_POS_WOLS_NS = int64(BIN_LENGTH_WOLS_NS / 2);

Expand Down
3 changes: 2 additions & 1 deletion mission/solar_orbiter/bicas/src/+bicas/+tools/+batch/main.m
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@
% recursively.
% --
% SPECIAL CASE: Empty <=> Empty reference directory.
% inputPathsCa : Cell array
% inputPathsCa
% Column cell array.
% Arbitrary number of paths (arguments) to individual datasets and/or
% directories. Datasets are searched for (recursively) under directories.
% Other files are ignored. The found datasets are used for finding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,15 +168,20 @@
break
end

%===============================================================
%=============================================================================
% Try run BICAS for selected BPCIs
% --------------------------------
% Skip BPCIs for which not all input datasets exist just before
% execution.
%===============================================================
%error('DELIBERATELY EXITING BEFORE EXECUTING BICAS.') % DEBUG
%
% NOTE: automountTriggerPathsCa includes inputPathsCa which can be very long
% if it refers to explicit datasets. Could possibly slow down execution.
% PROPOSAL: Only include the first N paths of inputPathsCa in automountTriggerPathsCa.
% CON: It is not yet known to be a problem.
%=============================================================================
automountTriggerPathsCa = [{configFile; outputDir; referenceDir}; inputPathsCa];
BpcsPassArray = bicas.tools.batch.try_run_BICAS_for_BPCIs(...
Bpa, BpciRunArray, configFile, bicasSettingsArgsCa);
Bpa, BpciRunArray, configFile, automountTriggerPathsCa, bicasSettingsArgsCa);

BpcsAllArray = [BpcsAllArray; BpcsPassArray];

Expand Down
Loading

0 comments on commit dae4503

Please sign in to comment.