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