Changeset 25124
- Timestamp:
- 06/23/20 10:52:05 (5 years ago)
- Location:
- issm/trunk-jpl/test/NightlyRun
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/NightlyRun/test2002.m
r25070 r25124 7 7 %parameterize slr solution: 8 8 %slr loading: {{{ 9 md.s lr.deltathickness=zeros(md.mesh.numberofelements,1);10 md.s lr.sealevel=zeros(md.mesh.numberofvertices,1);9 md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1); 10 md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1); 11 11 md.dsl.global_average_thermosteric_sea_level_change=[0;0]; 12 12 md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1); … … 16 16 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 17 17 pos=find(late <-80); 18 md.s lr.deltathickness(pos)=-100;18 md.solidearth.surfaceload.icethicknesschange(pos)=-100; 19 19 %greenland 20 20 pos=find(late > 70 & late < 80 & longe>-60 & longe<-30); 21 md.s lr.deltathickness(pos)=-100;21 md.solidearth.surfaceload.icethicknesschange(pos)=-100; 22 22 23 23 %elastic loading from love numbers: 24 24 nlov=101; 25 md.slr.love_h = love_numbers('h','CM'); md.slr.love_h(nlov+1:end)=[]; 26 md.slr.love_k = love_numbers('k','CM'); md.slr.love_k(nlov+1:end)=[]; 27 md.slr.love_l = love_numbers('l','CM'); md.slr.love_l(nlov+1:end)=[]; 25 md.solidearth.love=loadinglove(); 26 md.solidearth.love.h = love_numbers('h','CM'); md.solidearth.love.h(nlov+1:end)=[]; 27 md.solidearth.love.k = love_numbers('k','CM'); md.solidearth.love.k(nlov+1:end)=[]; 28 md.solidearth.love.l = love_numbers('l','CM'); md.solidearth.love.l(nlov+1:end)=[]; 28 29 29 30 %}}} … … 37 38 38 39 %make sure that the elements that have loads are fully grounded: 39 pos=find(md.s lr.deltathickness);40 pos=find(md.solidearth.surfaceload.icethicknesschange); 40 41 md.mask.ocean_levelset(md.mesh.elements(pos,:))=1; 41 42 42 43 %make sure wherever there is an ice load, that the mask is set to ice: 43 pos=find(md.s lr.deltathickness);44 pos=find(md.solidearth.surfaceload.icethicknesschange); 44 45 md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 45 46 % }}} 46 47 47 md.s lr.ocean_area_scaling=0;48 md.solidearth.settings.ocean_area_scaling=0; 48 49 49 50 %Geometry for the bed, arbitrary: … … 53 54 md.materials=materials('hydro'); 54 55 55 %New stuff56 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);57 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);58 56 59 57 %Miscellaneous … … 61 59 62 60 %Solution parameters 63 md.s lr.reltol=NaN;64 md.s lr.abstol=1e-3;65 md.s lr.geodetic=1;61 md.solidearth.settings.reltol=NaN; 62 md.solidearth.settings.abstol=1e-3; 63 md.solidearth.settings.computesealevelchange=1; 66 64 67 65 % max number of iteration reverted back to 10 (i.e., the original default value) 68 md.s lr.maxiter=10;66 md.solidearth.settings.maxiter=10; 69 67 70 68 %eustatic run: 71 md.s lr.rigid=0; md.slr.elastic=0;md.slr.rotation=0;69 md.solidearth.settings.rigid=0; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0; 72 70 md=solve(md,'Sealevelrise'); 73 71 Seustatic=md.results.SealevelriseSolution.Sealevel; 74 72 75 73 %eustatic + rigid run: 76 md.s lr.rigid=1; md.slr.elastic=0;md.slr.rotation=0;74 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0; 77 75 md=solve(md,'Sealevelrise'); 78 76 Srigid=md.results.SealevelriseSolution.Sealevel; 79 77 80 78 %eustatic + rigid + elastic run: 81 md.s lr.rigid=1; md.slr.elastic=1;md.slr.rotation=0;79 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1;md.solidearth.settings.rotation=0; 82 80 md=solve(md,'Sealevelrise'); 83 81 Selastic=md.results.SealevelriseSolution.Sealevel; 84 82 85 83 %eustatic + rigid + elastic + rotation run: 86 md.s lr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;84 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1; 87 85 md=solve(md,'Sealevelrise'); 88 86 Srotation=md.results.SealevelriseSolution.Sealevel; -
issm/trunk-jpl/test/NightlyRun/test2003.m
r25071 r25124 3 3 %mesh earth: 4 4 md=model; 5 5 6 md.mesh=gmshplanet('radius',6.371012*10^3,'resolution',1000.); %500 km resolution mesh 6 7 7 8 %parameterize slr solution: 8 9 %slr loading: {{{ 9 md.s lr.deltathickness=zeros(md.mesh.numberofelements,1);10 md.s lr.sealevel=zeros(md.mesh.numberofvertices,1);10 md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1); 11 md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1); 11 12 md.dsl.global_average_thermosteric_sea_level_change=[0;0]; 12 13 md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1); … … 17 18 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 18 19 pos=find(late <-75 & longe <0); 19 md.s lr.deltathickness(pos)=-1;20 md.solidearth.surfaceload.icethicknesschange(pos)=-1; 20 21 21 22 %elastic loading from love numbers: 22 23 nlov=1001; 23 md.slr.love_h = love_numbers('h'); md.slr.love_h(nlov+1:end)=[]; 24 md.slr.love_k = love_numbers('k'); md.slr.love_k(nlov+1:end)=[]; 25 md.slr.love_l = love_numbers('l'); md.slr.love_l(nlov+1:end)=[]; 24 md.solidearth.love.h = love_numbers('h'); md.solidearth.love.h(nlov+1:end)=[]; 25 md.solidearth.love.k = love_numbers('k'); md.solidearth.love.k(nlov+1:end)=[]; 26 md.solidearth.love.l = love_numbers('l'); md.solidearth.love.l(nlov+1:end)=[]; 27 26 28 27 29 %}}} … … 35 37 36 38 %make sure that the elements that have loads are fully grounded: 37 pos=find(md.s lr.deltathickness);39 pos=find(md.solidearth.surfaceload.icethicknesschange); 38 40 md.mask.ocean_levelset(md.mesh.elements(pos,:))=1; 39 41 40 42 %make sure wherever there is an ice load, that the mask is set to ice: 41 pos=find(md.s lr.deltathickness);43 pos=find(md.solidearth.surfaceload.icethicknesschange); 42 44 md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 43 45 % }}} 44 46 45 47 % use model representation of ocea area (not the ture area) 46 md.s lr.ocean_area_scaling = 0;48 md.solidearth.settings.ocean_area_scaling = 0; 47 49 48 50 %geometry … … 61 63 md.miscellaneous.name='test2003'; 62 64 63 %New stuff64 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);65 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);66 67 65 %Solution parameters 68 md.s lr.reltol=NaN;69 md.s lr.abstol=1e-3;70 md.s lr.geodetic=1;66 md.solidearth.settings.reltol=NaN; 67 md.solidearth.settings.abstol=1e-3; 68 md.solidearth.settings.computesealevelchange=1; 71 69 72 70 %eustatic + rigid + elastic run: 73 md.s lr.rigid=1; md.slr.elastic=1; md.slr.rotation=0;71 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=0; 74 72 md.cluster=generic('name',oshostname(),'np',3); 75 73 %md.verbose=verbose('111111111'); … … 78 76 79 77 %eustatic + rigid + elastic + rotation run: 80 md.s lr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;78 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1; 81 79 md.cluster=generic('name',oshostname(),'np',3); 82 80 %md.verbose=verbose('111111111'); -
issm/trunk-jpl/test/NightlyRun/test2004.m
r25077 r25124 144 144 if bas.iscontinentany('antarctica'), 145 145 if testagainst2002, 146 md.s lr.deltathickness=zeros(md.mesh.numberofelements,1);146 md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1); 147 147 %antarctica 148 148 late=sum(md.mesh.lat(md.mesh.elements),2)/3; … … 151 151 ratio=0.225314032985172/0.193045366574523; 152 152 %ratio= 1.276564103522540/.869956; 153 md.s lr.deltathickness(pos)=-100*ratio;153 md.solidearth.surfaceload.icethicknesschange(pos)=-100*ratio; 154 154 else 155 155 delH=textread('../Data/AIS_delH_trend.txt'); … … 159 159 northpole=find_point(md.mesh.long,md.mesh.lat,0,90); delHAIS(northpole)=0; 160 160 161 md.s lr.deltathickness=delHAIS(md.mesh.elements)*[1;1;1]/3/100;161 md.solidearth.surfaceload.icethicknesschange=delHAIS(md.mesh.elements)*[1;1;1]/3/100; 162 162 end 163 163 164 md.slr.sealevel=zeros(md.mesh.numberofvertices,1); 165 md.slr.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 164 md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1); 166 165 167 166 md.dsl.global_average_thermosteric_sea_level_change=[0;0]; 168 167 md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1); 169 168 md.dsl.sea_water_pressure_change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1); 170 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);171 169 172 170 end %}}} … … 243 241 if testagainst2002, 244 242 % {{{ 245 md.s lr.deltathickness=zeros(md.mesh.numberofelements,1);243 md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1); 246 244 %greenland 247 245 late=sum(md.mesh.lat(md.mesh.elements),2)/3; … … 249 247 pos=find(late > 70 & late < 80 & longe>-60 & longe<-30); 250 248 ratio=.3823/.262344; 251 %md.s lr.deltathickness(pos)=-100*ratio;249 %md.solidearth.surfaceload.icethicknesschange(pos)=-100*ratio; 252 250 253 251 %correct mask: … … 256 254 else 257 255 258 md.s lr.deltathickness=zeros(md.mesh.numberofelements,1);256 md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1); 259 257 260 258 delH=textread('../Data/GIS_delH_trend.txt'); … … 271 269 272 270 pos=find(delHGISe); 273 md.s lr.deltathickness(pos)=delHGISe(pos)/100;271 md.solidearth.surfaceload.icethicknesschange(pos)=delHGISe(pos)/100; 274 272 pos=find(delHGLAe); 275 md.s lr.deltathickness(pos)=delHGLAe(pos)/100;273 md.solidearth.surfaceload.icethicknesschange(pos)=delHGLAe(pos)/100; 276 274 277 275 %adjust mask accordingly: 278 pos=find(md.s lr.deltathickness);276 pos=find(md.solidearth.surfaceload.icethicknesschange); 279 277 flags=zeros(md.mesh.numberofvertices,1); 280 278 flags(md.mesh.elements(pos,:))=1; … … 284 282 end 285 283 286 md.slr.sealevel=zeros(md.mesh.numberofvertices,1); 287 md.slr.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 284 md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1); 288 285 289 286 md.dsl.global_average_thermosteric_sea_level_change=[0;0]; 290 %md. slr.steric_rate=(1.1+.38)*ones(md.mesh.numberofvertices,1); %steric + water storage.287 %md.dsl.steric_rate=(1.1+.38)*ones(md.mesh.numberofvertices,1); %steric + water storage. 291 288 md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1); 292 289 md.dsl.sea_water_pressure_change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1); 293 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);294 290 295 291 %}}} … … 331 327 sl.transfer('mesh.lat'); 332 328 sl.transfer('mesh.long'); 333 sl.transfer('slr.deltathickness'); 334 sl.transfer('slr.spcthickness'); 335 sl.transfer('slr.hydro_rate'); 336 sl.transfer('slr.sealevel'); 329 sl.transfer('solidearth.surfaceload.icethicknesschange'); 330 sl.transfer('solidearth.sealevel'); 337 331 sl.transfer('dsl.sea_surface_height_change_above_geoid'); 338 332 sl.transfer('dsl.sea_water_pressure_change_at_sea_floor'); … … 361 355 %elastic loading from love numbers: 362 356 nlov=101; 363 md.s lr.love_h = love_numbers('h','CM'); md.slr.love_h(nlov+1:end)=[];364 md.s lr.love_k = love_numbers('k','CM'); md.slr.love_k(nlov+1:end)=[];365 md.s lr.love_l = love_numbers('l','CM'); md.slr.love_l(nlov+1:end)=[];366 md.s lr.ocean_area_scaling = 0;357 md.solidearth.love.h = love_numbers('h','CM'); md.solidearth.love.h(nlov+1:end)=[]; 358 md.solidearth.love.k = love_numbers('k','CM'); md.solidearth.love.k(nlov+1:end)=[]; 359 md.solidearth.love.l = love_numbers('l','CM'); md.solidearth.love.l(nlov+1:end)=[]; 360 md.solidearth.settings.ocean_area_scaling = 0; 367 361 368 362 %Miscellaneous … … 373 367 374 368 %Solution parameters 375 md.s lr.reltol=NaN;376 md.s lr.abstol=1e-3;377 md.s lr.geodetic=1;369 md.solidearth.settings.reltol=NaN; 370 md.solidearth.settings.abstol=1e-3; 371 md.solidearth.settings.computesealevelchange=1; 378 372 md.timestepping.time_step=1; 379 373 380 374 % max number of iteration reverted back to 10 (i.e., the original default value) 381 md.s lr.maxiter=10;375 md.solidearth.settings.maxiter=10; 382 376 383 377 %eustatic run: 384 md.s lr.rigid=0; md.slr.elastic=0;md.slr.rotation=0;385 md.s lr.requested_outputs= {'default',...386 'S ealevelriseDeltathickness','Sealevel','SealevelRSLRate','SealevelriseCumDeltathickness',...378 md.solidearth.settings.rigid=0; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0; 379 md.solidearth.requested_outputs= {'default',... 380 'SurfaceloadIceThicknessChange','Sealevel','SealevelRSLRate','SealevelriseCumDeltathickness',... 387 381 'SealevelNEsaRate', 'SealevelUEsaRate', 'NGiaRate', 'UGiaRate','SealevelEustaticMask','SealevelEustaticOceanMask'}; 388 382 md=solve(md,'Sealevelrise'); … … 390 384 391 385 %eustatic + rigid run: 392 md.s lr.rigid=1; md.slr.elastic=0;md.slr.rotation=0;386 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0; 393 387 md=solve(md,'Sealevelrise'); 394 388 Srigid=md.results.SealevelriseSolution.Sealevel; 395 389 396 390 %eustatic + rigid + elastic run: 397 md.s lr.rigid=1; md.slr.elastic=1;md.slr.rotation=0;391 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1;md.solidearth.settings.rotation=0; 398 392 md=solve(md,'Sealevelrise'); 399 393 Selastic=md.results.SealevelriseSolution.Sealevel; 400 394 401 395 %eustatic + rigid + elastic + rotation run: 402 md.s lr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;396 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1; 403 397 md=solve(md,'Sealevelrise'); 404 398 Srotation=md.results.SealevelriseSolution.Sealevel; -
issm/trunk-jpl/test/NightlyRun/test2010.m
r25071 r25124 11 11 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 12 12 13 md.s lr.deltathickness=zeros(md.mesh.numberofelements,1);13 md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1); 14 14 pos=find(late <-75 & longe >0); 15 md.s lr.deltathickness(pos(6:7))=-1;15 md.solidearth.surfaceload.icethicknesschange(pos(6:7))=-1; 16 16 17 md.s lr.sealevel=zeros(md.mesh.numberofvertices,1);17 md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1); 18 18 md.dsl.global_average_thermosteric_sea_level_change=[0;0]; 19 19 md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1); 20 20 md.dsl.sea_water_pressure_change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1); 21 21 22 md.s lr.ocean_area_scaling = 1;22 md.solidearth.settings.ocean_area_scaling = 1; 23 23 24 24 %elastic loading from love numbers: 25 25 nlov=1001; 26 md.s lr.love_h = love_numbers('h'); md.slr.love_h(nlov+1:end)=[];27 md.s lr.love_k = love_numbers('k'); md.slr.love_k(nlov+1:end)=[];28 md.s lr.love_l = love_numbers('l'); md.slr.love_l(nlov+1:end)=[];26 md.solidearth.love.h = love_numbers('h'); md.solidearth.love.h(nlov+1:end)=[]; 27 md.solidearth.love.k = love_numbers('k'); md.solidearth.love.k(nlov+1:end)=[]; 28 md.solidearth.love.l = love_numbers('l'); md.solidearth.love.l(nlov+1:end)=[]; 29 29 30 30 %}}} … … 38 38 39 39 %make sure that the elements that have loads are fully grounded: 40 pos=find(md.s lr.deltathickness);40 pos=find(md.solidearth.surfaceload.icethicknesschange); 41 41 md.mask.ocean_levelset(md.mesh.elements(pos,:))=1; 42 42 43 43 %make sure wherever there is an ice load, that the mask is set to ice: 44 44 md.mask.ice_levelset=ones(md.mesh.numberofvertices,1); 45 pos=find(md.s lr.deltathickness);45 pos=find(md.solidearth.surfaceload.icethicknesschange); 46 46 md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 47 47 % }}} … … 63 63 % }}} 64 64 %Solution parameters {{{ 65 md.s lr.reltol=NaN;66 md.s lr.abstol=1e-3;67 md.s lr.geodetic=1;65 md.solidearth.settings.reltol=NaN; 66 md.solidearth.settings.abstol=1e-3; 67 md.solidearth.settings.computesealevelchange=1; 68 68 % }}} 69 69 70 %New stuff71 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);72 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);73 70 74 71 %eustatic + rigid + elastic run: 75 md.s lr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;72 md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1; 76 73 md.cluster=generic('name',oshostname(),'np',3); 77 74 … … 89 86 %areas=GetAreasSphericalTria(md.mesh.elements,md.mesh.lat,md.mesh.long,rad_e); 90 87 %lat=late*pi/180; lon=longe*pi/180; 91 %moi_xz = sum(-md.materials.rho_freshwater.*md.s lr.deltathickness.*areas.*rad_e^2.*sin(lat).*cos(lat).*cos(lon));92 %moi_yz = sum(-md.materials.rho_freshwater.*md.s lr.deltathickness.*areas.*rad_e^2.*sin(lat).*cos(lat).*sin(lon));88 %moi_xz = sum(-md.materials.rho_freshwater.*md.solidearth.surfaceload.icethicknesschange.*areas.*rad_e^2.*sin(lat).*cos(lat).*cos(lon)); 89 %moi_yz = sum(-md.materials.rho_freshwater.*md.solidearth.surfaceload.icethicknesschange.*areas.*rad_e^2.*sin(lat).*cos(lat).*sin(lon)); 93 90 % }}} 94 91 -
issm/trunk-jpl/test/NightlyRun/test2111.m
r25071 r25124 47 47 % }}} 48 48 49 %New stuff50 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);51 52 49 %solve esa: {{{ 53 50 md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion','EsaXmotion','EsaYmotion'}; -
issm/trunk-jpl/test/NightlyRun/test2112.m
r25071 r25124 47 47 % }}} 48 48 49 %New stuff50 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);51 52 49 %solve esa: {{{ 53 50 md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion','EsaXmotion','EsaYmotion'}; -
issm/trunk-jpl/test/NightlyRun/test2113.m
r25071 r25124 48 48 % }}} 49 49 50 %New stuff51 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);52 53 50 %solve esa: {{{ 54 51 md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion'}; -
issm/trunk-jpl/test/NightlyRun/test2424.m
r24862 r25124 20 20 21 21 md.timestepping.time_step=.1; 22 md.s lr.sealevel=newforcing(md.timestepping.start_time, md.timestepping.final_time, md.timestepping.time_step,-200,200,md.mesh.numberofvertices);22 md.solidearth.sealevel=newforcing(md.timestepping.start_time, md.timestepping.final_time, md.timestepping.time_step,-200,200,md.mesh.numberofvertices); 23 23 24 24 md.cluster=generic('name',oshostname(),'np',3); -
issm/trunk-jpl/test/NightlyRun/test2425.m
r21056 r25124 31 31 md.geometry.bed=md.geometry.bed+1000; 32 32 md.geometry.surface=md.geometry.surface+1000; 33 md.s lr.sealevel=1000*ones(md.mesh.numberofvertices,1);33 md.solidearth.sealevel=1000*ones(md.mesh.numberofvertices,1); 34 34 35 35 md=solve(md,'Transient','checkconsistency','no');
Note:
See TracChangeset
for help on using the changeset viewer.