Changeset 21324
- Timestamp:
- 10/29/16 16:54:30 (8 years ago)
- Location:
- issm/branches/trunk-larour-NatGeoScience2016/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/branches/trunk-larour-NatGeoScience2016/src/c/analyses/SealevelriseAnalysis.cpp
r21312 r21324 72 72 parameters->AddObject(iomodel->CopyConstantObject("md.slr.rigid",SealevelriseRigidEnum)); 73 73 parameters->AddObject(iomodel->CopyConstantObject("md.slr.elastic",SealevelriseElasticEnum)); 74 parameters->AddObject(iomodel->CopyConstantObject("md.slr.ocean_area_scaling",SealevelriseOceanAreaScalingEnum)); 74 75 75 76 iomodel->FetchData(&elastic,"md.slr.elastic"); -
issm/branches/trunk-larour-NatGeoScience2016/src/c/classes/Elements/Tria.cpp
r21301 r21324 3636 3636 bool computerigid = true; 3637 3637 bool computeelastic= true; 3638 bool scaleoceanarea= false; 3638 3639 3639 3640 /*early return if we are not on an ice cap:*/ … … 3651 3652 this->parameters->FindParam(&computerigid,SealevelriseRigidEnum); 3652 3653 this->parameters->FindParam(&computeelastic,SealevelriseElasticEnum); 3654 this->parameters->FindParam(&scaleoceanarea,SealevelriseOceanAreaScalingEnum); 3653 3655 3654 3656 /*recover elastic green function:*/ … … 3714 3716 /*Compute eustatic compoent:*/ 3715 3717 _assert_(oceanarea>0.); 3718 if(scaleoceanarea) oceanarea=3.619e+14; // use true ocean area, m^2 3716 3719 eustatic += rho_ice*area*I/(oceanarea*rho_water); 3717 3720 -
issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumDefinitions.h
r21312 r21324 773 773 SealevelriseRigidEnum, 774 774 SealevelriseElasticEnum, 775 SealevelriseOceanAreaScalingEnum, 775 776 SealevelriseGElasticEnum, 776 777 SealevelriseUElasticEnum, -
issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/EnumToStringx.cpp
r21312 r21324 754 754 case SealevelriseRigidEnum : return "SealevelriseRigid"; 755 755 case SealevelriseElasticEnum : return "SealevelriseElastic"; 756 case SealevelriseOceanAreaScalingEnum : return "SealevelriseOceanAreaScaling"; 756 757 case SealevelriseGElasticEnum : return "SealevelriseGElastic"; 757 758 case SealevelriseUElasticEnum : return "SealevelriseUElastic"; -
issm/branches/trunk-larour-NatGeoScience2016/src/c/shared/Enum/StringToEnumx.cpp
r21312 r21324 772 772 else if (strcmp(name,"SealevelriseRigid")==0) return SealevelriseRigidEnum; 773 773 else if (strcmp(name,"SealevelriseElastic")==0) return SealevelriseElasticEnum; 774 else if (strcmp(name,"SealevelriseOceanAreaScaling")==0) return SealevelriseOceanAreaScalingEnum; 774 775 else if (strcmp(name,"SealevelriseGElastic")==0) return SealevelriseGElasticEnum; 775 776 else if (strcmp(name,"SealevelriseUElastic")==0) return SealevelriseUElasticEnum; … … 874 875 else if (strcmp(name,"MasstransportAnalysis")==0) return MasstransportAnalysisEnum; 875 876 else if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum; 876 else if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum; 880 if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum; 881 else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum; 881 882 else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum; 882 883 else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum; -
issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/slr.m
r21049 r21324 8 8 deltathickness = NaN; 9 9 sealevel = NaN; 10 spcthickness = NaN; 10 11 maxiter = 0; 11 12 reltol = 0; … … 19 20 elastic = 0; 20 21 rotation = 0; 22 ocean_area_scaling = 0; 21 23 degacc = 0; 22 24 requested_outputs = {}; … … 45 47 self.elastic=1; 46 48 self.rotation=1; 49 self.ocean_area_scaling=0; 47 50 48 51 %tidal love numbers: … … 65 68 md = checkfield(md,'fieldname','slr.deltathickness','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]); 66 69 md = checkfield(md,'fieldname','slr.sealevel','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]); 70 md = checkfield(md,'fieldname','slr.spcthickness','Inf',1,'timeseries',1); 67 71 md = checkfield(md,'fieldname','slr.love_h','NaN',1,'Inf',1); 68 72 md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1); … … 98 102 fielddisplay(self,'deltathickness','thickness change (main loading of the slr solution core [m]'); 99 103 fielddisplay(self,'sealevel','current sea level (prior to computation) [m]'); 104 fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]'); 100 105 fielddisplay(self,'reltol','sea level rise relative convergence criterion, (default, NaN: not applied)'); 101 106 fielddisplay(self,'abstol','sea level rise absolute convergence criterion, NaN: not applied'); … … 107 112 fielddisplay(self,'tide_love_h','tidal load Love number (deg 2)'); 108 113 fielddisplay(self,'rotation','earth rotational potential perturbation'); 114 fielddisplay(self,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]'); 109 115 fielddisplay(self,'rigid','rigid earth graviational potential perturbation'); 110 116 fielddisplay(self,'elastic','elastic earth graviational potential perturbation'); … … 117 123 WriteData(fid,prefix,'object',self,'fieldname','deltathickness','format','DoubleMat','mattype',2); 118 124 WriteData(fid,prefix,'object',self,'fieldname','sealevel','mattype',1,'format','DoubleMat','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); 125 WriteData(fid,prefix,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); 119 126 WriteData(fid,prefix,'object',self,'fieldname','reltol','format','Double'); 120 127 WriteData(fid,prefix,'object',self,'fieldname','abstol','format','Double'); … … 128 135 WriteData(fid,prefix,'object',self,'fieldname','elastic','format','Boolean'); 129 136 WriteData(fid,prefix,'object',self,'fieldname','rotation','format','Boolean'); 137 WriteData(fid,prefix,'object',self,'fieldname','ocean_area_scaling','format','Boolean'); 130 138 WriteData(fid,prefix,'object',self,'fieldname','degacc','format','Double'); 131 139 WriteData(fid,prefix,'object',self,'fieldname','transitions','format','MatArray'); … … 145 153 writejs1Darray(fid,[modelname '.slr.deltathickness'],self.deltathickness); 146 154 writejs1Darray(fid,[modelname '.slr.sealevel'],self.sealevel); 155 writejs1Darray(fid,[modelname '.slr.spcthickness'],self.spcthickness); 147 156 writejsdouble(fid,[modelname '.slr.maxiter'],self.maxiter); 148 157 writejsdouble(fid,[modelname '.slr.reltol'],self.reltol); … … 155 164 writejsdouble(fid,[modelname '.slr.rigid'],self.rigid); 156 165 writejsdouble(fid,[modelname '.slr.rotation'],self.rotation); 166 writejsdouble(fid,[modelname '.slr.ocean_area_scaling'],self.ocean_area_scaling); 157 167 writejsdouble(fid,[modelname '.slr.elastic'],self.elastic); 158 168 writejsdouble(fid,[modelname '.slr.degacc'],self.degacc);
Note:
See TracChangeset
for help on using the changeset viewer.