def test_default(): port = UniformRectilinearGridPort() printer = NcPortPrinter(port, 'landscape_surface__elevation') printer.open() printer.write() assert_isfile_and_remove('landscape_surface__elevation.nc')
def test_rerun_with_print(): del_component_instances(['earth_port']) contents = """ name: earth_port class: EarthPort print: - name: earth_surface__temperature interval: 20 format: vtk """ comp = Component.from_string(contents) comp.go() assert_equal(comp._port.current_time, 100.) for i in xrange(5): assert_isfile_and_remove('earth_surface__temperature_%04d.vtu' % i) del_component_instances(['earth_port']) comp = Component.from_string(contents) comp.go() assert_equal(comp._port.current_time, 100.) for i in xrange(5): assert_isfile_and_remove('earth_surface__temperature_%04d.vtu' % i)
def test_print_events(): del_component_instances(['air_port', 'earth_port']) air = Component.from_string(""" name: air_port class: AirPort print: - name: air__temperature interval: 25. format: vtk """) earth = Component.from_string(""" name: earth_port class: EarthPort print: - name: glacier_top_surface__slope interval: 20. format: vtk """) earth.connect('air_port', air) earth.go() for i in xrange(5): assert_isfile_and_remove('glacier_top_surface__slope_%04d.vtu' % i) for i in xrange(4): assert_isfile_and_remove('air__temperature_%04d.vtu' % i)
def test_one_file(): port = UniformRectilinearGridPort() printer = VtkPortPrinter(port, 'landscape_surface__elevation') printer.open() printer.write() assert_isfile_and_remove('landscape_surface__elevation_0000.vtu')
def test_port_as_string(): printer = VtkPortPrinter('air_port', 'air__density') printer.open() printer.write() printer.close() assert_isfile_and_remove('air__density_0000.vtu')
def test_print_events(): air = Component.load(""" name: air_port class: AirPort print: - name: air__temperature interval: 25. format: vtk """) earth = Component.load(""" name: earth_port class: EarthPort print: - name: glacier_top_surface__slope interval: 20. format: vtk """) earth.connect('air_port', air, vars_to_map=[ ( 'glacier_top_surface__slope', 'air__temperature', ), ( 'earth_surface__temperature', 'air__temperature', ), ]) earth.go() for i in xrange(5): assert_isfile_and_remove('glacier_top_surface__slope_%04d.vtu' % i) for i in xrange(4): assert_isfile_and_remove('air__temperature_%04d.vtu' % i)
def test_default(): port = UniformRectilinearGridPort() printer = BovPortPrinter(port, "landscape_surface__elevation") printer.open() printer.write() assert_isfile_and_remove("landscape_surface__elevation_0000.dat") assert_isfile_and_remove("landscape_surface__elevation_0000.bov")
def test_default(): port = UniformRectilinearGridPort() printer = BovPortPrinter(port, "landscape_surface__elevation") printer.open() printer.write() assert_isfile_and_remove("landscape_surface__elevation_0000.dat") assert_isfile_and_remove("landscape_surface__elevation_0000.bov")
def test_multiple_files(): port = UniformRectilinearGridPort() for _ in xrange(5): printer = BovPortPrinter(port, "sea_surface__temperature") printer.open() printer.write() assert_isfile_and_remove("sea_surface__temperature_0000.dat") assert_isfile_and_remove("sea_surface__temperature_0000.bov")
def test_multiple_files(): port = UniformRectilinearGridPort() for _ in xrange(5): printer = BovPortPrinter(port, "sea_surface__temperature") printer.open() printer.write() assert_isfile_and_remove("sea_surface__temperature_0000.dat") assert_isfile_and_remove("sea_surface__temperature_0000.bov")
def test_multiple_files(): port = UniformRectilinearGridPort() for _ in xrange(5): printer = VtkPortPrinter(port, 'sea_surface__temperature') printer.open() printer.write() printer.close() assert_isfile_and_remove('sea_surface__temperature_0000.vtu')
def test_time_series(): port = UniformRectilinearGridPort() printer = NcPortPrinter(port, 'sea_floor_surface_sediment__mean_of_grain_size') printer.open() for _ in xrange(5): printer.write() printer.close() assert_isfile_and_remove( 'sea_floor_surface_sediment__mean_of_grain_size.nc')
def test_one_printer(): queue = PortPrinter.from_string(""" [print.air__density] format=vtk port=air_port """) assert_is_instance(queue, PortPrinter) queue.open() queue.write() assert_isfile_and_remove('air__density_0000.vtu')
def test_one_event(): foo = PrintEvent(port='air_port', name='air__density', format='vtk') with EventManager(((foo, 1.), )) as mngr: assert_equal(mngr.time, 0.) mngr.run(1.) assert_equal(mngr.time, 1.) mngr.run(1.) assert_equal(mngr.time, 1.) for time in np.arange(1., 2., .1): mngr.run(time) assert_equal(mngr.time, time) mngr.run(2.) assert_equal(mngr.time, 2.) for time in np.arange(2., 5., .1): mngr.run(time) assert_equal(mngr.time, time) assert_isfile_and_remove('air__density_0000.vtu') assert_isfile_and_remove('air__density_0001.vtu') assert_isfile_and_remove('air__density_0002.vtu') assert_isfile_and_remove('air__density_0003.vtu')
def test_multiple_files(): expected_files = [ 'sea_surface__temperature.nc', 'sea_surface__temperature.0.nc', 'sea_surface__temperature.1.nc', 'sea_surface__temperature.2.nc', 'sea_surface__temperature.3.nc', ] port = UniformRectilinearGridPort() for _ in xrange(5): printer = NcPortPrinter(port, 'sea_surface__temperature') printer.open() printer.write() for filename in expected_files: assert_isfile_and_remove(filename)
def test_time_series(): expected_files = [ 'sea_floor_surface_sediment__mean_of_grain_size_0000.vtu', 'sea_floor_surface_sediment__mean_of_grain_size_0001.vtu', 'sea_floor_surface_sediment__mean_of_grain_size_0002.vtu', 'sea_floor_surface_sediment__mean_of_grain_size_0003.vtu', 'sea_floor_surface_sediment__mean_of_grain_size_0004.vtu', ] port = UniformRectilinearGridPort() printer = VtkPortPrinter(port, 'sea_floor_surface_sediment__mean_of_grain_size') printer.open() for _ in xrange(5): printer.write() printer.close() for filename in expected_files: assert_isfile_and_remove(filename)
def test_print_events(): del_component_instances(['earth_port']) contents = """ name: earth_port class: EarthPort print: - name: earth_surface__temperature interval: 0.1 format: nc - name: earth_surface__density interval: 20. format: vtk - name: glacier_top_surface__slope interval: 0.3 format: nc """ comp = Component.from_string(contents) comp.go() assert_equal(comp._port.current_time, 100.) assert_isfile_and_remove('earth_surface__temperature.nc') assert_isfile_and_remove('glacier_top_surface__slope.nc') for i in xrange(5): assert_isfile_and_remove('earth_surface__density_%04d.vtu' % i)
def test_time_series(): expected_files = [ "sea_floor_surface_sediment__mean_of_grain_size_0000.dat", "sea_floor_surface_sediment__mean_of_grain_size_0000.bov", "sea_floor_surface_sediment__mean_of_grain_size_0001.dat", "sea_floor_surface_sediment__mean_of_grain_size_0001.bov", "sea_floor_surface_sediment__mean_of_grain_size_0002.dat", "sea_floor_surface_sediment__mean_of_grain_size_0002.bov", "sea_floor_surface_sediment__mean_of_grain_size_0003.dat", "sea_floor_surface_sediment__mean_of_grain_size_0003.bov", "sea_floor_surface_sediment__mean_of_grain_size_0004.dat", "sea_floor_surface_sediment__mean_of_grain_size_0004.bov", ] port = UniformRectilinearGridPort() printer = BovPortPrinter(port, "sea_floor_surface_sediment__mean_of_grain_size") printer.open() for _ in xrange(5): printer.write() printer.close() for filename in expected_files: assert_isfile_and_remove(filename)
def test_time_series(): expected_files = [ "sea_floor_surface_sediment__mean_of_grain_size_0000.dat", "sea_floor_surface_sediment__mean_of_grain_size_0000.bov", "sea_floor_surface_sediment__mean_of_grain_size_0001.dat", "sea_floor_surface_sediment__mean_of_grain_size_0001.bov", "sea_floor_surface_sediment__mean_of_grain_size_0002.dat", "sea_floor_surface_sediment__mean_of_grain_size_0002.bov", "sea_floor_surface_sediment__mean_of_grain_size_0003.dat", "sea_floor_surface_sediment__mean_of_grain_size_0003.bov", "sea_floor_surface_sediment__mean_of_grain_size_0004.dat", "sea_floor_surface_sediment__mean_of_grain_size_0004.bov", ] port = UniformRectilinearGridPort() printer = BovPortPrinter(port, "sea_floor_surface_sediment__mean_of_grain_size") printer.open() for _ in xrange(5): printer.write() printer.close() for filename in expected_files: assert_isfile_and_remove(filename)
def test_multiple_printers(): queue = PortPrinter.from_string(""" [print.air__density] format=vtk port=air_port [print.glacier_top_surface__slope] format=nc port=earth_port """) assert_is_instance(queue, list) for printer in queue: printer.open() for _ in xrange(5): for printer in queue: printer.write() assert_isfile_and_remove('air__density_0000.vtu') assert_isfile_and_remove('air__density_0001.vtu') assert_isfile_and_remove('air__density_0002.vtu') assert_isfile_and_remove('air__density_0003.vtu') assert_isfile_and_remove('air__density_0004.vtu') assert_isfile_and_remove('glacier_top_surface__slope.nc')
def test_two_events(): foo = PrintEvent(port='air_port', name='air__density', format='vtk') bar = PrintEvent(port='air_port', name='air__temperature', format='vtk') with EventManager(((foo, 1.), (bar, 1.2))) as mngr: mngr.run(1.) assert_isfile_and_remove('air__density_0000.vtu') mngr.run(2.) assert_isfile_and_remove('air__density_0001.vtu') assert_isfile_and_remove('air__temperature_0000.vtu') assert_equal(mngr.time, 2.) mngr.run(5.) assert_equal(mngr.time, 5.) assert_isfile_and_remove('air__density_0002.vtu') assert_isfile_and_remove('air__density_0003.vtu') assert_isfile_and_remove('air__density_0004.vtu') assert_false(os.path.exists('air__density_0005.vtu')) assert_isfile_and_remove('air__temperature_0001.vtu') assert_isfile_and_remove('air__temperature_0002.vtu') assert_isfile_and_remove('air__temperature_0003.vtu') assert_false(os.path.exists('air__temperature_0004.vtu'))