Skip to content

geometry

get_center_vector(xyz_gridpoints, grid_type, nhalo, tile_partitioner, rank, np)

Calculates the cartesian unit vectors at the center of each grid cell.

Returns:

Name Type Description
vector1

the horizontal unit vector

vector2

the vertical unit vector

calc_unit_vector_west(xyz_dgrid, xyz_agrid, grid_type, nhalo, tile_partitioner, rank, np)

Calculates the cartesian unit vectors at the left/right edges of each grid cell.

Returns:

Name Type Description
vector1

the horizontal unit vector

vector2

the vertical unit vector

calc_unit_vector_south(xyz_dgrid, xyz_agrid, grid_type, nhalo, tile_partitioner, rank, np)

Calculates the cartesian unit vectors at the top/bottom edges of each grid cell.

Returns:

Name Type Description
vector1

the horizontal unit vector

vector2

the vertical unit vector

calculate_supergrid_cos_sin(xyz_dgrid, xyz_agrid, ec1, ec2, grid_type, nhalo, tile_partitioner, rank, np)

Calculates the cosine and sine of the grid angles at each of the following points in a supergrid cell: 9---4---8 | | 1 5 3 | | 6---2---7

calculate_l2c_vu(dgrid, nhalo, np)

calculate_xy_unit_vectors(xyz_dgrid, nhalo, tile_partitioner, rank, np)

Calculates the cartesian unit vectors at the corners of each grid cell. vector1 is the horizontal unit vector, while vector2 is the vertical unit vector

calculate_trig_uv(xyz_dgrid, cos_sg, sin_sg, nhalo, tile_partitioner, rank, np)

Calculates more trig quantities

supergrid_corner_fix(cos_sg, sin_sg, nhalo, tile_partitioner, rank)

filling the ghost cells overwrites some of the sin_sg values along the outward-facing edge of a tile in the corners, which is incorrect. This function resolves the issue by filling in the appropriate values after the _fill_single_halo_corner call

calculate_divg_del6(sin_sg, sina_u, sina_v, dx, dy, dxc, dyc, nhalo, tile_partitioner, rank)

calculate_grid_z(ec1, ec2, vlon, vlat, np)

calculate_grid_a(z11, z12, z21, z22, sin_sg5)

edge_factors(grid_quantity, agrid, grid_type, nhalo, tile_partitioner, rank, radius, np)

Creates interpolation factors from the A grid to the B grid on tile edges

set_west_edge_factor(grid, agrid, nhalo, radius, jstart, jend, np)

set_east_edge_factor(grid, agrid, nhalo, radius, jstart, jend, np)

set_south_edge_factor(grid, agrid, nhalo, radius, jstart, jend, np)

set_north_edge_factor(grid, agrid, nhalo, radius, jstart, jend, np)

efactor_a2c_v(grid_quantity, agrid, grid_type, nhalo, tile_partitioner, rank, radius, np)

Creates interpolation factors at tile edges for interpolating vectors from A to C grids

calculate_west_edge_vectors(grid, agrid, jm2, nhalo, radius, np)

calculate_east_edge_vectors(grid, agrid, jm2, nhalo, radius, np)

calculate_south_edge_vectors(grid, agrid, im2, nhalo, radius, np)

calculate_north_edge_vectors(grid, agrid, jm2, nhalo, radius, np)

unit_vector_lonlat(grid, np)

Calculates the cartesian unit vectors for each point on a lat/lon grid