Changeset 26195
- Timestamp:
- 04/16/21 10:24:43 (4 years ago)
- Location:
- issm/trunk-jpl/src/m/classes
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/timestepping.js
r22459 r26195 15 15 //should we interpolate forcings between timesteps? 16 16 this.interp_forcings=1; 17 this.cycle_forcing=0; 17 18 }// }}} 18 19 this.disp= function(){// {{{ … … 25 26 fielddisplay(this,'time_step','length of time steps [' +unit+ ']'); 26 27 fielddisplay(this,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)'); 28 fielddisplay(this,'cycle_forcing','cycle through forcing ? (0 or 1)'); 27 29 fielddisplay(this,'coupling_time','length of coupling time steps with ocean model [' +unit+ ']'); 28 30 … … 38 40 checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1,'Inf',1); 39 41 checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0,1]); 42 checkfield(md,'fieldname','timestepping.cycle_forcing','numel',[1],'values',[0,1]); 40 43 checkfield(md,'fieldname','timestepping.coupling_time','numel',[1],'>=',0,'NaN',1,'Inf',1); 41 44 if (this.final_time-this.start_time<0){ … … 53 56 WriteData(fid,prefix,'object',this,'fieldname','time_step','format','Double','scale',scale); 54 57 WriteData(fid,prefix,'object',this,'fieldname','interp_forcings','format','Boolean'); 58 WriteData(fid,prefix,'object',this,'fieldname','cycle_forcing','format','Boolean'); 55 59 WriteData(fid,prefix,'object',this,'fieldname','coupling_time','format','Double','scale',scale); 56 60 … … 64 68 this.time_step = 0.; 65 69 this.interp_forcings = 1; 70 this.cycle_forcing = 0; 66 71 this.coupling_time = 0.; 67 72 -
issm/trunk-jpl/src/m/classes/timestepping.m
r22459 r26195 10 10 time_step = 0.; 11 11 interp_forcings = 1; 12 cycle_forcing = 0; 12 13 coupling_time = 0.; 13 14 end … … 33 34 %should we interpolate forcings between timesteps? 34 35 self.interp_forcings=1; 36 self.cycle_forcing=0; 35 37 end % }}} 36 38 function md = checkconsistency(self,md,solution,analyses) % {{{ … … 40 42 md = checkfield(md,'fieldname','timestepping.time_step','numel',[1],'>=',0,'NaN',1,'Inf',1); 41 43 md = checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0 1]); 44 md = checkfield(md,'fieldname','timestepping.cycle_forcing','numel',[1],'values',[0 1]); 42 45 if self.final_time-self.start_time<0, 43 46 md = checkmessage(md,'timestepping.final_time should be larger than timestepping.start_time'); … … 56 59 fielddisplay(self,'time_step',['length of time steps [' unit ']']); 57 60 fielddisplay(self,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)'); 61 fielddisplay(self,'cycle_forcing','cycle through forcing ? (0 or 1)'); 58 62 fielddisplay(self,'coupling_time',['length of coupling time step with ocean model [' unit ']']); 59 63 … … 67 71 WriteData(fid,prefix,'object',self,'fieldname','time_step','format','Double','scale',scale); 68 72 WriteData(fid,prefix,'object',self,'fieldname','interp_forcings','format','Boolean'); 73 WriteData(fid,prefix,'object',self,'fieldname','cycle_forcing','format','Boolean'); 69 74 WriteData(fid,prefix,'object',self,'fieldname','coupling_time','format','Double','scale',scale); 70 75 end % }}} … … 75 80 writejsdouble(fid,[modelname '.timestepping.time_step'],self.time_step); 76 81 writejsdouble(fid,[modelname '.timestepping.interp_forcings'],self.interp_forcings); 82 writejsdouble(fid,[modelname '.timestepping.cycle_forcing'],self.cycle_forcing); 77 83 78 84 end % }}} -
issm/trunk-jpl/src/m/classes/timestepping.py
r24213 r26195 17 17 self.time_step = 0. 18 18 self.interp_forcings = 1 19 self.cycle_forcing = 0 19 20 self.coupling_time = 0. 20 21 … … 30 31 string = "%s\n%s" % (string, fielddisplay(self, "time_step", "length of time steps [yr]")) 31 32 string = "%s\n%s" % (string, fielddisplay(self, "interp_forcings", "interpolate in time between requested forcing values ? (0 or 1)")) 33 string = "%s\n%s" % (string, fielddisplay(self, "cycle_forcing", "cycle through forcing ? (0 or 1)")) 32 34 string = "%s\n%s" % (string, fielddisplay(self, "coupling_time", "length of coupling time steps with ocean model [yr]")) 33 35 return string … … 41 43 #should we interpolate forcings between timesteps? 42 44 self.interp_forcings = 1 45 self.cycle_forcing = 0 43 46 44 47 return self … … 54 57 md = checkfield(md, 'fieldname', 'timestepping.coupling_time', 'numel', [1], '>=', 0, 'NaN', 1, 'Inf', 1) 55 58 md = checkfield(md, 'fieldname', 'timestepping.interp_forcings', 'numel', [1], 'values', [0, 1]) 59 md = checkfield(md, 'fieldname', 'timestepping.cycle_forcing', 'numel', [1], 'values', [0, 1]) 56 60 57 61 return md … … 66 70 WriteData(fid, prefix, 'object', self, 'fieldname', 'time_step', 'format', 'Double', 'scale', yts) 67 71 WriteData(fid, prefix, 'object', self, 'fieldname', 'interp_forcings', 'format', 'Boolean') 72 WriteData(fid, prefix, 'object', self, 'fieldname', 'cycle_forcing', 'format', 'Boolean') 68 73 WriteData(fid, prefix, 'object', self, 'fieldname', 'coupling_time', 'format', 'Double', 'scale', yts) 69 74 # }}} -
issm/trunk-jpl/src/m/classes/timesteppingadaptive.js
r22459 r26195 19 19 //should we interpolate forcings between timesteps? 20 20 this.interp_forcings=1; 21 this.cycle_forcing=0; 21 22 }// }}} 22 23 this.disp= function(){// {{{ … … 31 32 fielddisplay(this,'cfl_coefficient','coefficient applied to cfl condition'); 32 33 fielddisplay(this,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)'); 34 fielddisplay(this,'cycle_forcing','cycle through forcing ? (0 or 1)'); 33 35 fielddisplay(this,'coupling_time','coupling time steps with ocean model [' +unit+ ']'); 34 36 … … 46 48 checkfield(md,'fieldname','timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1); 47 49 checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0,1]); 50 checkfield(md,'fieldname','timestepping.cycle_forcing','numel',[1],'values',[0,1]); 48 51 if (this.final_time-this.start_time<0){ 49 52 md.checkmessage('timestepping.final_time should be larger than timestepping.start_time'); … … 63 66 WriteData(fid,prefix,'object',this,'class','timestepping','fieldname','cfl_coefficient','format','Double'); 64 67 WriteData(fid,prefix,'object',this,'class','timestepping','fieldname','interp_forcings','format','Boolean'); 68 WriteData(fid,prefix,'object',this,'class','timestepping','fieldname','cycle_forcing','format','Boolean'); 65 69 WriteData(fid,prefix,'object',this,'class','timestepping','fieldname','coupling_time','format','Double','scale',scale); 66 70 … … 76 80 this.cfl_coefficient = 0.; 77 81 this.interp_forcings = 1; 82 this.cycle_forcing = 0; 78 83 this.coupling_time = 0.; 79 84 -
issm/trunk-jpl/src/m/classes/timesteppingadaptive.m
r22459 r26195 12 12 cfl_coefficient = 0.; 13 13 interp_forcings = 1; 14 cycle_forcing = 1; 14 15 coupling_time = 0.; 15 16 end … … 39 40 %should we interpolate forcings between timesteps? 40 41 self.interp_forcings=1; 42 self.cycle_forcing=0; 41 43 end % }}} 42 44 function md = checkconsistency(self,md,solution,analyses) % {{{ … … 48 50 md = checkfield(md,'fieldname','timestepping.cfl_coefficient','numel',[1],'>',0,'<=',1); 49 51 md = checkfield(md,'fieldname','timestepping.interp_forcings','numel',[1],'values',[0 1]); 52 md = checkfield(md,'fieldname','timestepping.cycle_forcing','numel',[1],'values',[0 1]); 50 53 md = checkfield(md,'fieldname','timestepping.coupling_time','numel',[1],'>=',md.timestepping.coupling_time,'NaN',1,'Inf',1); 51 54 if self.final_time-self.start_time<0, … … 63 66 fielddisplay(self,'cfl_coefficient','coefficient applied to cfl condition'); 64 67 fielddisplay(self,'interp_forcings','interpolate in time between requested forcing values ? (0 or 1)'); 68 fielddisplay(self,'cycle_forcing','cycle through forcing ? (0 or 1)'); 65 69 fielddisplay(self,'coupling_time',['coupling time step with ocean model [' unit ']']); 66 70 … … 76 80 WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','cfl_coefficient','format','Double'); 77 81 WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','interp_forcings','format','Boolean'); 82 WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','cycle_forcing','format','Boolean'); 78 83 WriteData(fid,prefix,'object',self,'class','timestepping','fieldname','coupling_time','format','Double','scale',scale); 79 84 end % }}} … … 86 91 writejsdouble(fid,[modelname '.timesteppingadaptive.cfl_coefficient'],self.cfl_coefficient); 87 92 writejsdouble(fid,[modelname '.timesteppingadaptive.interp_forcings'],self.interp_forcings); 93 writejsdouble(fid,[modelname '.timesteppingadaptive.cycle_forcing'],self.cycle_forcing); 88 94 writejsdouble(fid,[modelname '.timesteppingadaptive.coupling_time'],self.time_step_max); 89 95 -
issm/trunk-jpl/src/m/classes/timesteppingadaptive.py
r24213 r26195 20 20 self.cfl_coefficient = 0. 21 21 self.interp_forcings = 1 22 self.cycle_forcing = 0 22 23 self.coupling_time = 0. 23 24 … … 32 33 self.final_time = old.final_time 33 34 self.interp_forcings = old.interp_forcings 35 self.cycle_forcing = old.cycle_forcing 34 36 self.coupling_time = old.coupling_time 35 37 … … 46 48 string = "%s\n%s" % (string, fielddisplay(self, "cfl_coefficient", "coefficient applied to cfl condition")) 47 49 string = "%s\n%s" % (string, fielddisplay(self, "interp_forcings", "interpolate in time between requested forcing values ? (0 or 1)")) 50 string = "%s\n%s" % (string, fielddisplay(self, "cycle_forcing", "cycle through forcing ? (0 or 1)")) 48 51 string = "%s\n%s" % (string, fielddisplay(self, "coupling_time", "coupling time steps with ocean model [yr]")) 49 52 return string … … 60 63 #should we interpolate forcings between timesteps? 61 64 self.interp_forcings = 1 65 self.cycle_forcing = 0 62 66 return self 63 67 #}}} … … 72 76 md.checkmessage("timestepping.final_time should be larger than timestepping.start_time") 73 77 md = checkfield(md, 'fieldname', 'timestepping.interp_forcings', 'numel', [1], 'values', [0, 1]) 78 md = checkfield(md, 'fieldname', 'timestepping.cycle_forcing', 'numel', [1], 'values', [0, 1]) 74 79 md = checkfield(md, 'fieldname', 'timestepping.coupling_time', 'numel', [1], '>=', 0, 'NaN', 1, 'Inf', 1) 75 80 … … 86 91 WriteData(fid, prefix, 'object', self, 'class', 'timestepping', 'fieldname', 'cfl_coefficient', 'format', 'Double') 87 92 WriteData(fid, prefix, 'object', self, 'class', 'timestepping', 'fieldname', 'interp_forcings', 'format', 'Boolean') 93 WriteData(fid, prefix, 'object', self, 'class', 'timestepping', 'fieldname', 'cycle_forcing', 'format', 'Boolean') 88 94 WriteData(fid, prefix, 'object', self, 'class', 'timestepping', 'fieldname', 'coupling_time', 'format', 'Double', 'scale', yts) 89 95 # }}}
Note:
See TracChangeset
for help on using the changeset viewer.