Changeset 21076
- Timestamp:
- 08/04/16 10:41:21 (9 years ago)
- Location:
- issm/trunk-jpl/test/NightlyRun
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/NightlyRun/test2002.m
r21056 r21076 1 1 %Test Name: EarthSlr 2 %Earth Sea Level Rise test. Uses the mesh3dsurface geometry.3 2 4 %mesh earth: 5 md=model; 6 md.mesh=gmshplanet('radius',6.371012*10^3,'resolution',700.); %500 km resolution mesh 7 8 %parameterize slr solution: 9 %slr loading: {{{ 10 md.slr.deltathickness=zeros(md.mesh.numberofelements,1); 11 md.slr.sealevel=zeros(md.mesh.numberofvertices,1); 12 %antarctica 13 late=sum(md.mesh.lat(md.mesh.elements),2)/3; 14 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 15 pos=find(late <-80); 16 md.slr.deltathickness(pos)=-100; 17 %greenland 18 pos=find(late > 70 & late < 80 & longe>-60 & longe<-30); 19 md.slr.deltathickness(pos)=-100; 20 21 %elastic loading from love numbers: 22 nlov=101; 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)=[]; 3 %mesh earth: 4 md=model; 5 md.mesh=gmshplanet('radius',6.371012*10^3,'resolution',700.); %500 km resolution mesh 26 6 27 %}}} 28 %mask: {{{ 29 md.mask=maskpsl(); % use maskpsl class (instead of mask) to store the ocean function as a ocean_levelset 30 mask=gmtmask(md.mesh.lat,md.mesh.long); 7 %parameterize slr solution: 8 %slr loading: {{{ 9 md.slr.deltathickness=zeros(md.mesh.numberofelements,1); 10 md.slr.sealevel=zeros(md.mesh.numberofvertices,1); 11 %antarctica 12 late=sum(md.mesh.lat(md.mesh.elements),2)/3; 13 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 14 pos=find(late <-80); 15 md.slr.deltathickness(pos)=-100; 16 %greenland 17 pos=find(late > 70 & late < 80 & longe>-60 & longe<-30); 18 md.slr.deltathickness(pos)=-100; 31 19 32 icemask=ones(md.mesh.numberofvertices,1); 33 pos=find(mask==0); icemask(pos)=-1; 34 pos=find(sum(mask(md.mesh.elements),2)<3); icemask(md.mesh.elements(pos))=-1; 35 36 md.mask.ice_levelset=icemask; 37 md.mask.ocean_levelset=zeros(md.mesh.numberofvertices,1); 38 pos=find(md.mask.ice_levelset==1); md.mask.ocean_levelset(pos)=1; 20 %elastic loading from love numbers: 21 nlov=101; 22 md.slr.love_h = love_numbers('h'); md.slr.love_h(nlov+1:end)=[]; 23 md.slr.love_k = love_numbers('k'); md.slr.love_k(nlov+1:end)=[]; 24 md.slr.love_l = love_numbers('l'); md.slr.love_l(nlov+1:end)=[]; 39 25 40 %make sure that the ice level set is all inclusive: 41 md.mask.land_levelset=zeros(md.mesh.numberofvertices,1); 42 md.mask.groundedice_levelset=-ones(md.mesh.numberofvertices,1); 26 %}}} 27 %mask: {{{ 28 md.mask=maskpsl(); % use maskpsl class (instead of mask) to store the ocean function as a ocean_levelset 29 mask=gmtmask(md.mesh.lat,md.mesh.long); 43 30 44 %make sure wherever there is an ice load, that the mask is set to ice: 45 pos=find(md.slr.deltathickness); md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 31 icemask=ones(md.mesh.numberofvertices,1); 32 pos=find(mask==0); icemask(pos)=-1; 33 pos=find(sum(mask(md.mesh.elements),2)<3); icemask(md.mesh.elements(pos))=-1; 46 34 47 % }}} 48 %geometry: {{{ 49 di=md.materials.rho_ice/md.materials.rho_water; 50 md.geometry.thickness=ones(md.mesh.numberofvertices,1); 51 md.geometry.surface=(1-di)*zeros(md.mesh.numberofvertices,1); 52 md.geometry.base=md.geometry.surface-md.geometry.thickness; 53 md.geometry.bed=md.geometry.base; 54 % }}} 55 %materials: {{{ 56 md.initialization.temperature=273.25*ones(md.mesh.numberofvertices,1); 57 md.materials.rheology_B=paterson(md.initialization.temperature); 58 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 59 % }}} 60 %Miscellaneous: {{{ 61 md.miscellaneous.name='slr'; 62 % }}} 63 %Solution parameters:{{{ 64 md.slr.reltol=NaN; 65 md.slr.abstol=1e-3; 66 %}}} 35 md.mask.ice_levelset=icemask; 36 md.mask.ocean_levelset=zeros(md.mesh.numberofvertices,1); 37 pos=find(md.mask.ice_levelset==1); md.mask.ocean_levelset(pos)=1; 67 38 68 %eustatic run: 69 md.slr.rigid=0; md.slr.elastic=0; 70 md=solve(md,'Sealevelrise'); 71 Seustatic=md.results.SealevelriseSolution.Sealevel; 72 73 %eustatic + rigid run: 74 md.slr.rigid=1; md.slr.elastic=0; 75 md=solve(md,'Sealevelrise'); 76 Srigid=md.results.SealevelriseSolution.Sealevel; 77 78 %eustatic + rigid + elastic run: 79 md.slr.rigid=1; md.slr.elastic=1; 80 md=solve(md,'Sealevelrise'); 81 Selastic=md.results.SealevelriseSolution.Sealevel; 82 83 %eustatic + rigid + elastic + rotation run: 84 md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1; 85 md=solve(md,'Sealevelrise'); 86 Srotation=md.results.SealevelriseSolution.Sealevel; 39 %make sure that the ice level set is all inclusive: 40 md.mask.land_levelset=zeros(md.mesh.numberofvertices,1); 41 md.mask.groundedice_levelset=-ones(md.mesh.numberofvertices,1); 87 42 88 %Fields and tolerances to track changes 89 field_names ={'Eustatic','Rigid','Elastic','Rotation'}; 90 field_tolerances={1e-13,1e-13,1e-13,1e-13}; 91 field_values={Seustatic,Srigid,Selastic,Srotation}; 43 %make sure wherever there is an ice load, that the mask is set to ice: 44 pos=find(md.slr.deltathickness); md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 45 46 % }}} 47 48 %geometry 49 di=md.materials.rho_ice/md.materials.rho_water; 50 md.geometry.thickness=ones(md.mesh.numberofvertices,1); 51 md.geometry.surface=(1-di)*zeros(md.mesh.numberofvertices,1); 52 md.geometry.base=md.geometry.surface-md.geometry.thickness; 53 md.geometry.bed=md.geometry.base; 54 55 %materials 56 md.initialization.temperature=273.25*ones(md.mesh.numberofvertices,1); 57 md.materials.rheology_B=paterson(md.initialization.temperature); 58 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 59 60 %Miscellaneous 61 md.miscellaneous.name='test2002'; 62 63 %Solution parameters 64 md.slr.reltol=NaN; 65 md.slr.abstol=1e-3; 66 67 %eustatic run: 68 md.slr.rigid=0; md.slr.elastic=0; 69 md=solve(md,'Sealevelrise'); 70 Seustatic=md.results.SealevelriseSolution.Sealevel; 71 72 %eustatic + rigid run: 73 md.slr.rigid=1; md.slr.elastic=0; 74 md=solve(md,'Sealevelrise'); 75 Srigid=md.results.SealevelriseSolution.Sealevel; 76 77 %eustatic + rigid + elastic run: 78 md.slr.rigid=1; md.slr.elastic=1; 79 md=solve(md,'Sealevelrise'); 80 Selastic=md.results.SealevelriseSolution.Sealevel; 81 82 %eustatic + rigid + elastic + rotation run: 83 md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1; 84 md=solve(md,'Sealevelrise'); 85 Srotation=md.results.SealevelriseSolution.Sealevel; 86 87 %Fields and tolerances to track changes 88 field_names ={'Eustatic','Rigid','Elastic','Rotation'}; 89 field_tolerances={1e-13,1e-13,1e-13,1e-13}; 90 field_values={Seustatic,Srigid,Selastic,Srotation}; -
issm/trunk-jpl/test/NightlyRun/test2002.py
r21060 r21076 55 55 md.mask.groundedice_levelset=-ones((md.mesh.numberofvertices,1)) 56 56 # }}} 57 #geometry: {{{ 57 58 #geometry 58 59 di=md.materials.rho_ice/md.materials.rho_water 59 60 md.geometry.thickness=ones((md.mesh.numberofvertices,1)) … … 61 62 md.geometry.base=md.geometry.surface-md.geometry.thickness 62 63 md.geometry.bed=md.geometry.base 63 # }}} 64 #materials : {{{64 65 #materials 65 66 md.initialization.temperature=273.25*ones((md.mesh.numberofvertices,1)) 66 67 md.materials.rheology_B=paterson(md.initialization.temperature) 67 68 md.materials.rheology_n=3*ones((md.mesh.numberofelements,1)) 68 # }}} 69 #Miscellaneous : {{{70 md.miscellaneous.name=' slr'71 # }}} 72 #Solution parameters :{{{69 70 #Miscellaneous 71 md.miscellaneous.name='test2002' 72 73 #Solution parameters 73 74 md.slr.reltol=NaN 74 75 md.slr.abstol=1e-3 75 #}}}76 76 77 77 #eustatic run: -
issm/trunk-jpl/test/NightlyRun/test4001.m
r21056 r21076 466 466 467 467 %miscellaneous 468 md.miscellaneous.name=' IceOcean';468 md.miscellaneous.name='test4001'; 469 469 470 470 %initial velocity: -
issm/trunk-jpl/test/NightlyRun/test701.m
r21056 r21076 43 43 md.stressbalance.maxiter=20; 44 44 md.flowequation.augmented_lagrangian_r=10000; 45 md.miscellaneous.name = ' flowline';45 md.miscellaneous.name = 'test701'; 46 46 md.verbose=verbose('convergence',true); 47 47 md.cluster=generic('np',2); -
issm/trunk-jpl/test/NightlyRun/test702.m
r21056 r21076 43 43 md.flowequation.augmented_lagrangian_rhop=10000; 44 44 md.initialization.pressure=md.constants.g*md.materials.rho_ice*(md.geometry.surface-md.mesh.y); 45 md.miscellaneous.name = ' flowline';45 md.miscellaneous.name = 'test702'; 46 46 md.cluster=generic('np',2); 47 47 -
issm/trunk-jpl/test/NightlyRun/test703.m
r21056 r21076 37 37 md.flowequation.fe_FS='TaylorHood'; 38 38 md.stressbalance.abstol=NaN; 39 md.miscellaneous.name = ' flowline';39 md.miscellaneous.name = 'test703'; 40 40 41 41 %Transient settings
Note:
See TracChangeset
for help on using the changeset viewer.