# Basic characteristics of seismicity catalog m0total = 1.0e16 max_m0 = math.pow(10.0, 18.0) minM = -1.0 min_m0 = gr.calc_m0(minM) slope = 1.0 # Define the Gutenberg-Richter relationship values gr_obj = gr.GutenbergRichter(b=slope, m0total=m0total, max_m0=max_m0, min_m0=min_m0) gr_obj.calc_a() # Make a plot of the chosen G-R relationship maxM = gr.calc_Mw(max_m0) Msamp = 0.25 Mws = np.arange(minM, maxM + Msamp, Msamp) Ns = gr_obj.get_N(Mws) max_dep = 2.0 #max depth in km, events will be uniform between 0 and max_dep # Calculate probability of a given event per second secday = 60.0 * 60.0 * 24.0 secyear = secday * 365.0 secmonth = secday * 30.0 Nsec = Ns / secyear # Generate a couple months of catalog catlength = 2.0 * secday #(catalog, Nsc, Mwsc) = gr_obj.generate_catalog(catlength) #(catalog2, Nsc2, Mwsc2) = gr_obj.generate_catalog(secmonth)
# Basic useful values secday = 60.0 * 60.0 * 24.0 secyear = secday * 365.0 secmonth = secday * 30.0 # Determine if a catalog pickle file is included on command line if (args.pklfile is not None): #Assumes argv[1] is pickle file filename = args.pklfile root = '.'.join(filename.split('.')[:-1]) with open(filename, 'rb') as f: if python3: gr_obj = pickle.load(f, encoding='latin1') else: gr_obj = pickle.load(f) minM = gr.calc_Mw(gr_obj.min_m0) maxM = gr.calc_Mw(gr_obj.max_m0) Msamp = 0.25 Mws = np.arange(minM, maxM + Msamp, Msamp) Ns = gr_obj.get_N(Mws) setmin = True if (args.minMw is not None): min_Mw = args.minMw else: # If no min_Mw argument is given setmin = False min_Mw = -999.0 else: # Basic characteristics of seismicity catalog m0total = 1.0e17 max_m0 = math.pow(10.0, 19.5)
max_m0=max_m0_lower, min_m0=min_m0) gr_obj_upper2.calc_a() gr_obj_lower1 = gr.GutenbergRichter(b=slope, m0total=m0total_lower, max_m0=max_m0, min_m0=min_m0) gr_obj_lower1.calc_a() gr_obj_lower2 = gr.GutenbergRichter(b=slope, m0total=m0total_lower, max_m0=max_m0_upper, min_m0=min_m0) gr_obj_lower2.calc_a() # Make a plot of the chosen G-R relationship maxM = gr.calc_Mw(max_m0) minM = gr.calc_Mw(min_m0) Msamp = 0.25 Mws = np.arange(minM, maxM + Msamp, Msamp) Ns = gr_obj.get_N(Mws) Ns_upper1 = gr_obj_upper1.get_N(Mws) Ns_upper2 = gr_obj_upper2.get_N(Mws) Ns_lower1 = gr_obj_lower1.get_N(Mws) Ns_lower2 = gr_obj_lower2.get_N(Mws) # max_dep = 2.0 #max depth in km, events will be uniform between 0 and max_dep # Convert Ns to be for catalog duration # Ns = Ns * TCycleYrs # Ns_upper1 = Ns_upper1 * TCycleYrs # Ns_upper2 = Ns_upper2 * TCycleYrs # Ns_lower1 = Ns_lower1 * TCycleYrs