From dbee209b86b40bf6dcda70a09ec5f665d184bb8c Mon Sep 17 00:00:00 2001
From: Lewin Probst <info@emirror.de>
Date: Fri, 13 Sep 2019 14:22:43 +0200
Subject: [PATCH] Updated save functions and tests to the new rfb input file.

---
 +tests/+ric/save.m      | 4 ++--
 +tests/+trj4/save.m     | 5 +++--
 lib/+artoa/+save/rfc.m  | 8 +++++++-
 lib/+artoa/+save/ric.m  | 2 +-
 lib/+artoa/+save/trj4.m | 2 +-
 5 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/+tests/+ric/save.m b/+tests/+ric/save.m
index c5a8df7..0cbbe07 100644
--- a/+tests/+ric/save.m
+++ b/+tests/+ric/save.m
@@ -11,8 +11,8 @@ rfb = artoa.load.rfb(dataFileName);
 
 data = [];
 data(:, 1) = rfb.DATA(1:13, rfb.VARIABLE_LIST.time_of_arrival(1));
-data(:, 2) = str2num(cell2mat(rfb.SAT_DATA(:, 1)));
-data(:, 3) = str2num(cell2mat(rfb.SAT_DATA(:, 2)));
+data(:, 2) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lat_sat);
+data(:, 3) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lon_sat);
 data(:, 4) = rfb.DATA(1:13, rfb.VARIABLE_LIST.temperature);
 data(:, 5) = rfb.DATA(1:13, rfb.VARIABLE_LIST.pressure);
 
diff --git a/+tests/+trj4/save.m b/+tests/+trj4/save.m
index 24f6dd0..4b6b65b 100644
--- a/+tests/+trj4/save.m
+++ b/+tests/+trj4/save.m
@@ -13,13 +13,14 @@ header = "Created in 2019" + newline + "a multiline test header";
 
 data = [];
 data(:, 1) = rfb.DATA(1:13, rfb.VARIABLE_LIST.time_of_arrival(1));
-data(:, 2) = str2num(cell2mat(rfb.SAT_DATA(:, 1)));
-data(:, 3) = str2num(cell2mat(rfb.SAT_DATA(:, 2)));
+data(:, 2) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lat_sat);
+data(:, 3) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lon_sat);
 data(:, 4) = rfb.DATA(1:13, rfb.VARIABLE_LIST.temperature);
 data(:, 5) = rfb.DATA(1:13, rfb.VARIABLE_LIST.pressure);
 data(:, 6) = rfb.DATA(1:13, rfb.VARIABLE_LIST.pressure);
 data(:, 7) = rfb.DATA(1:13, rfb.VARIABLE_LIST.temperature);
 
+
 saveToFilename = fullfile(currentDirectory, '..', 'testdata', 'output', 'testOutput.trj4');
 
 success = artoa.save.trj4(saveToFilename, header, data);
diff --git a/lib/+artoa/+save/rfc.m b/lib/+artoa/+save/rfc.m
index 965b391..84144d5 100644
--- a/lib/+artoa/+save/rfc.m
+++ b/lib/+artoa/+save/rfc.m
@@ -95,6 +95,12 @@ floatCycleEndTimeRafosDays = num2str( ...
 );
 floatCycleEndTime = num2str(floatCycleEndTime);
 
+if size(pFloatDetails.offset, 1) > 1
+    floatOffsetEnd = pFloatDetails.offset(2,end);
+else
+    floatOffsetEnd = NaN;
+end
+
 header = { ...
     ['** Float: ' floatname], ...
     ['** Variables: InterpFlag LineNum RafosDay  Temp  Pres  Lat  Lon  U     V     W'], ...
@@ -109,7 +115,7 @@ header = { ...
     ['** Launch time                  : ' launchTime ' (RAFOS day ' launchTimeRafosDays ')'], ...
     ['** Cycle End time               : ' floatCycleEndTime ' (RAFOS day ' floatCycleEndTimeRafosDays ')'], ...
     ['** First surface Position time  : ' recoverTime ' (RAFOS day ' recoverTimeRafosDays ')'], ...
-    ['** Float clock offset (init/final)  : ' num2str(pFloatDetails.offset(1,end)) ' / ' num2str(pFloatDetails.offset(2,end)),' seconds'], ...
+    ['** Float clock offset (init/final)  : ' num2str(pFloatDetails.offset(1,end)) ' / ' num2str(floatOffsetEnd),' seconds'], ...
     ['** -------'] ...
 };
 
diff --git a/lib/+artoa/+save/ric.m b/lib/+artoa/+save/ric.m
index 37c115e..7420290 100644
--- a/lib/+artoa/+save/ric.m
+++ b/lib/+artoa/+save/ric.m
@@ -49,7 +49,7 @@ defaultValue = -999;
 for i = 1:size(pData, 2)
     nanIndex = find(isnan(pData(:, i)));
     if ~isempty(nanIndex)
-        pData(nanIndex, i) = repmat(defaultValue, 1, size(pData, 1));
+        pData(nanIndex, i) = defaultValue;
     end
     clear nanIndex;
 end
diff --git a/lib/+artoa/+save/trj4.m b/lib/+artoa/+save/trj4.m
index ccadd05..624ae3d 100644
--- a/lib/+artoa/+save/trj4.m
+++ b/lib/+artoa/+save/trj4.m
@@ -45,7 +45,7 @@ defaultValue = -999;
 for i = 1:size(pData, 2)
     nanIndex = find(isnan(pData(:, i)));
     if ~isempty(nanIndex)
-        pData(nanIndex, i) = repmat(defaultValue, 1, size(pData, 1));
+        pData(nanIndex, i) = defaultValue;
     end
     clear nanIndex;
 end
-- 
GitLab