Changeset 26744 for issm/trunk/src/m/classes/constants.py
- Timestamp:
- 12/22/21 10:39:44 (3 years ago)
- Location:
- issm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk
- Property svn:mergeinfo changed
/issm/trunk-jpl merged: 25837-25866,25868-25993,25995-26330,26332-26733,26736-26739,26741
- Property svn:mergeinfo changed
-
issm/trunk/src
- Property svn:mergeinfo changed
-
issm/trunk/src/m/classes/constants.py
r24313 r26744 1 from checkfield import checkfield 1 2 from fielddisplay import fielddisplay 2 from checkfield import checkfield3 3 from WriteData import WriteData 4 4 5 5 6 6 class constants(object): 7 """ 8 CONSTANTS class definition 7 """CONSTANTS class definition 9 8 10 9 Usage: … … 13 12 14 13 def __init__(self): # {{{ 15 self.g = 0. 16 self.omega = 0. 17 self.yts = 0. 18 self.referencetemperature = 0. 14 self.g = 0. 15 self.omega = 0. 16 self.yts = 0. 17 self.referencetemperature = 0. 18 self.gravitational_constant = 0.; 19 19 20 #set defaults20 #set defaults 21 21 self.setdefaultparameters() 22 23 22 #}}} 24 23 def __repr__(self): # {{{ 25 string = " constants parameters:" 26 27 string = "%s\n%s" % (string, fielddisplay(self, "g", "gravitational acceleration [m / s^2]")) 28 string = "%s\n%s" % (string, fielddisplay(self, "omega", "angular velocity of Earth [rad / s]")) 29 string = "%s\n%s" % (string, fielddisplay(self, "yts", "number of seconds in a year [s / yr]")) 30 string = "%s\n%s" % (string, fielddisplay(self, "referencetemperature", "reference temperature used in the enthalpy model [K]")) 31 32 return string 24 s = ' constants parameters:\n' 25 s += '{}\n'.format(fielddisplay(self, 'g', 'gravitational acceleration [m/s^2]')) 26 s += '{}\n'.format(fielddisplay(self, 'omega', 'angular velocity of Earth [rad/s]')) 27 s += '{}\n'.format(fielddisplay(self, 'yts', 'number of seconds in a year [s/yr]')) 28 s += '{}\n'.format(fielddisplay(self, 'referencetemperature', 'reference temperature used in the enthalpy model [K]')) 29 s += '{}\n'.format(fielddisplay(self, 'gravitational_constant', 'Newtonian constant of gravitation [m^3/kg/s^2]')) 30 return s 33 31 #}}} 34 35 32 def setdefaultparameters(self): # {{{ 36 # acceleration due to gravity (m / s^2)33 # Acceleration due to gravity (m / s^2) 37 34 self.g = 9.81 38 35 39 # Earth's rotation speed36 # Earth's rotation speed 40 37 self.omega = 7.292 * 1e-5 41 38 42 # converstion from year to seconds43 self.yts = 365. * 24. * 3600.39 # Converstion from year to seconds 40 self.yts = 365.0 * 24.0 * 3600.0 44 41 45 # the reference temperature for enthalpy model (cf Aschwanden)42 # The reference temperature for enthalpy model (cf Aschwanden) 46 43 self.referencetemperature = 223.15 44 45 # Gravitational constant: 46 self.gravitational_constant = 6.67259e-11 47 47 48 48 return self 49 49 #}}} 50 51 50 def checkconsistency(self, md, solution, analyses): # {{{ 52 md = checkfield(md, 'fieldname', 'constants.g', '>=', 0, 'size', [1]) 51 md = checkfield(md, 'fieldname', 'constants.g', '>=', 0, 'size', [1]) # We allow 0 for validation tests 53 52 md = checkfield(md, 'fieldname', 'constants.omega', '>=', 0, 'size', [1]) 54 53 md = checkfield(md, 'fieldname', 'constants.yts', '>', 0, 'size', [1]) 55 54 md = checkfield(md, 'fieldname', 'constants.referencetemperature', 'size', [1]) 55 md = checkfield(md, 'fieldname', 'constants.gravitational_constant','size',[1]); 56 56 57 57 return md 58 58 # }}} 59 60 59 def marshall(self, prefix, md, fid): # {{{ 61 60 WriteData(fid, prefix, 'object', self, 'fieldname', 'g', 'format', 'Double') 62 61 WriteData(fid, prefix, 'object', self, 'fieldname', 'yts', 'format', 'Double') 63 62 WriteData(fid, prefix, 'object', self, 'fieldname', 'referencetemperature', 'format', 'Double') 63 WriteData(fid, prefix, 'object', self, 'fieldname', 'gravitational_constant', 'format', 'Double'); 64 64 # }}}
Note:
See TracChangeset
for help on using the changeset viewer.