Changeset 26259
- Timestamp:
- 05/12/21 11:41:59 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/examples/SlrGRACE/runme.m
r26258 r26259 2 2 addpath('../Data','../Functions'); 3 3 4 steps=[ 1:7];4 steps=[6:7]; 5 5 6 6 if any(steps==1) % {{{ … … 142 142 sol2 = (md.results.TransientSolution.Sealevel-md.results.TransientSolution.Bed)*1000; % [mm] 143 143 144 sol_name={'Change in water equivalent height [cm]', 'Relative sea -level [mm]'};144 sol_name={'Change in water equivalent height [cm]', 'Relative sea level [mm]'}; 145 145 fig_name={'Fig_dH.pdf','Fig_slr.pdf'}; 146 146 … … 200 200 disp('Projecting loads onto the mesh...'); 201 201 time_range = 2007 + [15 350]/365; 202 water_load = grace(md.mesh.elements,md.mesh.lat,md.mesh.long,time_range(1),time_range(2)); 203 204 [ne,nt]=size(water_load); 205 md.solidearth.surfaceload.icethicknesschange = zeros(ne+1,nt); 206 md.solidearth.surfaceload.icethicknesschange(1:ne,:) = water_load*md.materials.rho_freshwater/md.materials.rho_ice; 207 md.solidearth.surfaceload.icethicknesschange(ne+1,:)=[1:nt]; % times 208 202 onvertex = 1; % map data on vertex. If 0, it maps on the elemental centroid. 203 water_load = grace(md.mesh.elements,md.mesh.lat,md.mesh.long,time_range(1),time_range(2),onvertex); 204 rho_water2ice = md.materials.rho_freshwater/md.materials.rho_ice; 205 ice_load = water_load*rho_water2ice; % ice height equivalent. 206 207 % masstransport evalulates diff between the successive times, so we should cumsum. 208 num_time = size(ice_load,2); 209 md.masstransport.spcthickness = [md.geometry.thickness + ice_load]; 210 md.masstransport.spcthickness(md.mesh.numberofvertices+1,:)=[0:num_time-1]; 211 212 %Physics 209 213 md.transient.issmb=0; 210 md.transient.ismasstransport=0;211 214 md.transient.isstressbalance=0; 212 215 md.transient.isthermal=0; 213 md.transient.isgia=1; md.transient.isslr=1; 214 215 md.timestepping.start_time=-1; 216 md.timestepping.final_time=nt; 216 md.transient.ismasstransport=1; 217 md.transient.isslc=1; 218 219 md.solidearth.settings.rigid=1; 220 md.solidearth.settings.elastic=1; 221 md.solidearth.settings.rotation=1; 222 223 %time stepping: 224 md.timestepping.start_time=0; 217 225 md.timestepping.time_step=1; 218 md.timestepping.interp_forcing=0; 219 md.settings.output_frequency=1; 226 md.timestepping.final_time=num_time; 220 227 221 228 md.cluster=generic('name',oshostname(),'np',3); 222 229 md.verbose=verbose('111111111'); 223 230 224 md.solidearth.requested_outputs = {'Sealevel',' SealevelRSL'};231 md.solidearth.requested_outputs = {'Sealevel','Bed'}; 225 232 226 233 md=solve(md,'tr'); … … 232 239 md = loadmodel('./Models/SlrGRACE_Transient'); 233 240 234 time = md. solidearth.surfaceload.icethicknesschange(end,:);241 time = md.masstransport.spcthickness(end,:); 235 242 236 243 for tt=1:length(time) 237 gmsl(tt) = md.results.TransientSolution(tt).Bsl r*1000; % GMSL rate mm/yr238 sol1(:,tt) = md.solidearth.surfaceload.icethicknesschange(1:end-1,tt)*100; % ice equivalent height [cm/yr]239 sol2(:,tt) = md.results.TransientSolution(tt+1).SealevelRSL*1000; % mm/yr244 gmsl(tt) = md.results.TransientSolution(tt).Bslc*1000; % [mm] 245 sol1(:,tt) = (md.masstransport.spcthickness(1:end-1,tt)-md.geometry.thickness)*100; % [cm] 246 sol2(:,tt) = (md.results.TransientSolution(tt).Sealevel-md.results.TransientSolution(tt).Bed)*1000; % [mm] 240 247 end 241 sol_name = {'Change in water equivalent height [cm]', 'Relative sea -level [mm]'};248 sol_name = {'Change in water equivalent height [cm]', 'Relative sea level [mm]'}; 242 249 movie_name = {'Movie_dH.mp4','Movie_slr.mp4'}; 243 250 244 251 res = 1.0; 245 252 … … 284 291 geoshow(flipud(coastlat),flipud(coastlon),'DisplayType','polygon','FaceColor','white'); 285 292 else 286 geoshow(coastlat,coastlon,'DisplayType','polygon','FaceColor',' white');293 geoshow(coastlat,coastlon,'DisplayType','polygon','FaceColor','none'); 287 294 end 288 295 plot(coastlon,coastlat,'k'); hold off;
Note:
See TracChangeset
for help on using the changeset viewer.