Skip to content
Snippets Groups Projects
Commit a8876afc authored by Dr. rer. nat. Jürgen Mey's avatar Dr. rer. nat. Jürgen Mey :eye:
Browse files

a template to run eros using synthetic DEM from TTLEM

parent 321d623f
No related branches found
No related tags found
No related merge requests found
%--------------------------------------------------------------------------
% PREPARE GRIDS
%--------------------------------------------------------------------------
%
% addpath('.\mfiles')
% ALT (elevation model)
clear
dem=GRIDobj('./Topo/cop30DEM_utm32n_hochrhein_carved_filled.tif');
dem = resample(dem,60);dem = crop(dem);
dem.name = 'hochrhein_60m';
% RAIN (sources (>0) and sinks (-1))
rain = GRIDobj('.\Topo\map_wc2.tif'); % MAP after WorldClim2 (mm/yr/m^2)
rain = resample(rain,dem);
rain = rain/1000; % convert to m/yr/m^2
rain = rain/3600/24/365.25; % convert to m/s/m^2
upstream = GRIDobj('.\Topo\rain_boundaries_ms-1.tif');
upstream = resample(upstream,dem);
upstream.Z(isnan(upstream.Z))=0;
inflow_factor = 2.45;
rain = (rain+upstream)*inflow_factor;
% INFLOWS
inflow_rhine = 346*inflow_factor; % (m^3/s)
% inflow_rhine_y = [273:279]; % y-location (column) of inlet
% inflow_rhine_x = ones(7,1)'*3266; % x-location (row) of inlet
inflow_rhine_y = [137:140]; % y-location (column) of inlet
inflow_rhine_x = ones(4,1)'*1632; % x-location (row) of inlet
inflow_rhine = inflow_rhine/length(inflow_rhine_x)/dem.cellsize.^2; % divide by number of inflow cells and by cellsize^2
rain.Z(inflow_rhine_y,inflow_rhine_x(1)) = ones(length(inflow_rhine_x),1)*inflow_rhine;
inflow_aare = 349*inflow_factor; % (m^3/s)
% inflow_aare_x = [1461:1462]; % y-location (column) of inlet
% inflow_aare_y = ones(2,1)'*998; % x-location (row) of inlet
inflow_aare_x = [731]; % y-location (column) of inlet
inflow_aare_y = ones(length(inflow_aare_x),1)'*498; % x-location (row) of inlet
inflow_aare = inflow_aare/length(inflow_aare_x)/dem.cellsize.^2; % divide by number of inflow cells and by cellsize^2
rain.Z(inflow_aare_y,inflow_aare_x(1)) = ones(length(inflow_aare_x),1)*inflow_aare;
inflow_reuss = 140*inflow_factor; % (m^3/s)
% inflow_reuss_x = [1680:1682]; % y-location (column) of inlet
% inflow_reuss_y = ones(3,1)'*998; % x-location (row) of inlet
inflow_reuss_x = [842]; % y-location (column) of inlet
inflow_reuss_y = ones(length(inflow_reuss_x),1)'*498; % x-location (row) of inlet
inflow_reuss = inflow_reuss/length(inflow_reuss_x)/dem.cellsize.^2; % divide by number of inflow cells and by cellsize^2
rain.Z(inflow_reuss_y,inflow_reuss_x(1)) = ones(length(inflow_reuss_x),1)*inflow_reuss;
inflow_limmat = 114*inflow_factor; % (m^3/s)
% inflow_limmat_x = [1851:1852]; % y-location (column) of inlet
% inflow_limmat_y = ones(2,1)'*998; % x-location (row) of inlet
inflow_limmat_x = [926]; % y-location (column) of inlet
inflow_limmat_y = ones(length(inflow_limmat_x),1)'*498; % x-location (row) of inlet
inflow_limmat = inflow_limmat/length(inflow_limmat_x)/dem.cellsize.^2; % divide by number of inflow cells and by cellsize^2
rain.Z(inflow_limmat_y,inflow_limmat_x(1)) = ones(length(inflow_limmat_x),1)*inflow_limmat;
% rain = resample(rain,dem60);
rain.Z(1:end,1)=-1;
% rain.Z(1,1:end)=-1;
% rain.Z(end,1:end)=-1;
% rivers = GRIDobj('.\Topo\rivers2raster.tif');
% INITIAL SEDIMENT CONCENTRATION
cs = rain;
cs.Z=cs.Z*0;
cs.Z(1,:) = 1;
cs.Z(:,end) = 1;
cs.Z(end,:) = 1;
climate = 'Topo\\boundary_1Ma_GT.climate';
% WATER
% water = GRIDobj('.\Topo\HochRhein_WATER+LAKE_1000m.tif');
% UPLIFT
% uplift = GRIDobj('.\Topo\uplift_m_per_s_baselevel_Basel.tif');
uplift = GRIDobj('.\Topo\uplift_elicited_updated.tif');%-5.63e-5; % [m/yr] minus the uplift at the outlet to make it the baselevel
uplift = resample(uplift,dem);
uplift.Z(1,:) = uplift.Z(2,:);
uplift.Z(:,1) = uplift.Z(:,2);
% SED (sediment thickness in meters)
sed = GRIDobj('.\Topo\mqu_140715g_utm32n_aug.tif');
sed = resample(sed,dem);
sed.Z(isnan(sed.Z))=0;
LEM.dem = dem;
LEM.rain = rain;
LEM.sed = sed;
LEM.uplift = uplift;
% LEM.water = water;
LEM.cs = cs;
LEM.climate = climate;
GRIDobj2grd(dem,['./Topo/',dem.name,'.alt']);
GRIDobj2grd(rain,['./Topo/',dem.name,'.rain']);
GRIDobj2grd(sed,['./Topo/',dem.name,'.sed']);
GRIDobj2grd(uplift,['./Topo/',dem.name,'.uplift']);
% GRIDobj2grd(water,['./Topo/',dem.name,'.water']);
GRIDobj2grd(cs,['./Topo/',dem.name,'.cs']);
%--------------------------------------------------------------------------
%% DEFINE INPUT PARAMETERS
%--------------------------------------------------------------------------
LEM.experiment = 'hochrhein'; % Project name
LEM.ErosPath = 'D:\\USER\\mey'; % Path to .exe
LEM.outfolder = 'hochrhein\\60m\\newBC'; % folder to store results in
LEM.eros_version = 'eros7.5.107';
% LEM.inflow = 1060; % [m3s-1]water inflow at source cells
LEM.rainfall = 1; % Sets the precipitation rate per unit surface when multiplied by the rainfall map
LEM.initial_sediment_stock = '0.01'; % % The total "stock" of sediment at the precipiton landing is: input_sediment_concentration*cs_map[i]*Precipiton_volume
LEM.inertia = 0; % refers to inertia term in shallow water equation
LEM.time_unit = 'year';
LEM.begin = 0; LEM.begin_option = 'time'; % start time
LEM.end = 1e+6; LEM.end_option = 'time'; % length of model run
LEM.draw = 1e+3; LEM.draw_option = 'time'; % output interval
LEM.step = 0.05e2; LEM.step_option = 'volume';
LEM.stepmin = 0.1e1;
LEM.stepmax = 1e4;
LEM.initbegin = 1e+1; % initialization time (-)
LEM.initend = 1e+1;
LEM.initstep = 2;
LEM.TU_coefficient = 0.001; % sets the proportion of rain pixels that make up 1 TU
LEM.flow_model = 'stationary:pow';
LEM.erosion_multiply = 10000; % multiplying factor for erosion rates. Equivalent to consider an "erosion time" larger than the hydrodynamic time
LEM.uplift_multiplier = 1;
LEM.time_extension = '10e+3:dir';
LEM.limiter = 1e-1;
%--------------------------------------------------------------------------
% EROSION/DEPOSITION
%--------------------------------------------------------------------------
LEM.erosion_model = 'MPM'; % (stream_power, shear_stress, shear_mpm)
LEM.deposition_model = 'constant'; % need to know whether there are other options!
LEM.stress_model = 'rgqs';
% ALLUVIAL
LEM.fluvial_stress_exponent = 1.5; % exponent in sediment flux eq. (MPM): qs = E(tau-tau_c)^a
LEM.fluvial_erodability = 2.6e-8; % [kg-1.5 m-3.5 s-2] E in MPM equation
LEM.fluvial_sediment_threshold = 0.05; % [Pa] critical shear stress (tau_c) in MPM equation
LEM.deposition_length = 60; % [m] xi in vertical erosion term: edot = qs/xi
% LATERAL EROSION/DEPOSITION
LEM.fluvial_lateral_erosion_coefficient = '1e-1:dir'; % dimensionless coefficient (Eq. 17 in Davy, Croissant, Lague (2017))
LEM.fluvial_lateral_deposition_coefficient = 0.5;
LEM.lateral_erosion_model = 1;
LEM.lateral_deposition_model = 'constant';
% BEDROCK
LEM.fluvial_basement_erodability = 0.1;
LEM.fluvial_basement_threshold = 0.5;
LEM.outbend_erosion_coefficient = 1.000000;
LEM.inbend_erosion_coefficient = 1.00000;
LEM.poisson_coefficient = 5;
LEM.diffusion_coefficient = 4;
LEM.sediment_grain = 0.0025;
LEM.basement_grain = 0.025;
% LEM.survey_points = '171130';
%--------------------------------------------------------------------------
% FLOW MODEL
%--------------------------------------------------------------------------
LEM.friction_model = 'manning';
LEM.friction_coefficient = 0.025; %
LEM.flow_boundary = 'free';
%--------------------------------------------------------------------------
% OUTPUTS TO WRITE
%--------------------------------------------------------------------------
LEM.stress = 1;
LEM.waters = 1;
LEM.discharge = 1;
LEM.downward = 0;
LEM.slope = 1;
LEM.qs = 1;
LEM.capacity = 1;
LEM.sediment = 1;
LEM.flux =1;
LEM.stock =1;
LEM.str_write = '';
LEM.str_nowrite = '';
writeErosInputs(LEM);
%% run model
system([LEM.experiment,'.bat'])
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment