Yes, except for the seasonal forcing cycle between 0.4 and 0.7 years, the englacial input is set to a uniform input of 1 m/y. Below is my script for parameter settings and seasonal water input.
%======================================= Geometrical information
md.geometry.base = zeros(md.mesh.numberofvertices, 1);
md.geometry.surface = 6 * (sqrt(md.mesh.x + 5e3) - sqrt(5e3)) + 550;
md.geometry.thickness = md.geometry.surface - md.geometry.base;
%=======================================
%================== Material Information
md.materials.beta = 7.5e-8;
md.materials.heatcapacity = 4220;
md.materials.rho_ice = 910;
%==================
%====================================================== Basal sliding speed
md.initialization.vx = 10^-6 * md.constants.yts * ones(md.mesh.numberofvertices, 1);
md.initialization.vy = zeros(md.mesh.numberofvertices, 1);
%======================================================
%============================= Flow law parameters
md.materials.rheology_B(π = (2.5e-25) ^ (-1/3);
md.materials.rheology_n = 3 .* ones(md.mesh.numberofelements, 1);
%=============================
%================================================== Temperature
md.initialization.temperature = (273 - 20) * ones(md.mesh.numberofvertices, 1);
%==================================================
%========================= Friction Coefficient
md.friction = frictionshakti(md.friction);
md.friction.coefficient = 20 .* ones(md.mesh.numberofvertices, 1);
%=========================
%================================================= Hydrological parameters
md.hydrology = hydrologyshakti();
md.hydrology.head = 0.5 * md.materials.rho_ice / md.materials.rho_freshwater * md.geometry.thickness + md.geometry.base;
random_vector = randn(md.mesh.numberofelements, 1);
mean_value = 0.01;
std_dev = 0.01 * 0.01;
perturbed_vector = mean_value + std_dev * random_vector;
md.hydrology.gap_height = perturbed_vector;
md.hydrology.bump_spacing = 2 * ones(md.mesh.numberofelements, 1);
md.hydrology.bump_height = 0.1 * ones(md.mesh.numberofelements, 1);
md.hydrology.englacial_input = 0 * ones(md.mesh.numberofvertices, 1);
md.hydrology.reynolds = 1000 * ones(md.mesh.numberofelements, 1);
%=================================================
%======================================== Water input
md.timestepping.time_step = 3600 / md.constants.yts;
md.timestepping.final_time = 365 / 365;
time = 0 : md.timestepping.time_step : md.timestepping.final_time;
time = time';
md.hydrology.englacial_input = zeros(md.mesh.numberofvertices + 1, numel(time));
md.hydrology.englacial_input(end, π = time;
% Seasonal input -- long winter, but smooth transitions
md.hydrology.englacial_input(1 : end - 1, π = 3.17e-8 * 3600 * 24 * 365;
for tt = 1 : length(time)
if time(tt) >= 0.4 && time(tt) < 0.7
md.hydrology.englacial_input((1 : end - 1), tt) = -492.75 * cos(2 * pi / 0.3 * (time(tt) - 0.4)) + 492.75 + 1; % m/yr
elseif time(tt) >= 1.4 && time(tt) < 1.7
md.hydrology.englacial_input((1 : end - 1), tt) = -492.75 * cos(2 * pi/0.3 * (time(tt) - 1.4)) + 492.75 + 1; % m/yr
end
end
md.hydrology.moulin_input = zeros(md.mesh.numberofvertices, 1);
%========================================
Based on the constraints on the upper limit of the gap height in the SHAKTI model you described, I guess this must be one of the important reasons why my results are different from yours. As for other reasons, I really donβt know.
I am very excited that SHAKTI can be applied to Antarctica because my research region is in Antarctica. Therefore, I may need your help and answers on model knowledge and operation details in the future, which may delay your time. I hope you can understand! Thanks a lot again!