1 | %SNOWPACK class definition
|
---|
2 | %
|
---|
3 | % Usage:
|
---|
4 | % snowpack=snowpack();
|
---|
5 |
|
---|
6 | classdef 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 = 'ANTARCTICA'; % use 320 kg m-3 for fixed density
|
---|
237 | md=checkfield(md,'snowpack.snowpackadvanced_hn_density = 'EVENT';
|
---|
238 | %}}}
|
---|
239 | %general: %{{{
|
---|
240 | md=checkfield(md,'snowpack.general_pluginpath = '/usr/local/lib/meteoio/plugins/';
|
---|
241 | md=checkfield(md,'snowpack.general_buff_chunk_size = 90;
|
---|
242 | md=checkfield(md,'snowpack.general_buff_before = 1.5;
|
---|
243 | %}}}
|
---|
244 | %input {{{
|
---|
245 | md=checkfield(md,'snowpack.input_coordsys = 'ch1903';
|
---|
246 | md=checkfield(md,'snowpack.input_coordparam = 'null';
|
---|
247 | md=checkfield(md,'snowpack.input_time_zone = 8;
|
---|
248 | md=checkfield(md,'snowpack.input_meteo = 'smet';
|
---|
249 | md=checkfield(md,'snowpack.input_meteopath = './input';
|
---|
250 | md=checkfield(md,'snowpack.input_station1 = 'domec.smet';
|
---|
251 | md=checkfield(md,'snowpack.input_snowfile1 = 'domec.sno';
|
---|
252 | %}}}
|
---|
253 | %output {{{
|
---|
254 | md=checkfield(md,'snowpack.output_coordsys = 'ch1903';
|
---|
255 | md=checkfield(md,'snowpack.output_coordparam = 'null';
|
---|
256 | md=checkfield(md,'snowpack.output_time_zone = 8;
|
---|
257 | md=checkfield(md,'snowpack.output_meteopath = './output';
|
---|
258 | md=checkfield(md,'snowpack.output_experiment = 'smet';
|
---|
259 | md=checkfield(md,'snowpack.output_ts_write = 1;
|
---|
260 | md=checkfield(md,'snowpack.output_ts_start = 0.0;
|
---|
261 | md=checkfield(md,'snowpack.output_ts_days_between = 0.04166667;
|
---|
262 | md=checkfield(md,'snowpack.output_profile = 'ascii';
|
---|
263 | md=checkfield(md,'snowpack.output_prof_write = 1;
|
---|
264 | md=checkfield(md,'snowpack.output_prof_start = 0.0;
|
---|
265 | md=checkfield(md,'snowpack.output_prof_days_between = 0.04166667;
|
---|
266 | %}}}
|
---|
267 | %interpolations1d %{{{
|
---|
268 | md=checkfield(md,'snowpack.interpolations1d_window_size = 439200 %that is 5 d and 2 h; 1 d = 86400
|
---|
269 | md=checkfield(md,'snowpack.interpolations1d_hnw_resample = 'none';
|
---|
270 | md=checkfield(md,'snowpack.interpolations1d_hs_resample = 'linear';
|
---|
271 | md=checkfield(md,'snowpack.interpolations1d_tsg_resample = 'linear';
|
---|
272 | md=checkfield(md,'snowpack.interpolations1d_rho_hn_resample = 'none';
|
---|
273 | md=checkfield(md,'snowpack.interpolations1d_vw_resample = 'nearest_neighbour';
|
---|
274 | md=checkfield(md,'snowpack.interpolations1d_vw_args = 'extrapolate';
|
---|
275 | %}}}
|
---|
276 | %filters {{{
|
---|
277 | md=checkfield(md,'snowpack.filters_ta_filter1 = 'min_max';
|
---|
278 | md=checkfield(md,'snowpack.filters_ta_arg1 = [190 280];
|
---|
279 | md=checkfield(md,'snowpack.filters_rh_filter1 = 'min_max';
|
---|
280 | md=checkfield(md,'snowpack.filters_rh_arg1 = [0.01 1.2];
|
---|
281 | md=checkfield(md,'snowpack.filters_rh_filter2 = 'min_max';
|
---|
282 | md=checkfield(md,'snowpack.filters_rh_arg2 = {'soft' 0.01 1.0};
|
---|
283 | md=checkfield(md,'snowpack.filters_iswr_filter1 = 'min_max';
|
---|
284 | md=checkfield(md,'snowpack.filters_iswr_arg1 = [-10 1500];
|
---|
285 | md=checkfield(md,'snowpack.filters_iswr_filter2 = 'min_max';
|
---|
286 | md=checkfield(md,'snowpack.filters_iswr_arg2 = {'soft' 0 1500};
|
---|
287 | md=checkfield(md,'snowpack.filters_rswr_filter1 = 'min_max';
|
---|
288 | md=checkfield(md,'snowpack.filters_rswr_arg1 = [-10 1500];
|
---|
289 | md=checkfield(md,'snowpack.filters_rswr_filter2 = 'min_max';
|
---|
290 | md=checkfield(md,'snowpack.filters_rswr_arg2 = {'soft' 0 1500};
|
---|
291 |
|
---|
292 | %for ta between 190 and 280 k;
|
---|
293 | md=checkfield(md,'snowpack.filters_ilwr_filter1 = 'min_max';
|
---|
294 | md=checkfield(md,'snowpack.filters_ilwr_arg1 = [30 355];
|
---|
295 | md=checkfield(md,'snowpack.filters_ilwr_filter2 = 'min_max';
|
---|
296 | md=checkfield(md,'snowpack.filters_ilwr_arg2 = {'soft' 35 350};
|
---|
297 | md=checkfield(md,'snowpack.filters_tss_filter1 = 'min_max';
|
---|
298 | md=checkfield(md,'snowpack.filters_tss_arg1 = [180 275];
|
---|
299 | md=checkfield(md,'snowpack.filters_tsg_filter1 = 'min_max';
|
---|
300 | md=checkfield(md,'snowpack.filters_tsg_arg1 = [200 275];
|
---|
301 | md=checkfield(md,'snowpack.filters_vw_filter1 = 'min_max';
|
---|
302 | md=checkfield(md,'snowpack.filters_vw_arg1 = [-2 70];
|
---|
303 | md=checkfield(md,'snowpack.filters_vw_filter2 = 'min_max';
|
---|
304 | md=checkfield(md,'snowpack.filters_vw_arg2 = {'soft' 0 50};
|
---|
305 | %}}}
|
---|
306 |
|
---|
307 | end % }}}
|
---|
308 | function disp(obj) % {{{
|
---|
309 |
|
---|
310 | disp(sprintf(' StressBalance solution parameters:'));
|
---|
311 |
|
---|
312 | disp(sprintf('\n %s','Convergence criteria:'));
|
---|
313 | fielddisplay(obj,'restol','mechanical equilibrium residual convergence criterion');
|
---|
314 | fielddisplay(obj,'reltol','velocity relative convergence criterion, NaN: not applied');
|
---|
315 | fielddisplay(obj,'abstol','velocity absolute convergence criterion, NaN: not applied');
|
---|
316 | fielddisplay(obj,'isnewton','0: Picard''s fixed point, 1: Newton''s method, 2: hybrid');
|
---|
317 | fielddisplay(obj,'maxiter','maximum number of nonlinear iterations');
|
---|
318 | fielddisplay(obj,'viscosity_overshoot','over-shooting constant new=new+C*(new-old)');
|
---|
319 |
|
---|
320 | disp(sprintf('\n %s','boundary conditions:'));
|
---|
321 | fielddisplay(obj,'spcvx','x-axis velocity constraint (NaN means no constraint) [m/yr]');
|
---|
322 | fielddisplay(obj,'spcvy','y-axis velocity constraint (NaN means no constraint) [m/yr]');
|
---|
323 | fielddisplay(obj,'spcvz','z-axis velocity constraint (NaN means no constraint) [m/yr]');
|
---|
324 |
|
---|
325 | disp(sprintf('\n %s','Rift options:'));
|
---|
326 | fielddisplay(obj,'rift_penalty_threshold','threshold for instability of mechanical constraints');
|
---|
327 | fielddisplay(obj,'rift_penalty_lock','number of iterations before rift penalties are locked');
|
---|
328 |
|
---|
329 | disp(sprintf('\n %s','Penalty options:'));
|
---|
330 | fielddisplay(obj,'penalty_factor','offset used by penalties: penalty = Kmax*10^offset');
|
---|
331 | fielddisplay(obj,'vertex_pairing','pairs of vertices that are penalized');
|
---|
332 |
|
---|
333 | disp(sprintf('\n %s','Other:'));
|
---|
334 | fielddisplay(obj,'shelf_dampening','use dampening for floating ice ? Only for FS model');
|
---|
335 | fielddisplay(obj,'FSreconditioning','multiplier for incompressibility equation. Only for FS model');
|
---|
336 | fielddisplay(obj,'referential','local referential');
|
---|
337 | fielddisplay(obj,'loadingforce','loading force applied on each point [N/m^3]');
|
---|
338 | fielddisplay(obj,'requested_outputs','additional outputs requested');
|
---|
339 |
|
---|
340 | end % }}}
|
---|
341 | function marshall(obj,md,fid) % {{{
|
---|
342 |
|
---|
343 | yts=365.0*24.0*3600.0;
|
---|
344 |
|
---|
345 | WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvx','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
|
---|
346 | WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvy','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
|
---|
347 | WriteData(fid,'object',obj,'class','snowpack','fieldname','spcvz','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1);
|
---|
348 | WriteData(fid,'object',obj,'class','snowpack','fieldname','restol','format','Double');
|
---|
349 | WriteData(fid,'object',obj,'class','snowpack','fieldname','reltol','format','Double');
|
---|
350 | WriteData(fid,'object',obj,'class','snowpack','fieldname','abstol','format','Double');
|
---|
351 | WriteData(fid,'object',obj,'class','snowpack','fieldname','isnewton','format','Integer');
|
---|
352 | WriteData(fid,'object',obj,'class','snowpack','fieldname','FSreconditioning','format','Double');
|
---|
353 | WriteData(fid,'object',obj,'class','snowpack','fieldname','viscosity_overshoot','format','Double');
|
---|
354 | WriteData(fid,'object',obj,'class','snowpack','fieldname','maxiter','format','Integer');
|
---|
355 | WriteData(fid,'object',obj,'class','snowpack','fieldname','shelf_dampening','format','Integer');
|
---|
356 | WriteData(fid,'object',obj,'class','snowpack','fieldname','vertex_pairing','format','DoubleMat','mattype',3);
|
---|
357 | WriteData(fid,'object',obj,'class','snowpack','fieldname','penalty_factor','format','Double');
|
---|
358 | WriteData(fid,'object',obj,'class','snowpack','fieldname','rift_penalty_lock','format','Integer');
|
---|
359 | WriteData(fid,'object',obj,'class','snowpack','fieldname','rift_penalty_threshold','format','Integer');
|
---|
360 | WriteData(fid,'object',obj,'class','snowpack','fieldname','referential','format','DoubleMat','mattype',1);
|
---|
361 | WriteData(fid,'object',obj,'class','snowpack','fieldname','requested_outputs','format','DoubleMat','mattype',3);
|
---|
362 | WriteData(fid,'data',obj.loadingforce(:,1),'format','DoubleMat','mattype',1,'enum',LoadingforceXEnum);
|
---|
363 | WriteData(fid,'data',obj.loadingforce(:,2),'format','DoubleMat','mattype',1,'enum',LoadingforceYEnum);
|
---|
364 | WriteData(fid,'data',obj.loadingforce(:,3),'format','DoubleMat','mattype',1,'enum',LoadingforceZEnum);
|
---|
365 | end % }}}
|
---|
366 | end
|
---|
367 | end
|
---|