source: issm/trunk-jpl/src/m/classes/snowpack.m@ 15919

Last change on this file since 15919 was 15919, checked in by Eric.Larour, 12 years ago

CHG: starting map of snowpack class with configuration files coming out of inishell in snowpack

File size: 21.6 KB
Line 
1%SNOWPACK class definition
2%
3% Usage:
4% snowpack=snowpack();
5
6classdef snowpack
7 properties (SetAccess=public)
8
9 %first, the configuration fields, by category:
10 %snowpack: %{{{
11 snowpack_meas_tss = 0;
12 snowpack_enforce_measured_snow_heights = 0;
13 snowpack_sw_mode = 0;
14 snowpack_incoming_longwave = 0;
15 snowpack_height_of_wind_value = 0;
16 snowpack_height_of_meteo_values = 0;
17 snowpack_neutral = 0;
18 snowpack_roughness_length = 0;
19 snowpack_number_slopes = 0;
20 snowpack_snow_redistribution = 0;
21 snowpack_calculation_step_length = 0;
22 snowpack_change_bc = 0;
23 snowpack_thresh_change_bc = 0;
24 snowpack_snp_soil = 0;
25 snowpack_soil_flux = 0;
26 snowpack_geo_heat = 0;
27 snowpack_canopy = 0;
28 %}}}
29 %snowpackadvanced: %{{{
30 snowpackadvanced_variant = ''; % use 320 kg m-3 for fixed density
31 snowpackadvanced_hn_density = '';
32 %}}}
33 %general: %{{{
34 general_pluginpath = '';
35 general_buff_chunk_size = 0;
36 general_buff_before = 0;
37 %}}}
38 %input {{{
39 input_coordsys = '';
40 input_coordparam = '';
41 input_time_zone = 0;
42 input_meteo = '';
43 input_meteopath = '';
44 input_station1 = '';
45 input_snowfile1 = '';
46 %}}}
47 %output {{{
48 output_coordsys = '';
49 output_coordparam = '';
50 output_time_zone = 0;
51 output_meteopath = '';
52 output_experiment = '';
53 output_ts_write = 0;
54 output_ts_start = 0;
55 output_ts_days_between = 0;
56 output_profile = '';
57 output_prof_write = 0;
58 output_prof_start = 0;
59 output_prof_days_between = 0;
60 %}}}
61 %interpolations1d %{{{
62 interpolations1d_window_size = 0; %that is 5 d and 2 h; 1 d = 86400
63 interpolations1d_hnw_resample = '';
64 interpolations1d_hs_resample = '';
65 interpolations1d_tsg_resample = '';
66 interpolations1d_rho_hn_resample = '';
67 interpolations1d_vw_resample = '';
68 interpolations1d_vw_args = '';
69 %}}}
70 %filters {{{
71 filters_ta_filter1 = '';
72 filters_ta_arg1 = NaN;
73 filters_rh_filter1 = '';
74 filters_rh_arg1 = NaN;
75 filters_rh_filter2 = '';
76 filters_rh_arg2 = NaN;
77 filters_iswr_filter1 = '';
78 filters_iswr_arg1 = NaN;
79 filters_iswr_filter2 = '';
80 filters_iswr_arg2 = NaN;
81 filters_rswr_filter1 = '';
82 filters_rswr_arg1 = NaN;
83 filters_rswr_filter2 = '';
84 filters_rswr_arg2 = NaN;
85
86 %for ta between 190 and 280 k;
87 filters_ilwr_filter1 = '';
88 filters_ilwr_arg1 = NaN;
89 filters_ilwr_filter2 = '';
90 filters_ilwr_arg2 = NaN;
91 filters_tss_filter1 = '';
92 filters_tss_arg1 = NaN;
93 filters_tsg_filter1 = '';
94 filters_tsg_arg1 = NaN;
95 filters_vw_filter1 = '';
96 filters_vw_arg1 = NaN;
97 filters_vw_filter2 = '';
98 filters_vw_arg2 = NaN;
99 %}}}
100
101 end
102 methods
103 function obj = snowpack(varargin) % {{{
104 switch nargin
105 case 0
106 obj=setdefaultparameters(obj);
107 case 1
108 inputstruct=varargin{1};
109 list1 = properties('snowpack');
110 list2 = fieldnames(inputstruct);
111 for i=1:length(list1)
112 fieldname = list1{i};
113 if ismember(fieldname,list2),
114 obj.(fieldname) = inputstruct.(fieldname);
115 end
116 end
117 otherwise
118 error('constructor not supported');
119 end
120 end % }}}
121 function obj = setdefaultparameters(obj) % {{{
122
123 %snowpack: %{{{
124 obj.snowpack_meas_tss = 1;
125 obj.snowpack_enforce_measured_snow_heights = 0;
126 obj.snowpack_sw_mode = 0;
127 obj.snowpack_incoming_longwave = 1;
128 obj.snowpack_height_of_wind_value = 12.;
129 obj.snowpack_height_of_meteo_values = 12.;
130 obj.snowpack_neutral = 0;
131 obj.snowpack_roughness_length = 0.002;
132 obj.snowpack_number_slopes = 1;
133 obj.snowpack_snow_redistribution = 1;
134 obj.snowpack_calculation_step_length = 15.0;
135 obj.snowpack_change_bc = 0;
136 obj.snowpack_thresh_change_bc = -1.0;
137 obj.snowpack_snp_soil = 0;
138 obj.snowpack_soil_flux = 0;
139 obj.snowpack_geo_heat = 0.06;
140 obj.snowpack_canopy = 0;
141 %}}}
142 %snowpackadvanced: %{{{
143 obj.snowpackadvanced_variant = 'ANTARCTICA'; % use 320 kg m-3 for fixed density
144 obj.snowpackadvanced_hn_density = 'EVENT';
145 %}}}
146 %general: %{{{
147 obj.general_pluginpath = '/usr/local/lib/meteoio/plugins/';
148 obj.general_buff_chunk_size = 90;
149 obj.general_buff_before = 1.5;
150 %}}}
151 %input {{{
152 obj.input_coordsys = 'ch1903';
153 obj.input_coordparam = 'null';
154 obj.input_time_zone = 8;
155 obj.input_meteo = 'smet';
156 obj.input_meteopath = './input';
157 obj.input_station1 = 'domec.smet';
158 obj.input_snowfile1 = 'domec.sno';
159 %}}}
160 %output {{{
161 obj.output_coordsys = 'ch1903';
162 obj.output_coordparam = 'null';
163 obj.output_time_zone = 8;
164 obj.output_meteopath = './output';
165 obj.output_experiment = 'smet';
166 obj.output_ts_write = 1;
167 obj.output_ts_start = 0.0;
168 obj.output_ts_days_between = 0.04166667;
169 obj.output_profile = 'ascii';
170 obj.output_prof_write = 1;
171 obj.output_prof_start = 0.0;
172 obj.output_prof_days_between = 0.04166667;
173 %}}}
174 %interpolations1d %{{{
175 obj.interpolations1d_window_size = 439200; %that is 5 d and 2 h; 1 d = 86400
176 obj.interpolations1d_hnw_resample = 'none';
177 obj.interpolations1d_hs_resample = 'linear';
178 obj.interpolations1d_tsg_resample = 'linear';
179 obj.interpolations1d_rho_hn_resample = 'none';
180 obj.interpolations1d_vw_resample = 'nearest_neighbour';
181 obj.interpolations1d_vw_args = 'extrapolate';
182 %}}}
183 %filters {{{
184 obj.filters_ta_filter1 = 'min_max';
185 obj.filters_ta_arg1 = [190 280];
186 obj.filters_rh_filter1 = 'min_max';
187 obj.filters_rh_arg1 = [0.01 1.2];
188 obj.filters_rh_filter2 = 'min_max';
189 obj.filters_rh_arg2 = {'soft' 0.01 1.0};
190 obj.filters_iswr_filter1 = 'min_max';
191 obj.filters_iswr_arg1 = [-10 1500];
192 obj.filters_iswr_filter2 = 'min_max';
193 obj.filters_iswr_arg2 = {'soft' 0 1500};
194 obj.filters_rswr_filter1 = 'min_max';
195 obj.filters_rswr_arg1 = [-10 1500];
196 obj.filters_rswr_filter2 = 'min_max';
197 obj.filters_rswr_arg2 = {'soft' 0 1500};
198
199 %for ta between 190 and 280 k;
200 obj.filters_ilwr_filter1 = 'min_max';
201 obj.filters_ilwr_arg1 = [30 355];
202 obj.filters_ilwr_filter2 = 'min_max';
203 obj.filters_ilwr_arg2 = {'soft' 35 350};
204 obj.filters_tss_filter1 = 'min_max';
205 obj.filters_tss_arg1 = [180 275];
206 obj.filters_tsg_filter1 = 'min_max';
207 obj.filters_tsg_arg1 = [200 275];
208 obj.filters_vw_filter1 = 'min_max';
209 obj.filters_vw_arg1 = [-2 70];
210 obj.filters_vw_filter2 = 'min_max';
211 obj.filters_vw_arg2 = {'soft' 0 50};
212 %}}}
213
214 end % }}}
215 function md = checkconsistency(obj,md,solution,analyses) % {{{
216 %snowpack: %{{{
217 md=checkfield(md,'snowpack.snowpack_meas_tss','values',[0 1]);
218 md=checkfield(md,'snowpack.snowpack_enforce_measured_snow_heights','values',[0 1]);
219 md=checkfield(md,'snowpack.snowpack_sw_mode','values',[0 1 2]);
220 md=checkfield(md,'snowpack.snowpack_incoming_longwave','values',[0 1]);
221 md=checkfield(md,'snowpack.snowpack_height_of_wind_value','>=',0);
222 md=checkfield(md,'snowpack.snowpack_height_of_meteo_values','>=',0);
223 md=checkfield(md,'snowpack.snowpack_neutral','values',[-1 0 1]);
224 md=checkfield(md,'snowpack.snowpack_roughness_length','>=',0);
225 md=checkfield(md,'snowpack.snowpack_number_slopes','values',[1 3 5 9]);
226 md=checkfield(md,'snowpack.snowpack_snow_redistribution','values',[0 1]);
227 md=checkfield(md,'snowpack.snowpack_calculation_step_length','>',0);
228 md=checkfield(md,'snowpack.snowpack_change_bc','values',[0 1]);
229 md=checkfield(md,'snowpack.snowpack_thresh_change_bc','<=',0);
230 md=checkfield(md,'snowpack.snowpack_snp_soil','values',[0 1]);
231 md=checkfield(md,'snowpack.snowpack_soil_flux','values',[0 1]);
232 md=checkfield(md,'snowpack.snowpack_geo_heat','>=',0);
233 md=checkfield(md,'snowpack.snowpack_canopy','values',[0 1]);
234 %}}}
235 %snowpackadvanced: %{{{
236 md=checkfield(md,'snowpack.snowpackadvanced_variant','values',{'JAPAN','DEFAULT','ANTARCTICA'});
237 md=checkfield(md,'snowpack.snowpackadvanced_hn_density','values',{'PARAMETERIZED','EVENT','MEASURED'});
238 %}}}
239 %general: %{{{
240 md=checkfield(md,'snowpack.general_buff_chunk_size','>',0);
241 md=checkfield(md,'snowpack.general_buff_before','>',0);
242 %}}}
243 %input {{{
244 md=checkfield(md,'snowpack.input_coordsys','values',{'CH1903','UTM','UPS','PROJ4','LOCAL'});
245 md=checkfield(md,'snowpack.input_coordparam','values','null');
246 md=checkfield(md,'snowpack.input_time_zone','>',-12,'<',12);
247 md=checkfield(md,'snowpack.input_meteo','values',{'BORMA','COSMO','GEOTOP','GRIB','GSN','IMIS','SMET','SNOWPACK'});
248 md=checkfield(md,'snowpack.input_meteopath','empty',1);
249 md=checkfield(md,'snowpack.input_station1 ','empty',1);
250 md=checkfield(md,'snowpack.input_snowfile1','empty',1);
251 %}}}
252 %output {{{
253 md=checkfield(md,'snowpack.output_coordsys','values',{'CH1903','UTM','UPS','PROJ4','LOCAL'});
254 md=checkfield(md,'snowpack.output_coordparam','values','null');
255 md=checkfield(md,'snowpack.output_time_zone','>',-12,'<',12);
256 md=checkfield(md,'snowpack.output_meteopath','empty',1);
257 md=checkfield(md,'snowpack.output_experiment','empty',1);
258 md=checkfield(md,'snowpack.output_ts_write','values',[0 1]);
259 md=checkfield(md,'snowpack.output_ts_start','>=',0);
260 md=checkfield(md,'snowpack.output_ts_days_between','>=',0);
261 md=checkfield(md,'snowpack.output_profile','values',{'ASCII','IMIS','ASCII IMIS'});
262 md=checkfield(md,'snowpack.output_prof_write','values',[0 1]);
263 md=checkfield(md,'snowpack.output_prof_start','>=',0);
264 md=checkfield(md,'snowpack.output_prof_days_between','>=',0);
265 %}}}
266 %interpolations1d %{{{
267 md=checkfield(md,'snowpack.interpolations1d_window_size','>',0);
268 md=checkfield(md,'snowpack.interpolations1d_hnw_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
269 md=checkfield(md,'snowpack.interpolations1d_hs_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
270 md=checkfield(md,'snowpack.interpolations1d_tsg_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
271 md=checkfield(md,'snowpack.interpolations1d_rho_hn_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
272 md=checkfield(md,'snowpack.interpolations1d_vw_resample','values',{'NONE','NEAREST_NEIGHBOUR','ACCUMULATE','LINEAR'});
273 md=checkfield(md,'snowpack.interpolations1d_vw_args','values',{'EXTRAPOLATE'});
274 %}}}
275 %filters {{{
276 filter_values={'MIN_MAX','RATE_FILTER1','RATE_FILTER2','UNHEATED_RAIN_GAUGE_FILTER','WMO_UNDERCATCH_FILTER','WMO_UNDERCATCH_FILTER-SIMPLIFIED','UNVENTILLATED_TEMPERATURE_SENSOR','ADD_AN_OFFSET'};
277 md=checkfield(md,'snowpack.filters_ta_filter1','values',{filter_values});
278 if strcmpi(md.snowpack.filters_ta_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ta_filter1','size',[1 NaN]); end
279 md=checkfield(md,'snowpack.filters_ta_arg1','values',{filter_values});
280 if strcmpi(md.snowpack.filters_ta_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ta_arg1','size',[1 NaN]); end
281 md=checkfield(md,'snowpack.filters_rh_filter1','values',{filter_values});
282 if strcmpi(md.snowpack.filters_rh_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_filter1','size',[1 NaN]); end
283 md=checkfield(md,'snowpack.filters_rh_arg1','values',{filter_values});
284 if strcmpi(md.snowpack.filters_rh_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_arg1','size',[1 NaN]); end
285 md=checkfield(md,'snowpack.filters_rh_filter2','values',{filter_values});
286 if strcmpi(md.snowpack.filters_rh_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_filter2','size',[1 NaN]); end
287 md=checkfield(md,'snowpack.filters_rh_arg2','values',{filter_values});
288 if strcmpi(md.snowpack.filters_rh_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rh_arg2','size',[1 NaN]); end
289 md=checkfield(md,'snowpack.filters_iswr_filter1','values',{filter_values});
290 if strcmpi(md.snowpack.filters_iswr_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_filter1','size',[1 NaN]); end
291 md=checkfield(md,'snowpack.filters_iswr_arg1','values',{filter_values});
292 if strcmpi(md.snowpack.filters_iswr_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_arg1','size',[1 NaN]); end
293 md=checkfield(md,'snowpack.filters_iswr_filter2','values',{filter_values});
294 if strcmpi(md.snowpack.filters_iswr_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_filter2','size',[1 NaN]); end
295 md=checkfield(md,'snowpack.filters_iswr_arg2','values',{filter_values});
296 if strcmpi(md.snowpack.filters_iswr_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_iswr_arg2','size',[1 NaN]); end
297 md=checkfield(md,'snowpack.filters_rswr_filter1','values',{filter_values});
298 if strcmpi(md.snowpack.filters_rswr_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_filter1','size',[1 NaN]); end
299 md=checkfield(md,'snowpack.filters_rswr_arg1','values',{filter_values});
300 if strcmpi(md.snowpack.filters_rswr_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_arg1','size',[1 NaN]); end
301 md=checkfield(md,'snowpack.filters_rswr_filter2','values',{filter_values});
302 if strcmpi(md.snowpack.filters_rswr_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_filter2','size',[1 NaN]); end
303 md=checkfield(md,'snowpack.filters_rswr_arg2','values',{filter_values});
304 if strcmpi(md.snowpack.filters_rswr_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_rswr_arg2','size',[1 NaN]); end
305
306 %for ta between 190 and 280 k;
307 md=checkfield(md,'snowpack.filters_ilwr_filter1','values',{filter_values});
308 if strcmpi(md.snowpack.filters_ilwr_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_filter1','size',[1 NaN]); end
309 md=checkfield(md,'snowpack.filters_ilwr_arg1','values',{filter_values});
310 if strcmpi(md.snowpack.filters_ilwr_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_arg1','size',[1 NaN]); end
311 md=checkfield(md,'snowpack.filters_ilwr_filter2','values',{filter_values});
312 if strcmpi(md.snowpack.filters_ilwr_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_filter2','size',[1 NaN]); end
313 md=checkfield(md,'snowpack.filters_ilwr_arg2','values',{filter_values});
314 if strcmpi(md.snowpack.filters_ilwr_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ilwr_arg2','size',[1 NaN]); end
315 md=checkfield(md,'snowpack.filters_tss_filter1','values',{filter_values});
316 if strcmpi(md.snowpack.filters_tss_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tss_filter1','size',[1 NaN]); end
317 md=checkfield(md,'snowpack.filters_tss_arg1','values',{filter_values});
318 if strcmpi(md.snowpack.filters_tss_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tss_arg1','size',[1 NaN]); end
319 md=checkfield(md,'snowpack.filters_tsg_filter1','values',{filter_values});
320 if strcmpi(md.snowpack.filters_tsg_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tsg_filter1','size',[1 NaN]); end
321 md=checkfield(md,'snowpack.filters_tsg_arg1','values',{filter_values});
322 if strcmpi(md.snowpack.filters_tsg_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_tsg_arg1','size',[1 NaN]); end
323 md=checkfield(md,'snowpack.filters_vw_filter1','values',{filter_values});
324 if strcmpi(md.snowpack.filters_vw_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_filter1','size',[1 NaN]); end
325 md=checkfield(md,'snowpack.filters_vw_arg1','values',{filter_values});
326 if strcmpi(md.snowpack.filters_vw_arg1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_arg1','size',[1 NaN]); end
327 md=checkfield(md,'snowpack.filters_vw_filter2','values',{filter_values});
328 if strcmpi(md.snowpack.filters_vw_filter2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_filter2','size',[1 NaN]); end
329 md=checkfield(md,'snowpack.filters_vw_arg2','values',{filter_values});
330 if strcmpi(md.snowpack.filters_vw_arg2,'MIN_MAX'), md=checkfield(md,'snowpack.filters_vw_arg2','size',[1 NaN]); end
331
332 %}}}
333 end % }}}
334 function disp(obj) % {{{
335
336 disp(sprintf(' Snowpack solution parameters:'));
337 disp(sprintf('\n %s','Snowpack parameters:')); % {{{
338 fielddisplay(obj,'snowpack_meas_tss',' ');
339 fielddisplay(obj,'snowpack_enforce_measured_snow_heights',' ');
340 fielddisplay(obj,'snowpack_sw_mode',' ');
341 fielddisplay(obj,'snowpack_incoming_longwave',' ');
342 fielddisplay(obj,'snowpack_height_of_wind_value',' ');
343 fielddisplay(obj,'snowpack_height_of_meteo_values',' ');
344 fielddisplay(obj,'snowpack_neutral',' ');
345 fielddisplay(obj,'snowpack_roughness_length',' ');
346 fielddisplay(obj,'snowpack_number_slopes',' ');
347 fielddisplay(obj,'snowpack_snow_redistribution',' ');
348 fielddisplay(obj,'snowpack_calculation_step_length',' ');
349 fielddisplay(obj,'snowpack_change_bc',' ');
350 fielddisplay(obj,'snowpack_thresh_change_bc',' ');
351 fielddisplay(obj,'snowpack_snp_soil',' ');
352 fielddisplay(obj,'snowpack_soil_flux',' ');
353 fielddisplay(obj,'snowpack_geo_heat',' ');
354 fielddisplay(obj,'snowpack_canopy',' ');
355 % }}}
356 disp(sprintf('\n %s','Snowpackadvanced parameters:')); % {{{
357 fielddisplay(obj,'snowpackadvanced_variant',''); % use 320 kg m-3 for fixed density
358 fielddisplay(obj,'snowpackadvanced_hn_density','');
359 % }}}
360 disp(sprintf('\n %s','General parameters:')); % {{{
361 fielddisplay(obj,'general_pluginpath','');
362 fielddisplay(obj,'general_buff_chunk_size',' ');
363 fielddisplay(obj,'general_buff_before',' ');
364 % }}}
365 disp(sprintf('\n %s','Input parameter:')); % {{{
366 fielddisplay(obj,'input_coordsys','');
367 fielddisplay(obj,'input_coordparam',' ');
368 fielddisplay(obj,'input_time_zone',' ');
369 fielddisplay(obj,'input_meteo',' ');
370 fielddisplay(obj,'input_meteopath',' ');
371 fielddisplay(obj,'input_station1',' ');
372 fielddisplay(obj,'input_snowfile1',' ');
373 % }}}
374 disp(sprintf('\n %s','Output parameters:')); % {{{
375 fielddisplay(obj,'output_coordsys',' ');
376 fielddisplay(obj,'output_coordparam',' ');
377 fielddisplay(obj,'output_time_zone',' ');
378 fielddisplay(obj,'output_meteopath',' ');
379 fielddisplay(obj,'output_experiment',' ');
380 fielddisplay(obj,'output_ts_write',' ');
381 fielddisplay(obj,'output_ts_start',' ');
382 fielddisplay(obj,'output_ts_days_between',' ');
383 fielddisplay(obj,'output_profile',' ');
384 fielddisplay(obj,'output_prof_write',' ');
385 fielddisplay(obj,'output_prof_start',' ');
386 fielddisplay(obj,'output_prof_days_between',' ');
387 % }}}
388 disp(sprintf('\n %s','Interpolations1d parameters:')); % {{{
389 fielddisplay(obj,'interpolations1d_window_size',' '); %that is 5 d and 2 h; 1 d = 86400
390 fielddisplay(obj,'interpolations1d_hnw_resample',' ');
391 fielddisplay(obj,'interpolations1d_hs_resample',' ');
392 fielddisplay(obj,'interpolations1d_tsg_resample',' ');
393 fielddisplay(obj,'interpolations1d_rho_hn_resample',' ');
394 fielddisplay(obj,'interpolations1d_vw_resample',' ');
395 fielddisplay(obj,'interpolations1d_vw_args',' ');
396 % }}}
397 disp(sprintf('\n %s','Filters parameters:')); % {{{
398 fielddisplay(obj,'filters_ta_filter1',' ');
399 fielddisplay(obj,'filters_ta_arg1','');
400 fielddisplay(obj,'filters_rh_filter1',' ');
401 fielddisplay(obj,'filters_rh_arg1','');
402 fielddisplay(obj,'filters_rh_filter2',' ');
403 fielddisplay(obj,'filters_rh_arg2','');
404 fielddisplay(obj,'filters_iswr_filter1',' ');
405 fielddisplay(obj,'filters_iswr_arg1','');
406 fielddisplay(obj,'filters_iswr_filter2',' ');
407 fielddisplay(obj,'filters_iswr_arg2','');
408 fielddisplay(obj,'filters_rswr_filter1',' ');
409 fielddisplay(obj,'filters_rswr_arg1','');
410 fielddisplay(obj,'filters_rswr_filter2',' ');
411 fielddisplay(obj,'filters_rswr_arg2','');
412
413 %for ta between 190 and 280 k;
414 fielddisplay(obj,'filters_ilwr_filter1',' ');
415 fielddisplay(obj,'filters_ilwr_arg1','');
416 fielddisplay(obj,'filters_ilwr_filter2',' ');
417 fielddisplay(obj,'filters_ilwr_arg2','');
418 fielddisplay(obj,'filters_tss_filter1',' ');
419 fielddisplay(obj,'filters_tss_arg1','');
420 fielddisplay(obj,'filters_tsg_filter1',' ');
421 fielddisplay(obj,'filters_tsg_arg1','');
422 fielddisplay(obj,'filters_vw_filter1',' ');
423 fielddisplay(obj,'filters_vw_arg1','');
424 fielddisplay(obj,'filters_vw_filter2',' ');
425 fielddisplay(obj,'filters_vw_arg2','');
426 % }}}
427
428 end % }}}
429 function marshall(obj,md,fid) % {{{
430
431 yts=365.0*24.0*3600.0;
432
433 WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
434 WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
435 WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
436 WriteData(fid,'object',obj,'class','snowpack','fieldname','restol','format','Double');
437 WriteData(fid,'object',obj,'class','snowpack','fieldname','reltol','format','Double');
438 WriteData(fid,'object',obj,'class','snowpack','fieldname','abstol','format','Double');
439 WriteData(fid,'object',obj,'class','snowpack','fieldname','isnewton','format','Integer');
440 WriteData(fid,'object',obj,'class','snowpack','fieldname','FSreconditioning','format','Double');
441 WriteData(fid,'object',obj,'class','snowpack','fieldname','viscosity_overshoot','format','Double');
442 WriteData(fid,'object',obj,'class','snowpack','fieldname','maxiter','format','Integer');
443 WriteData(fid,'object',obj,'class','snowpack','fieldname','shelf_dampening','format','Integer');
444 WriteData(fid,'object',obj,'class','snowpack','fieldname','vertex_pairing','format','DoubleMat','mattype',3);
445 WriteData(fid,'object',obj,'class','snowpack','fieldname','penalty_factor','format','Double');
446 WriteData(fid,'object',obj,'class','snowpack','fieldname','rift_penalty_lock','format','Integer');
447 WriteData(fid,'object',obj,'class','snowpack','fieldname','rift_penalty_threshold','format','Integer');
448 WriteData(fid,'object',obj,'class','snowpack','fieldname','referential','format','DoubleMat','mattype',1);
449 WriteData(fid,'object',obj,'class','snowpack','fieldname','requested_outputs','format','DoubleMat','mattype',3);
450 WriteData(fid,'data',obj.loadingforce(:,1),'format','DoubleMat','mattype',1,'enum',LoadingforceXEnum);
451 WriteData(fid,'data',obj.loadingforce(:,2),'format','DoubleMat','mattype',1,'enum',LoadingforceYEnum);
452 WriteData(fid,'data',obj.loadingforce(:,3),'format','DoubleMat','mattype',1,'enum',LoadingforceZEnum);
453 end % }}}
454 end
455end
Note: See TracBrowser for help on using the repository browser.