Changeset 26077


Ignore:
Timestamp:
03/11/21 15:32:23 (4 years ago)
Author:
caronlam
Message:

update of slc tests to new structure: loads are now in masstransport.spcthickness, solution is now Transient, added configuration in solidearth.settings, initialsealevel now in initialization.sealevel

Location:
issm/trunk-jpl/test/NightlyRun
Files:
3 edited

Legend:

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

    r26068 r26077  
    77%parameterize solidearth solution:
    88%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);
     9md.masstransport.spcthickness=zeros(md.mesh.numberofelements+1,1);
     10md.initialization.sealevel=zeros(md.mesh.numberofvertices,1);
     11md.dsl.global_average_thermosteric_sea_level=[0;0];
     12md.dsl.sea_surface_height_above_geoid=zeros(md.mesh.numberofvertices+1,1);
     13md.dsl.sea_water_pressure_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);
    1414%antarctica
    1515late=sum(md.mesh.lat(md.mesh.elements),2)/3;
    1616longe=sum(md.mesh.long(md.mesh.elements),2)/3;
    1717pos=find(late < -80);
    18 md.solidearth.surfaceload.icethicknesschange(pos)=-100;
     18md.masstransport.spcthickness(pos)=-100;
    1919%greenland
    2020pos=find(late>70 & late<80 & longe>-60 & longe<-30);
    21 md.solidearth.surfaceload.icethicknesschange(pos)=-100;
     21md.masstransport.spcthickness(pos)=-100;
    2222
    2323%elastic loading from love numbers:
     
    3636
    3737%make sure that the elements that have loads are fully grounded:
    38 pos=find(md.solidearth.surfaceload.icethicknesschange);
     38pos=find(md.masstransport.spcthickness);
    3939md.mask.ocean_levelset(md.mesh.elements(pos,:))=1;
    4040
    4141%make sure wherever there is an ice load, that the mask is set to ice:
    42 pos=find(md.solidearth.surfaceload.icethicknesschange);
     42pos=find(md.masstransport.spcthickness);
    4343md.mask.ice_levelset(md.mesh.elements(pos,:))=-1;
    4444% }}}
    4545
    46 md.solidearth.settings.ocean_area_scaling=0;
    47 
    4846%Geometry for the bed, arbitrary:
    4947md.geometry.bed=-ones(md.mesh.numberofvertices,1);
     48md.geometry.thickness=zeros(md.mesh.numberofvertices,1);
     49md.geometry.surface=zeros(md.mesh.numberofvertices,1);
     50md.geometry.base=zeros(md.mesh.numberofvertices,1);
     51
     52
     53md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1);
     54md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
     55md.initialization.vx=zeros(md.mesh.numberofvertices,1);
     56md.initialization.vy=zeros(md.mesh.numberofvertices,1);
    5057
    5158%Materials:
     
    6067md.solidearth.settings.abstol=1e-3;
    6168md.solidearth.settings.computesealevelchange=1;
     69md.solidearth.settings.isgrd=1;
     70md.solidearth.settings.ocean_area_scaling=0;
     71md.solidearth.settings.grdmodel=1;
     72
     73%Physics:
     74md.transient.issmb=0;
     75md.transient.isstressbalance=0;
     76md.transient.isthermal=0;
     77md.transient.ismasstransport=1;
     78md.transient.isslc=1;
     79
    6280
    6381% max number of iteration reverted back to 10 (i.e., the original default value)
     
    6886md.solidearth.settings.elastic=0;
    6987md.solidearth.settings.rotation=0;
    70 md=solve(md,'Sealevelchange');
    71 Seustatic=md.results.SealevelchangeSolution.Sealevel;
     88md=solve(md,'Transient');
     89Seustatic=md.results.TransientSolution.Sealevel;
    7290
    7391%eustatic + rigid run:
     
    7593md.solidearth.settings.elastic=0;
    7694md.solidearth.settings.rotation=0;
    77 md=solve(md,'Sealevelchange');
    78 Srigid=md.results.SealevelchangeSolution.Sealevel;
     95md=solve(md,'tr');
     96Srigid=md.results.TransientSolution.Sealevel;
    7997
    8098%eustatic + rigid + elastic run:
     
    82100md.solidearth.settings.elastic=1;
    83101md.solidearth.settings.rotation=0;
    84 md=solve(md,'Sealevelchange');
    85 Selastic=md.results.SealevelchangeSolution.Sealevel;
     102md=solve(md,'tr');
     103Selastic=md.results.TransientSolution.Sealevel;
    86104
    87105%eustatic + rigid + elastic + rotation run:
     
    89107md.solidearth.settings.elastic=1;
    90108md.solidearth.settings.rotation=1;
    91 md=solve(md,'Sealevelchange');
    92 Srotation=md.results.SealevelchangeSolution.Sealevel;
     109md=solve(md,'tr');
     110Srotation=md.results.TransientSolution.Sealevel;
    93111
    94112%Fields and tolerances to track changes
  • issm/trunk-jpl/test/NightlyRun/test2003.m

    r25956 r26077  
    77%parameterize slc solution:
    88%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);
     9md.masstransport.spcthickness=zeros(md.mesh.numberofelements,1);
     10md.initialization.sealevel=zeros(md.mesh.numberofvertices,1);
     11md.dsl.global_average_thermosteric_sea_level=[0;0];
     12md.dsl.sea_surface_height_above_geoid=zeros(md.mesh.numberofvertices+1,1);
     13md.dsl.sea_water_pressure_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);
    1414
    1515%antarctica
     
    1717longe=sum(md.mesh.long(md.mesh.elements),2)/3;
    1818pos=find(late <-75 & longe <0);
    19 md.solidearth.surfaceload.icethicknesschange(pos)=-1;
     19md.masstransport.spcthickness(pos)=-1;
    2020
    2121%elastic loading from love numbers:
     
    3434
    3535%make sure that the elements that have loads are fully grounded:
    36 pos=find(md.solidearth.surfaceload.icethicknesschange);
     36pos=find(md.masstransport.spcthickness);
    3737md.mask.ocean_levelset(md.mesh.elements(pos,:))=1;
    3838
    3939%make sure wherever there is an ice load, that the mask is set to ice:
    40 pos=find(md.solidearth.surfaceload.icethicknesschange);
     40pos=find(md.masstransport.spcthickness);
    4141md.mask.ice_levelset(md.mesh.elements(pos,:))=-1;
    4242% }}}
     
    5757md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
    5858
     59md.basalforcings.groundedice_melting_rate=zeros(md.mesh.numberofvertices,1);
     60md.basalforcings.floatingice_melting_rate=zeros(md.mesh.numberofvertices,1);
     61md.initialization.vx=zeros(md.mesh.numberofvertices,1);
     62md.initialization.vy=zeros(md.mesh.numberofvertices,1);
     63
    5964%Miscellaneous
    6065md.miscellaneous.name='test2003';
     
    6469md.solidearth.settings.abstol=1e-3;
    6570md.solidearth.settings.computesealevelchange=1;
     71md.solidearth.settings.isgrd=1;
     72md.solidearth.settings.ocean_area_scaling=0;
     73md.solidearth.settings.grdmodel=1;
     74
     75%Physics:
     76md.transient.issmb=0;
     77md.transient.isstressbalance=0;
     78md.transient.isthermal=0;
     79md.transient.ismasstransport=1;
     80md.transient.isslc=1;
     81
    6682
    6783%eustatic + rigid + elastic run:
     
    7187md.cluster=generic('name',oshostname(),'np',3);
    7288%md.verbose=verbose('111111111');
    73 md=solve(md,'Sealevelchange');
    74 SnoRotation=md.results.SealevelchangeSolution.Sealevel;
     89md=solve(md,'Transient');
     90SnoRotation=md.results.TransientSolution.Sealevel;
    7591
    7692%eustatic + rigid + elastic + rotation run:
     
    8096md.cluster=generic('name',oshostname(),'np',3);
    8197%md.verbose=verbose('111111111');
    82 md=solve(md,'Sealevelchange');
    83 SRotation=md.results.SealevelchangeSolution.Sealevel;
     98md=solve(md,'Transient');
     99SRotation=md.results.TransientSolution.Sealevel;
    84100
    85101%Fields and tolerances to track changes
  • issm/trunk-jpl/test/NightlyRun/test2004.m

    r25956 r26077  
    138138        if bas.iscontinentany('antarctica'),
    139139                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);
    142142                        %antarctica
    143143                        late=sum(md.mesh.lat(md.mesh.elements),2)/3;
     
    146146                        ratio=0.225314032985172/0.193045366574523;
    147147                        %ratio=   1.276564103522540/.869956;
    148                         md.solidearth.surfaceload.icethicknesschange(pos)=-100*ratio;
     148                        md.masstransport.spcthickness(pos)=-100*ratio;
    149149                else
    150150                        in_fileID=fopen('../Data/AIS_delH_trend.txt', 'r');
     
    164164                        northpole=find_point(md.mesh.long,md.mesh.lat,0,90);
    165165                        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;
    167167                end
    168168
     
    245245        %}}}
    246246        %slc loading/calibration:  {{{
    247         md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
     247        md.masstransport.spcthickness=zeros(md.mesh.numberofelements,1);
    248248
    249249        if testagainst2002,
     
    254254                pos=find(late > 70 &  late < 80 & longe>-60 & longe<-30);
    255255                ratio=.3823/.262344;
    256                 %md.solidearth.surfaceload.icethicknesschange(pos)=-100*ratio;
     256                %md.masstransport.spcthickness(pos)=-100*ratio;
    257257
    258258                %correct mask:
     
    289289
    290290                pos=find(delHGISe);
    291                 md.solidearth.surfaceload.icethicknesschange(pos)=delHGISe(pos)/100;
     291                md.masstransport.spcthickness(pos)=delHGISe(pos)/100;
    292292                pos=find(delHGLAe);
    293                 md.solidearth.surfaceload.icethicknesschange(pos)=delHGLAe(pos)/100;
     293                md.masstransport.spcthickness(pos)=delHGLAe(pos)/100;
    294294
    295295                %adjust mask accordingly:
    296                 pos=find(md.solidearth.surfaceload.icethicknesschange);
     296                pos=find(md.masstransport.spcthickness);
    297297                flags=zeros(md.mesh.numberofvertices,1);
    298298                flags(md.mesh.elements(pos,:))=1;
     
    302302        end
    303303
    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];
    307307        %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);
    310310
    311311        %}}}
     
    348348sl.transfer('mesh.lat');
    349349sl.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');
     350sl.transfer('masstransport.spcthickness');
     351sl.transfer('initialization.sealevel');
     352sl.transfer('dsl.sea_surface_height_above_geoid');
     353sl.transfer('dsl.sea_water_pressure_at_sea_floor');
    354354
    355355%radius:
     
    382382
    383383%New stuff
    384 md.dsl.global_average_thermosteric_sea_level_change=[1.1+.38;0]; %steric + water storage AR5.
     384md.dsl.global_average_thermosteric_sea_level=[1.1+.38;0]; %steric + water storage AR5.
    385385
    386386%Solution parameters
     
    388388md.solidearth.settings.abstol=1e-3;
    389389md.solidearth.settings.computesealevelchange=1;
     390md.solidearth.settings.isgrd=1;
     391md.solidearth.settings.ocean_area_scaling=0;
     392md.solidearth.settings.grdmodel=1;
    390393md.timestepping.time_step=1;
     394
     395%Physics:
     396md.transient.issmb=0;
     397md.transient.isstressbalance=0;
     398md.transient.isthermal=0;
     399md.transient.ismasstransport=1;
     400md.transient.isslc=1;
     401
    391402
    392403%max number of iterations reverted back to 10 (i.e. the original default value)
     
    400411        'SurfaceloadIceThicknessChange','Sealevel','SealevelRSLRate','SealevelchangeCumDeltathickness',...
    401412        'SealevelNEsaRate', 'SealevelUEsaRate','SealevelStaticBarystaticMask','SealevelBarystaticOceanMask'};
    402 md=solve(md,'Sealevelchange');
    403 Seustatic=md.results.SealevelchangeSolution.Sealevel;
     413md=solve(md,'Transient');
     414Seustatic=md.results.TransientSolution.Sealevel;
    404415
    405416%eustatic + rigid run:
     
    407418md.solidearth.settings.elastic=0;
    408419md.solidearth.settings.rotation=0;
    409 md=solve(md,'Sealevelchange');
    410 Srigid=md.results.SealevelchangeSolution.Sealevel;
     420md=solve(md,'Transient');
     421Srigid=md.results.TransientSolution.Sealevel;
    411422
    412423%eustatic + rigid + elastic run:
     
    414425md.solidearth.settings.elastic=1;
    415426md.solidearth.settings.rotation=0;
    416 md=solve(md,'Sealevelchange');
    417 Selastic=md.results.SealevelchangeSolution.Sealevel;
     427md=solve(md,'Transient');
     428Selastic=md.results.TransientSolution.Sealevel;
    418429
    419430%eustatic + rigid + elastic + rotation run:
     
    421432md.solidearth.settings.elastic=1;
    422433md.solidearth.settings.rotation=1;
    423 md=solve(md,'Sealevelchange');
    424 Srotation=md.results.SealevelchangeSolution.Sealevel;
     434md=solve(md,'Transient');
     435Srotation=md.results.TransientSolution.Sealevel;
    425436%}}}
    426437
Note: See TracChangeset for help on using the changeset viewer.