Changeset 25124


Ignore:
Timestamp:
06/23/20 10:52:05 (5 years ago)
Author:
Eric.Larour
Message:

CHG: fixed bugs due to change from slr to solidearth class.

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

Legend:

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

    r25070 r25124  
    77%parameterize slr solution:
    88%slr loading:  {{{
    9 md.slr.deltathickness=zeros(md.mesh.numberofelements,1);
    10 md.slr.sealevel=zeros(md.mesh.numberofvertices,1);
     9md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
     10md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1);
    1111md.dsl.global_average_thermosteric_sea_level_change=[0;0];
    1212md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1);
     
    1616longe=sum(md.mesh.long(md.mesh.elements),2)/3;
    1717pos=find(late <-80);
    18 md.slr.deltathickness(pos)=-100;
     18md.solidearth.surfaceload.icethicknesschange(pos)=-100;
    1919%greenland
    2020pos=find(late > 70 &  late < 80 & longe>-60 & longe<-30);
    21 md.slr.deltathickness(pos)=-100;
     21md.solidearth.surfaceload.icethicknesschange(pos)=-100;
    2222
    2323%elastic loading from love numbers:
    2424nlov=101;
    25 md.slr.love_h = love_numbers('h','CM'); md.slr.love_h(nlov+1:end)=[];
    26 md.slr.love_k = love_numbers('k','CM'); md.slr.love_k(nlov+1:end)=[];
    27 md.slr.love_l = love_numbers('l','CM'); md.slr.love_l(nlov+1:end)=[];
     25md.solidearth.love=loadinglove();
     26md.solidearth.love.h = love_numbers('h','CM'); md.solidearth.love.h(nlov+1:end)=[];
     27md.solidearth.love.k = love_numbers('k','CM'); md.solidearth.love.k(nlov+1:end)=[];
     28md.solidearth.love.l = love_numbers('l','CM'); md.solidearth.love.l(nlov+1:end)=[];
    2829
    2930%}}}
     
    3738
    3839%make sure that the elements that have loads are fully grounded:
    39 pos=find(md.slr.deltathickness);
     40pos=find(md.solidearth.surfaceload.icethicknesschange);
    4041md.mask.ocean_levelset(md.mesh.elements(pos,:))=1;
    4142
    4243%make sure wherever there is an ice load, that the mask is set to ice:
    43 pos=find(md.slr.deltathickness);
     44pos=find(md.solidearth.surfaceload.icethicknesschange);
    4445md.mask.ice_levelset(md.mesh.elements(pos,:))=-1;
    4546% }}}
    4647
    47 md.slr.ocean_area_scaling=0;
     48md.solidearth.settings.ocean_area_scaling=0;
    4849
    4950%Geometry for the bed, arbitrary:
     
    5354md.materials=materials('hydro');
    5455
    55 %New stuff
    56 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);
    57 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);
    5856
    5957%Miscellaneous
     
    6159
    6260%Solution parameters
    63 md.slr.reltol=NaN;
    64 md.slr.abstol=1e-3;
    65 md.slr.geodetic=1;
     61md.solidearth.settings.reltol=NaN;
     62md.solidearth.settings.abstol=1e-3;
     63md.solidearth.settings.computesealevelchange=1;
    6664
    6765% max number of iteration reverted back to 10 (i.e., the original default value)
    68 md.slr.maxiter=10;
     66md.solidearth.settings.maxiter=10;
    6967
    7068%eustatic run:
    71 md.slr.rigid=0; md.slr.elastic=0;md.slr.rotation=0;
     69md.solidearth.settings.rigid=0; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0;
    7270md=solve(md,'Sealevelrise');
    7371Seustatic=md.results.SealevelriseSolution.Sealevel;
    7472
    7573%eustatic + rigid run:
    76 md.slr.rigid=1; md.slr.elastic=0;md.slr.rotation=0;
     74md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0;
    7775md=solve(md,'Sealevelrise');
    7876Srigid=md.results.SealevelriseSolution.Sealevel;
    7977
    8078%eustatic + rigid + elastic run:
    81 md.slr.rigid=1; md.slr.elastic=1;md.slr.rotation=0;
     79md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1;md.solidearth.settings.rotation=0;
    8280md=solve(md,'Sealevelrise');
    8381Selastic=md.results.SealevelriseSolution.Sealevel;
    8482
    8583%eustatic + rigid + elastic + rotation run:
    86 md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;
     84md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1;
    8785md=solve(md,'Sealevelrise');
    8886Srotation=md.results.SealevelriseSolution.Sealevel;
  • issm/trunk-jpl/test/NightlyRun/test2003.m

    r25071 r25124  
    33%mesh earth:
    44md=model;
     5
    56md.mesh=gmshplanet('radius',6.371012*10^3,'resolution',1000.); %500 km resolution mesh
    67
    78%parameterize slr solution:
    89%slr loading:  {{{
    9 md.slr.deltathickness=zeros(md.mesh.numberofelements,1);
    10 md.slr.sealevel=zeros(md.mesh.numberofvertices,1);
     10md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
     11md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1);
    1112md.dsl.global_average_thermosteric_sea_level_change=[0;0];
    1213md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1);
     
    1718longe=sum(md.mesh.long(md.mesh.elements),2)/3;
    1819pos=find(late <-75 & longe <0);
    19 md.slr.deltathickness(pos)=-1;
     20md.solidearth.surfaceload.icethicknesschange(pos)=-1;
    2021
    2122%elastic loading from love numbers:
    2223nlov=1001;
    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)=[];
     24md.solidearth.love.h = love_numbers('h'); md.solidearth.love.h(nlov+1:end)=[];
     25md.solidearth.love.k = love_numbers('k'); md.solidearth.love.k(nlov+1:end)=[];
     26md.solidearth.love.l = love_numbers('l'); md.solidearth.love.l(nlov+1:end)=[];
     27
    2628
    2729%}}}
     
    3537
    3638%make sure that the elements that have loads are fully grounded:
    37 pos=find(md.slr.deltathickness);
     39pos=find(md.solidearth.surfaceload.icethicknesschange);
    3840md.mask.ocean_levelset(md.mesh.elements(pos,:))=1;
    3941
    4042%make sure wherever there is an ice load, that the mask is set to ice:
    41 pos=find(md.slr.deltathickness);
     43pos=find(md.solidearth.surfaceload.icethicknesschange);
    4244md.mask.ice_levelset(md.mesh.elements(pos,:))=-1;
    4345% }}}
    4446
    4547% use model representation of ocea area (not the ture area)
    46 md.slr.ocean_area_scaling = 0;
     48md.solidearth.settings.ocean_area_scaling = 0;
    4749
    4850%geometry
     
    6163md.miscellaneous.name='test2003';
    6264
    63 %New stuff
    64 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);
    65 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);
    66 
    6765%Solution parameters
    68 md.slr.reltol=NaN;
    69 md.slr.abstol=1e-3;
    70 md.slr.geodetic=1;
     66md.solidearth.settings.reltol=NaN;
     67md.solidearth.settings.abstol=1e-3;
     68md.solidearth.settings.computesealevelchange=1;
    7169
    7270%eustatic + rigid + elastic run:
    73 md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=0;
     71md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=0;
    7472md.cluster=generic('name',oshostname(),'np',3);
    7573%md.verbose=verbose('111111111');
     
    7876
    7977%eustatic + rigid + elastic + rotation run:
    80 md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;
     78md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1;
    8179md.cluster=generic('name',oshostname(),'np',3);
    8280%md.verbose=verbose('111111111');
  • issm/trunk-jpl/test/NightlyRun/test2004.m

    r25077 r25124  
    144144        if bas.iscontinentany('antarctica'),
    145145                if testagainst2002,
    146                         md.slr.deltathickness=zeros(md.mesh.numberofelements,1);
     146                        md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
    147147                        %antarctica
    148148                        late=sum(md.mesh.lat(md.mesh.elements),2)/3;
     
    151151                        ratio=0.225314032985172/0.193045366574523;
    152152                        %ratio=   1.276564103522540/.869956;
    153                         md.slr.deltathickness(pos)=-100*ratio;
     153                        md.solidearth.surfaceload.icethicknesschange(pos)=-100*ratio;
    154154                else
    155155                        delH=textread('../Data/AIS_delH_trend.txt');
     
    159159                        northpole=find_point(md.mesh.long,md.mesh.lat,0,90); delHAIS(northpole)=0;
    160160                       
    161                         md.slr.deltathickness=delHAIS(md.mesh.elements)*[1;1;1]/3/100;
     161                        md.solidearth.surfaceload.icethicknesschange=delHAIS(md.mesh.elements)*[1;1;1]/3/100;
    162162                end
    163163
    164                 md.slr.sealevel=zeros(md.mesh.numberofvertices,1);
    165                 md.slr.spcthickness=NaN*ones(md.mesh.numberofvertices,1);
     164                md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1);
    166165
    167166                md.dsl.global_average_thermosteric_sea_level_change=[0;0];
    168167                md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1);
    169168                md.dsl.sea_water_pressure_change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);
    170                 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);
    171169
    172170        end %}}}
     
    243241        if testagainst2002,
    244242                % {{{
    245                 md.slr.deltathickness=zeros(md.mesh.numberofelements,1);
     243                md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
    246244                %greenland
    247245                late=sum(md.mesh.lat(md.mesh.elements),2)/3;
     
    249247                pos=find(late > 70 &  late < 80 & longe>-60 & longe<-30);
    250248                ratio=.3823/.262344;
    251                 %md.slr.deltathickness(pos)=-100*ratio;
     249                %md.solidearth.surfaceload.icethicknesschange(pos)=-100*ratio;
    252250
    253251                %correct mask:
     
    256254        else
    257255
    258                 md.slr.deltathickness=zeros(md.mesh.numberofelements,1);
     256                md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
    259257
    260258                delH=textread('../Data/GIS_delH_trend.txt');
     
    271269
    272270                pos=find(delHGISe);
    273                 md.slr.deltathickness(pos)=delHGISe(pos)/100;
     271                md.solidearth.surfaceload.icethicknesschange(pos)=delHGISe(pos)/100;
    274272                pos=find(delHGLAe);
    275                 md.slr.deltathickness(pos)=delHGLAe(pos)/100;
     273                md.solidearth.surfaceload.icethicknesschange(pos)=delHGLAe(pos)/100;
    276274
    277275                %adjust mask accordingly:
    278                 pos=find(md.slr.deltathickness);
     276                pos=find(md.solidearth.surfaceload.icethicknesschange);
    279277                flags=zeros(md.mesh.numberofvertices,1);
    280278                flags(md.mesh.elements(pos,:))=1;
     
    284282        end
    285283
    286         md.slr.sealevel=zeros(md.mesh.numberofvertices,1);
    287         md.slr.spcthickness=NaN*ones(md.mesh.numberofvertices,1);
     284        md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1);
    288285
    289286        md.dsl.global_average_thermosteric_sea_level_change=[0;0];
    290         %md.slr.steric_rate=(1.1+.38)*ones(md.mesh.numberofvertices,1); %steric + water storage.
     287        %md.dsl.steric_rate=(1.1+.38)*ones(md.mesh.numberofvertices,1); %steric + water storage.
    291288        md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1);
    292289        md.dsl.sea_water_pressure_change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);
    293         md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);
    294290
    295291        %}}}
     
    331327sl.transfer('mesh.lat');
    332328sl.transfer('mesh.long');
    333 sl.transfer('slr.deltathickness');
    334 sl.transfer('slr.spcthickness');
    335 sl.transfer('slr.hydro_rate');
    336 sl.transfer('slr.sealevel');
     329sl.transfer('solidearth.surfaceload.icethicknesschange');
     330sl.transfer('solidearth.sealevel');
    337331sl.transfer('dsl.sea_surface_height_change_above_geoid');
    338332sl.transfer('dsl.sea_water_pressure_change_at_sea_floor');
     
    361355%elastic loading from love numbers:
    362356nlov=101;
    363 md.slr.love_h = love_numbers('h','CM'); md.slr.love_h(nlov+1:end)=[];
    364 md.slr.love_k = love_numbers('k','CM'); md.slr.love_k(nlov+1:end)=[];
    365 md.slr.love_l = love_numbers('l','CM'); md.slr.love_l(nlov+1:end)=[];
    366 md.slr.ocean_area_scaling = 0;
     357md.solidearth.love.h = love_numbers('h','CM'); md.solidearth.love.h(nlov+1:end)=[];
     358md.solidearth.love.k = love_numbers('k','CM'); md.solidearth.love.k(nlov+1:end)=[];
     359md.solidearth.love.l = love_numbers('l','CM'); md.solidearth.love.l(nlov+1:end)=[];
     360md.solidearth.settings.ocean_area_scaling = 0;
    367361
    368362%Miscellaneous
     
    373367
    374368%Solution parameters
    375 md.slr.reltol=NaN;
    376 md.slr.abstol=1e-3;
    377 md.slr.geodetic=1;
     369md.solidearth.settings.reltol=NaN;
     370md.solidearth.settings.abstol=1e-3;
     371md.solidearth.settings.computesealevelchange=1;
    378372md.timestepping.time_step=1;
    379373
    380374% max number of iteration reverted back to 10 (i.e., the original default value)
    381 md.slr.maxiter=10;
     375md.solidearth.settings.maxiter=10;
    382376
    383377%eustatic run:
    384 md.slr.rigid=0; md.slr.elastic=0;md.slr.rotation=0;
    385 md.slr.requested_outputs= {'default',...
    386             'SealevelriseDeltathickness','Sealevel','SealevelRSLRate','SealevelriseCumDeltathickness',...
     378md.solidearth.settings.rigid=0; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0;
     379md.solidearth.requested_outputs= {'default',...
     380            'SurfaceloadIceThicknessChange','Sealevel','SealevelRSLRate','SealevelriseCumDeltathickness',...
    387381                    'SealevelNEsaRate', 'SealevelUEsaRate', 'NGiaRate', 'UGiaRate','SealevelEustaticMask','SealevelEustaticOceanMask'};
    388382md=solve(md,'Sealevelrise');
     
    390384
    391385%eustatic + rigid run:
    392 md.slr.rigid=1; md.slr.elastic=0;md.slr.rotation=0;
     386md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0;
    393387md=solve(md,'Sealevelrise');
    394388Srigid=md.results.SealevelriseSolution.Sealevel;
    395389
    396390%eustatic + rigid + elastic run:
    397 md.slr.rigid=1; md.slr.elastic=1;md.slr.rotation=0;
     391md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1;md.solidearth.settings.rotation=0;
    398392md=solve(md,'Sealevelrise');
    399393Selastic=md.results.SealevelriseSolution.Sealevel;
    400394
    401395%eustatic + rigid + elastic + rotation run:
    402 md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;
     396md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1;
    403397md=solve(md,'Sealevelrise');
    404398Srotation=md.results.SealevelriseSolution.Sealevel;
  • issm/trunk-jpl/test/NightlyRun/test2010.m

    r25071 r25124  
    1111longe=sum(md.mesh.long(md.mesh.elements),2)/3;
    1212
    13 md.slr.deltathickness=zeros(md.mesh.numberofelements,1);
     13md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
    1414pos=find(late <-75 & longe >0);
    15 md.slr.deltathickness(pos(6:7))=-1;
     15md.solidearth.surfaceload.icethicknesschange(pos(6:7))=-1;
    1616
    17 md.slr.sealevel=zeros(md.mesh.numberofvertices,1);
     17md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1);
    1818md.dsl.global_average_thermosteric_sea_level_change=[0;0];
    1919md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1);
    2020md.dsl.sea_water_pressure_change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);
    2121
    22 md.slr.ocean_area_scaling = 1;
     22md.solidearth.settings.ocean_area_scaling = 1;
    2323
    2424%elastic loading from love numbers:
    2525nlov=1001;
    26 md.slr.love_h = love_numbers('h'); md.slr.love_h(nlov+1:end)=[];
    27 md.slr.love_k = love_numbers('k'); md.slr.love_k(nlov+1:end)=[];
    28 md.slr.love_l = love_numbers('l'); md.slr.love_l(nlov+1:end)=[];
     26md.solidearth.love.h = love_numbers('h'); md.solidearth.love.h(nlov+1:end)=[];
     27md.solidearth.love.k = love_numbers('k'); md.solidearth.love.k(nlov+1:end)=[];
     28md.solidearth.love.l = love_numbers('l'); md.solidearth.love.l(nlov+1:end)=[];
    2929
    3030%}}}
     
    3838
    3939%make sure that the elements that have loads are fully grounded:
    40 pos=find(md.slr.deltathickness);
     40pos=find(md.solidearth.surfaceload.icethicknesschange);
    4141md.mask.ocean_levelset(md.mesh.elements(pos,:))=1;
    4242
    4343%make sure wherever there is an ice load, that the mask is set to ice:
    4444md.mask.ice_levelset=ones(md.mesh.numberofvertices,1);
    45 pos=find(md.slr.deltathickness);
     45pos=find(md.solidearth.surfaceload.icethicknesschange);
    4646md.mask.ice_levelset(md.mesh.elements(pos,:))=-1;
    4747% }}}
     
    6363% }}}
    6464%Solution parameters {{{
    65 md.slr.reltol=NaN;
    66 md.slr.abstol=1e-3;
    67 md.slr.geodetic=1;
     65md.solidearth.settings.reltol=NaN;
     66md.solidearth.settings.abstol=1e-3;
     67md.solidearth.settings.computesealevelchange=1;
    6868% }}}
    6969
    70 %New stuff
    71 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);
    72 md.slr.hydro_rate = zeros(md.mesh.numberofvertices,1);
    7370
    7471%eustatic + rigid + elastic run:
    75 md.slr.rigid=1; md.slr.elastic=1; md.slr.rotation=1;
     72md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1;
    7673md.cluster=generic('name',oshostname(),'np',3);
    7774
     
    8986%areas=GetAreasSphericalTria(md.mesh.elements,md.mesh.lat,md.mesh.long,rad_e);
    9087%lat=late*pi/180; lon=longe*pi/180;
    91 %moi_xz = sum(-md.materials.rho_freshwater.*md.slr.deltathickness.*areas.*rad_e^2.*sin(lat).*cos(lat).*cos(lon));
    92 %moi_yz = sum(-md.materials.rho_freshwater.*md.slr.deltathickness.*areas.*rad_e^2.*sin(lat).*cos(lat).*sin(lon));
     88%moi_xz = sum(-md.materials.rho_freshwater.*md.solidearth.surfaceload.icethicknesschange.*areas.*rad_e^2.*sin(lat).*cos(lat).*cos(lon));
     89%moi_yz = sum(-md.materials.rho_freshwater.*md.solidearth.surfaceload.icethicknesschange.*areas.*rad_e^2.*sin(lat).*cos(lat).*sin(lon));
    9390% }}}
    9491
  • issm/trunk-jpl/test/NightlyRun/test2111.m

    r25071 r25124  
    4747% }}}
    4848
    49 %New stuff
    50 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);
    51 
    5249%solve esa: {{{
    5350md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion','EsaXmotion','EsaYmotion'};
  • issm/trunk-jpl/test/NightlyRun/test2112.m

    r25071 r25124  
    4747% }}}
    4848
    49 %New stuff
    50 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);
    51 
    5249%solve esa: {{{
    5350md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion','EsaXmotion','EsaYmotion'};
  • issm/trunk-jpl/test/NightlyRun/test2113.m

    r25071 r25124  
    4848% }}}
    4949
    50 %New stuff
    51 md.slr.spcthickness = NaN(md.mesh.numberofvertices,1);
    52 
    5350%solve esa: {{{
    5451md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion'};
  • issm/trunk-jpl/test/NightlyRun/test2424.m

    r24862 r25124  
    2020
    2121md.timestepping.time_step=.1;
    22 md.slr.sealevel=newforcing(md.timestepping.start_time, md.timestepping.final_time, md.timestepping.time_step,-200,200,md.mesh.numberofvertices);
     22md.solidearth.sealevel=newforcing(md.timestepping.start_time, md.timestepping.final_time, md.timestepping.time_step,-200,200,md.mesh.numberofvertices);
    2323
    2424md.cluster=generic('name',oshostname(),'np',3);
  • issm/trunk-jpl/test/NightlyRun/test2425.m

    r21056 r25124  
    3131md.geometry.bed=md.geometry.bed+1000;
    3232md.geometry.surface=md.geometry.surface+1000;
    33 md.slr.sealevel=1000*ones(md.mesh.numberofvertices,1);
     33md.solidearth.sealevel=1000*ones(md.mesh.numberofvertices,1);
    3434
    3535md=solve(md,'Transient','checkconsistency','no');
Note: See TracChangeset for help on using the changeset viewer.