diff --git a/include/world_builder/features/subducting_plate_models/velocity/along_surface.h b/include/world_builder/features/subducting_plate_models/velocity/along_surface.h new file mode 100644 index 000000000..a7ab2d90c --- /dev/null +++ b/include/world_builder/features/subducting_plate_models/velocity/along_surface.h @@ -0,0 +1,95 @@ +/* + Copyright (C) 2018-2026 by the authors of the World Builder code. + + This file is part of the World Builder. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#ifndef WORLD_BUILDER_FEATURES_SUBDUCTING_PLATE_MODELS_VELOCITY_ALONG_SURFACE_H +#define WORLD_BUILDER_FEATURES_SUBDUCTING_PLATE_MODELS_VELOCITY_ALONG_SURFACE_H + + +#include "world_builder/features/subducting_plate_models/velocity/interface.h" +#include "world_builder/features/feature_utilities.h" + + +namespace WorldBuilder +{ + + namespace Features + { + namespace SubductingPlateModels + { + namespace Velocity + { + /** + * This class represents a subducting plate and can implement submodules + * for velocity and composition. These submodules determine what + * the returned velocity or composition of the velocity and composition + * functions of this class will be. + */ + class AlongSurface final: public Interface + { + public: + /** + * constructor + */ + AlongSurface(WorldBuilder::World *world); + + /** + * Destructor + */ + ~AlongSurface() override final; + + /** + * declare and read in the world builder file into the parameters class + */ + static + void declare_entries(Parameters &prm, const std::string &parent_name = ""); + + /** + * declare and read in the world builder file into the parameters class + */ + void parse_entries(Parameters &prm) override final; + + + /** + * Returns a velocity based on the given position, depth in the model, + * gravity and current velocity. + */ + std::array get_velocity(const Point<3> &position, + const double depth, + const double gravity, + std::array velocity, + const double feature_min_depth, + const double feature_max_depth, + const WorldBuilder::Utilities::PointDistanceFromCurvedPlanes &distance_from_planes, + const AdditionalParameters &additional_parameters) const override final; + + + private: + // uniform raw velocity submodule parameters + double min_depth; + double max_depth; + double velocity_magnitude; + Operations operation; + + }; + } // namespace Velocity + } // namespace SubductingPlateModels + } // namespace Features +} // namespace WorldBuilder + +#endif diff --git a/include/world_builder/utilities.h b/include/world_builder/utilities.h index 862ef3895..279a1056f 100644 --- a/include/world_builder/utilities.h +++ b/include/world_builder/utilities.h @@ -308,6 +308,7 @@ namespace WorldBuilder fraction_of_segment(NaN::DSNAN), section(NaN::ISNAN), segment(NaN::ISNAN), + angle(NaN::DSNAN), average_angle(NaN::DSNAN), depth_reference_surface(NaN::DSNAN), closest_trench_point(Point<3>(coordinate_system)) @@ -346,6 +347,13 @@ namespace WorldBuilder */ size_t segment; + // todo_velo + /** + * The dip angle of the plane at the location where the + * point is projected onto the plane. + */ + double angle; + /** * The average dip angle of the plane at the location where the * point is projected onto the plane. diff --git a/source/world_builder/features/subducting_plate_models/velocity/along_surface.cc b/source/world_builder/features/subducting_plate_models/velocity/along_surface.cc new file mode 100644 index 000000000..4dcb09905 --- /dev/null +++ b/source/world_builder/features/subducting_plate_models/velocity/along_surface.cc @@ -0,0 +1,122 @@ +/* + Copyright (C) 2018-2026 by the authors of the World Builder code. + + This file is part of the World Builder. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . +*/ + +#include "world_builder/features/subducting_plate_models/velocity/along_surface.h" + + +#include "world_builder/nan.h" +#include "world_builder/types/array.h" +#include "world_builder/types/double.h" +#include "world_builder/types/object.h" +#include "world_builder/utilities.h" + + +namespace WorldBuilder +{ + + using namespace Utilities; + + namespace Features + { + namespace SubductingPlateModels + { + namespace Velocity + { + AlongSurface::AlongSurface(WorldBuilder::World *world_) + : + min_depth(NaN::DSNAN), + max_depth(NaN::DSNAN), + velocity_magnitude(NaN::DSNAN), + operation(Operations::REPLACE) + { + this->world = world_; + this->name = "along surface"; + } + + AlongSurface::~AlongSurface() + = default; + + void + AlongSurface::declare_entries(Parameters &prm, const std::string & /*unused*/) + { + // Document plugin and require entries if needed. + // Add `velocity magnitude` and to the required parameters. + prm.declare_entry("", Types::Object({"velocity magnitude"}), + "Uniform velocity model. Set the velocity to a constant value."); + + // Declare entries of this plugin + prm.declare_entry("min distance slab top", Types::Double(0), + "todo The depth in meters from which the composition of this feature is present."); + + prm.declare_entry("max distance slab top", Types::Double(std::numeric_limits::max()), + "todo The depth in meters to which the composition of this feature is present."); + + prm.declare_entry("velocity magnitude", Types::Double(0), + "The velocity in meter per year"); + + } + + void + AlongSurface::parse_entries(Parameters &prm) + { + + min_depth = prm.get("min distance slab top"); + max_depth = prm.get("max distance slab top"); + operation = string_operations_to_enum(prm.get("operation")); + velocity_magnitude = prm.get("velocity magnitude"); + } + + + std::array + AlongSurface::get_velocity(const Point<3> & /*position_in_cartesian_coordinates*/, + const double /*depth*/, + const double /*gravity*/, + std::array velocity_, + const double /*feature_min_depth*/, + const double /*feature_max_depth*/, + const WorldBuilder::Utilities::PointDistanceFromCurvedPlanes &distance_from_plane, + const AdditionalParameters & /*additional_parameters*/) const + { + + if (distance_from_plane.distance_from_plane <= max_depth && distance_from_plane.distance_from_plane >= min_depth) + { + const double angle = distance_from_plane.angle; + + const double sign_vx = -1.0; // place holder for modify vx direction + const double vx = sign_vx * velocity_magnitude * std::cos(angle); + const double vy = 0.0; + const double vz = -velocity_magnitude * std::sin(angle); + + return {{ + apply_operation(operation,velocity_[0],vx), + apply_operation(operation,velocity_[1],vy), + apply_operation(operation,velocity_[2],vz) + } + }; + } + + return velocity_; + } + + WB_REGISTER_FEATURE_SUBDUCTING_PLATE_VELOCITY_MODEL(AlongSurface, along surface) + } // namespace Velocity + } // namespace SubductingPlateModels + } // namespace Features +} // namespace WorldBuilder + diff --git a/source/world_builder/utilities.cc b/source/world_builder/utilities.cc index a31881e4b..7afa6cdd7 100644 --- a/source/world_builder/utilities.cc +++ b/source/world_builder/utilities.cc @@ -444,8 +444,10 @@ namespace WorldBuilder // The 'vertical' fraction, indicates how far in the current segment the // point on the line is. double segment_fraction = 0.0; + double current_angle = 0.0; double total_average_angle = 0.0; double depth_reference_surface = 0.0; + double new_check_point_angle = 0.0; const DepthMethod depth_method = coordinate_system->depth_method(); @@ -856,6 +858,7 @@ namespace WorldBuilder new_distance = std::numeric_limits::infinity(); new_along_plane_distance = std::numeric_limits::infinity(); new_depth_reference_surface = std::numeric_limits::infinity(); + // new_check_point_angle = std::numeric_limits::infinity(); } else { @@ -867,6 +870,7 @@ namespace WorldBuilder new_distance = side_of_line * (check_point_2d - Pb).norm(); new_along_plane_distance = (begin_segment - Pb).norm(); new_depth_reference_surface = start_radius - Pb[1]; + new_check_point_angle = interpolated_angle_top; WBAssert(!std::isnan(new_depth_reference_surface), "new_depth_reference_surface is not a number: " << new_depth_reference_surface << ". " @@ -1005,6 +1009,7 @@ namespace WorldBuilder new_along_plane_distance = (radius_angle_circle * check_point_angle - radius_angle_circle * interpolated_angle_top) * (difference_in_angle_along_segment < 0 ? 1 : -1); // compute the new depth by rotating the begin point to the check point location. new_depth_reference_surface = start_radius-(sin(check_point_angle + interpolated_angle_top) * BSPC[0] + cos(check_point_angle + interpolated_angle_top) * BSPC[1] + center_circle[1]); + new_check_point_angle = check_point_angle; WBAssert(!std::isnan(new_depth_reference_surface), "new_depth_reference_surface is not a number: " << new_depth_reference_surface << ". " @@ -1033,8 +1038,9 @@ namespace WorldBuilder section_fraction = fraction_CPL_P1P2; segment = i_segment; segment_fraction = new_along_plane_distance / interpolated_segment_length; + current_angle = 0.5 * (interpolated_angle_top + interpolated_angle_bottom - 2 * add_angle); total_average_angle = (average_angle * total_length - + 0.5 * (interpolated_angle_top + interpolated_angle_bottom - 2 * add_angle) * new_along_plane_distance); + + current_angle * new_along_plane_distance); total_average_angle = (std::fabs(total_average_angle) < std::numeric_limits::epsilon() ? 0 : total_average_angle / (total_length + new_along_plane_distance)); depth_reference_surface = new_depth_reference_surface; @@ -1059,6 +1065,7 @@ namespace WorldBuilder return_values.fraction_of_segment = segment_fraction; return_values.section = section; return_values.segment = segment; + return_values.angle = new_check_point_angle; // current_angle; // add_angle; // total_average_angle; // interpolated_angle_top; return_values.average_angle = total_average_angle; return_values.depth_reference_surface = depth_reference_surface; return_values.closest_trench_point = closest_point_on_line_cartesian; diff --git a/tests/gwb-grid/oceanic_subduction_along_surface_velocity.grid b/tests/gwb-grid/oceanic_subduction_along_surface_velocity.grid new file mode 100644 index 000000000..925611a00 --- /dev/null +++ b/tests/gwb-grid/oceanic_subduction_along_surface_velocity.grid @@ -0,0 +1,14 @@ +# Grid File for creating vtk files to view in Paraview or Visit +grid_type = cartesian +dim = 2 +compositions = 1 + +# domain of the grid (x and y are the surface, z is vertical with 0 at the bottom) +x_min = 0e3 +x_max = 3000e3 +z_min = 0e3 +z_max = 1000e3 + +# grid properties +n_cell_x = 30 +n_cell_z = 10 diff --git a/tests/gwb-grid/oceanic_subduction_along_surface_velocity.vtu b/tests/gwb-grid/oceanic_subduction_along_surface_velocity.vtu new file mode 100644 index 000000000..b81175e06 --- /dev/null +++ b/tests/gwb-grid/oceanic_subduction_along_surface_velocity.vtu @@ -0,0 +1,48 @@ + + + + + + +1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2117.01 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2058.55 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 2001.71 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1946.44 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1872.95 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1892.7 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1825.12 1530.4 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1840.44 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1632.56 1299.49 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1789.62 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1618.02 1031.77 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1740.21 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1690.49 1559.14 896.197 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1692.16 1650.38 1645.43 1645.41 1644.98 1643.01 1636.76 1492.91 1305.94 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 1645.43 293.15 293.15 293.15 293.15 293.15 293.15 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 + + +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.772706 -1.8447 0 -0.703935 -1.87202 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.04891 -1.70288 0 -0.890613 -1.79076 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.36086 -1.46563 0 -1.33681 -1.4876 0 -1.16134 -1.62828 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.49774 -1.32543 0 -1.44237 -1.38549 0 -1.3646 -1.46214 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 -1.98424 -0.250544 0 -1.485 -1.33969 0 -1.49392 -1.32974 0 -1.49189 -1.33201 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 -1.9903 -0.196692 0 -1.62461 -1.16647 0 -1.47961 -1.34564 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 + + +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + + + + +0 0 0 100000 0 0 200000 0 0 300000 0 0 400000 0 0 500000 0 0 600000 0 0 700000 0 0 800000 0 0 900000 0 0 1e+06 0 0 1.1e+06 0 0 1.2e+06 0 0 1.3e+06 0 0 1.4e+06 0 0 1.5e+06 0 0 1.6e+06 0 0 1.7e+06 0 0 1.8e+06 0 0 1.9e+06 0 0 2e+06 0 0 2.1e+06 0 0 2.2e+06 0 0 2.3e+06 0 0 2.4e+06 0 0 2.5e+06 0 0 2.6e+06 0 0 2.7e+06 0 0 2.8e+06 0 0 2.9e+06 0 0 3e+06 0 0 0 100000 0 100000 100000 0 200000 100000 0 300000 100000 0 400000 100000 0 500000 100000 0 600000 100000 0 700000 100000 0 800000 100000 0 900000 100000 0 1e+06 100000 0 1.1e+06 100000 0 1.2e+06 100000 0 1.3e+06 100000 0 1.4e+06 100000 0 1.5e+06 100000 0 1.6e+06 100000 0 1.7e+06 100000 0 1.8e+06 100000 0 1.9e+06 100000 0 2e+06 100000 0 2.1e+06 100000 0 2.2e+06 100000 0 2.3e+06 100000 0 2.4e+06 100000 0 2.5e+06 100000 0 2.6e+06 100000 0 2.7e+06 100000 0 2.8e+06 100000 0 2.9e+06 100000 0 3e+06 100000 0 0 200000 0 100000 200000 0 200000 200000 0 300000 200000 0 400000 200000 0 500000 200000 0 600000 200000 0 700000 200000 0 800000 200000 0 900000 200000 0 1e+06 200000 0 1.1e+06 200000 0 1.2e+06 200000 0 1.3e+06 200000 0 1.4e+06 200000 0 1.5e+06 200000 0 1.6e+06 200000 0 1.7e+06 200000 0 1.8e+06 200000 0 1.9e+06 200000 0 2e+06 200000 0 2.1e+06 200000 0 2.2e+06 200000 0 2.3e+06 200000 0 2.4e+06 200000 0 2.5e+06 200000 0 2.6e+06 200000 0 2.7e+06 200000 0 2.8e+06 200000 0 2.9e+06 200000 0 3e+06 200000 0 0 300000 0 100000 300000 0 200000 300000 0 300000 300000 0 400000 300000 0 500000 300000 0 600000 300000 0 700000 300000 0 800000 300000 0 900000 300000 0 1e+06 300000 0 1.1e+06 300000 0 1.2e+06 300000 0 1.3e+06 300000 0 1.4e+06 300000 0 1.5e+06 300000 0 1.6e+06 300000 0 1.7e+06 300000 0 1.8e+06 300000 0 1.9e+06 300000 0 2e+06 300000 0 2.1e+06 300000 0 2.2e+06 300000 0 2.3e+06 300000 0 2.4e+06 300000 0 2.5e+06 300000 0 2.6e+06 300000 0 2.7e+06 300000 0 2.8e+06 300000 0 2.9e+06 300000 0 3e+06 300000 0 0 400000 0 100000 400000 0 200000 400000 0 300000 400000 0 400000 400000 0 500000 400000 0 600000 400000 0 700000 400000 0 800000 400000 0 900000 400000 0 1e+06 400000 0 1.1e+06 400000 0 1.2e+06 400000 0 1.3e+06 400000 0 1.4e+06 400000 0 1.5e+06 400000 0 1.6e+06 400000 0 1.7e+06 400000 0 1.8e+06 400000 0 1.9e+06 400000 0 2e+06 400000 0 2.1e+06 400000 0 2.2e+06 400000 0 2.3e+06 400000 0 2.4e+06 400000 0 2.5e+06 400000 0 2.6e+06 400000 0 2.7e+06 400000 0 2.8e+06 400000 0 2.9e+06 400000 0 3e+06 400000 0 0 500000 0 100000 500000 0 200000 500000 0 300000 500000 0 400000 500000 0 500000 500000 0 600000 500000 0 700000 500000 0 800000 500000 0 900000 500000 0 1e+06 500000 0 1.1e+06 500000 0 1.2e+06 500000 0 1.3e+06 500000 0 1.4e+06 500000 0 1.5e+06 500000 0 1.6e+06 500000 0 1.7e+06 500000 0 1.8e+06 500000 0 1.9e+06 500000 0 2e+06 500000 0 2.1e+06 500000 0 2.2e+06 500000 0 2.3e+06 500000 0 2.4e+06 500000 0 2.5e+06 500000 0 2.6e+06 500000 0 2.7e+06 500000 0 2.8e+06 500000 0 2.9e+06 500000 0 3e+06 500000 0 0 600000 0 100000 600000 0 200000 600000 0 300000 600000 0 400000 600000 0 500000 600000 0 600000 600000 0 700000 600000 0 800000 600000 0 900000 600000 0 1e+06 600000 0 1.1e+06 600000 0 1.2e+06 600000 0 1.3e+06 600000 0 1.4e+06 600000 0 1.5e+06 600000 0 1.6e+06 600000 0 1.7e+06 600000 0 1.8e+06 600000 0 1.9e+06 600000 0 2e+06 600000 0 2.1e+06 600000 0 2.2e+06 600000 0 2.3e+06 600000 0 2.4e+06 600000 0 2.5e+06 600000 0 2.6e+06 600000 0 2.7e+06 600000 0 2.8e+06 600000 0 2.9e+06 600000 0 3e+06 600000 0 0 700000 0 100000 700000 0 200000 700000 0 300000 700000 0 400000 700000 0 500000 700000 0 600000 700000 0 700000 700000 0 800000 700000 0 900000 700000 0 1e+06 700000 0 1.1e+06 700000 0 1.2e+06 700000 0 1.3e+06 700000 0 1.4e+06 700000 0 1.5e+06 700000 0 1.6e+06 700000 0 1.7e+06 700000 0 1.8e+06 700000 0 1.9e+06 700000 0 2e+06 700000 0 2.1e+06 700000 0 2.2e+06 700000 0 2.3e+06 700000 0 2.4e+06 700000 0 2.5e+06 700000 0 2.6e+06 700000 0 2.7e+06 700000 0 2.8e+06 700000 0 2.9e+06 700000 0 3e+06 700000 0 0 800000 0 100000 800000 0 200000 800000 0 300000 800000 0 400000 800000 0 500000 800000 0 600000 800000 0 700000 800000 0 800000 800000 0 900000 800000 0 1e+06 800000 0 1.1e+06 800000 0 1.2e+06 800000 0 1.3e+06 800000 0 1.4e+06 800000 0 1.5e+06 800000 0 1.6e+06 800000 0 1.7e+06 800000 0 1.8e+06 800000 0 1.9e+06 800000 0 2e+06 800000 0 2.1e+06 800000 0 2.2e+06 800000 0 2.3e+06 800000 0 2.4e+06 800000 0 2.5e+06 800000 0 2.6e+06 800000 0 2.7e+06 800000 0 2.8e+06 800000 0 2.9e+06 800000 0 3e+06 800000 0 0 900000 0 100000 900000 0 200000 900000 0 300000 900000 0 400000 900000 0 500000 900000 0 600000 900000 0 700000 900000 0 800000 900000 0 900000 900000 0 1e+06 900000 0 1.1e+06 900000 0 1.2e+06 900000 0 1.3e+06 900000 0 1.4e+06 900000 0 1.5e+06 900000 0 1.6e+06 900000 0 1.7e+06 900000 0 1.8e+06 900000 0 1.9e+06 900000 0 2e+06 900000 0 2.1e+06 900000 0 2.2e+06 900000 0 2.3e+06 900000 0 2.4e+06 900000 0 2.5e+06 900000 0 2.6e+06 900000 0 2.7e+06 900000 0 2.8e+06 900000 0 2.9e+06 900000 0 3e+06 900000 0 0 1e+06 0 100000 1e+06 0 200000 1e+06 0 300000 1e+06 0 400000 1e+06 0 500000 1e+06 0 600000 1e+06 0 700000 1e+06 0 800000 1e+06 0 900000 1e+06 0 1e+06 1e+06 0 1.1e+06 1e+06 0 1.2e+06 1e+06 0 1.3e+06 1e+06 0 1.4e+06 1e+06 0 1.5e+06 1e+06 0 1.6e+06 1e+06 0 1.7e+06 1e+06 0 1.8e+06 1e+06 0 1.9e+06 1e+06 0 2e+06 1e+06 0 2.1e+06 1e+06 0 2.2e+06 1e+06 0 2.3e+06 1e+06 0 2.4e+06 1e+06 0 2.5e+06 1e+06 0 2.6e+06 1e+06 0 2.7e+06 1e+06 0 2.8e+06 1e+06 0 2.9e+06 1e+06 0 3e+06 1e+06 0 + + + + +0 1 32 31 1 2 33 32 2 3 34 33 3 4 35 34 4 5 36 35 5 6 37 36 6 7 38 37 7 8 39 38 8 9 40 39 9 10 41 40 10 11 42 41 11 12 43 42 12 13 44 43 13 14 45 44 14 15 46 45 15 16 47 46 16 17 48 47 17 18 49 48 18 19 50 49 19 20 51 50 20 21 52 51 21 22 53 52 22 23 54 53 23 24 55 54 24 25 56 55 25 26 57 56 26 27 58 57 27 28 59 58 28 29 60 59 29 30 61 60 31 32 63 62 32 33 64 63 33 34 65 64 34 35 66 65 35 36 67 66 36 37 68 67 37 38 69 68 38 39 70 69 39 40 71 70 40 41 72 71 41 42 73 72 42 43 74 73 43 44 75 74 44 45 76 75 45 46 77 76 46 47 78 77 47 48 79 78 48 49 80 79 49 50 81 80 50 51 82 81 51 52 83 82 52 53 84 83 53 54 85 84 54 55 86 85 55 56 87 86 56 57 88 87 57 58 89 88 58 59 90 89 59 60 91 90 60 61 92 91 62 63 94 93 63 64 95 94 64 65 96 95 65 66 97 96 66 67 98 97 67 68 99 98 68 69 100 99 69 70 101 100 70 71 102 101 71 72 103 102 72 73 104 103 73 74 105 104 74 75 106 105 75 76 107 106 76 77 108 107 77 78 109 108 78 79 110 109 79 80 111 110 80 81 112 111 81 82 113 112 82 83 114 113 83 84 115 114 84 85 116 115 85 86 117 116 86 87 118 117 87 88 119 118 88 89 120 119 89 90 121 120 90 91 122 121 91 92 123 122 93 94 125 124 94 95 126 125 95 96 127 126 96 97 128 127 97 98 129 128 98 99 130 129 99 100 131 130 100 101 132 131 101 102 133 132 102 103 134 133 103 104 135 134 104 105 136 135 105 106 137 136 106 107 138 137 107 108 139 138 108 109 140 139 109 110 141 140 110 111 142 141 111 112 143 142 112 113 144 143 113 114 145 144 114 115 146 145 115 116 147 146 116 117 148 147 117 118 149 148 118 119 150 149 119 120 151 150 120 121 152 151 121 122 153 152 122 123 154 153 124 125 156 155 125 126 157 156 126 127 158 157 127 128 159 158 128 129 160 159 129 130 161 160 130 131 162 161 131 132 163 162 132 133 164 163 133 134 165 164 134 135 166 165 135 136 167 166 136 137 168 167 137 138 169 168 138 139 170 169 139 140 171 170 140 141 172 171 141 142 173 172 142 143 174 173 143 144 175 174 144 145 176 175 145 146 177 176 146 147 178 177 147 148 179 178 148 149 180 179 149 150 181 180 150 151 182 181 151 152 183 182 152 153 184 183 153 154 185 184 155 156 187 186 156 157 188 187 157 158 189 188 158 159 190 189 159 160 191 190 160 161 192 191 161 162 193 192 162 163 194 193 163 164 195 194 164 165 196 195 165 166 197 196 166 167 198 197 167 168 199 198 168 169 200 199 169 170 201 200 170 171 202 201 171 172 203 202 172 173 204 203 173 174 205 204 174 175 206 205 175 176 207 206 176 177 208 207 177 178 209 208 178 179 210 209 179 180 211 210 180 181 212 211 181 182 213 212 182 183 214 213 183 184 215 214 184 185 216 215 186 187 218 217 187 188 219 218 188 189 220 219 189 190 221 220 190 191 222 221 191 192 223 222 192 193 224 223 193 194 225 224 194 195 226 225 195 196 227 226 196 197 228 227 197 198 229 228 198 199 230 229 199 200 231 230 200 201 232 231 201 202 233 232 202 203 234 233 203 204 235 234 204 205 236 235 205 206 237 236 206 207 238 237 207 208 239 238 208 209 240 239 209 210 241 240 210 211 242 241 211 212 243 242 212 213 244 243 213 214 245 244 214 215 246 245 215 216 247 246 217 218 249 248 218 219 250 249 219 220 251 250 220 221 252 251 221 222 253 252 222 223 254 253 223 224 255 254 224 225 256 255 225 226 257 256 226 227 258 257 227 228 259 258 228 229 260 259 229 230 261 260 230 231 262 261 231 232 263 262 232 233 264 263 233 234 265 264 234 235 266 265 235 236 267 266 236 237 268 267 237 238 269 268 238 239 270 269 239 240 271 270 240 241 272 271 241 242 273 272 242 243 274 273 243 244 275 274 244 245 276 275 245 246 277 276 246 247 278 277 248 249 280 279 249 250 281 280 250 251 282 281 251 252 283 282 252 253 284 283 253 254 285 284 254 255 286 285 255 256 287 286 256 257 288 287 257 258 289 288 258 259 290 289 259 260 291 290 260 261 292 291 261 262 293 292 262 263 294 293 263 264 295 294 264 265 296 295 265 266 297 296 266 267 298 297 267 268 299 298 268 269 300 299 269 270 301 300 270 271 302 301 271 272 303 302 272 273 304 303 273 274 305 304 274 275 306 305 275 276 307 306 276 277 308 307 277 278 309 308 279 280 311 310 280 281 312 311 281 282 313 312 282 283 314 313 283 284 315 314 284 285 316 315 285 286 317 316 286 287 318 317 287 288 319 318 288 289 320 319 289 290 321 320 290 291 322 321 291 292 323 322 292 293 324 323 293 294 325 324 294 295 326 325 295 296 327 326 296 297 328 327 297 298 329 328 298 299 330 329 299 300 331 330 300 301 332 331 301 302 333 332 302 303 334 333 303 304 335 334 304 305 336 335 305 306 337 336 306 307 338 337 307 308 339 338 308 309 340 339 + + +4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200 204 208 212 216 220 224 228 232 236 240 244 248 252 256 260 264 268 272 276 280 284 288 292 296 300 304 308 312 316 320 324 328 332 336 340 344 348 352 356 360 364 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 428 432 436 440 444 448 452 456 460 464 468 472 476 480 484 488 492 496 500 504 508 512 516 520 524 528 532 536 540 544 548 552 556 560 564 568 572 576 580 584 588 592 596 600 604 608 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 672 676 680 684 688 692 696 700 704 708 712 716 720 724 728 732 736 740 744 748 752 756 760 764 768 772 776 780 784 788 792 796 800 804 808 812 816 820 824 828 832 836 840 844 848 852 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 916 920 924 928 932 936 940 944 948 952 956 960 964 968 972 976 980 984 988 992 996 1000 1004 1008 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200 + + +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 + + + + + diff --git a/tests/gwb-grid/oceanic_subduction_along_surface_velocity.wb b/tests/gwb-grid/oceanic_subduction_along_surface_velocity.wb new file mode 100644 index 000000000..a17d6df26 --- /dev/null +++ b/tests/gwb-grid/oceanic_subduction_along_surface_velocity.wb @@ -0,0 +1,170 @@ +{ + "version": "1.2", + "cross section": [ + [ + 0, + 0 + ], + [ + 5000e3, + 0e3 + ] + ], + "coordinate system": { + "model": "cartesian" + }, + "gravity model": { + "model": "uniform", + "magnitude": 10 + }, + "features": [ + { + "model": "oceanic plate", + "name": "First oceanic plate", + "max depth": 250e3, + "coordinates": [ + [ + -1e3, + 1e10 + ], + [ + 500e3, + 1e10 + ], + [ + 500e3, + -1e10 + ], + [ + -1e3, + -1e10 + ] + ], + "temperature models": [ + { + "model": "plate model", + "min depth": -10000.0, + "max depth": 150000.0, + "spreading velocity": 0.02, + "ridge coordinates": [ + [ + [ + 0, + -500.0 + ], + [ + 0, + 500.0 + ] + ] + ] + } + ], + "velocity models": [{"model": "uniform raw", "velocity": [2.0, 0, 0]}] + }, + { + "model": "subducting plate", + "name": "Slab", + "coordinates": [ + [ + 500000.0, + -1000.0 + ], + [ + 500000.0, + 1000.0 + ] + ], + "dip point": [ + 20000000.0, + 0.0 + ], + "segments":[ + {"length":11.143e03, "thickness":[200.0e03], "angle":[4.869,5.747]}, + {"length":11.159e03, "thickness":[200.0e03], "angle":[5.747,6.848]}, + {"length":11.184e03, "thickness":[200.0e03], "angle":[6.848,8.260]}, + {"length":11.224e03, "thickness":[200.0e03], "angle":[8.260,10.081]}, + {"length":11.289e03, "thickness":[200.0e03], "angle":[10.081,12.398]}, + {"length":11.392e03, "thickness":[200.0e03], "angle":[12.398,15.240]}, + {"length":11.548e03, "thickness":[200.0e03], "angle":[15.240,18.538]}, + {"length":11.769e03, "thickness":[200.0e03], "angle":[18.538,22.117]}, + {"length":12.057e03, "thickness":[200.0e03], "angle":[22.117,25.727]}, + {"length":12.399e03, "thickness":[200.0e03], "angle":[25.727,29.113]}, + {"length":12.769e03, "thickness":[200.0e03], "angle":[29.113,32.092]}, + {"length":13.134e03, "thickness":[200.0e03], "angle":[32.092,34.585]}, + {"length":13.471e03, "thickness":[200.0e03], "angle":[34.585,36.610]}, + {"length":13.768e03, "thickness":[200.0e03], "angle":[36.610,38.246]}, + {"length":14.022e03, "thickness":[200.0e03], "angle":[38.246,39.580]}, + {"length":14.239e03, "thickness":[200.0e03], "angle":[39.580,40.675]}, + {"length":14.418e03, "thickness":[200.0e03], "angle":[40.675,41.546]}, + {"length":14.553e03, "thickness":[200.0e03], "angle":[41.546,42.175]}, + {"length":14.635e03, "thickness":[200.0e03], "angle":[42.175,42.533]}, + {"length":14.655e03, "thickness":[200.0e03], "angle":[42.533,42.608]}, + {"length":14.614e03, "thickness":[200.0e03], "angle":[42.608,42.426]}, + {"length":14.526e03, "thickness":[200.0e03], "angle":[42.426,42.058]}, + {"length":14.412e03, "thickness":[200.0e03], "angle":[42.058,41.615]}, + {"length":14.306e03, "thickness":[200.0e03], "angle":[41.615,41.230]}, + {"length":14.232e03, "thickness":[200.0e03], "angle":[41.230,41.018]}, + {"length":14.211e03, "thickness":[200.0e03], "angle":[41.018,41.046]}, + {"length":14.245e03, "thickness":[200.0e03], "angle":[41.046,41.302]}, + {"length":14.324e03, "thickness":[200.0e03], "angle":[41.302,41.711]}, + {"length":14.426e03, "thickness":[200.0e03], "angle":[41.711,42.170]}, + {"length":14.531e03, "thickness":[200.0e03], "angle":[42.170,42.605]}, + {"length":14.626e03, "thickness":[200.0e03], "angle":[42.605,43.004]}, + {"length":14.716e03, "thickness":[200.0e03], "angle":[43.004,43.415]}, + {"length":14.820e03, "thickness":[200.0e03], "angle":[43.415,43.913]}, + {"length":14.954e03, "thickness":[200.0e03], "angle":[43.913,44.547]}, + {"length":15.128e03, "thickness":[200.0e03], "angle":[44.547,45.292]}, + {"length":15.328e03, "thickness":[200.0e03], "angle":[45.292,46.052]}, + {"length":15.524e03, "thickness":[200.0e03], "angle":[46.052,46.700]}, + {"length":15.677e03, "thickness":[200.0e03], "angle":[46.700,47.136]}, + {"length":15.762e03, "thickness":[200.0e03], "angle":[47.136,47.339]}, + {"length":15.779e03, "thickness":[200.0e03], "angle":[47.339,47.392]}, + {"length":15.770e03, "thickness":[200.0e03], "angle":[47.392,47.467]}, + {"length":15.791e03, "thickness":[200.0e03], "angle":[47.467,47.784]}, + {"length":15.911e03, "thickness":[200.0e03], "angle":[47.784,48.535]}, + {"length":16.189e03, "thickness":[200.0e03], "angle":[48.535,49.808]}, + {"length":16.662e03, "thickness":[200.0e03], "angle":[49.808,51.565]}, + {"length":17.348e03, "thickness":[200.0e03], "angle":[51.565,53.660]}, + {"length":18.237e03, "thickness":[200.0e03], "angle":[53.660,55.909]}, + {"length":19.307e03, "thickness":[200.0e03], "angle":[55.909,58.147]}, + {"length":20.531e03, "thickness":[200.0e03], "angle":[58.147,60.270]}, + {"length":21.891e03, "thickness":[200.0e03], "angle":[60.270,62.235]}, + {"length":23.385e03, "thickness":[200.0e03], "angle":[62.235,64.049]}, + {"length":25.033e03, "thickness":[200.0e03], "angle":[64.049,65.742]}, + {"length":26.866e03, "thickness":[200.0e03], "angle":[65.742,67.342]}, + {"length":28.894e03, "thickness":[200.0e03], "angle":[67.342,68.853]}, + {"length":31.093e03, "thickness":[200.0e03], "angle":[68.853,70.250]}, + {"length":33.562e03, "thickness":[200.0e03], "angle":[70.250,71.496]} + ], + "temperature models": [ + { + "model": "mass conserving", + "density": 3300, + "thermal conductivity": 3.3, + "adiabatic heating": true, + "ridge coordinates": [ + [ + [ + 0, + -500.0 + ], + [ + 0, + 500.0 + ] + ] + ], + "coupling depth": 50000.0, + "taper distance": 100000.0, + "min distance slab top": -100000.0, + "max distance slab top": 150000.0, + "reference model name": "plate model", + "spreading velocity": 0.02, + "subducting velocity": 0.02 + } + ], + "velocity models": [{"model": "along surface", "velocity magnitude": 2.0}] + } + ] +} \ No newline at end of file diff --git a/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.grid b/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.grid new file mode 100644 index 000000000..925611a00 --- /dev/null +++ b/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.grid @@ -0,0 +1,14 @@ +# Grid File for creating vtk files to view in Paraview or Visit +grid_type = cartesian +dim = 2 +compositions = 1 + +# domain of the grid (x and y are the surface, z is vertical with 0 at the bottom) +x_min = 0e3 +x_max = 3000e3 +z_min = 0e3 +z_max = 1000e3 + +# grid properties +n_cell_x = 30 +n_cell_z = 10 diff --git a/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.vtu b/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.vtu new file mode 100644 index 000000000..80ea09319 --- /dev/null +++ b/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.vtu @@ -0,0 +1,48 @@ + + + + + + +1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 1e+06 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 900000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 800000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 700000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 600000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 500000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 400000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 300000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 200000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2105.78 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2034.44 2017.99 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 2048.72 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1986.91 1506.19 1652.18 1908.19 1981.7 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1993.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1402.02 1340.15 1738.45 1901.84 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1939.21 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1762.07 1098.75 1481.08 1783.32 1872.92 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1886.67 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1531.88 1129.3 1591.86 1790.62 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1835.55 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1776.15 1083.01 1293.65 1660.86 1770.1 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1785.82 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1710.07 879.196 1441.06 1685.47 1733.25 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1737.43 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1496.19 1088.73 1538.29 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1690.36 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 516.933 1084.12 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1644.56 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 + + +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 -0.5 -0.866025 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.5 -0.866025 0 -0.674276 -0.738479 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.692961 -0.720975 0 -0.891591 -0.452842 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 + + +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + + + + +0 0 0 100000 0 0 200000 0 0 300000 0 0 400000 0 0 500000 0 0 600000 0 0 700000 0 0 800000 0 0 900000 0 0 1e+06 0 0 1.1e+06 0 0 1.2e+06 0 0 1.3e+06 0 0 1.4e+06 0 0 1.5e+06 0 0 1.6e+06 0 0 1.7e+06 0 0 1.8e+06 0 0 1.9e+06 0 0 2e+06 0 0 2.1e+06 0 0 2.2e+06 0 0 2.3e+06 0 0 2.4e+06 0 0 2.5e+06 0 0 2.6e+06 0 0 2.7e+06 0 0 2.8e+06 0 0 2.9e+06 0 0 3e+06 0 0 0 100000 0 100000 100000 0 200000 100000 0 300000 100000 0 400000 100000 0 500000 100000 0 600000 100000 0 700000 100000 0 800000 100000 0 900000 100000 0 1e+06 100000 0 1.1e+06 100000 0 1.2e+06 100000 0 1.3e+06 100000 0 1.4e+06 100000 0 1.5e+06 100000 0 1.6e+06 100000 0 1.7e+06 100000 0 1.8e+06 100000 0 1.9e+06 100000 0 2e+06 100000 0 2.1e+06 100000 0 2.2e+06 100000 0 2.3e+06 100000 0 2.4e+06 100000 0 2.5e+06 100000 0 2.6e+06 100000 0 2.7e+06 100000 0 2.8e+06 100000 0 2.9e+06 100000 0 3e+06 100000 0 0 200000 0 100000 200000 0 200000 200000 0 300000 200000 0 400000 200000 0 500000 200000 0 600000 200000 0 700000 200000 0 800000 200000 0 900000 200000 0 1e+06 200000 0 1.1e+06 200000 0 1.2e+06 200000 0 1.3e+06 200000 0 1.4e+06 200000 0 1.5e+06 200000 0 1.6e+06 200000 0 1.7e+06 200000 0 1.8e+06 200000 0 1.9e+06 200000 0 2e+06 200000 0 2.1e+06 200000 0 2.2e+06 200000 0 2.3e+06 200000 0 2.4e+06 200000 0 2.5e+06 200000 0 2.6e+06 200000 0 2.7e+06 200000 0 2.8e+06 200000 0 2.9e+06 200000 0 3e+06 200000 0 0 300000 0 100000 300000 0 200000 300000 0 300000 300000 0 400000 300000 0 500000 300000 0 600000 300000 0 700000 300000 0 800000 300000 0 900000 300000 0 1e+06 300000 0 1.1e+06 300000 0 1.2e+06 300000 0 1.3e+06 300000 0 1.4e+06 300000 0 1.5e+06 300000 0 1.6e+06 300000 0 1.7e+06 300000 0 1.8e+06 300000 0 1.9e+06 300000 0 2e+06 300000 0 2.1e+06 300000 0 2.2e+06 300000 0 2.3e+06 300000 0 2.4e+06 300000 0 2.5e+06 300000 0 2.6e+06 300000 0 2.7e+06 300000 0 2.8e+06 300000 0 2.9e+06 300000 0 3e+06 300000 0 0 400000 0 100000 400000 0 200000 400000 0 300000 400000 0 400000 400000 0 500000 400000 0 600000 400000 0 700000 400000 0 800000 400000 0 900000 400000 0 1e+06 400000 0 1.1e+06 400000 0 1.2e+06 400000 0 1.3e+06 400000 0 1.4e+06 400000 0 1.5e+06 400000 0 1.6e+06 400000 0 1.7e+06 400000 0 1.8e+06 400000 0 1.9e+06 400000 0 2e+06 400000 0 2.1e+06 400000 0 2.2e+06 400000 0 2.3e+06 400000 0 2.4e+06 400000 0 2.5e+06 400000 0 2.6e+06 400000 0 2.7e+06 400000 0 2.8e+06 400000 0 2.9e+06 400000 0 3e+06 400000 0 0 500000 0 100000 500000 0 200000 500000 0 300000 500000 0 400000 500000 0 500000 500000 0 600000 500000 0 700000 500000 0 800000 500000 0 900000 500000 0 1e+06 500000 0 1.1e+06 500000 0 1.2e+06 500000 0 1.3e+06 500000 0 1.4e+06 500000 0 1.5e+06 500000 0 1.6e+06 500000 0 1.7e+06 500000 0 1.8e+06 500000 0 1.9e+06 500000 0 2e+06 500000 0 2.1e+06 500000 0 2.2e+06 500000 0 2.3e+06 500000 0 2.4e+06 500000 0 2.5e+06 500000 0 2.6e+06 500000 0 2.7e+06 500000 0 2.8e+06 500000 0 2.9e+06 500000 0 3e+06 500000 0 0 600000 0 100000 600000 0 200000 600000 0 300000 600000 0 400000 600000 0 500000 600000 0 600000 600000 0 700000 600000 0 800000 600000 0 900000 600000 0 1e+06 600000 0 1.1e+06 600000 0 1.2e+06 600000 0 1.3e+06 600000 0 1.4e+06 600000 0 1.5e+06 600000 0 1.6e+06 600000 0 1.7e+06 600000 0 1.8e+06 600000 0 1.9e+06 600000 0 2e+06 600000 0 2.1e+06 600000 0 2.2e+06 600000 0 2.3e+06 600000 0 2.4e+06 600000 0 2.5e+06 600000 0 2.6e+06 600000 0 2.7e+06 600000 0 2.8e+06 600000 0 2.9e+06 600000 0 3e+06 600000 0 0 700000 0 100000 700000 0 200000 700000 0 300000 700000 0 400000 700000 0 500000 700000 0 600000 700000 0 700000 700000 0 800000 700000 0 900000 700000 0 1e+06 700000 0 1.1e+06 700000 0 1.2e+06 700000 0 1.3e+06 700000 0 1.4e+06 700000 0 1.5e+06 700000 0 1.6e+06 700000 0 1.7e+06 700000 0 1.8e+06 700000 0 1.9e+06 700000 0 2e+06 700000 0 2.1e+06 700000 0 2.2e+06 700000 0 2.3e+06 700000 0 2.4e+06 700000 0 2.5e+06 700000 0 2.6e+06 700000 0 2.7e+06 700000 0 2.8e+06 700000 0 2.9e+06 700000 0 3e+06 700000 0 0 800000 0 100000 800000 0 200000 800000 0 300000 800000 0 400000 800000 0 500000 800000 0 600000 800000 0 700000 800000 0 800000 800000 0 900000 800000 0 1e+06 800000 0 1.1e+06 800000 0 1.2e+06 800000 0 1.3e+06 800000 0 1.4e+06 800000 0 1.5e+06 800000 0 1.6e+06 800000 0 1.7e+06 800000 0 1.8e+06 800000 0 1.9e+06 800000 0 2e+06 800000 0 2.1e+06 800000 0 2.2e+06 800000 0 2.3e+06 800000 0 2.4e+06 800000 0 2.5e+06 800000 0 2.6e+06 800000 0 2.7e+06 800000 0 2.8e+06 800000 0 2.9e+06 800000 0 3e+06 800000 0 0 900000 0 100000 900000 0 200000 900000 0 300000 900000 0 400000 900000 0 500000 900000 0 600000 900000 0 700000 900000 0 800000 900000 0 900000 900000 0 1e+06 900000 0 1.1e+06 900000 0 1.2e+06 900000 0 1.3e+06 900000 0 1.4e+06 900000 0 1.5e+06 900000 0 1.6e+06 900000 0 1.7e+06 900000 0 1.8e+06 900000 0 1.9e+06 900000 0 2e+06 900000 0 2.1e+06 900000 0 2.2e+06 900000 0 2.3e+06 900000 0 2.4e+06 900000 0 2.5e+06 900000 0 2.6e+06 900000 0 2.7e+06 900000 0 2.8e+06 900000 0 2.9e+06 900000 0 3e+06 900000 0 0 1e+06 0 100000 1e+06 0 200000 1e+06 0 300000 1e+06 0 400000 1e+06 0 500000 1e+06 0 600000 1e+06 0 700000 1e+06 0 800000 1e+06 0 900000 1e+06 0 1e+06 1e+06 0 1.1e+06 1e+06 0 1.2e+06 1e+06 0 1.3e+06 1e+06 0 1.4e+06 1e+06 0 1.5e+06 1e+06 0 1.6e+06 1e+06 0 1.7e+06 1e+06 0 1.8e+06 1e+06 0 1.9e+06 1e+06 0 2e+06 1e+06 0 2.1e+06 1e+06 0 2.2e+06 1e+06 0 2.3e+06 1e+06 0 2.4e+06 1e+06 0 2.5e+06 1e+06 0 2.6e+06 1e+06 0 2.7e+06 1e+06 0 2.8e+06 1e+06 0 2.9e+06 1e+06 0 3e+06 1e+06 0 + + + + +0 1 32 31 1 2 33 32 2 3 34 33 3 4 35 34 4 5 36 35 5 6 37 36 6 7 38 37 7 8 39 38 8 9 40 39 9 10 41 40 10 11 42 41 11 12 43 42 12 13 44 43 13 14 45 44 14 15 46 45 15 16 47 46 16 17 48 47 17 18 49 48 18 19 50 49 19 20 51 50 20 21 52 51 21 22 53 52 22 23 54 53 23 24 55 54 24 25 56 55 25 26 57 56 26 27 58 57 27 28 59 58 28 29 60 59 29 30 61 60 31 32 63 62 32 33 64 63 33 34 65 64 34 35 66 65 35 36 67 66 36 37 68 67 37 38 69 68 38 39 70 69 39 40 71 70 40 41 72 71 41 42 73 72 42 43 74 73 43 44 75 74 44 45 76 75 45 46 77 76 46 47 78 77 47 48 79 78 48 49 80 79 49 50 81 80 50 51 82 81 51 52 83 82 52 53 84 83 53 54 85 84 54 55 86 85 55 56 87 86 56 57 88 87 57 58 89 88 58 59 90 89 59 60 91 90 60 61 92 91 62 63 94 93 63 64 95 94 64 65 96 95 65 66 97 96 66 67 98 97 67 68 99 98 68 69 100 99 69 70 101 100 70 71 102 101 71 72 103 102 72 73 104 103 73 74 105 104 74 75 106 105 75 76 107 106 76 77 108 107 77 78 109 108 78 79 110 109 79 80 111 110 80 81 112 111 81 82 113 112 82 83 114 113 83 84 115 114 84 85 116 115 85 86 117 116 86 87 118 117 87 88 119 118 88 89 120 119 89 90 121 120 90 91 122 121 91 92 123 122 93 94 125 124 94 95 126 125 95 96 127 126 96 97 128 127 97 98 129 128 98 99 130 129 99 100 131 130 100 101 132 131 101 102 133 132 102 103 134 133 103 104 135 134 104 105 136 135 105 106 137 136 106 107 138 137 107 108 139 138 108 109 140 139 109 110 141 140 110 111 142 141 111 112 143 142 112 113 144 143 113 114 145 144 114 115 146 145 115 116 147 146 116 117 148 147 117 118 149 148 118 119 150 149 119 120 151 150 120 121 152 151 121 122 153 152 122 123 154 153 124 125 156 155 125 126 157 156 126 127 158 157 127 128 159 158 128 129 160 159 129 130 161 160 130 131 162 161 131 132 163 162 132 133 164 163 133 134 165 164 134 135 166 165 135 136 167 166 136 137 168 167 137 138 169 168 138 139 170 169 139 140 171 170 140 141 172 171 141 142 173 172 142 143 174 173 143 144 175 174 144 145 176 175 145 146 177 176 146 147 178 177 147 148 179 178 148 149 180 179 149 150 181 180 150 151 182 181 151 152 183 182 152 153 184 183 153 154 185 184 155 156 187 186 156 157 188 187 157 158 189 188 158 159 190 189 159 160 191 190 160 161 192 191 161 162 193 192 162 163 194 193 163 164 195 194 164 165 196 195 165 166 197 196 166 167 198 197 167 168 199 198 168 169 200 199 169 170 201 200 170 171 202 201 171 172 203 202 172 173 204 203 173 174 205 204 174 175 206 205 175 176 207 206 176 177 208 207 177 178 209 208 178 179 210 209 179 180 211 210 180 181 212 211 181 182 213 212 182 183 214 213 183 184 215 214 184 185 216 215 186 187 218 217 187 188 219 218 188 189 220 219 189 190 221 220 190 191 222 221 191 192 223 222 192 193 224 223 193 194 225 224 194 195 226 225 195 196 227 226 196 197 228 227 197 198 229 228 198 199 230 229 199 200 231 230 200 201 232 231 201 202 233 232 202 203 234 233 203 204 235 234 204 205 236 235 205 206 237 236 206 207 238 237 207 208 239 238 208 209 240 239 209 210 241 240 210 211 242 241 211 212 243 242 212 213 244 243 213 214 245 244 214 215 246 245 215 216 247 246 217 218 249 248 218 219 250 249 219 220 251 250 220 221 252 251 221 222 253 252 222 223 254 253 223 224 255 254 224 225 256 255 225 226 257 256 226 227 258 257 227 228 259 258 228 229 260 259 229 230 261 260 230 231 262 261 231 232 263 262 232 233 264 263 233 234 265 264 234 235 266 265 235 236 267 266 236 237 268 267 237 238 269 268 238 239 270 269 239 240 271 270 240 241 272 271 241 242 273 272 242 243 274 273 243 244 275 274 244 245 276 275 245 246 277 276 246 247 278 277 248 249 280 279 249 250 281 280 250 251 282 281 251 252 283 282 252 253 284 283 253 254 285 284 254 255 286 285 255 256 287 286 256 257 288 287 257 258 289 288 258 259 290 289 259 260 291 290 260 261 292 291 261 262 293 292 262 263 294 293 263 264 295 294 264 265 296 295 265 266 297 296 266 267 298 297 267 268 299 298 268 269 300 299 269 270 301 300 270 271 302 301 271 272 303 302 272 273 304 303 273 274 305 304 274 275 306 305 275 276 307 306 276 277 308 307 277 278 309 308 279 280 311 310 280 281 312 311 281 282 313 312 282 283 314 313 283 284 315 314 284 285 316 315 285 286 317 316 286 287 318 317 287 288 319 318 288 289 320 319 289 290 321 320 290 291 322 321 291 292 323 322 292 293 324 323 293 294 325 324 294 295 326 325 295 296 327 326 296 297 328 327 297 298 329 328 298 299 330 329 299 300 331 330 300 301 332 331 301 302 333 332 302 303 334 333 303 304 335 334 304 305 336 335 305 306 337 336 306 307 338 337 307 308 339 338 308 309 340 339 + + +4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 108 112 116 120 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 184 188 192 196 200 204 208 212 216 220 224 228 232 236 240 244 248 252 256 260 264 268 272 276 280 284 288 292 296 300 304 308 312 316 320 324 328 332 336 340 344 348 352 356 360 364 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 428 432 436 440 444 448 452 456 460 464 468 472 476 480 484 488 492 496 500 504 508 512 516 520 524 528 532 536 540 544 548 552 556 560 564 568 572 576 580 584 588 592 596 600 604 608 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 672 676 680 684 688 692 696 700 704 708 712 716 720 724 728 732 736 740 744 748 752 756 760 764 768 772 776 780 784 788 792 796 800 804 808 812 816 820 824 828 832 836 840 844 848 852 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 916 920 924 928 932 936 940 944 948 952 956 960 964 968 972 976 980 984 988 992 996 1000 1004 1008 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200 + + +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 + + + + + diff --git a/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.wb b/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.wb new file mode 100644 index 000000000..577a671aa --- /dev/null +++ b/tests/gwb-grid/oceanic_subduction_along_surface_velocity_dip.wb @@ -0,0 +1,32 @@ +{ + "version":"1.2", + "coordinate system":{"model":"cartesian"}, + "cross section":[[0,450e3],[10e3,450e3]], + "features": + [ + { + "model":"subducting plate", "name":"Slab", "dip point":[0,0], + "coordinates":[[1500e3,1000e3],[1600e3,350e3],[1500e3,0]], + "segments": + [ + {"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[0,60], + "composition models":[ + {"model":"uniform", "compositions":[3], "max distance slab top":50e3}, + {"model":"uniform", "compositions":[2], "min distance slab top":50e3, "max distance slab top":100e3}]}, + {"length":1000e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[60]} + ], + "sections": + [ + {"coordinate":0, + "segments":[{"length":300e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[0,60]}, + {"length":400e3, "thickness":[300e3], "top truncation":[-100e3], "angle":[60]}], + "composition models":[{"model":"uniform", "compositions":[1],"max distance slab top":100e3}]} + ], + "temperature models":[{"model":"mass conserving", "density":3300, "spreading velocity":0.02, "subducting velocity":0.02, + "ridge coordinates":[[[5e6,-1],[5e6,2000e3]]],"coupling depth":50e3, + "min distance slab top":-200e3, "max distance slab top":300e3}], + "composition models":[{"model":"uniform", "compositions":[2], "max distance slab top":100e3}], + "velocity models": [{"model":"along surface", "velocity magnitude": 1.0}] + } + ] +} \ No newline at end of file