From fc15456759d42c732bcf9dfa17db543ab8e9dfa5 Mon Sep 17 00:00:00 2001
From: Jacques Grelet <jacques.grelet@ird.fr>
Date: Mon, 2 Mar 2009 13:47:39 +0000
Subject: [PATCH] do i test in updateTsgStruct to prevent initializing of
 calcoeff after reading .ini file change date format in headerForm (YYYYmmdd
 instead of dd/mm/YYYY)

---
 tsg_util/headerForm.m      |  6 +++---
 tsg_util/updateTsgStruct.m | 20 ++++++++++++--------
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/tsg_util/headerForm.m b/tsg_util/headerForm.m
index 9a63e8c..c46b6ad 100644
--- a/tsg_util/headerForm.m
+++ b/tsg_util/headerForm.m
@@ -258,7 +258,7 @@ uiwait(hHeaderFig);
 % -----------------------------------------------------------------------
   function editCallback(obj, event)
     value = get(obj, 'string');
-    match = regexp( value, '(\d{2})/(\d{2})/(\d{4})', 'tokens');
+    match = regexp( value, '^(\d{4})(\d{2})(\d{2})$', 'match');
     if isempty(match)
       beep;
       set(obj, 'string', '');
@@ -366,7 +366,7 @@ uiwait(hHeaderFig);
             tsg.(var)(ii) = NaN;
           else
             if strcmpi(key, 'DATE')
-              tsg.(var)(ii) = single(datenumToJulian(datenum(s, 'dd/mm/yyyy')));
+              tsg.(var)(ii) = single(datenumToJulian(datenum(s, 'yyyymmdd')));
             else
               tsg.(var)(ii) = single(str2double(s));
             end
@@ -617,7 +617,7 @@ uiwait(hHeaderFig);
         if isnan(tsg.(var)(ii))
           value = '';
         elseif strcmpi(cle, padding('DATE', tsg.dim.COEF_CONV_SIZE))
-          value = datestr(julianToDatenum(tsg.(var)(ii)), 'dd/mm/YYYY');
+          value = datestr(julianToDatenum(tsg.(var)(ii)), 'YYYYmmdd');
         else
           value = num2str(tsg.(var)(ii));
         end
diff --git a/tsg_util/updateTsgStruct.m b/tsg_util/updateTsgStruct.m
index a6b9452..320d3d1 100644
--- a/tsg_util/updateTsgStruct.m
+++ b/tsg_util/updateTsgStruct.m
@@ -100,20 +100,24 @@ var = {'SSJT_CALCOEF', 'CNDC_CALCOEF', 'SSTP_CALCOEF'};
 pref = tsg.preference.coeff_type_value;
 
 for i = 1:numel(var)
-  for j = 1:tsg.dim.CALCOEF
-    tsg.(var{i})(j) = NaN;
-    tsg.([var{i} '_CONV']) = ...
-      [tsg.([var{i} '_CONV']); padding(coeff_type{pref,i}{j}, tsg.dim.COEF_CONV_SIZE)];
+  if isempty(tsg.(var{i}))
+    for j = 1:tsg.dim.CALCOEF
+      tsg.(var{i})(j) = NaN;
+      tsg.([var{i} '_CONV']) = ...
+        [tsg.([var{i} '_CONV']); padding(coeff_type{pref,i}{j}, tsg.dim.COEF_CONV_SIZE)];
+    end
   end
 end
 
 var ={'SSJT_LINCOEF', 'CNDC_LINCOEF', 'SSTP_LINCOEF'};
 
 for i = 1:numel(var)
-  for j = 1:tsg.dim.LINCOEF
-    tsg.(var{i})(j) = lin_val(j);
-    tsg.([var{i} '_CONV']) = ...
-      [tsg.([var{i} '_CONV']); padding(lin_type{j}, tsg.dim.COEF_CONV_SIZE)];
+  if isempty(tsg.(var{i}))
+    for j = 1:tsg.dim.LINCOEF
+      tsg.(var{i})(j) = lin_val(j);
+      tsg.([var{i} '_CONV']) = ...
+        [tsg.([var{i} '_CONV']); padding(lin_type{j}, tsg.dim.COEF_CONV_SIZE)];
+    end
   end
 end
 
-- 
GitLab