.
authorA.M. Thurnherr <ant@ldeo.columbia.edu>
Tue, 21 Feb 2012 14:30:23 -0500
changeset 5 2e9ce6753135
parent 4 b99280de1642
child 7 9139db7173d5
.
UH_LADCP2ANTS.m
struct2ANTS.m
--- a/UH_LADCP2ANTS.m
+++ b/UH_LADCP2ANTS.m
@@ -1,9 +1,10 @@
 %======================================================================
 %                    U H _ L A D C P 2 A N T S . M 
 %                    doc: Sun Jan 22 15:19:00 2006
-%                    dlm: Thu Aug  4 14:10:58 2011
+%                    dlm: Tue Feb 21 13:59:44 2012
 %                    (c) 2006 A.M. Thurnherr
-%                    uE-Info: 37 0 NIL 0 0 72 2 2 4 NIL ofnI
+%                    uE-Info: 22 75 NIL 0 0 72 2 2 4 NIL ofnI
+%                    uE-Info: 55 0 NIL 0 0 72 0 2 4 NIL ofnI
 %======================================================================
 %
 % export LDEO LADCP output to ANTS file
@@ -17,6 +18,8 @@
 %	Oct 12, 2009: - adapted to new struct2ANTS
 %	Aug  4, 2011: - added usage message on zero args
 %				  - updated output field names
+%	Feb 21, 2012: - manually merged different versions
+%				  - updated all output field names (dc/uc instead of dn/un)
 
 function [] = UH_LADCP2ANTS(ifn,obn)
 
@@ -45,17 +48,22 @@
 	prof.v = sv_mn_i(good);
 	sv_dn_i(dn_bad) = NaN; prof.dc_v = sv_dn_i(good);
 	sv_up_i(up_bad) = NaN; prof.uc_v = sv_up_i(good);
+	prof.w = sw_mn_i(good);
+	sw_dn_i(dn_bad) = NaN; prof.dc_w = sw_dn_i(good);
+	sw_up_i(up_bad) = NaN; prof.uc_w = sw_up_i(good);
 
 	prof.u_var = su_var_mn_i(good);
 	su_var_dn_i(dn_bad) = NaN; prof.dc_u_var = su_var_dn_i(good);
 	su_var_up_i(up_bad) = NaN; prof.uc_u_var = su_var_up_i(good);
-	prof.v_var = sv_var_mn_i(good);
-	sv_var_dn_i(dn_bad) = NaN; prof.dc_v_var = sv_var_dn_i(good);
-	sv_var_up_i(up_bad) = NaN; prof.uc_v_var = sv_var_up_i(good);
+    prof.v_var = sv_var_mn_i(good);
+    sv_var_dn_i(dn_bad) = NaN; prof.dc_v_var = sv_var_dn_i(good);
+    sv_var_up_i(up_bad) = NaN; prof.uc_v_var = sv_var_up_i(good);
+    prof.w_var = sw_var_mn_i(good);
+    sw_var_dn_i(dn_bad) = NaN; prof.dc_w_var = sw_var_dn_i(good);
+    sw_var_up_i(up_bad) = NaN; prof.uc_w_var = sw_var_up_i(good);
 
 	prof.nsamp = sn_mn_i(good);
 	sn_dn_i(dn_bad) = NaN; prof.dc_nsamp = sn_dn_i(good);
 	sn_up_i(up_bad) = NaN; prof.uc_nsamp = sn_up_i(good);
 
 	struct2ANTS(prof,ifn,sprintf('%s.prof',obn));
-
--- a/struct2ANTS.m
+++ b/struct2ANTS.m
@@ -1,9 +1,9 @@
 %======================================================================
 %                    S T R U C T 2 A N T S . M 
 %                    doc: Thu Oct 20 11:48:17 2005
-%                    dlm: Fri Jan  6 09:31:38 2012
+%                    dlm: Tue Feb 21 14:30:01 2012
 %                    (c) 2005 A.M. Thurnherr
-%                    uE-Info: 50 0 NIL 0 0 72 2 2 4 NIL ofnI
+%                    uE-Info: 93 0 NIL 0 0 72 2 2 4 NIL ofnI
 %======================================================================
 %
 % export Matlab structure to ANTS file
@@ -32,6 +32,11 @@
 %  Jul 24, 2011: - BUG: PARAMS with % did not work
 %  Jul 25, 2011: - commented out diagnostic message about skipped incompatible vectors
 %  Dec 30, 2011: - workaround for Matlab R11b bug: /tmp/foo cannot be written, /../tmp/foo can
+%  Feb 20, 2012: - BUG: diagnostic messages did not show field prefices
+%                - BUG: skipped fields ended up in Layout after all
+%  Feb 21, 2012: - removed double quoting of % and $
+%				 - manually merged two versions
+%				 - re-added diagnostic messages about skipped incompatible vectors
 
 function [] = struct2ANTS(struct,deps,ofn)
 
@@ -66,21 +71,23 @@
 		if isstruct(f)
 			[ldef,dta] = parseStruct(f,ldef,[fns '.'],dta,ofn);
 		elseif ischar(f)
-			f = strrep(f,'%','%%');				% must quote %s
-			f = strrep(f,'$','\\\$');			% presumably also $s
 			ldef = sprintf('%%%s%s="\\"%s\\"" %s',fpref,fns,f,ldef);
 		elseif isnumeric(f)
 			[r c] = size(f);
 			if r+c == 2
 				ldef = sprintf('%%%s%s=%.15g %s',fpref,fns,f,ldef);
 			else
-				ldef = sprintf('%s%s%s= ',ldef,fpref,fns);
 				if isempty(dta), ndta = max(r,c);
 				else, 			 ndta = size(dta,1);
 				end
-				if 	   r==1 && length(f)==ndta, dta = [dta,f'];
-				elseif c==1 && length(f)==ndta, dta = [dta,f];
-				else, 1; %disp(sprintf('%s: incompatible %d x %d array %s skipped',ofn,r,c,fns));
+				if 	   r==1 && length(f)==ndta
+					ldef = sprintf('%s%s%s= ',ldef,fpref,fns);
+					dta = [dta,f'];
+				elseif c==1 && length(f)==ndta
+					ldef = sprintf('%s%s%s= ',ldef,fpref,fns);
+					dta = [dta,f];
+				else
+					disp(sprintf('%s: incompatible %d x %d array %s%s skipped',ofn,r,c,fpref,fns));
 				end
 			end
 		else