Changeset 24259
- Timestamp:
- 10/18/19 10:53:54 (5 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp
r23585 r24259 53 53 iomodel->FetchDataToInput(elements,"md.slr.Ugia",SealevelUGiaRateEnum); 54 54 iomodel->FetchDataToInput(elements,"md.slr.steric_rate",SealevelriseStericRateEnum); 55 iomodel->FetchDataToInput(elements,"md.slr.hydro_rate",SealevelriseHydroRateEnum); 55 56 56 57 /*Initialize cumdeltalthickness and sealevel rise rate input*/ -
issm/trunk-jpl/src/c/cores/sealevelrise_core.cpp
r23587 r24259 225 225 Vector<IssmDouble> *SL = NULL; 226 226 Vector<IssmDouble> *steric_rate_g = NULL; 227 Vector<IssmDouble> *hydro_rate_g = NULL; 227 228 Vector<IssmDouble> *U_esa_rate= NULL; 228 229 Vector<IssmDouble> *N_esa_rate= NULL; … … 255 256 GetVectorFromInputsx(&SL,femmodel,SealevelEnum,VertexSIdEnum); 256 257 GetVectorFromInputsx(&steric_rate_g,femmodel,SealevelriseStericRateEnum,VertexSIdEnum); 258 GetVectorFromInputsx(&hydro_rate_g,femmodel,SealevelriseHydroRateEnum,VertexSIdEnum); 257 259 if(geodetic){ 258 260 GetVectorFromInputsx(&U_esa_rate,femmodel,SealevelUEsaRateEnum,VertexSIdEnum); … … 262 264 } 263 265 264 /*compute: sea level change = initial sea level + (N_gia_rate+N_esa_rate) * dt + steric_rate * dt*/266 /*compute: sea level change = initial sea level + (N_gia_rate+N_esa_rate) * dt + steric_rate + hydro_rate* dt*/ 265 267 if(geodetic){ 266 268 SL->AXPY(N_gia_rate,dt); … … 268 270 } 269 271 SL->AXPY(steric_rate_g,dt); 272 SL->AXPY(hydro_rate_g,dt); 270 273 271 274 /*compute new bedrock position: */ … … 283 286 delete SL; 284 287 delete steric_rate_g; 288 delete hydro_rate_g; 285 289 if(geodetic){ 286 290 delete U_esa_rate; -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r24241 r24259 663 663 syn keyword cConstant SealevelriseSpcthicknessEnum 664 664 syn keyword cConstant SealevelriseStericRateEnum 665 syn keyword cConstant SealevelriseHydroRateEnum 665 666 syn keyword cConstant SedimentHeadEnum 666 667 syn keyword cConstant SedimentHeadOldEnum … … 1303 1304 syn keyword cType Cfsurfacesquare 1304 1305 syn keyword cType Channel 1305 syn keyword cType classes1306 1306 syn keyword cType Constraint 1307 1307 syn keyword cType Constraints … … 1310 1310 syn keyword cType ControlInput 1311 1311 syn keyword cType Covertree 1312 syn keyword cType DataSetParam 1312 1313 syn keyword cType DatasetInput 1313 syn keyword cType DataSetParam1314 1314 syn keyword cType Definition 1315 1315 syn keyword cType DependentObject … … 1324 1324 syn keyword cType ElementHook 1325 1325 syn keyword cType ElementMatrix 1326 syn keyword cType ElementVector 1326 1327 syn keyword cType Elements 1327 syn keyword cType ElementVector1328 1328 syn keyword cType ExponentialVariogram 1329 1329 syn keyword cType ExternalResult … … 1332 1332 syn keyword cType Friction 1333 1333 syn keyword cType Gauss 1334 syn keyword cType GaussianVariogram1335 syn keyword cType gaussobjects1336 1334 syn keyword cType GaussPenta 1337 1335 syn keyword cType GaussSeg 1338 1336 syn keyword cType GaussTetra 1339 1337 syn keyword cType GaussTria 1338 syn keyword cType GaussianVariogram 1340 1339 syn keyword cType GenericExternalResult 1341 1340 syn keyword cType GenericOption … … 1352 1351 syn keyword cType IssmDirectApplicInterface 1353 1352 syn keyword cType IssmParallelDirectApplicInterface 1354 syn keyword cType krigingobjects1355 1353 syn keyword cType Load 1356 1354 syn keyword cType Loads … … 1363 1361 syn keyword cType Matice 1364 1362 syn keyword cType Matlitho 1365 syn keyword cType matrixobjects1366 1363 syn keyword cType MatrixParam 1367 1364 syn keyword cType Misfit … … 1376 1373 syn keyword cType Observations 1377 1374 syn keyword cType Option 1375 syn keyword cType OptionUtilities 1378 1376 syn keyword cType Options 1379 syn keyword cType OptionUtilities1380 1377 syn keyword cType Param 1381 1378 syn keyword cType Parameters … … 1391 1388 syn keyword cType Regionaloutput 1392 1389 syn keyword cType Results 1390 syn keyword cType RiftStruct 1393 1391 syn keyword cType Riftfront 1394 syn keyword cType RiftStruct1395 1392 syn keyword cType Seg 1396 1393 syn keyword cType SegInput 1394 syn keyword cType SegRef 1397 1395 syn keyword cType Segment 1398 syn keyword cType SegRef1399 1396 syn keyword cType SpcDynamic 1400 1397 syn keyword cType SpcStatic … … 1403 1400 syn keyword cType StringArrayParam 1404 1401 syn keyword cType StringParam 1405 syn keyword cType temp1406 1402 syn keyword cType Tetra 1407 1403 syn keyword cType TetraInput … … 1417 1413 syn keyword cType Vertex 1418 1414 syn keyword cType Vertices 1415 syn keyword cType classes 1416 syn keyword cType gaussobjects 1417 syn keyword cType krigingobjects 1418 syn keyword cType matrixobjects 1419 1419 syn keyword cType AdjointBalancethickness2Analysis 1420 1420 syn keyword cType AdjointBalancethicknessAnalysis … … 1435 1435 syn keyword cType FreeSurfaceBaseAnalysis 1436 1436 syn keyword cType FreeSurfaceTopAnalysis 1437 syn keyword cType GLheightadvectionAnalysis 1437 1438 syn keyword cType GiaIvinsAnalysis 1438 syn keyword cType GLheightadvectionAnalysis1439 1439 syn keyword cType HydrologyDCEfficientAnalysis 1440 1440 syn keyword cType HydrologyDCInefficientAnalysis -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r24240 r24259 659 659 SealevelriseSpcthicknessEnum, 660 660 SealevelriseStericRateEnum, 661 SealevelriseHydroRateEnum, 661 662 SedimentHeadEnum, 662 663 SedimentHeadOldEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r24240 r24259 665 665 case SealevelriseSpcthicknessEnum : return "SealevelriseSpcthickness"; 666 666 case SealevelriseStericRateEnum : return "SealevelriseStericRate"; 667 case SealevelriseHydroRateEnum : return "SealevelriseHydroRate"; 667 668 case SedimentHeadEnum : return "SedimentHead"; 668 669 case SedimentHeadOldEnum : return "SedimentHeadOld"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r24240 r24259 680 680 else if (strcmp(name,"SealevelriseSpcthickness")==0) return SealevelriseSpcthicknessEnum; 681 681 else if (strcmp(name,"SealevelriseStericRate")==0) return SealevelriseStericRateEnum; 682 else if (strcmp(name,"SealevelriseHydroRate")==0) return SealevelriseHydroRateEnum; 682 683 else if (strcmp(name,"SedimentHead")==0) return SedimentHeadEnum; 683 684 else if (strcmp(name,"SedimentHeadOld")==0) return SedimentHeadOldEnum; … … 751 752 else if (strcmp(name,"SmbRefreeze")==0) return SmbRefreezeEnum; 752 753 else if (strcmp(name,"SmbReini")==0) return SmbReiniEnum; 753 else if (strcmp(name,"SmbRunoff")==0) return SmbRunoffEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"SmbRunoffSubstep")==0) return SmbRunoffSubstepEnum; 757 if (strcmp(name,"SmbRunoff")==0) return SmbRunoffEnum; 758 else if (strcmp(name,"SmbRunoffSubstep")==0) return SmbRunoffSubstepEnum; 758 759 else if (strcmp(name,"SmbRunoffTransient")==0) return SmbRunoffTransientEnum; 759 760 else if (strcmp(name,"SmbS0gcm")==0) return SmbS0gcmEnum; … … 874 875 else if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum; 875 876 else if (strcmp(name,"Outputdefinition37")==0) return Outputdefinition37Enum; 876 else if (strcmp(name,"Outputdefinition38")==0) return Outputdefinition38Enum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"Outputdefinition39")==0) return Outputdefinition39Enum; 880 if (strcmp(name,"Outputdefinition38")==0) return Outputdefinition38Enum; 881 else if (strcmp(name,"Outputdefinition39")==0) return Outputdefinition39Enum; 881 882 else if (strcmp(name,"Outputdefinition3")==0) return Outputdefinition3Enum; 882 883 else if (strcmp(name,"Outputdefinition40")==0) return Outputdefinition40Enum; … … 997 998 else if (strcmp(name,"ControlInputGrad")==0) return ControlInputGradEnum; 998 999 else if (strcmp(name,"ControlInputMaxs")==0) return ControlInputMaxsEnum; 999 else if (strcmp(name,"ControlInputMins")==0) return ControlInputMinsEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"ControlInputValues")==0) return ControlInputValuesEnum; 1003 if (strcmp(name,"ControlInputMins")==0) return ControlInputMinsEnum; 1004 else if (strcmp(name,"ControlInputValues")==0) return ControlInputValuesEnum; 1004 1005 else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum; 1005 1006 else if (strcmp(name,"Cuffey")==0) return CuffeyEnum; … … 1120 1121 else if (strcmp(name,"LoveAnalysis")==0) return LoveAnalysisEnum; 1121 1122 else if (strcmp(name,"LoveHi")==0) return LoveHiEnum; 1122 else if (strcmp(name,"LoveHr")==0) return LoveHrEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"LoveKernelsImag")==0) return LoveKernelsImagEnum; 1126 if (strcmp(name,"LoveHr")==0) return LoveHrEnum; 1127 else if (strcmp(name,"LoveKernelsImag")==0) return LoveKernelsImagEnum; 1127 1128 else if (strcmp(name,"LoveKernelsReal")==0) return LoveKernelsRealEnum; 1128 1129 else if (strcmp(name,"LoveKi")==0) return LoveKiEnum; … … 1243 1244 else if (strcmp(name,"SegInput")==0) return SegInputEnum; 1244 1245 else if (strcmp(name,"Segment")==0) return SegmentEnum; 1245 else if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum;1246 1246 else stage=11; 1247 1247 } 1248 1248 if(stage==11){ 1249 if (strcmp(name,"Separate")==0) return SeparateEnum; 1249 if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum; 1250 else if (strcmp(name,"Separate")==0) return SeparateEnum; 1250 1251 else if (strcmp(name,"Seq")==0) return SeqEnum; 1251 1252 else if (strcmp(name,"SmbAnalysis")==0) return SmbAnalysisEnum; -
issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp
r24177 r24259 173 173 fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1)); 174 174 } 175 else if(strcmp(string_in,"SealevelriseStericRate")==0){ 176 const char* field = "md.slr.steric_rate"; 177 input_enum = SealevelriseStericRateEnum; 178 fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1)); 179 } 180 else if(strcmp(string_in,"SealevelriseHydroRate")==0){ 181 const char* field = "md.slr.hydro_rate"; 182 input_enum = SealevelriseHydroRateEnum; 183 fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1)); 184 } 175 185 else if(strcmp(string_in,"SealevelUGiaRate")==0){ 176 186 const char* field = "md.slr.Ugia"; -
issm/trunk-jpl/src/m/classes/slr.m
r22970 r24259 26 26 ocean_area_scaling = 0; 27 27 steric_rate = 0; %rate of ocean expansion from steric effects. 28 hydro_rate = 0; %rate of steric expansion from hydrological effects. 28 29 geodetic_run_frequency = 1; %how many time steps we skip before we run the geodetic part of the solver during transient 29 30 geodetic = 0; %compute geodetic SLR? (in addition to steric?) … … 81 82 %steric: 82 83 self.steric_rate=0; 84 self.hydro_rate=0; 83 85 84 86 %how many time steps we skip before we run SLR solver during transient … … 115 117 md = checkfield(md,'fieldname','slr.geodetic_run_frequency','size',[1 1],'>=',1); 116 118 md = checkfield(md,'fieldname','slr.steric_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]); 119 md = checkfield(md,'fieldname','slr.hydro_rate','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]); 117 120 md = checkfield(md,'fieldname','slr.degacc','size',[1 1],'>=',1e-10); 118 121 md = checkfield(md,'fieldname','slr.requested_outputs','stringrow',1); … … 174 177 fielddisplay(self,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]'); 175 178 fielddisplay(self,'steric_rate','rate of steric ocean expansion (in mm/yr)'); 179 fielddisplay(self,'hydro_rate','rate of hydrological expansion (in mm/yr)'); 176 180 fielddisplay(self,'Ngia','rate of viscous (GIA) geoid expansion (in mm/yr)'); 177 181 fielddisplay(self,'Ugia','rate of viscous (GIA) bedrock uplift (in mm/yr)'); … … 210 214 WriteData(fid,prefix,'object',self,'fieldname','ocean_area_scaling','format','Boolean'); 211 215 WriteData(fid,prefix,'object',self,'fieldname','geodetic_run_frequency','format','Integer'); 212 WriteData(fid,prefix,'object',self,'fieldname','steric_rate','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts); 216 WriteData(fid,prefix,'object',self,'fieldname','steric_rate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1e-3/md.constants.yts); 217 WriteData(fid,prefix,'object',self,'fieldname','hydro_rate','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts,'scale',1e-3/md.constants.yts); 213 218 WriteData(fid,prefix,'object',self,'fieldname','Ngia','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts); 214 219 WriteData(fid,prefix,'object',self,'fieldname','Ugia','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts); … … 252 257 writejsdouble(fid,[modelname '.slr.geodetic_run_frequency'],self.geodetic_run_frequency); 253 258 writejs1Darray(fid,[modelname '.slr.steric_rate'],self.steric_rate); 259 writejs1Darray(fid,[modelname '.slr.hydro_rate'],self.hydro_rate); 254 260 writejsdouble(fid,[modelname '.slr.degacc'],self.degacc); 255 261 writejscellstring(fid,[modelname '.slr.requested_outputs'],self.requested_outputs);
Note:
See TracChangeset
for help on using the changeset viewer.