Changeset 25741
- Timestamp:
- 11/09/20 11:38:03 (4 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
r25680 r25741 106 106 parameters->AddObject(iomodel->CopyConstantObject("md.levelset.reinit_frequency",LevelsetReinitFrequencyEnum)); 107 107 parameters->AddObject(iomodel->CopyConstantObject("md.levelset.kill_icebergs",LevelsetKillIcebergsEnum)); 108 parameters->AddObject(iomodel->CopyConstantObject("md.levelset. calving_max",CalvingMaxEnum));108 parameters->AddObject(iomodel->CopyConstantObject("md.levelset.migration_max",MigrationMaxEnum)); 109 109 110 110 int calvinglaw; … … 193 193 IssmDouble vel,v[3],w[3],c[3],m[3],dlsf[3]; 194 194 IssmDouble norm_dlsf, norm_calving, calvingrate, meltingrate, groundedice; 195 IssmDouble calvingmax, calvinghaf, heaviside, haf_eps;195 IssmDouble migrationmax, calvinghaf, heaviside, haf_eps; 196 196 IssmDouble* xyz_list = NULL; 197 197 … … 224 224 basalelement->GetVerticesCoordinates(&xyz_list); 225 225 basalelement->FindParam(&dt,TimesteppingTimeStepEnum); 226 basalelement->FindParam(& calvingmax,CalvingMaxEnum);226 basalelement->FindParam(&migrationmax,MigrationMaxEnum); 227 227 Input* vx_input = NULL; 228 228 Input* vy_input = NULL; … … 340 340 /*Limit calving rate to c <= v + 3 km/yr */ 341 341 vel=sqrt(v[0]*v[0] + v[1]*v[1]); 342 if(calvingrate> calvingmax+vel) calvingrate = vel+calvingmax;342 if(calvingrate>migrationmax+vel) calvingrate = vel+migrationmax; 343 343 if(groundedice<0) meltingrate = 0.; 344 344 -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r25627 r25741 103 103 syn keyword cConstant CalvingHeightAboveFloatationEnum 104 104 syn keyword cConstant CalvingLawEnum 105 syn keyword cConstant CalvingMaxEnum106 105 syn keyword cConstant CalvingMinthicknessEnum 107 106 syn keyword cConstant ConfigurationTypeEnum … … 290 289 syn keyword cConstant MeshNumberoflayersEnum 291 290 syn keyword cConstant MeshNumberofverticesEnum 291 syn keyword cConstant MigrationMaxEnum 292 292 syn keyword cConstant ModelIdEnum 293 293 syn keyword cConstant NbinsEnum … … 361 361 syn keyword cConstant SettingsNumResultsOnNodesEnum 362 362 syn keyword cConstant SettingsOutputFrequencyEnum 363 syn keyword cConstant Settings RecordingFrequencyEnum363 syn keyword cConstant SettingsCheckpointFrequencyEnum 364 364 syn keyword cConstant SettingsResultsOnNodesEnum 365 365 syn keyword cConstant SettingsSbCouplingFrequencyEnum -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r25637 r25741 97 97 CalvingHeightAboveFloatationEnum, 98 98 CalvingLawEnum, 99 CalvingMaxEnum,100 99 CalvingMinthicknessEnum, 101 100 ConfigurationTypeEnum, … … 284 283 MeshNumberoflayersEnum, 285 284 MeshNumberofverticesEnum, 285 MigrationMaxEnum, 286 286 ModelIdEnum, 287 287 NbinsEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r25637 r25741 105 105 case CalvingHeightAboveFloatationEnum : return "CalvingHeightAboveFloatation"; 106 106 case CalvingLawEnum : return "CalvingLaw"; 107 case CalvingMaxEnum : return "CalvingMax";108 107 case CalvingMinthicknessEnum : return "CalvingMinthickness"; 109 108 case ConfigurationTypeEnum : return "ConfigurationType"; … … 292 291 case MeshNumberoflayersEnum : return "MeshNumberoflayers"; 293 292 case MeshNumberofverticesEnum : return "MeshNumberofvertices"; 293 case MigrationMaxEnum : return "MigrationMax"; 294 294 case ModelIdEnum : return "ModelId"; 295 295 case NbinsEnum : return "Nbins"; … … 363 363 case SettingsNumResultsOnNodesEnum : return "SettingsNumResultsOnNodes"; 364 364 case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency"; 365 case SettingsCheckpointFrequencyEnum : return "Settings RecordingFrequency";365 case SettingsCheckpointFrequencyEnum : return "SettingsCheckpointFrequency"; 366 366 case SettingsResultsOnNodesEnum : return "SettingsResultsOnNodes"; 367 367 case SettingsSbCouplingFrequencyEnum : return "SettingsSbCouplingFrequency"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r25637 r25741 105 105 else if (strcmp(name,"CalvingHeightAboveFloatation")==0) return CalvingHeightAboveFloatationEnum; 106 106 else if (strcmp(name,"CalvingLaw")==0) return CalvingLawEnum; 107 else if (strcmp(name,"CalvingMax")==0) return CalvingMaxEnum;108 107 else if (strcmp(name,"CalvingMinthickness")==0) return CalvingMinthicknessEnum; 109 108 else if (strcmp(name,"ConfigurationType")==0) return ConfigurationTypeEnum; … … 137 136 else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum; 138 137 else if (strcmp(name,"DomainType")==0) return DomainTypeEnum; 138 else if (strcmp(name,"DslModel")==0) return DslModelEnum; 139 139 else stage=2; 140 140 } 141 141 if(stage==2){ 142 if (strcmp(name,"DslModel")==0) return DslModelEnum; 143 else if (strcmp(name,"DslModelid")==0) return DslModelidEnum; 142 if (strcmp(name,"DslModelid")==0) return DslModelidEnum; 144 143 else if (strcmp(name,"DslNummodels")==0) return DslNummodelsEnum; 145 144 else if (strcmp(name,"DslComputeFingerprints")==0) return DslComputeFingerprintsEnum; … … 260 259 else if (strcmp(name,"LoveNfreq")==0) return LoveNfreqEnum; 261 260 else if (strcmp(name,"LoveR0")==0) return LoveR0Enum; 261 else if (strcmp(name,"LoveShNmax")==0) return LoveShNmaxEnum; 262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"LoveShNmax")==0) return LoveShNmaxEnum; 266 else if (strcmp(name,"LoveShNmin")==0) return LoveShNminEnum; 265 if (strcmp(name,"LoveShNmin")==0) return LoveShNminEnum; 267 266 else if (strcmp(name,"MassFluxSegments")==0) return MassFluxSegmentsEnum; 268 267 else if (strcmp(name,"MassFluxSegmentsPresent")==0) return MassFluxSegmentsPresentEnum; … … 298 297 else if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum; 299 298 else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum; 299 else if (strcmp(name,"MigrationMax")==0) return MigrationMaxEnum; 300 300 else if (strcmp(name,"ModelId")==0) return ModelIdEnum; 301 301 else if (strcmp(name,"Nbins")==0) return NbinsEnum; … … 369 369 else if (strcmp(name,"SettingsNumResultsOnNodes")==0) return SettingsNumResultsOnNodesEnum; 370 370 else if (strcmp(name,"SettingsOutputFrequency")==0) return SettingsOutputFrequencyEnum; 371 else if (strcmp(name,"Settings RecordingFrequency")==0) return SettingsCheckpointFrequencyEnum;371 else if (strcmp(name,"SettingsCheckpointFrequency")==0) return SettingsCheckpointFrequencyEnum; 372 372 else if (strcmp(name,"SettingsResultsOnNodes")==0) return SettingsResultsOnNodesEnum; 373 373 else if (strcmp(name,"SettingsSbCouplingFrequency")==0) return SettingsSbCouplingFrequencyEnum; -
issm/trunk-jpl/src/m/classes/levelset.m
r24042 r25741 10 10 reinit_frequency = 5; 11 11 kill_icebergs = 0; 12 calving_max = 0.;12 migration_max = 0.; 13 13 fe = 'P1'; 14 14 end … … 42 42 self.reinit_frequency = 5; 43 43 self.kill_icebergs = 1; 44 self. calving_max = 3000.;44 self.migration_max = 3000.; 45 45 46 46 %Linear elements by default … … 55 55 md = checkfield(md,'fieldname','levelset.stabilization','values',[0 1 2]); 56 56 md = checkfield(md,'fieldname','levelset.kill_icebergs','numel',1,'values',[0 1]); 57 md = checkfield(md,'fieldname','levelset. calving_max','numel',1,'NaN',1,'Inf',1,'>',0);57 md = checkfield(md,'fieldname','levelset.migration_max','numel',1,'NaN',1,'Inf',1,'>',0); 58 58 md = checkfield(md,'fieldname','levelset.fe','values',{'P1','P2'}); 59 59 end % }}} … … 64 64 fielddisplay(self,'reinit_frequency','Amount of time steps after which the levelset function in re-initialized'); 65 65 fielddisplay(self,'kill_icebergs','remove floating icebergs to prevent rigid body motions (1: true, 0: false)'); 66 fielddisplay(self,' calving_max','maximum allowed calvingrate (m/a)');66 fielddisplay(self,'migration_max','maximum allowed migration rate (m/a)'); 67 67 fielddisplay(self,'fe','Finite Element type: ''P1'' (default), or ''P2'''); 68 68 end % }}} … … 75 75 WriteData(fid,prefix,'object',self,'fieldname','reinit_frequency','format','Integer'); 76 76 WriteData(fid,prefix,'object',self,'fieldname','kill_icebergs','format','Boolean'); 77 WriteData(fid,prefix,'object',self,'fieldname',' calving_max','format','Double','scale',1./yts);77 WriteData(fid,prefix,'object',self,'fieldname','migration_max','format','Double','scale',1./yts); 78 78 WriteData(fid,prefix,'object',self,'fieldname','fe','format','String'); 79 79 end % }}} … … 83 83 writejs1Darray(fid,[modelname '.levelset.reinit_frequency'],self.reinit_frequency); 84 84 writejsdouble(fid,[modelname '.levelset.kill_icebergs'],self.kill_icebergs); 85 writejsdouble(fid,[modelname '.levelset. calving_max'],self.calving_max);85 writejsdouble(fid,[modelname '.levelset.migration_max'],self.migration_max); 86 86 end % }}} 87 87 end -
issm/trunk-jpl/src/m/classes/levelset.py
r24213 r25741 19 19 self.reinit_frequency = 0 20 20 self.kill_icebergs = 0 21 self. calving_max = 0.21 self.migration_max = 0. 22 22 self.fe = 'P1' 23 23 … … 32 32 string = "%s\n%s" % (string, fielddisplay(self, 'reinit_frequency', 'Amount of time steps after which the levelset function in re-initialized')) 33 33 string = "%s\n%s" % (string, fielddisplay(self, 'kill_icebergs', 'remove floating icebergs to prevent rigid body motions (1: true, 0: false)')) 34 string = "%s\n%s" % (string, fielddisplay(self, ' calving_max', 'maximum allowed calvingrate (m / a)'))34 string = "%s\n%s" % (string, fielddisplay(self, 'migration_max', 'maximum allowed migration rate (m / a)')) 35 35 string = "%s\n%s" % (string, fielddisplay(self, 'fe', 'Finite Element type: ''P1'' (default), or ''P2''')) 36 36 … … 48 48 self.reinit_frequency = 5 49 49 self.kill_icebergs = 1 50 self. calving_max = 3000.50 self.migration_max = 3000. 51 51 52 52 #Linear elements by default … … 64 64 md = checkfield(md, 'fieldname', 'levelset.stabilization', 'numel', [1], 'values', [0, 1, 2]) 65 65 md = checkfield(md, 'fieldname', 'levelset.kill_icebergs', 'numel', [1], 'values', [0, 1]) 66 md = checkfield(md, 'fieldname', 'levelset. calving_max', 'numel', [1], 'NaN', 1, 'Inf', 1, '>', 0)66 md = checkfield(md, 'fieldname', 'levelset.migration_max', 'numel', [1], 'NaN', 1, 'Inf', 1, '>', 0) 67 67 md = checkfield(md, 'fieldname', 'levelset.fe', 'values', ['P1', 'P2']) 68 68 … … 77 77 WriteData(fid, prefix, 'object', self, 'fieldname', 'reinit_frequency', 'format', 'Integer') 78 78 WriteData(fid, prefix, 'object', self, 'fieldname', 'kill_icebergs', 'format', 'Boolean') 79 WriteData(fid, prefix, 'object', self, 'fieldname', ' calving_max', 'format', 'Double', 'scale', 1. / yts)79 WriteData(fid, prefix, 'object', self, 'fieldname', 'migration_max', 'format', 'Double', 'scale', 1. / yts) 80 80 WriteData(fid, prefix, 'object', self, 'fieldname', 'fe', 'format', 'String') 81 81 # }}}
Note:
See TracChangeset
for help on using the changeset viewer.