Changeset 26248
- Timestamp:
- 05/06/21 17:14:14 (4 years ago)
- Location:
- issm/trunk-jpl/test/NightlyRun
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/NightlyRun/test2002.m
r26222 r26248 6 6 7 7 %Geometry for the bed, arbitrary thickness of 1000: 8 md.geometry.bed= -ones(md.mesh.numberofvertices,1);8 md.geometry.bed=zeros(md.mesh.numberofvertices,1); 9 9 md.geometry.base=md.geometry.bed; 10 md.geometry.thickness=100 0*ones(md.mesh.numberofvertices,1);10 md.geometry.thickness=100*ones(md.mesh.numberofvertices,1); 11 11 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 12 12 13 14 %parameterize solidearth solution:15 13 %solidearth loading: {{{ 16 14 md.masstransport.spcthickness=[md.geometry.thickness;0]; 17 md.dsl.global_average_thermosteric_sea_level=[0;0];18 md.dsl.sea_surface_height_above_geoid=zeros(md.mesh.numberofvertices+1,1);19 md.dsl.sea_water_pressure_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);20 15 md.smb.mass_balance=zeros(md.mesh.numberofvertices,1); 21 16 %antarctica … … 36 31 37 32 %elastic loading from love numbers: 38 md.solidearth.lovenumbers=lovenumbers('maxdeg',100 );33 md.solidearth.lovenumbers=lovenumbers('maxdeg',1000); 39 34 40 35 %}}} … … 57 52 md.timestepping.final_time=1; 58 53 54 %masstransport: 59 55 md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1); 60 56 md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1); … … 62 58 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 63 59 md.initialization.sealevel=zeros(md.mesh.numberofvertices,1); 64 md.initialization.bottompressure=zeros(md.mesh.numberofvertices,1);65 md.initialization.dsl=zeros(md.mesh.numberofvertices,1);66 60 md.initialization.str=0; 67 61 … … 87 81 md.transient.ismasstransport=1; 88 82 md.transient.isslc=1; 89 md.solidearth.requested_outputs={'Sealevel'}; 90 83 md.solidearth.requested_outputs={'Sealevel','Bed'}; 91 84 92 85 % max number of iteration reverted back to 10 (i.e., the original default value) … … 100 93 md=solve(md,'Transient'); 101 94 Seustatic=md.results.TransientSolution.Sealevel; 95 Beustatic=md.results.TransientSolution.Bed; 102 96 103 97 %eustatic + rigid run: … … 107 101 md=solve(md,'tr'); 108 102 Srigid=md.results.TransientSolution.Sealevel; 103 Brigid=md.results.TransientSolution.Bed; 109 104 110 105 %eustatic + rigid + elastic run: … … 112 107 md.solidearth.settings.elastic=1; 113 108 md.solidearth.settings.rotation=0; 114 md.solidearth.requested_outputs={'Sealevel'};115 109 md=solve(md,'tr'); 116 110 Selastic=md.results.TransientSolution.Sealevel; 111 Belastic=md.results.TransientSolution.Bed; 117 112 118 113 %eustatic + rigid + elastic + rotation run: … … 122 117 md=solve(md,'tr'); 123 118 Srotation=md.results.TransientSolution.Sealevel; 119 Brotation=md.results.TransientSolution.Bed; 124 120 125 121 %Fields and tolerances to track changes 126 field_names={' Eustatic','Rigid','Elastic','Rotation'};127 field_tolerances={1e-13,1e-13,1e-13,1e-13 };128 field_values={Seustatic,Srigid,Selastic,Srotation };122 field_names={'Seustatic','Srigid','Selastic','Srotation','Beustatic','Brigid','Belastic','Brotation'}; 123 field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13}; 124 field_values={Seustatic,Srigid,Selastic,Srotation,Beustatic,Brigid,Belastic,Brotation}; -
issm/trunk-jpl/test/NightlyRun/test2003.m
r26100 r26248 15 15 %solidearth loading: {{{ 16 16 md.masstransport.spcthickness=[md.geometry.thickness;0]; 17 md.initialization.sealevel=zeros(md.mesh.numberofvertices,1);18 md.dsl.global_average_thermosteric_sea_level=[0;0];19 md.dsl.sea_surface_height_above_geoid=zeros(md.mesh.numberofvertices+1,1);20 md.dsl.sea_water_pressure_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);21 17 md.smb.mass_balance=zeros(md.mesh.numberofvertices,1); 22 18 23 %antarctica 24 late=sum(md.mesh.lat(md.mesh.elements),2)/3; 25 longe=sum(md.mesh.long(md.mesh.elements),2)/3; 26 pos=find(late <-75 & longe <0); 27 md.masstransport.spcthickness(md.mesh.elements(pos,:))= md.masstransport.spcthickness(md.mesh.elements(pos,:))-1; 19 20 xe=md.mesh.x(md.mesh.elements)*[1;1;1]/3; 21 ye=md.mesh.y(md.mesh.elements)*[1;1;1]/3; 22 ze=md.mesh.z(md.mesh.elements)*[1;1;1]/3; 23 re=sqrt(xe.^2+ye.^2+ze.^2); 24 25 late=asind(ze./re); 26 longe=atan2d(ye,xe); 27 %greenland 28 pos=find(late>60 & late<90 & longe>-75 & longe<-15); 29 md.masstransport.spcthickness(md.mesh.elements(pos,:))= md.masstransport.spcthickness(md.mesh.elements(pos,:))-1000; 30 posice=pos; 28 31 29 32 %elastic loading from love numbers: 30 md.solidearth.lovenumbers=lovenumbers('maxdeg',100 0);33 md.solidearth.lovenumbers=lovenumbers('maxdeg',100); 31 34 32 35 %}}} … … 34 37 mask=gmtmask(md.mesh.lat,md.mesh.long); 35 38 icemask=ones(md.mesh.numberofvertices,1); 36 pos=find(mask==0); 37 icemask(pos)=-1; 38 pos=find(sum(mask(md.mesh.elements),2)<3); 39 icemask(md.mesh.elements(pos,:))=-1; 39 icemask(md.mesh.elements(posice,:))=-1; 40 40 md.mask.ice_levelset=icemask; 41 md.mask.ocean_levelset=-icemask; 42 43 %make sure that the elements that have loads are fully grounded: 44 pos=find(md.masstransport.spcthickness); 45 md.mask.ocean_levelset(md.mesh.elements(pos,:))=1; 46 47 %make sure wherever there is an ice load, that the mask is set to ice: 48 pos=find(md.masstransport.spcthickness); 49 md.mask.ice_levelset(md.mesh.elements(pos,:))=-1; 50 % }}} 41 oceanmask=-ones(md.mesh.numberofvertices,1); 42 pos=find(mask==0); oceanmask(pos)=1; 43 md.mask.ocean_levelset=oceanmask; 51 44 52 45 % use model representation of ocen area (not the true area) … … 56 49 md.initialization.temperature=273.25*ones(md.mesh.numberofvertices,1); 57 50 md.initialization.sealevel=zeros(md.mesh.numberofvertices,1); 58 md.initialization.bottompressure=zeros(md.mesh.numberofvertices,1);59 md.initialization.dsl=zeros(md.mesh.numberofvertices,1);60 51 md.initialization.str=0; 61 52 … … 71 62 md.solidearth.settings.reltol=NaN; 72 63 md.solidearth.settings.abstol=1e-3; 73 md.solidearth.settings.computesealevelchange= 1;64 md.solidearth.settings.computesealevelchange=0; 74 65 md.solidearth.settings.isgrd=1; 75 66 md.solidearth.settings.ocean_area_scaling=0; 76 67 md.solidearth.settings.grdmodel=1; 68 md.solidearth.settings.horiz=1; 69 md.solidearth.requested_outputs={'Sealevel','Bed', 'BedEast', 'BedNorth'}; 70 77 71 78 72 %Physics: … … 81 75 md.transient.isthermal=0; 82 76 md.transient.ismasstransport=1; 83 md.transient.isoceantransport=1;84 77 md.transient.isslc=1; 85 86 78 87 79 md.timestepping.start_time=0; 88 80 md.timestepping.time_step=1; 89 81 md.timestepping.final_time=1; 90 91 82 92 83 %eustatic + rigid + elastic run: … … 98 89 md=solve(md,'Transient'); 99 90 SnoRotation=md.results.TransientSolution.Sealevel; 91 BUnoRotation=md.results.TransientSolution.Bed; 92 BEnoRotation=md.results.TransientSolution.BedEast; 93 BNnoRotation=md.results.TransientSolution.BedNorth; 100 94 101 95 %eustatic + rigid + elastic + rotation run: … … 107 101 md=solve(md,'Transient'); 108 102 SRotation=md.results.TransientSolution.Sealevel; 103 BURotation=md.results.TransientSolution.Bed; 104 BERotation=md.results.TransientSolution.BedEast; 105 BNRotation=md.results.TransientSolution.BedNorth; 109 106 110 107 %Fields and tolerances to track changes 111 108 field_names ={'noRotation','Rotation'}; 112 field_tolerances={1e-13,1e-13}; 113 field_values={SnoRotation,SRotation}; 109 field_tolerances={1e-13,1e-13,1e-13,1e-13}; 110 field_values={SRotation-SnoRotation,BURotation-BUnoRotation,BNRotation-BNnoRotation,BERotation-BEnoRotation}; 111
Note:
See TracChangeset
for help on using the changeset viewer.