def mb_ms_from_magnitude_string(mag_string): mag_string = mag_string.strip() mb = lev(mag_string.split()[0]) Ms = lev(mag_string.split()[1]) return {'mb': mb, 'Ms': Ms}
def mb_ms_from_magnitude_string(mag_string): mag_string = mag_string.strip() mb = lev(mag_string.split()[0]) Ms = lev(mag_string.split()[1]) return {'mb' : mb, 'Ms' : Ms}
def from_xml(elem): """ Creates a new note from a corresponding xml element. :param elem: xml element discribing the note. :type elem: xml.etree.ElementTree.Element """ from ast import literal_eval as lev x = lev(elem.attrib['x']) y = lev(elem.attrib['y']) length = lev(elem.attrib['length']) type = elem.attrib['type'] return Note(x, y, length, type)
def get_time_from_ref_time(eq_dict): ref_time = dt.time(0) try: ref_time_string = eq_dict['reference_time'] except (KeyError, AttributeError): return ref_time ref_time_list = ref_time_string.replace('.', ':').split(':') try: for i in (0, 1, 2): ref_time_list[i] = int(ref_time_list[i]) ref_time_list[3] = int(lev('0.' + ref_time_list[3]) * 1e6) if ref_time_list[2] == 60: ref_time_list[1] += 1 ref_time_list[2] = 0 ref_time = dt.time(*ref_time_list) except: return ref_time return ref_time
def get_time_from_ref_time(eq_dict): ref_time = dt.time(0) try: ref_time_string = eq_dict['reference_time'] except (KeyError, AttributeError): return ref_time ref_time_list = ref_time_string.replace('.',':').split(':') try: for i in (0,1,2): ref_time_list[i] = int(ref_time_list[i]) ref_time_list[3] = int( lev('0.'+ref_time_list[3]) * 1e6) if ref_time_list[2] == 60: ref_time_list[1] += 1 ref_time_list[2] = 0 ref_time = dt.time(*ref_time_list) except: return ref_time return ref_time
def load(self, fname): """ Reads formatted txt file with the values of the parameters and allocates to object :param fname: string with path to parameter file """ i = 0 data = [] with open(os.path.expanduser(fname), 'r') as csvfile: spamreader = csv.reader(csvfile, delimiter='=') for row in spamreader: if len(row) > 0: if row[0][0] != '#': # remove inline comment and trim if row[1].find('#') > 0: row[1] = (row[1][0:(row[1].find('#'))]).strip() else: row[1] = row[1].strip() data.append(row) #print('{0:3d} : {1}'.format(i, row)) i = i + 1 # Env regulations parameters: dict of state : max water T (deg C) self.envRegMaxT = self.string2dict(data[0][1]) # dict self.maxFracFlow = self.string2dict(data[1][1]) # dict # RBM processing parameters self.outputHeaders = list(map(str.strip, data[2][1].split(','))) # list self.locPrecision = lev(data[3][1]) self.numCellsToProcess = lev(data[4][1]) self.tempAndSpatFilename = data[5][1] self.nsegFilename = data[6][1] # Water T directories self.rbmRootDir = data[7][1] self.rbmDataDir = data[8][1] self.rbmDataDir = os.path.join(self.rbmRootDir, self.rbmDataDir) self.rbmOutputDir = data[9][1] self.rbmOutputDir = os.path.join(self.rbmRootDir, self.rbmOutputDir, self.tempAndSpatFilename) # ----- GCMs --------- self.listgcms = list(map(str.strip, data[10][1].split(','))) # list self.basenamemeteo = data[11][1] self.basenamestreamT = data[12][1] self.basenameflow = data[13][1]
def parse_reference_locations_strings(eq_dict): params = ['reference_depth', 'reference_latitude', 'reference_longitude'] for param in params: try: _par = eq_dict[param].strip() except KeyError: print('EQ {} has no {}'.format(eq_dict['cmt_event_name'], param)) except AttributeError: pass try: par = lev(_par) eq_dict[param] = par except ValueError: eq_dict[param] = _par return
def parse_reference_locations_strings(eq_dict): params = ['reference_depth', 'reference_latitude', 'reference_longitude'] for param in params: try: _par = eq_dict[param].strip() except KeyError: #logging.warning('EQ {} has no {}'.format(eq_dict['cmt_event_name'], param)) logging.warning('EQ {} has no {}'.format(eq_dict['cmt_event_name'], param)) except AttributeError: pass try: par = lev(_par) eq_dict[param] = par except ValueError: eq_dict[param] = _par return
def moment_tensor_params_from_string(mt_string, mt_exp): mt_exp = str(mt_exp) # in case it's been made an int mt_list = mt_string.strip().split() mt_list = [lev(mt + 'e' + mt_exp) for mt in mt_list] d = {'mrr' : mt_list[0], 'mrr_err' : mt_list[1], 'mtt' : mt_list[2], 'mtt_err' : mt_list[3], 'mpp' : mt_list[4], 'mpp_err' : mt_list[5], 'mrt' : mt_list[6], 'mrt_err' : mt_list[7], 'mrp' : mt_list[8], 'mrp_err' : mt_list[9], 'mtp' : mt_list[10], 'mtp_err' : mt_list[11]} return d
def moment_tensor_params_from_string(mt_string, mt_exp): mt_exp = str(mt_exp) # in case it's been made an int mt_list = mt_string.strip().split() mt_list = [lev(mt + 'e' + mt_exp) for mt in mt_list] d = { 'mrr': mt_list[0], 'mrr_err': mt_list[1], 'mtt': mt_list[2], 'mtt_err': mt_list[3], 'mpp': mt_list[4], 'mpp_err': mt_list[5], 'mrt': mt_list[6], 'mrt_err': mt_list[7], 'mrp': mt_list[8], 'mrp_err': mt_list[9], 'mtp': mt_list[10], 'mtp_err': mt_list[11] } return d
def calc_scalar_moment(sm_string, mt_exp): mt_exp = str(mt_exp) # in case it's been made an int return lev(sm_string + 'e' + mt_exp)
def price(self, time = 24): return int(lev(self.base_price)) + int(lev(self.monthly_bill)) * time
def price(self, time=24): return int(lev(self.base_price)) + int(lev(self.monthly_bill)) * time