Changeset 26077
- Timestamp:
- 03/11/21 15:32:23 (4 years ago)
- Location:
- issm/trunk-jpl/test/NightlyRun
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/NightlyRun/test2002.m
r26068 r26077 7 7 %parameterize solidearth solution: 8 8 %solidearth loading: {{{ 9 md. solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);10 md. solidearth.initialsealevel=zeros(md.mesh.numberofvertices,1);11 md.dsl.global_average_thermosteric_sea_level _change=[0;0];12 md.dsl.sea_surface_height_ change_above_geoid=zeros(md.mesh.numberofvertices+1,1);13 md.dsl.sea_water_pressure_ change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);9 md.masstransport.spcthickness=zeros(md.mesh.numberofelements+1,1); 10 md.initialization.sealevel=zeros(md.mesh.numberofvertices,1); 11 md.dsl.global_average_thermosteric_sea_level=[0;0]; 12 md.dsl.sea_surface_height_above_geoid=zeros(md.mesh.numberofvertices+1,1); 13 md.dsl.sea_water_pressure_at_sea_floor=zeros(md.mesh.numberofvertices+1,1); 14 14 %antarctica 15 15 late=sum(md.mesh.lat(md.mesh.elements),2)/3; 16 16 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 17 17 pos=find(late < -80); 18 md. solidearth.surfaceload.icethicknesschange(pos)=-100;18 md.masstransport.spcthickness(pos)=-100; 19 19 %greenland 20 20 pos=find(late>70 & late<80 & longe>-60 & longe<-30); 21 md. solidearth.surfaceload.icethicknesschange(pos)=-100;21 md.masstransport.spcthickness(pos)=-100; 22 22 23 23 %elastic loading from love numbers: … … 36 36 37 37 %make sure that the elements that have loads are fully grounded: 38 pos=find(md. solidearth.surfaceload.icethicknesschange);38 pos=find(md.masstransport.spcthickness); 39 39 md.mask.ocean_levelset(md.mesh.elements(pos,:))=1; 40 40 41 41 %make sure wherever there is an ice load, that the mask is set to ice: 42 pos=find(md. solidearth.surfaceload.icethicknesschange);42 pos=find(md.masstransport.spcthickness); 43 43 md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 44 44 % }}} 45 45 46 md.solidearth.settings.ocean_area_scaling=0;47 48 46 %Geometry for the bed, arbitrary: 49 47 md.geometry.bed=-ones(md.mesh.numberofvertices,1); 48 md.geometry.thickness=zeros(md.mesh.numberofvertices,1); 49 md.geometry.surface=zeros(md.mesh.numberofvertices,1); 50 md.geometry.base=zeros(md.mesh.numberofvertices,1); 51 52 53 md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1); 54 md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1); 55 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 56 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 50 57 51 58 %Materials: … … 60 67 md.solidearth.settings.abstol=1e-3; 61 68 md.solidearth.settings.computesealevelchange=1; 69 md.solidearth.settings.isgrd=1; 70 md.solidearth.settings.ocean_area_scaling=0; 71 md.solidearth.settings.grdmodel=1; 72 73 %Physics: 74 md.transient.issmb=0; 75 md.transient.isstressbalance=0; 76 md.transient.isthermal=0; 77 md.transient.ismasstransport=1; 78 md.transient.isslc=1; 79 62 80 63 81 % max number of iteration reverted back to 10 (i.e., the original default value) … … 68 86 md.solidearth.settings.elastic=0; 69 87 md.solidearth.settings.rotation=0; 70 md=solve(md,' Sealevelchange');71 Seustatic=md.results. SealevelchangeSolution.Sealevel;88 md=solve(md,'Transient'); 89 Seustatic=md.results.TransientSolution.Sealevel; 72 90 73 91 %eustatic + rigid run: … … 75 93 md.solidearth.settings.elastic=0; 76 94 md.solidearth.settings.rotation=0; 77 md=solve(md,' Sealevelchange');78 Srigid=md.results. SealevelchangeSolution.Sealevel;95 md=solve(md,'tr'); 96 Srigid=md.results.TransientSolution.Sealevel; 79 97 80 98 %eustatic + rigid + elastic run: … … 82 100 md.solidearth.settings.elastic=1; 83 101 md.solidearth.settings.rotation=0; 84 md=solve(md,' Sealevelchange');85 Selastic=md.results. SealevelchangeSolution.Sealevel;102 md=solve(md,'tr'); 103 Selastic=md.results.TransientSolution.Sealevel; 86 104 87 105 %eustatic + rigid + elastic + rotation run: … … 89 107 md.solidearth.settings.elastic=1; 90 108 md.solidearth.settings.rotation=1; 91 md=solve(md,' Sealevelchange');92 Srotation=md.results. SealevelchangeSolution.Sealevel;109 md=solve(md,'tr'); 110 Srotation=md.results.TransientSolution.Sealevel; 93 111 94 112 %Fields and tolerances to track changes -
issm/trunk-jpl/test/NightlyRun/test2003.m
r25956 r26077 7 7 %parameterize slc solution: 8 8 %solidearth loading: {{{ 9 md. solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);10 md. solidearth.initialsealevel=zeros(md.mesh.numberofvertices,1);11 md.dsl.global_average_thermosteric_sea_level _change=[0;0];12 md.dsl.sea_surface_height_ change_above_geoid=zeros(md.mesh.numberofvertices+1,1);13 md.dsl.sea_water_pressure_ change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);9 md.masstransport.spcthickness=zeros(md.mesh.numberofelements,1); 10 md.initialization.sealevel=zeros(md.mesh.numberofvertices,1); 11 md.dsl.global_average_thermosteric_sea_level=[0;0]; 12 md.dsl.sea_surface_height_above_geoid=zeros(md.mesh.numberofvertices+1,1); 13 md.dsl.sea_water_pressure_at_sea_floor=zeros(md.mesh.numberofvertices+1,1); 14 14 15 15 %antarctica … … 17 17 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 18 18 pos=find(late <-75 & longe <0); 19 md. solidearth.surfaceload.icethicknesschange(pos)=-1;19 md.masstransport.spcthickness(pos)=-1; 20 20 21 21 %elastic loading from love numbers: … … 34 34 35 35 %make sure that the elements that have loads are fully grounded: 36 pos=find(md. solidearth.surfaceload.icethicknesschange);36 pos=find(md.masstransport.spcthickness); 37 37 md.mask.ocean_levelset(md.mesh.elements(pos,:))=1; 38 38 39 39 %make sure wherever there is an ice load, that the mask is set to ice: 40 pos=find(md. solidearth.surfaceload.icethicknesschange);40 pos=find(md.masstransport.spcthickness); 41 41 md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 42 42 % }}} … … 57 57 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 58 58 59 md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1); 60 md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1); 61 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 62 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 63 59 64 %Miscellaneous 60 65 md.miscellaneous.name='test2003'; … … 64 69 md.solidearth.settings.abstol=1e-3; 65 70 md.solidearth.settings.computesealevelchange=1; 71 md.solidearth.settings.isgrd=1; 72 md.solidearth.settings.ocean_area_scaling=0; 73 md.solidearth.settings.grdmodel=1; 74 75 %Physics: 76 md.transient.issmb=0; 77 md.transient.isstressbalance=0; 78 md.transient.isthermal=0; 79 md.transient.ismasstransport=1; 80 md.transient.isslc=1; 81 66 82 67 83 %eustatic + rigid + elastic run: … … 71 87 md.cluster=generic('name',oshostname(),'np',3); 72 88 %md.verbose=verbose('111111111'); 73 md=solve(md,' Sealevelchange');74 SnoRotation=md.results. SealevelchangeSolution.Sealevel;89 md=solve(md,'Transient'); 90 SnoRotation=md.results.TransientSolution.Sealevel; 75 91 76 92 %eustatic + rigid + elastic + rotation run: … … 80 96 md.cluster=generic('name',oshostname(),'np',3); 81 97 %md.verbose=verbose('111111111'); 82 md=solve(md,' Sealevelchange');83 SRotation=md.results. SealevelchangeSolution.Sealevel;98 md=solve(md,'Transient'); 99 SRotation=md.results.TransientSolution.Sealevel; 84 100 85 101 %Fields and tolerances to track changes -
issm/trunk-jpl/test/NightlyRun/test2004.m
r25956 r26077 138 138 if bas.iscontinentany('antarctica'), 139 139 if testagainst2002, 140 % TODO: Check if the following works as expected: 'pos' is empty, so nothing is assigned to 'md. solidearth.surfaceload.icethicknesschange(pos)'141 md. solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);140 % TODO: Check if the following works as expected: 'pos' is empty, so nothing is assigned to 'md.masstransport.spcthickness(pos)' 141 md.masstransport.spcthickness=zeros(md.mesh.numberofelements,1); 142 142 %antarctica 143 143 late=sum(md.mesh.lat(md.mesh.elements),2)/3; … … 146 146 ratio=0.225314032985172/0.193045366574523; 147 147 %ratio= 1.276564103522540/.869956; 148 md. solidearth.surfaceload.icethicknesschange(pos)=-100*ratio;148 md.masstransport.spcthickness(pos)=-100*ratio; 149 149 else 150 150 in_fileID=fopen('../Data/AIS_delH_trend.txt', 'r'); … … 164 164 northpole=find_point(md.mesh.long,md.mesh.lat,0,90); 165 165 delHAIS(northpole)=0; 166 md. solidearth.surfaceload.icethicknesschange=mean(delHAIS(md.mesh.elements),2)/100;166 md.masstransport.spcthickness=mean(delHAIS(md.mesh.elements),2)/100; 167 167 end 168 168 … … 245 245 %}}} 246 246 %slc loading/calibration: {{{ 247 md. solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);247 md.masstransport.spcthickness=zeros(md.mesh.numberofelements,1); 248 248 249 249 if testagainst2002, … … 254 254 pos=find(late > 70 & late < 80 & longe>-60 & longe<-30); 255 255 ratio=.3823/.262344; 256 %md. solidearth.surfaceload.icethicknesschange(pos)=-100*ratio;256 %md.masstransport.spcthickness(pos)=-100*ratio; 257 257 258 258 %correct mask: … … 289 289 290 290 pos=find(delHGISe); 291 md. solidearth.surfaceload.icethicknesschange(pos)=delHGISe(pos)/100;291 md.masstransport.spcthickness(pos)=delHGISe(pos)/100; 292 292 pos=find(delHGLAe); 293 md. solidearth.surfaceload.icethicknesschange(pos)=delHGLAe(pos)/100;293 md.masstransport.spcthickness(pos)=delHGLAe(pos)/100; 294 294 295 295 %adjust mask accordingly: 296 pos=find(md. solidearth.surfaceload.icethicknesschange);296 pos=find(md.masstransport.spcthickness); 297 297 flags=zeros(md.mesh.numberofvertices,1); 298 298 flags(md.mesh.elements(pos,:))=1; … … 302 302 end 303 303 304 md. solidearth.initialsealevel=zeros(md.mesh.numberofvertices,1);305 306 md.dsl.global_average_thermosteric_sea_level _change=[0;0];304 md.initialization.sealevel=zeros(md.mesh.numberofvertices,1); 305 306 md.dsl.global_average_thermosteric_sea_level=[0;0]; 307 307 %md.dsl.steric_rate=(1.1+.38)*ones(md.mesh.numberofvertices,1); %steric + water storage. 308 md.dsl.sea_surface_height_ change_above_geoid=zeros(md.mesh.numberofvertices+1,1);309 md.dsl.sea_water_pressure_ change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);308 md.dsl.sea_surface_height_above_geoid=zeros(md.mesh.numberofvertices+1,1); 309 md.dsl.sea_water_pressure_at_sea_floor=zeros(md.mesh.numberofvertices+1,1); 310 310 311 311 %}}} … … 348 348 sl.transfer('mesh.lat'); 349 349 sl.transfer('mesh.long'); 350 sl.transfer(' solidearth.surfaceload.icethicknesschange');351 sl.transfer(' solidearth.initialsealevel');352 sl.transfer('dsl.sea_surface_height_ change_above_geoid');353 sl.transfer('dsl.sea_water_pressure_ change_at_sea_floor');350 sl.transfer('masstransport.spcthickness'); 351 sl.transfer('initialization.sealevel'); 352 sl.transfer('dsl.sea_surface_height_above_geoid'); 353 sl.transfer('dsl.sea_water_pressure_at_sea_floor'); 354 354 355 355 %radius: … … 382 382 383 383 %New stuff 384 md.dsl.global_average_thermosteric_sea_level _change=[1.1+.38;0]; %steric + water storage AR5.384 md.dsl.global_average_thermosteric_sea_level=[1.1+.38;0]; %steric + water storage AR5. 385 385 386 386 %Solution parameters … … 388 388 md.solidearth.settings.abstol=1e-3; 389 389 md.solidearth.settings.computesealevelchange=1; 390 md.solidearth.settings.isgrd=1; 391 md.solidearth.settings.ocean_area_scaling=0; 392 md.solidearth.settings.grdmodel=1; 390 393 md.timestepping.time_step=1; 394 395 %Physics: 396 md.transient.issmb=0; 397 md.transient.isstressbalance=0; 398 md.transient.isthermal=0; 399 md.transient.ismasstransport=1; 400 md.transient.isslc=1; 401 391 402 392 403 %max number of iterations reverted back to 10 (i.e. the original default value) … … 400 411 'SurfaceloadIceThicknessChange','Sealevel','SealevelRSLRate','SealevelchangeCumDeltathickness',... 401 412 'SealevelNEsaRate', 'SealevelUEsaRate','SealevelStaticBarystaticMask','SealevelBarystaticOceanMask'}; 402 md=solve(md,' Sealevelchange');403 Seustatic=md.results. SealevelchangeSolution.Sealevel;413 md=solve(md,'Transient'); 414 Seustatic=md.results.TransientSolution.Sealevel; 404 415 405 416 %eustatic + rigid run: … … 407 418 md.solidearth.settings.elastic=0; 408 419 md.solidearth.settings.rotation=0; 409 md=solve(md,' Sealevelchange');410 Srigid=md.results. SealevelchangeSolution.Sealevel;420 md=solve(md,'Transient'); 421 Srigid=md.results.TransientSolution.Sealevel; 411 422 412 423 %eustatic + rigid + elastic run: … … 414 425 md.solidearth.settings.elastic=1; 415 426 md.solidearth.settings.rotation=0; 416 md=solve(md,' Sealevelchange');417 Selastic=md.results. SealevelchangeSolution.Sealevel;427 md=solve(md,'Transient'); 428 Selastic=md.results.TransientSolution.Sealevel; 418 429 419 430 %eustatic + rigid + elastic + rotation run: … … 421 432 md.solidearth.settings.elastic=1; 422 433 md.solidearth.settings.rotation=1; 423 md=solve(md,' Sealevelchange');424 Srotation=md.results. SealevelchangeSolution.Sealevel;434 md=solve(md,'Transient'); 435 Srotation=md.results.TransientSolution.Sealevel; 425 436 %}}} 426 437
Note:
See TracChangeset
for help on using the changeset viewer.