Changeset 25724
- Timestamp:
- 10/29/20 14:32:42 (4 years ago)
- Location:
- issm/branches/trunk-larour-SLPS2020/src
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/branches/trunk-larour-SLPS2020/src/c/analyses/SealevelriseAnalysis.cpp
r25566 r25724 202 202 parameters->AddObject(iomodel->CopyConstantObject("md.solidearth.settings.computesealevelchange",SolidearthSettingsComputesealevelchangeEnum)); 203 203 parameters->AddObject(iomodel->CopyConstantObject("md.solidearth.planetradius",SolidearthPlanetRadiusEnum)); 204 parameters->AddObject(iomodel->CopyConstantObject("md.solidearth.settings.glfraction",SolidearthSettingsGlfractionEnum)); 204 205 parameters->AddObject(new DoubleParam(CumBslrEnum,0.0)); 205 206 parameters->AddObject(new DoubleParam(CumBslrIceEnum,0.0)); -
issm/branches/trunk-larour-SLPS2020/src/c/classes/Elements/Tria.cpp
r25566 r25724 5665 5665 bool scaleoceanarea= false; 5666 5666 bool computeelastic= true; 5667 int glfraction=1; 5667 5668 5668 5669 /*output: */ … … 5711 5712 this->parameters->FindParam(&computeelastic,SolidearthSettingsElasticEnum); 5712 5713 this->parameters->FindParam(&scaleoceanarea,SolidearthSettingsOceanAreaScalingEnum); 5714 this->parameters->FindParam(&glfraction,SolidearthSettingsGlfractionEnum); 5713 5715 5714 5716 /*retrieve precomputed G:*/ … … 5724 5726 5725 5727 phi=this->GetGroundedPortion(&xyz_list[0][0]); //watch out, this only works because of the Thales theorem! We are in 3D, but this routine is inherently for 2D trias 5728 #ifdef _ISSM_DEBUG_ 5729 this->AddInput2(SealevelEustaticMaskEnum,&phi,P0Enum); 5730 #endif 5731 if(glfraction==0)phi=1; 5726 5732 } 5727 5733 else phi=1.0; … … 5760 5766 /*Compute barystatic contribution:*/ 5761 5767 _assert_(oceanarea>0.); 5768 5762 5769 if(scaleoceanarea) oceanarea=3.619e+14; // use true ocean area, m^2 5763 5770 bslrice = rho_ice*area*phi*I/(oceanarea*rho_water); -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/Enum.vim
r25596 r25724 342 342 syn keyword cConstant SealevelriseGElasticEnum 343 343 syn keyword cConstant SolidearthSettingsComputesealevelchangeEnum 344 syn keyword cConstant SolidearthSettingsGlfractionEnum 344 345 syn keyword cConstant SolidearthSettingsRunFrequencyEnum 345 346 syn keyword cConstant SealevelriseHElasticEnum … … 1465 1466 syn keyword cType PowerVariogram 1466 1467 syn keyword cType Profiler 1467 syn keyword cType QmuStatisticsMethod1468 1468 syn keyword cType Quadtree 1469 1469 syn keyword cType Radar -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/EnumDefinitions.h
r25596 r25724 336 336 SealevelriseGElasticEnum, 337 337 SolidearthSettingsComputesealevelchangeEnum, 338 SolidearthSettingsGlfractionEnum, 338 339 SolidearthSettingsRunFrequencyEnum, 339 340 SealevelriseHElasticEnum, -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/EnumToStringx.cpp
r25596 r25724 344 344 case SealevelriseGElasticEnum : return "SealevelriseGElastic"; 345 345 case SolidearthSettingsComputesealevelchangeEnum : return "SolidearthSettingsComputesealevelchange"; 346 case SolidearthSettingsGlfractionEnum : return "SolidearthSettingsGlfraction"; 346 347 case SolidearthSettingsRunFrequencyEnum : return "SolidearthSettingsRunFrequency"; 347 348 case SealevelriseHElasticEnum : return "SealevelriseHElastic"; -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/StringToEnumx.cpp
r25596 r25724 350 350 else if (strcmp(name,"SealevelriseGElastic")==0) return SealevelriseGElasticEnum; 351 351 else if (strcmp(name,"SolidearthSettingsComputesealevelchange")==0) return SolidearthSettingsComputesealevelchangeEnum; 352 else if (strcmp(name,"SolidearthSettingsGlfraction")==0) return SolidearthSettingsGlfractionEnum; 352 353 else if (strcmp(name,"SolidearthSettingsRunFrequency")==0) return SolidearthSettingsRunFrequencyEnum; 353 354 else if (strcmp(name,"SealevelriseHElastic")==0) return SealevelriseHElasticEnum; … … 382 383 else if (strcmp(name,"SmbDpermil")==0) return SmbDpermilEnum; 383 384 else if (strcmp(name,"SmbDsnowIdx")==0) return SmbDsnowIdxEnum; 384 else if (strcmp(name,"SmbCldFrac")==0) return SmbCldFracEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"SmbDelta18o")==0) return SmbDelta18oEnum; 388 if (strcmp(name,"SmbCldFrac")==0) return SmbCldFracEnum; 389 else if (strcmp(name,"SmbDelta18o")==0) return SmbDelta18oEnum; 389 390 else if (strcmp(name,"SmbDelta18oSurface")==0) return SmbDelta18oSurfaceEnum; 390 391 else if (strcmp(name,"SmbDenIdx")==0) return SmbDenIdxEnum; … … 505 506 else if (strcmp(name,"BalancethicknessOmega0")==0) return BalancethicknessOmega0Enum; 506 507 else if (strcmp(name,"BalancethicknessOmega")==0) return BalancethicknessOmegaEnum; 507 else if (strcmp(name,"BalancethicknessThickeningRate")==0) return BalancethicknessThickeningRateEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"BasalCrevasse")==0) return BasalCrevasseEnum; 511 if (strcmp(name,"BalancethicknessThickeningRate")==0) return BalancethicknessThickeningRateEnum; 512 else if (strcmp(name,"BasalCrevasse")==0) return BasalCrevasseEnum; 512 513 else if (strcmp(name,"BasalforcingsFloatingiceMeltingRate")==0) return BasalforcingsFloatingiceMeltingRateEnum; 513 514 else if (strcmp(name,"BasalforcingsGeothermalflux")==0) return BasalforcingsGeothermalfluxEnum; … … 628 629 else if (strcmp(name,"NGiaRate")==0) return NGiaRateEnum; 629 630 else if (strcmp(name,"UGia")==0) return UGiaEnum; 630 else if (strcmp(name,"UGiaRate")==0) return UGiaRateEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"Gradient")==0) return GradientEnum; 634 if (strcmp(name,"UGiaRate")==0) return UGiaRateEnum; 635 else if (strcmp(name,"Gradient")==0) return GradientEnum; 635 636 else if (strcmp(name,"GroundinglineHeight")==0) return GroundinglineHeightEnum; 636 637 else if (strcmp(name,"HydraulicPotential")==0) return HydraulicPotentialEnum; … … 751 752 else if (strcmp(name,"SmbAccumulation")==0) return SmbAccumulationEnum; 752 753 else if (strcmp(name,"SmbAini")==0) return SmbAiniEnum; 753 else if (strcmp(name,"SmbBMax")==0) return SmbBMaxEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"SmbBMin")==0) return SmbBMinEnum; 757 if (strcmp(name,"SmbBMax")==0) return SmbBMaxEnum; 758 else if (strcmp(name,"SmbBMin")==0) return SmbBMinEnum; 758 759 else if (strcmp(name,"SmbBNeg")==0) return SmbBNegEnum; 759 760 else if (strcmp(name,"SmbBPos")==0) return SmbBPosEnum; … … 874 875 else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum; 875 876 else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum; 876 else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"Temperature")==0) return TemperatureEnum; 880 if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum; 881 else if (strcmp(name,"Temperature")==0) return TemperatureEnum; 881 882 else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum; 882 883 else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum; … … 997 998 else if (strcmp(name,"Outputdefinition86")==0) return Outputdefinition86Enum; 998 999 else if (strcmp(name,"Outputdefinition87")==0) return Outputdefinition87Enum; 999 else if (strcmp(name,"Outputdefinition88")==0) return Outputdefinition88Enum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition89")==0) return Outputdefinition89Enum; 1003 if (strcmp(name,"Outputdefinition88")==0) return Outputdefinition88Enum; 1004 else if (strcmp(name,"Outputdefinition89")==0) return Outputdefinition89Enum; 1004 1005 else if (strcmp(name,"Outputdefinition8")==0) return Outputdefinition8Enum; 1005 1006 else if (strcmp(name,"Outputdefinition90")==0) return Outputdefinition90Enum; … … 1120 1121 else if (strcmp(name,"Free")==0) return FreeEnum; 1121 1122 else if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum; 1122 else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"FrontalForcingsDefault")==0) return FrontalForcingsDefaultEnum; 1126 if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum; 1127 else if (strcmp(name,"FrontalForcingsDefault")==0) return FrontalForcingsDefaultEnum; 1127 1128 else if (strcmp(name,"FrontalForcingsRignot")==0) return FrontalForcingsRignotEnum; 1128 1129 else if (strcmp(name,"Fset")==0) return FsetEnum; … … 1243 1244 else if (strcmp(name,"MismipFloatingMeltRate")==0) return MismipFloatingMeltRateEnum; 1244 1245 else if (strcmp(name,"Moulin")==0) return MoulinEnum; 1245 else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum;1246 1246 else stage=11; 1247 1247 } 1248 1248 if(stage==11){ 1249 if (strcmp(name,"Mpi")==0) return MpiEnum; 1249 if (strcmp(name,"MpiDense")==0) return MpiDenseEnum; 1250 else if (strcmp(name,"Mpi")==0) return MpiEnum; 1250 1251 else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum; 1251 1252 else if (strcmp(name,"Mumps")==0) return MumpsEnum; … … 1366 1367 else if (strcmp(name,"TotalGroundedBmb")==0) return TotalGroundedBmbEnum; 1367 1368 else if (strcmp(name,"TotalGroundedBmbScaled")==0) return TotalGroundedBmbScaledEnum; 1368 else if (strcmp(name,"TotalSmb")==0) return TotalSmbEnum;1369 1369 else stage=12; 1370 1370 } 1371 1371 if(stage==12){ 1372 if (strcmp(name,"TotalSmbScaled")==0) return TotalSmbScaledEnum; 1372 if (strcmp(name,"TotalSmb")==0) return TotalSmbEnum; 1373 else if (strcmp(name,"TotalSmbScaled")==0) return TotalSmbScaledEnum; 1373 1374 else if (strcmp(name,"TransientArrayParam")==0) return TransientArrayParamEnum; 1374 1375 else if (strcmp(name,"TransientInput")==0) return TransientInputEnum; -
issm/branches/trunk-larour-SLPS2020/src/m/classes/organizer.m
r25120 r25724 156 156 error(['Could not find ' path ]); 157 157 end%}}} 158 function loaddatanoprefix(org,string),% {{{ 159 160 %Get model path 161 if ~ischar(string), error('argument provided is not a string'); end 162 path=[org.repository '/' string]; 163 164 %figure out if the data is there, otherwise, we have to use the default path supplied by user. 165 if exist(path,'file'), 166 path=path; 167 elseif exist([path '.mat'],'file'), 168 path=[path '.mat']; 169 else 170 error(['Could not find ' path ]); 171 end 172 if exist(path,'file') 173 evalin('caller',['load -mat ' path]); 174 return; 175 end 176 177 %If we are here, the data has not been found. 178 error(['Could not find ' path ]); 179 end%}}} 158 180 function bool=perform(org,varargin) % {{{ 159 181 … … 254 276 eval(['save(''' name '''' variables ',''-v7.3'');']); 255 277 end%}}} 278 function savedatanoprefix(org,varargin) % {{{ 279 280 %check 281 if (org.currentstep==0), error('Cannot save data because organizer (org) is empty! Make sure you did not skip any perform call'); end 282 if (org.currentstep>length(org.steps)), error('Cannot save data because organizer (org) is not up to date!'); end 283 284 name=[org.repository '/' org.steps(org.currentstep).string ]; 285 disp(['saving data in: ' name]); 286 287 %Skip if requested 288 if org.skipio, 289 disp(['WARNING: Skipping saving ' name]); 290 return; 291 end 292 293 %check that md is a model 294 if (org.currentstep>length(org.steps)), error(['organizer error message: element with id ' num2str(org.currentstep) ' not found']); end 295 296 %list of variable names: 297 variables=''; 298 for i=2:nargin, 299 variables=[variables ',' '''' inputname(i) '''']; 300 eval([inputname(i) '= varargin{' num2str(i-1) '};']); 301 end 302 eval(['save(''' name '''' variables ',''-v7.3'');']); 303 end%}}} 256 304 end 257 305 end -
issm/branches/trunk-larour-SLPS2020/src/m/classes/solidearthsettings.m
r25151 r25724 17 17 degacc = 0; %degree increment for resolution of Green tables 18 18 horiz = 0; %compute horizontal deformation 19 glfraction = 1; %barystatic contribution full or fractional (default fractional) 19 20 end 20 21 methods … … 48 49 %how many time steps we skip before we run solidearthsettings solver during transient 49 50 self.runfrequency=1; 51 52 %fractional contribution: 53 self.glfraction=1; 50 54 51 55 %horizontal displacement? (not by default) … … 63 67 md = checkfield(md,'fieldname','solidearth.settings.degacc','size',[1 1],'>=',1e-10); 64 68 md = checkfield(md,'fieldname','solidearth.settings.horiz','NaN',1,'Inf',1,'values',[0 1]); 69 md = checkfield(md,'fieldname','solidearth.settings.glfraction','values',[0 1]); 65 70 66 71 %a coupler to a planet model is provided. … … 91 96 fielddisplay(self,'rotation','earth rotational potential perturbation'); 92 97 fielddisplay(self,'degacc','accuracy (default .01 deg) for numerical discretization of the Green''s functions'); 98 fielddisplay(self,'glfraction','contribute fractionally (default, 1) to barystatic sea level'); 93 99 end % }}} 94 100 function marshall(self,prefix,md,fid) % {{{ … … 104 110 WriteData(fid,prefix,'object',self,'fieldname','horiz','name','md.solidearth.settings.horiz','format','Integer'); 105 111 WriteData(fid,prefix,'object',self,'fieldname','computesealevelchange','name','md.solidearth.settings.computesealevelchange','format','Integer'); 112 WriteData(fid,prefix,'object',self,'fieldname','glfraction','name','md.solidearth.settings.glfraction','format','Integer'); 106 113 end % }}} 107 114 function savemodeljs(self,fid,modelname) % {{{ … … 116 123 writejsdouble(fid,[modelname '.slr.settings.run_frequency'],self.run_frequency); 117 124 writejsdouble(fid,[modelname '.slr.settings.degacc'],self.degacc); 125 writejsdouble(fid,[modelname '.slr.settings.glfraction'],self.glfraction); 118 126 end % }}} 119 127 function self = extrude(self,md) % {{{ -
issm/branches/trunk-larour-SLPS2020/src/m/contrib/larour/glacier_inventory.m
r25588 r25724 183 183 %Go through O2 regions: 184 184 for i=subsetregions, 185 %for i=33, 185 186 string=self.boxes(i).RGI_CODE; 186 187 disp(['progressing with region ' num2str(i) ' ' string]); … … 208 209 case 19, radius=60; 209 210 case 32, radius=60; 210 case 33, radius= 5;211 case 33, radius=10; 211 212 case 41, radius=75; 212 213 case 42, radius=45; -
issm/branches/trunk-larour-SLPS2020/src/m/contrib/larour/ismip6.m
r25272 r25724 13 13 directories = {}; %directories where the files are 14 14 experiments = {}; %names of experiments 15 base = {}; %placeholder for base 16 surface = {}; %placeholder for surface 15 17 thickness = {}; %placeholder for thicknesses 16 18 deltathickness = {}; %placeholder for delta thicknesses 19 deltathicknessvaf = {}; %placeholder for delta thicknesses above floatation 20 deltathicknesshal = {}; %placeholder for delta thicknesses halosteric origins 21 deltathicknessbar = {}; %placeholder for delta thicknesses halosteric origins 22 thicknesscorrection={}; 17 23 icemask = {}; %placeholder for ice masks 18 24 oceanmask = {}; %placeholder for ocean masks … … 20 26 timestart = {}; %placeholder for times 21 27 calendar = {}; %placeholder for times 28 di = {}; %ice densities 22 29 end 23 30 methods … … 146 153 end 147 154 155 if ~exist('timestart','var'), timestart=2015; end 156 if ~exist('calendar','var'), calendar=0; end 157 148 158 end % }}} 149 159 function info=readinfo(self,experiment,field) % {{{ … … 203 213 204 214 %map onto mesh: correct only for thicknesses 205 hg=ismip2mesh_correction.*(ismip2mesh*ht) ; 215 if strcmpi(field,'lithk') | strcmpi(field,'orog') | strcmpi(field,'base'), 216 hg=ismip2mesh_correction.*(ismip2mesh*ht) ; 217 %hg=ismip2mesh*ht ; 218 else 219 hg=ismip2mesh*ht ; 220 end 206 221 207 222 %keep field: … … 209 224 pos=find(isnan(hg)); hg(pos)=0; 210 225 self.thickness{i}=hg; 226 end 227 if strcmpi(field,'orog'), 228 pos=find(isnan(hg)); hg(pos)=0; 229 self.surface{i}=hg; 230 end 231 if strcmpi(field,'base'), 232 pos=find(isnan(hg)); hg(pos)=0; 233 self.base{i}=hg; 211 234 end 212 235 if strcmpi(field,'sftgif'), … … 220 243 end 221 244 if strcmpi(field,'sftgrf'), 222 hg e=-ones(md.mesh.numberofvertices,size(hg,2));245 hgv=-ones(md.mesh.numberofvertices,size(hg,2)); 223 246 for j=1:size(hg,2), 224 247 hgj=hg(:,j); 225 pos=find(hgj>0); 226 hge(md.mesh.elements(pos,:),j)=1; 227 end 228 self.oceanmask{i}=hge; 248 pos=find(hgj>.99); %we want fully grounded 249 %pos=find(hgj>0); %we want slightly grounded 250 hgv(md.mesh.elements(pos,:),j)=1; 251 end 252 self.oceanmask{i}=hgv; 229 253 end 230 254 -
issm/branches/trunk-larour-SLPS2020/src/m/contrib/larour/legendd.m
r24457 r25724 20 20 nl=length(strings); 21 21 for i=1:nl, 22 l=line([x+w/ 6 x+w/3],[y+(nl+1-i)*h/(nl+1) y+(nl+1-i)*h/(nl+1)]);22 l=line([x+w/20 x+w/4],[y+(nl+1-i)*h/(nl+1) y+(nl+1-i)*h/(nl+1)]); 23 23 set(l,'Color',colors{i}); 24 24 set(l,'LineWidth',linewidth); 25 text(x+1.3*w/ 3,y+(nl+1-i)*h/(nl+1),strings{i},'FontSize',fontsize);25 text(x+1.3*w/5,y+(nl+1-i)*h/(nl+1),strings{i},'FontSize',fontsize); 26 26 end 27 27 -
issm/branches/trunk-larour-SLPS2020/src/m/contrib/larour/mme_autotime_correlation_matrix.m
r25618 r25724 1 function matrix=mme_ time_correlation_matrix(mme,varargin);1 function matrix=mme_autotime_correlation_matrix(mme,type) 2 2 3 if nargin==2, 4 type=varargin{1}; 5 elseif nargin==3, 6 mme2=varargin{1}; 7 type=varargin{2}; 8 else 9 error('mme_time_correlation_matrix usage error: 2 or 3 arguments only allowed!'); 3 4 %Out of a multi model ensemble (nsamples x nsteps) of runs, build 5 %a temporal correlation matrix (of size nsteps x nsteps) 6 7 nsamples=size(mme,1); 8 nsteps=size(mme,2); 9 10 %initialize with 1 in the diagonal: 11 matrix=eye(nsteps,nsteps); 12 13 %go through time steps, and fill up the top part. 14 for i=1:nsteps, 15 for j=i+1:nsteps, 16 matrix(i,j)=corr(mme(:,i),mme(:,j),'Type',type); 17 matrix(j,i)=matrix(i,j); 18 end 10 19 end 11 20 12 if nargin==2,13 14 %Out of a multi model ensemble (nsamples x nsteps) of runs, build15 %a temporal correlation matrix (of size nsteps x nsteps)16 17 nsamples=size(mme,1);18 nsteps=size(mme,2);19 20 %initialize with 1 in the diagonal:21 matrix=eye(nsteps,nsteps);22 23 %go through time steps, and fill up the top part.24 for i=1:nsteps,25 for j=i+1:nsteps,26 matrix(i,j)=corr(mme(:,i),mme(:,j),'Type',type);27 matrix(j,i)=matrix(i,j);28 end29 end30 else31 32 %Same kind of computations, except it's not autocorrelation:33 nsamples=size(mme,1); nsamples2=size(mme2,1);34 nsteps=size(mme,2); nsteps2=size(mme2,2);35 36 if nsteps2~=nsteps,37 error('number of time steps from both sample matrices should be identical!');38 end39 if nsamples2~=nsamples,40 error('number of samples from both sample matrices should be identical!');41 end42 43 %initialize with 1 in the diagonal:44 matrix=zeros(nsteps,nsteps);45 46 %go through time steps, and fill up the top part.47 for i=1:nsteps,48 for j=i:nsteps,49 matrix(i,j)=corr(mme(:,i),mme2(:,j),'Type',type);50 matrix(j,i)=matrix(i,j);51 end52 end53 end -
issm/branches/trunk-larour-SLPS2020/src/m/interp/averaging.m
r17686 r25724 61 61 elseif dimension(md.mesh)==2, 62 62 rep=3; 63 areas=GetAreas(index,md.mesh.x,md.mesh.y); 63 if isa(md.mesh,'mesh3dsurface'), 64 areas=GetAreas3DTria(md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.z); 65 else 66 areas=GetAreas(index,md.mesh.x,md.mesh.y); 67 end 64 68 else 65 69 rep=3; -
issm/branches/trunk-larour-SLPS2020/src/m/mesh/FixMesh.m
r13646 r25724 1 function [index2 x2 y2 value2 ]=FixMesh(index,x,y,value)1 function [index2 x2 y2 value2 newpos]=FixMesh(index,x,y,value) 2 2 % FIXMESH - FixMesh fix mesh with broken triangles, orphan vertices, etc ... 3 3 % … … 15 15 y2=y; 16 16 value2=value; 17 newpos=1:length(x); 17 18 18 19 %First, look for orphan vertices, and take them out. … … 29 30 y2(orphan)=[]; 30 31 value2(orphan)=[]; 32 newpos(orphan)=[]; 31 33 32 34 %now, the index: -
issm/branches/trunk-larour-SLPS2020/src/m/plot/processdatalatlong.m
r25587 r25724 22 22 %interpolate data: 23 23 extradata=griddata(x0,y0,data,xextra,yextra,'nearest'); 24 25 24 data=[data; extradata]; 26 25 elseif length(data)==length(md.mesh.elements), 27 error('processdatalatlong error message: coord ''latlong'' case not covered for element data ');28 26 datatype=1; 29 27 end -
issm/branches/trunk-larour-SLPS2020/src/m/units/sletogt.m
r24888 r25724 1 1 function conversionfactor=sletogt() 2 3 conversionfactor=361.9; %361.9 Gigatons to 1 mm sea-level equivalent. 2 3 rho_water=1023; 4 conversionfactor=rho_water/1000*361.9; %361.9 Gigatons to 1 mm sea-level equivalent.
Note:
See TracChangeset
for help on using the changeset viewer.