def test_derived_points_with_bounds(self): self.sigma.guess_bounds() self.zlev.guess_bounds() # Broadcast expected points given the known dimensional mapping. sigma = self.sigma.points[..., np.newaxis, np.newaxis] eta = self.eta.points[np.newaxis, ...] depth = self.depth.points[np.newaxis, ...] depth_c = self.depth_c.points nsigma = self.nsigma.points zlev = self.zlev.points[..., np.newaxis, np.newaxis] # Calculate the expected coordinate with points. expected_coord = self.derive(sigma, eta, depth, depth_c, nsigma, zlev) # Broadcast expected bounds given the known dimensional mapping. sigma = self.sigma.bounds.reshape(sigma.shape + (2,)) eta = self.eta.points.reshape(eta.shape + (1,)) depth = self.depth.points.reshape(depth.shape + (1,)) depth_c = self.depth_c.points.reshape(depth_c.shape + (1,)) nsigma = self.nsigma.points.reshape(nsigma.shape + (1,)) zlev = self.zlev.bounds.reshape(zlev.shape + (2,)) # Calculate the expected bounds. bounds = self.derive(sigma, eta, depth, depth_c, nsigma, zlev, coord=False) expected_coord.bounds = bounds # Calculate the actual result. factory = OceanSigmaZFactory(**self.kwargs) coord = factory.make_coord(self.coord_dims) self.assertEqual(expected_coord, coord)
def test_derived_points_with_bounds(self): self.sigma.guess_bounds() self.zlev.guess_bounds() # Broadcast expected points given the known dimensional mapping. sigma = self.sigma.points[..., np.newaxis, np.newaxis] eta = self.eta.points[np.newaxis, ...] depth = self.depth.points[np.newaxis, ...] depth_c = self.depth_c.points nsigma = self.nsigma.points zlev = self.zlev.points[..., np.newaxis, np.newaxis] # Calculate the expected coordinate with points. expected_coord = self.derive(sigma, eta, depth, depth_c, nsigma, zlev) # Broadcast expected bounds given the known dimensional mapping. sigma = self.sigma.bounds.reshape(sigma.shape + (2, )) eta = self.eta.points.reshape(eta.shape + (1, )) depth = self.depth.points.reshape(depth.shape + (1, )) depth_c = self.depth_c.points.reshape(depth_c.shape + (1, )) nsigma = self.nsigma.points.reshape(nsigma.shape + (1, )) zlev = self.zlev.bounds.reshape(zlev.shape + (2, )) # Calculate the expected bounds. bounds = self.derive(sigma, eta, depth, depth_c, nsigma, zlev, coord=False) expected_coord.bounds = bounds # Calculate the actual result. factory = OceanSigmaZFactory(**self.kwargs) coord = factory.make_coord(self.coord_dims) self.assertEqual(expected_coord, coord)
def test_derived_points(self): # Broadcast expected points given the known dimensional mapping. sigma = self.sigma.points[..., np.newaxis, np.newaxis] eta = self.eta.points[np.newaxis, ...] depth = self.depth.points[np.newaxis, ...] depth_c = self.depth_c.points nsigma = self.nsigma.points zlev = self.zlev.points[..., np.newaxis, np.newaxis] # Calculate the expected result. expected_coord = self.derive(sigma, eta, depth, depth_c, nsigma, zlev) # Calculate the actual result. factory = OceanSigmaZFactory(**self.kwargs) coord = factory.make_coord(self.coord_dims) self.assertEqual(expected_coord, coord)