@@ -258,30 +258,36 @@ function update_salinity_mapping( pn_float_dir, pn_float_name, po_system_configu
258258 la_hist_lat = la_hist_lat (ii ) ;
259259 la_hist_dates = la_hist_dates(ii ) ;
260260 la_hist_Z = la_hist_Z(ii ) ;
261-
261+
262262 % map historical data to float profiles -------------------------
263- % if( length(la_hist_sal)>1 ) % only proceed with mapping if there are more than one data point
264- % change config 129 -> at least 5 points are required
265- if ( length(la_hist_sal )>5 ) % only proceed with mapping if there are more than five data point
266-
267- % check for outliers
268-
269- mean_sal = mean(la_hist_sal );
270- signal_sal = signal( la_hist_sal ) ;
271- bad = find(abs(la_hist_sal - mean_sal )/sqrt(signal_sal ) > 3);
272- if ~isempty(bad )
273- la_hist_sal(bad ) = [];
274- la_hist_long(bad ) = [];
275- la_hist_lat(bad ) = [];
276- la_hist_dates(bad ) = [];
277- la_hist_Z(bad ) = [];
278- end
279-
280- % use large length scales to map original data
281- % pass NaN for map_age to exclude temporal covariance for large scale mapping
282-
283- noise_sal = noise( la_hist_sal , la_hist_lat , la_hist_long ) ;
284- signal_sal = signal( la_hist_sal ) ;
263+ % check for outliers
264+
265+ mean_sal = mean(la_hist_sal );
266+ signal_sal = signal( la_hist_sal ) ;
267+
268+ if signal_sal > 0
269+ bad = find(abs(la_hist_sal - mean_sal )/sqrt(signal_sal ) > 3);
270+
271+ if ~isempty(bad )
272+ la_hist_sal(bad ) = [];
273+ la_hist_long(bad ) = [];
274+ la_hist_lat(bad ) = [];
275+ la_hist_dates(bad ) = [];
276+ la_hist_Z(bad ) = [];
277+ end
278+ end
279+
280+
281+ % require more than one historical salinity profile with unique position for noise.m; and
282+ % require more than five historical salinity profiles to produce realistic mapping error estimates
283+ if ( (length(unique(la_hist_long )) > 1 | length(unique(la_hist_lat )) > 1 ) & length(la_hist_sal ) > 5 )
284+
285+
286+ % use large length scales to map original data
287+ % pass NaN for map_age to exclude temporal covariance for large scale mapping
288+
289+ noise_sal = noise( la_hist_sal , la_hist_lat , la_hist_long ) ;
290+ signal_sal = signal( la_hist_sal ) ;
285291
286292 % change config 129
287293
0 commit comments