Changeset 26274
- Timestamp:
- 05/17/21 14:08:16 (4 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/SealevelchangeAnalysis.cpp
r26272 r26274 42 42 /*external solidearthsolution: solid-Earth model*/ 43 43 iomodel->FetchData(&isexternal,"md.solidearth.isexternal"); 44 44 45 if(isexternal){ 45 46 iomodel->FetchDataToInput(inputs,elements,"md.solidearth.external.displacementeast",SolidearthExternalDisplacementEastRateEnum); … … 47 48 iomodel->FetchDataToInput(inputs,elements,"md.solidearth.external.displacementup",SolidearthExternalDisplacementUpRateEnum); 48 49 iomodel->FetchDataToInput(inputs,elements,"md.solidearth.external.geoid",SolidearthExternalGeoidRateEnum); 49 iomodel->FetchDataToInput(inputs,elements,"md.solidearth.external.barystaticsealevel",SolidearthExternalBarystaticSeaLevelRateEnum); 50 50 51 51 52 /*Resolve Mmes using the modelid, if necessary:*/ … … 61 62 MmeToInputFromIdx(inputs,elements,modelid,SolidearthExternalDisplacementUpRateEnum, P1Enum); 62 63 MmeToInputFromIdx(inputs,elements,modelid,SolidearthExternalGeoidRateEnum, P1Enum); 63 MmeToInputFromIdx(inputs,elements,modelid,SolidearthExternalBarystaticSeaLevelRateEnum, P1Enum);64 64 } 65 65 } … … 159 159 parameters->AddObject(iomodel->CopyConstantObject("md.solidearth.planetradius",SolidearthPlanetRadiusEnum)); 160 160 parameters->AddObject(iomodel->CopyConstantObject("md.solidearth.settings.cross_section_shape",SolidearthSettingsCrossSectionShapeEnum)); 161 161 162 parameters->AddObject(new DoubleParam(CumBslcEnum,0.0)); 162 163 parameters->AddObject(new DoubleParam(CumBslcIceEnum,0.0)); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r26272 r26274 385 385 SolidearthSettingsRigidEnum, 386 386 SolidearthSettingsRotationEnum, 387 SolidearthSettingsMaxSHCoeffEnum, 387 388 SealevelchangeRunCountEnum, 388 389 SealevelchangeTransitionsEnum, … … 952 953 SolidearthExternalDisplacementUpRateEnum, 953 954 SolidearthExternalGeoidRateEnum, 954 SolidearthExternalBarystaticSeaLevelRateEnum,955 955 StackRSLEnum, 956 956 StackUEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r26272 r26274 957 957 case SolidearthExternalDisplacementUpRateEnum : return "SolidearthExternalDisplacementUpRate"; 958 958 case SolidearthExternalGeoidRateEnum : return "SolidearthExternalGeoidRate"; 959 case SolidearthExternalBarystaticSeaLevelRateEnum : return "SolidearthExternalBarystaticSeaLevelRate";960 959 case StackRSLEnum : return "StackRSL"; 961 960 case StackUEnum : return "StackU"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r26272 r26274 978 978 else if (strcmp(name,"SolidearthExternalDisplacementUpRate")==0) return SolidearthExternalDisplacementUpRateEnum; 979 979 else if (strcmp(name,"SolidearthExternalGeoidRate")==0) return SolidearthExternalGeoidRateEnum; 980 else if (strcmp(name,"SolidearthExternalBarystaticSeaLevelRate")==0) return SolidearthExternalBarystaticSeaLevelRateEnum;981 980 else if (strcmp(name,"StackRSL")==0) return StackRSLEnum; 982 981 else if (strcmp(name,"StackU")==0) return StackUEnum; -
issm/trunk-jpl/src/m/classes/mmeadditionalsolidearthsolution.m
r26231 r26274 32 32 sup=length(self.displacementup); 33 33 sgeoid=length(self.geoid); 34 sbarystaticsealevel=length(self.barystaticsealevel);35 34 36 35 if (seast-snorth)~=0, … … 45 44 error('mmeadditionalsolidearthsolution checkconsistency error message: displacementeast and geoid should be the same size'); 46 45 end 47 48 if (seast-sbarystaticsealevel)~=0,49 error('mmeadditionalsolidearthsolution checkconsistency error message: displacementeast and barystaticsealevel should be the same size');50 end51 46 52 47 md = checkfield(md,'field',self.modelid,'NaN',1,'Inf',1,'>=',1,'<=',length(self.displacementeast)); … … 57 52 md = checkfield(md,'field',self.displacementnorth{i},'NaN',1,'Inf',1,'timeseries',1); 58 53 md = checkfield(md,'field',self.geoid{i},'NaN',1,'Inf',1,'timeseries',1); 59 md = checkfield(md,'field',self.barystaticsealevel{i},'NaN',1,'Inf',1,'timeseries',1);60 54 end 61 55 … … 80 74 displacementup=self.displacementup{i}; 81 75 geoid=self.geoid{i}; 82 barystaticsealevel=self.barystaticsealevel{i};83 76 84 77 time=displacementeast(end,:); … … 89 82 displacementup_rate=diff(displacementup(1:end-1,:),1,2)./dt; 90 83 geoid_rate=diff(geoid(1:end-1,:),1,2)./dt; 91 barystaticsealevel_rate=diff(barystaticsealevel(1:end-1,:),1,2)./dt;92 84 93 85 self.displacementeast{i}=displacementeast_rate; … … 95 87 self.displacementup{i}=displacementup_rate; 96 88 self.geoid{i}=geoid_rate; 97 self.barystaticsealevel{i}=barystaticsealevel_rate;98 89 end 99 90 … … 102 93 WriteData(fid,prefix,'object',self,'fieldname','displacementnorth','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1/yts); 103 94 WriteData(fid,prefix,'object',self,'fieldname','geoid','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1/yts); 104 WriteData(fid,prefix,'object',self,'fieldname','barystaticsealevel','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1/yts);105 95 106 96 end % }}} -
issm/trunk-jpl/src/m/classes/mmeofflinesolidearthsolution.m
r26231 r26274 32 32 sup=length(self.displacementup); 33 33 sgeoid=length(self.geoid); 34 sbarystaticsealevel=length(self.barystaticsealevel);35 34 36 35 if (seast-snorth)~=0, … … 45 44 error('mmeofflinesolidearthsolution checkconsistency error message: displacementeast and geoid should be the same size'); 46 45 end 47 48 if (seast-sbarystaticsealevel)~=0,49 error('mmeofflinesolidearthsolution checkconsistency error message: displacementeast and barystaticsealevel should be the same size');50 end51 46 52 47 md = checkfield(md,'field',self.modelid,'NaN',1,'Inf',1,'>=',1,'<=',length(self.displacementeast)); … … 57 52 md = checkfield(md,'field',self.displacementnorth{i},'NaN',1,'Inf',1,'timeseries',1); 58 53 md = checkfield(md,'field',self.geoid{i},'NaN',1,'Inf',1,'timeseries',1); 59 md = checkfield(md,'field',self.barystaticsealevel{i},'NaN',1,'Inf',1,'timeseries',1);60 54 end 61 55 … … 79 73 displacementup=self.displacementup{i}; 80 74 geoid=self.geoid{i}; 81 barystaticsealevel=self.barystaticsealevel{i};82 75 83 76 time=displacementeast(end,:); … … 94 87 self.displacementup{i}=displacementup_rate; 95 88 self.geoid{i}=geoid_rate; 96 self.barystaticsealevel{i}=barystaticsealevel_rate;97 89 end 98 90 … … 101 93 WriteData(fid,prefix,'object',self,'fieldname','displacementnorth','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1/yts); 102 94 WriteData(fid,prefix,'object',self,'fieldname','geoid','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1/yts); 103 WriteData(fid,prefix,'object',self,'fieldname','barystaticsealevel','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1/yts);104 95 105 96 end % }}} -
issm/trunk-jpl/src/m/classes/solidearthsolution.m
r26229 r26274 10 10 displacementup=[]; 11 11 geoid=[]; 12 barystaticsealevel=[];13 12 end 14 13 methods … … 27 26 self.displacementup=[]; 28 27 self.geoid=[]; 29 self.barystaticsealevel=[];30 28 31 29 end % }}} … … 36 34 md = checkfield(md,'fieldname','solidearth.external.displacementup','Inf',1,'timeseries',1); 37 35 md = checkfield(md,'fieldname','solidearth.external.geoid','Inf',1,'timeseries',1); 38 md = checkfield(md,'fieldname','solidearth.external.barystaticsealevel','Inf',1,'timeseries',1);39 36 40 37 end % }}} … … 45 42 fielddisplay(self,'displacementup','solid-Earth bedrock uplift time series (m)'); 46 43 fielddisplay(self,'geoid','solid-Earth geoid time series (m)'); 47 fielddisplay(self,'barystaticsealevel','barystatic absolute sea-level time series (m)');48 44 49 45 end % }}} … … 58 54 displacementup_rate=[self.displacementup;0]; 59 55 geoid_rate=[self.geoid;0]; 60 barystaticsealevel_rate=[self.barystaticsealevel;0];61 56 else 62 57 time=self.displacementeast(end,:); … … 70 65 geoid_rate=diff(self.geoid(1:end-1,:),1,2)./dt; 71 66 geoid_rate(end+1,:)=time(1:end-1); 72 barystaticsealevel_rate=diff(self.barystaticsealevel(1:end-1,:),1,2)./dt;73 barystaticsealevel_rate(end+1,:)=time(1:end-1);74 67 end 75 68 WriteData(fid,prefix,'object',self,'fieldname','displacementeast','data',displacementeast_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementeast','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); … … 77 70 WriteData(fid,prefix,'object',self,'fieldname','displacementnorth','data',displacementnorth_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementnorth','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); 78 71 WriteData(fid,prefix,'object',self,'fieldname','geoid','data',geoid_rate,'format','DoubleMat','name', 'md.solidearth.external.geoid','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); 79 WriteData(fid,prefix,'object',self,'fieldname','barystaticsealevel','data',barystaticsealevel_rate,'format','DoubleMat','name', 'md.solidearth.external.barystaticsealevel','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);80 72 81 73 end % }}} … … 85 77 writejs1Darray(fid,[modelname '.solidearth.external.displacementup'],self.displacementup); 86 78 writejs1Darray(fid,[modelname '.solidearth.external.geoid'],self.geoid); 87 writejs1Darray(fid,[modelname '.solidearth.external.barystaticsealevel'],self.barystaticsealevel);88 79 end % }}} 89 80 function self = extrude(self,md) % {{{ -
issm/trunk-jpl/test/NightlyRun/test2007.m
r26248 r26274 24 24 md.solidearth.external.displacementnorth=longe .*time; 25 25 md.solidearth.external.displacementnorth(end+1,:)=time; 26 md.solidearth.external.barystaticsealevel=0*late .*time;27 md.solidearth.external.barystaticsealevel(end+1,:)=time;28 26 md.initialization.sealevel=zeros(md.mesh.numberofvertices,1); 29 27
Note:
See TracChangeset
for help on using the changeset viewer.