Changeset 15931
- Timestamp:
- 08/25/13 16:25:05 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/snowpack.m
r15919 r15931 69 69 %}}} 70 70 %filters {{{ 71 filters={'TA::filter1',{'soft',[-20 10]}}; 72 filters=NaN; 73 filter_values=NaN; 74 71 75 filters_ta_filter1 = ''; 72 76 filters_ta_arg1 = NaN; … … 275 279 %filters {{{ 276 280 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'}; 281 282 277 283 md=checkfield(md,'snowpack.filters_ta_filter1','values',{filter_values}); 278 284 if strcmpi(md.snowpack.filters_ta_filter1,'MIN_MAX'), md=checkfield(md,'snowpack.filters_ta_filter1','size',[1 NaN]); end … … 336 342 disp(sprintf(' Snowpack solution parameters:')); 337 343 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',' '); 344 fielddisplay(obj,'snowpack_meas_tss',{'A measured surface temperature is available and can be reliably ','used for various consistency tests (it needs to be set to true if enabling CHANGE_BC) (0 or 1)'}); 345 fielddisplay(obj,'snowpack_enforce_measured_snow_heights','Input mode by which a measurement of snow depth is used to drive the snow cover mass balance (0 or 1)'); 346 fielddisplay(obj,'snowpack_sw_mode',{'Define the shortwave radiation input:',... 347 '0 Incoming shortwave radiation is measured and albedo estimated by the model',... 348 '1 Reflected shortwave radiation is available as input and albedo is estimated by the model (IMIS standard)',... 349 '2 Incoming and reflected shortwave radiation are both measured and the albedo is estimated from both measurements subject to plausibility checks.'}); 350 fielddisplay(obj,'snowpack_incoming_longwave','Use the provided incoming long wave on the virtual slopes? (0 or 1)'); 351 fielddisplay(obj,'snowpack_height_of_wind_value',{'The instrument height (or model layer height) for wind input data; note that height ',... 352 'is above ground for a standard SNOWPACK application but above surface (snow or ground) for Alpine3D applications '}); 353 fielddisplay(obj,'snowpack_height_of_meteo_values',{'The instrument height (or model layer height) for meteorological input data except for wind,',... 354 'which may be at a different height; note that height is above ground for a standard SNOWPACK ',... 355 'application but above surface (snow or ground) for Alpine3D applications. '}); 356 fielddisplay(obj,'snowpack_neutral',{'Select the atmospheric stability correction model:',... 357 '-1 use a simplified Richardson number stability correction',... 358 '0 assume standard Monin-Obukhov bulk formulation for surface exchange iteration with Paulson, Stearns and Weidner (can be used with BC_CHANGE=0)',... 359 '1 force Monin-Obukhov formulation to assume neutral conditions regardless of the actual stratification; it has been shown to work well in ',... 360 'complex terrain settings. It should be used with BC_CHANGE=1, i.e., Dirichlet /* but also is recommended with Neumann b.c., i.e., BC_CHANGE=0.'}); 361 fielddisplay(obj,'snowpack_roughness_length',{'Aerodynamic roughness length as a parameter for the Monin-Obukhov bulk formulation;',... 362 'A typical value for complex terrain is 0.01 m and for snow covered flat sites 0.001 m. '}); 363 fielddisplay(obj,'snowpack_number_slopes',{'Based on meteorological input from a (flat field) automatic station or numerical weather model,',... 364 'up to 8 expositions can be calculated in addition to the flat field if the corresponding *.sno files are provided. For example,',... 365 'if you provide a flat field *.snow file (mandatory), which is named KLO3.sno and you want 4 slopes to be calculated the corresponding',... 366 'slope files should be named KLO21.sno, ...,KLO24.sno '}); 367 fielddisplay(obj,'snowpack_snow_redistribution',{'Specifies if redistribution of snow is allowed from (upwind) expositions to lee slopes.',... 368 'In case just the flat field is calculated, snow erosion is enabled but only for "ENFORCE_MEASURED_SNOW_HEIGHTS".'}); 369 fielddisplay(obj,'snowpack_calculation_step_length',{'Internal time step (in minutes) used for model simulation. Please note that this MUST ',... 370 'be the same as HNW::accumulate (the latter being in seconds) if re-acumulating precipitation, otherwise it would lead to wrong results.'}); 371 fielddisplay(obj,'snowpack_change_bc',{'Use measured surface temperature as Dirichlet temperature BC for sub-freezing snowpacks and switch to ',... 372 'Neumann only for melting snowpacks. If set to false, assumes Neumann boundary conditions.'}); 373 fielddisplay(obj,'snowpack_thresh_change_bc','Threshold value (small number below freezing), which switches from Dirichlet to Neumann BCs if CHANGE_BC is selected'); 374 fielddisplay(obj,'snowpack_snp_soil','Soil layers as defined by the *.sno files are included in the simulation'); 375 fielddisplay(obj,'snowpack_soil_flux','Assume that the lower temperature boundary condition is given by GEO_HEAT (Neumann) and not by a measured temperature'); 376 fielddisplay(obj,'snowpack_geo_heat','Constant geothermal heat flux at great) depth W m-2): Lower flux boundary condition for temperature equation if BC is Neumann'); 377 fielddisplay(obj,'snowpack_canopy','Switch to tell the model that canopy is present (note that Canopy parameters should then be provided in the *.sno file)'); 355 378 % }}} 356 379 disp(sprintf('\n %s','Snowpackadvanced parameters:')); % {{{ 357 fielddisplay(obj,'snowpackadvanced_variant',' '); % use 320 kg m-3 for fixed density358 fielddisplay(obj,'snowpackadvanced_hn_density', '');380 fielddisplay(obj,'snowpackadvanced_variant','variant selection (includes a choice of specific models, DEFAULT, ANTARCTICA and JAPAN )'); % use 320 kg m-3 for fixed density 381 fielddisplay(obj,'snowpackadvanced_hn_density',{'Fixed value to be used as new snow density if a constant density model is chosen, otherwise the choices are "PARAMETERIZED" "EVENT" "MEASURED"'}); 359 382 % }}} 360 383 disp(sprintf('\n %s','General parameters:')); % {{{ 361 384 fielddisplay(obj,'general_pluginpath',''); 362 fielddisplay(obj,'general_buff_chunk_size',' 363 fielddisplay(obj,'general_buff_before',' ');385 fielddisplay(obj,'general_buff_chunk_size','Size in days of a chunk of data to read at once.'); 386 fielddisplay(obj,'general_buff_before','Alternate way of buffer centering: When rebuffering, the new date will be located BUFF_BEFORE days from the beginning of the buffer (therefore, it takes a value in days). '); 364 387 % }}} 365 388 disp(sprintf('\n %s','Input parameter:')); % {{{ 366 fielddisplay(obj,'input_coordsys',' ');389 fielddisplay(obj,'input_coordsys','coordinates in the Swiss Grid (http://geomatics.ladetto.ch/ch1903_wgs84_de.pdf). One of CH1903,UTM,UPS,PROJ4 or LOCAL'); 367 390 fielddisplay(obj,'input_coordparam',' '); 368 391 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',' 392 fielddisplay(obj,'input_meteo','plugin for METEO data (one of BORMA,COSMO,GEOTOP,GRIB,GS,IMIS,SMET,SNOWPACK'); 393 fielddisplay(obj,'input_meteopath','string containing the path to the xml files.'); 394 fielddisplay(obj,'input_station1','Meteorology file for station number #'); 395 fielddisplay(obj,'input_snowfile1','File name for the initial snow profile for station number #'); 373 396 % }}} 374 397 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',' '); 398 fielddisplay(obj,'output_coordsys','Coordinates in the Swiss Grid http://geomatics.ladetto.ch/ch1903_wgs84_de.pdf. One of CH1903,UTM,UPS,PROJ4 or LOCAL '); 399 fielddisplay(obj,'output_coordparam',''); 400 fielddisplay(obj,'output_time_zone',''); 401 fielddisplay(obj,'output_meteopath','Path to the outputs (this path MUST exist, it won''t be created)'); 402 fielddisplay(obj,'output_experiment','Option to give an additional simulation specific output name to the run in addition to "STATION_NAME"'); 403 fielddisplay(obj,'output_ts_write','Write meteo data out? (0 or 1)'); 404 fielddisplay(obj,'output_ts_start','When to start writing meteo data out (offset, in days)'); 405 fielddisplay(obj,'output_ts_days_between','How often to write meteo data out (in days: 3 hours=.125, 1 hour=4.1666e-2)'); 406 fielddisplay(obj,'output_profile','How to write the profiles (default: ASCII, choice is ASCII,IMIS or ASCII IMIS)'); 407 )'); 408 fielddisplay(obj,'output_prof_write','Write profile data out? (0 or 1) '); 409 fielddisplay(obj,'output_prof_start','When to start writing profile data out (offset, in days)'); 410 fielddisplay(obj,'output_prof_days_between','How often to write profile data out (in days: 3 hours=.125, 1 hour=4.1666e-2)'); 387 411 % }}} 388 412 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',' '); 413 fielddisplay(obj,'interpolations1d_window_size','Affects resampling: expresses (in seconds) how far a valid point can be searched for when re-interpolating a missing value'); 414 fielddisplay(obj,'interpolations1d_hnw_resample','NONE, NEAREST_NEIGHBOUR, ACCUMULATE or LINEAR'); 415 '); 416 fielddisplay(obj,'interpolations1d_hs_resample','Mean average processing. The mean average filter returns the mean value of all values within a user given time window. (NONE, NEAREST_NEIGHBOUR, ACCUMULATE or LINEAR)'); 417 fielddisplay(obj,'interpolations1d_tsg_resample','Mean average processing. The mean average filter returns the mean value of all values within a user given time window.(NONE, NEAREST_NEIGHBOUR, ACCUMULATE or LINEAR)'); 418 fielddisplay(obj,'interpolations1d_rho_hn_resample','(NONE, NEAREST_NEIGHBOUR, ACCUMULATE or LINEAR)'); 419 fielddisplay(obj,'interpolations1d_vw_resample','(NONE, NEAREST_NEIGHBOUR, ACCUMULATE or LINEAR)'); 420 fielddisplay(obj,'interpolations1d_vw_args','default nothing, otherwise, ''extrapolcate'''); 396 421 % }}} 397 422 disp(sprintf('\n %s','Filters parameters:')); % {{{
Note:
See TracChangeset
for help on using the changeset viewer.