def main(): import argparse #nmg comments #The argparse library provide an easy way to enter parameter values on #the command line when running code. #Default values are provided, but they can also be #provided at run time. # #For Example, to specify the number of impacts when running: #python craters_component.py --impact-count 200 # #to specify the number of impacts and grid size: #python craters_component.py --impact-count 200 --grid-size 500 parser = argparse.ArgumentParser() parser.add_argument('--impact-count', type=int, default=128, help='Number of impacts') parser.add_argument('--grid-size', type=int, default=200, help='Number of grid rows and columns') parser.add_argument('--grid-spacing', type=float, default=.025, help='Spacing between grid rows and columns') seed_parser = parser.add_mutually_exclusive_group() seed_parser.add_argument('--with-seed', type=int, default=1973, help='Seed for random number generator') seed_parser.add_argument('--without-seed', action='store_true', default=False, help='Seed for random number generator') args = parser.parse_args() shape = (args.grid_size, args.grid_size) spacing = (args.grid_spacing, args.grid_spacing) impact_count = args.impact_count if args.without_seed: seed = None else: seed = args.with_seed grid = RasterModelGrid(shape[0], shape[1], spacing[0]) craters_comp = CratersComponent(grid, seed=seed) for _ in range(impact_count): craters_comp.update() grid.imshow('node', 'topographic__elevation', grid_units=('km', 'km'), symmetric_cbar=True)
def main(): import argparse parser = argparse.ArgumentParser() parser.add_argument('--impact-count', type=int, default=128, help='Number of impacts') parser.add_argument('--grid-size', type=int, default=200, help='Number of grid rows and columns') parser.add_argument('--grid-spacing', type=float, default=.025, help='Spacing between grid rows and columns') seed_parser = parser.add_mutually_exclusive_group() seed_parser.add_argument('--with-seed', type=int, default=1973, help='Seed for random number generator') seed_parser.add_argument('--without-seed', action='store_true', default=False, help='Seed for random number generator') args = parser.parse_args() shape = (args.grid_size, args.grid_size) spacing = (args.grid_spacing, args.grid_spacing) impact_count = args.impact_count if args.without_seed: seed = None else: seed = args.with_seed grid = RasterModelGrid(shape[0], shape[1], spacing[0]) craters_comp = CratersComponent(grid, seed=seed) flexure_comp = flexure.Flexure( grid, map_vars={ 'node': { 'lithosphere__elevation': 'topographic__elevation', 'planet_surface_sediment__deposition_increment': 'topographic__elevation_increment' } } ) create_planet_surface_with_bulge(grid) for _ in range(impact_count): craters_comp.update() flexure_comp.update() grid.imshow('node', 'topographic__elevation', grid_units=('km', 'km'), symmetric_cbar=True, cmap='Paired')
def main(): import argparse parser = argparse.ArgumentParser() parser.add_argument('--impact-count', type=int, default=128, help='Number of impacts') parser.add_argument('--grid-size', type=int, default=200, help='Number of grid rows and columns') parser.add_argument('--grid-spacing', type=float, default=.025, help='Spacing between grid rows and columns') seed_parser = parser.add_mutually_exclusive_group() seed_parser.add_argument('--with-seed', type=int, default=1973, help='Seed for random number generator') seed_parser.add_argument('--without-seed', action='store_true', default=False, help='Seed for random number generator') args = parser.parse_args() shape = (args.grid_size, args.grid_size) spacing = (args.grid_spacing, args.grid_spacing) impact_count = args.impact_count if args.without_seed: seed = None else: seed = args.with_seed grid = RasterModelGrid(shape[0], shape[1], spacing[0]) craters_comp = CratersComponent(grid, seed=seed) flexure_comp = flexure.Flexure( grid, map_vars={ 'node': { 'lithosphere__elevation': 'topographic__elevation', 'planet_surface_sediment__deposition_increment': 'topographic__elevation_increment' } }) create_planet_surface_with_bulge(grid) for _ in range(impact_count): craters_comp.update() flexure_comp.update() grid.imshow('node', 'topographic__elevation', grid_units=('km', 'km'), symmetric_cbar=True, cmap='Paired')