Changeset 26248


Ignore:
Timestamp:
05/06/21 17:14:14 (4 years ago)
Author:
caronlam
Message:

NEW: test 2007 for class offlinesolidearth solution. CHG: updated tests 2002, 2003 for the new sealevelchange core.

Location:
issm/trunk-jpl/test/NightlyRun
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/test/NightlyRun/test2002.m

    r26222 r26248  
    66
    77%Geometry for the bed, arbitrary thickness of 1000:
    8 md.geometry.bed=-ones(md.mesh.numberofvertices,1);
     8md.geometry.bed=zeros(md.mesh.numberofvertices,1);
    99md.geometry.base=md.geometry.bed;
    10 md.geometry.thickness=1000*ones(md.mesh.numberofvertices,1);
     10md.geometry.thickness=100*ones(md.mesh.numberofvertices,1);
    1111md.geometry.surface=md.geometry.bed+md.geometry.thickness;
    1212
    13 
    14 %parameterize solidearth solution:
    1513%solidearth loading:  {{{
    1614md.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);
    2015md.smb.mass_balance=zeros(md.mesh.numberofvertices,1);
    2116%antarctica
     
    3631
    3732%elastic loading from love numbers:
    38 md.solidearth.lovenumbers=lovenumbers('maxdeg',100);
     33md.solidearth.lovenumbers=lovenumbers('maxdeg',1000);
    3934
    4035%}}}
     
    5752md.timestepping.final_time=1;
    5853
     54%masstransport:
    5955md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1);
    6056md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
     
    6258md.initialization.vy=zeros(md.mesh.numberofvertices,1);
    6359md.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);
    6660md.initialization.str=0;
    6761
     
    8781md.transient.ismasstransport=1;
    8882md.transient.isslc=1;
    89 md.solidearth.requested_outputs={'Sealevel'};
    90 
     83md.solidearth.requested_outputs={'Sealevel','Bed'};
    9184
    9285% max number of iteration reverted back to 10 (i.e., the original default value)
     
    10093md=solve(md,'Transient');
    10194Seustatic=md.results.TransientSolution.Sealevel;
     95Beustatic=md.results.TransientSolution.Bed;
    10296
    10397%eustatic + rigid run:
     
    107101md=solve(md,'tr');
    108102Srigid=md.results.TransientSolution.Sealevel;
     103Brigid=md.results.TransientSolution.Bed;
    109104
    110105%eustatic + rigid + elastic run:
     
    112107md.solidearth.settings.elastic=1;
    113108md.solidearth.settings.rotation=0;
    114 md.solidearth.requested_outputs={'Sealevel'};
    115109md=solve(md,'tr');
    116110Selastic=md.results.TransientSolution.Sealevel;
     111Belastic=md.results.TransientSolution.Bed;
    117112
    118113%eustatic + rigid + elastic + rotation run:
     
    122117md=solve(md,'tr');
    123118Srotation=md.results.TransientSolution.Sealevel;
     119Brotation=md.results.TransientSolution.Bed;
    124120
    125121%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};
     122field_names={'Seustatic','Srigid','Selastic','Srotation','Beustatic','Brigid','Belastic','Brotation'};
     123field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
     124field_values={Seustatic,Srigid,Selastic,Srotation,Beustatic,Brigid,Belastic,Brotation};
  • issm/trunk-jpl/test/NightlyRun/test2003.m

    r26100 r26248  
    1515%solidearth loading:  {{{
    1616md.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);
    2117md.smb.mass_balance=zeros(md.mesh.numberofvertices,1);
    2218
    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
     20xe=md.mesh.x(md.mesh.elements)*[1;1;1]/3;
     21ye=md.mesh.y(md.mesh.elements)*[1;1;1]/3;
     22ze=md.mesh.z(md.mesh.elements)*[1;1;1]/3;
     23re=sqrt(xe.^2+ye.^2+ze.^2);
     24
     25late=asind(ze./re);
     26longe=atan2d(ye,xe);
     27%greenland
     28pos=find(late>60 & late<90 & longe>-75 & longe<-15);
     29md.masstransport.spcthickness(md.mesh.elements(pos,:))= md.masstransport.spcthickness(md.mesh.elements(pos,:))-1000;
     30posice=pos;
    2831
    2932%elastic loading from love numbers:
    30 md.solidearth.lovenumbers=lovenumbers('maxdeg',1000);
     33md.solidearth.lovenumbers=lovenumbers('maxdeg',100);
    3134
    3235%}}}
     
    3437mask=gmtmask(md.mesh.lat,md.mesh.long);
    3538icemask=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;
     39icemask(md.mesh.elements(posice,:))=-1;
    4040md.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 % }}}
     41oceanmask=-ones(md.mesh.numberofvertices,1);
     42pos=find(mask==0); oceanmask(pos)=1;
     43md.mask.ocean_levelset=oceanmask;
    5144
    5245% use model representation of ocen area (not the true area)
     
    5649md.initialization.temperature=273.25*ones(md.mesh.numberofvertices,1);
    5750md.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);
    6051md.initialization.str=0;
    6152
     
    7162md.solidearth.settings.reltol=NaN;
    7263md.solidearth.settings.abstol=1e-3;
    73 md.solidearth.settings.computesealevelchange=1;
     64md.solidearth.settings.computesealevelchange=0;
    7465md.solidearth.settings.isgrd=1;
    7566md.solidearth.settings.ocean_area_scaling=0;
    7667md.solidearth.settings.grdmodel=1;
     68md.solidearth.settings.horiz=1;
     69md.solidearth.requested_outputs={'Sealevel','Bed', 'BedEast', 'BedNorth'};
     70
    7771
    7872%Physics:
     
    8175md.transient.isthermal=0;
    8276md.transient.ismasstransport=1;
    83 md.transient.isoceantransport=1;
    8477md.transient.isslc=1;
    85 
    8678 
    8779md.timestepping.start_time=0;
    8880md.timestepping.time_step=1;
    8981md.timestepping.final_time=1;
    90 
    9182
    9283%eustatic + rigid + elastic run:
     
    9889md=solve(md,'Transient');
    9990SnoRotation=md.results.TransientSolution.Sealevel;
     91BUnoRotation=md.results.TransientSolution.Bed;
     92BEnoRotation=md.results.TransientSolution.BedEast;
     93BNnoRotation=md.results.TransientSolution.BedNorth;
    10094
    10195%eustatic + rigid + elastic + rotation run:
     
    107101md=solve(md,'Transient');
    108102SRotation=md.results.TransientSolution.Sealevel;
     103BURotation=md.results.TransientSolution.Bed;
     104BERotation=md.results.TransientSolution.BedEast;
     105BNRotation=md.results.TransientSolution.BedNorth;
    109106
    110107%Fields and tolerances to track changes
    111108field_names     ={'noRotation','Rotation'};
    112 field_tolerances={1e-13,1e-13};
    113 field_values={SnoRotation,SRotation};
     109field_tolerances={1e-13,1e-13,1e-13,1e-13};
     110field_values={SRotation-SnoRotation,BURotation-BUnoRotation,BNRotation-BNnoRotation,BERotation-BEnoRotation};
     111
Note: See TracChangeset for help on using the changeset viewer.