Skip to content

Commit 241379f

Browse files
committed
refactor: rename grid spacing functions
1 parent 12187e6 commit 241379f

3 files changed

Lines changed: 15 additions & 17 deletions

File tree

dominosee/grid/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
cart_to_geo,
2828
geo_to_cart,
2929
geo_distance,
30-
deg_to_eq_spacing,
31-
eq_spacing_to_deg,
30+
deg_to_equatorial_distance,
31+
equatorial_distance_to_deg,
3232
neighbour_distance,
3333
)
3434

@@ -48,7 +48,7 @@
4848
'cart_to_geo',
4949
'geo_to_cart',
5050
'geo_distance',
51-
'deg_to_eq_spacing',
52-
'eq_spacing_to_deg',
51+
'deg_to_equatorial_distance',
52+
'equatorial_distance_to_deg',
5353
'neighbour_distance',
5454
]

dominosee/grid/grid.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def create_grid(self) -> Dict[str, np.ndarray]:
160160

161161
def get_distance_equator(self):
162162
"""Return distance between points at the equator."""
163-
d_lon = deg_to_eq_spacing(self.grid_step_lon, radius=6371)
163+
d_lon = deg_to_equatorial_distance(self.grid_step_lon, radius=6371)
164164
return d_lon
165165

166166
@staticmethod
@@ -220,7 +220,7 @@ def create_grid(self): # TODO: 确认高斯网格的起止点
220220

221221
def get_distance_equator(self):
222222
"""Return distance between points at the equator."""
223-
d_lon = deg_to_eq_spacing(self.grid_step_lon, radius=6371)
223+
d_lon = deg_to_equatorial_distance(self.grid_step_lon, radius=6371)
224224
return d_lon
225225

226226

@@ -742,7 +742,7 @@ def to_cdo_gridfile(self, filepath = None, out_vertex = False):
742742

743743
def to_gridfile(self, filepath = None, out_vertex = False):
744744
if filepath is None:
745-
filepath = f'feketegrid_{self.num_points}_{self.num_iter}.txt'
745+
filepath = f'feketegrid_n{self.num_points}_it{self.num_iter}.txt'
746746
with open(filepath, 'w') as fp:
747747
fp.write("gridtype\t= unstructured\n")
748748
fp.write(f"gridsize\t= {self.num_points}\n")
@@ -884,9 +884,7 @@ def spherical_distance_objective(rotation_vector):
884884
final_points = final_points / np.linalg.norm(final_points, axis=1, keepdims=True)
885885

886886
# Convert back to spherical coordinates
887-
new_lon, new_lat = cart_to_geo(final_points[:, 0],
888-
final_points[:, 1],
889-
final_points[:, 2])
887+
new_lon, new_lat = cart_to_geo(final_points[:, 0], final_points[:, 1], final_points[:, 2])
890888

891889
return {
892890
'lon': new_lon,
@@ -1175,8 +1173,7 @@ def geo_distance(lon1: Union[float, np.ndarray], lat1: Union[float, np.ndarray],
11751173
return radius * c
11761174

11771175

1178-
1179-
def deg_to_eq_spacing(grid_step: float, radius: float = 6371) -> float:
1176+
def deg_to_equatorial_distance(grid_step: float, radius: float = 6371) -> float:
11801177
"""Convert angular grid resolution (degrees) to equivalent distance at the equator (km).
11811178
11821179
Args:
@@ -1194,7 +1191,8 @@ def deg_to_eq_spacing(grid_step: float, radius: float = 6371) -> float:
11941191

11951192
return geo_distance(0, 0, grid_step, 0, radius=radius)
11961193

1197-
def eq_spacing_to_deg(distance: float, radius: float = 6371) -> float:
1194+
1195+
def equatorial_distance_to_deg(distance: float, radius: float = 6371) -> float:
11981196
"""Convert equatorial distance (km) to equivalent angular grid resolution (degrees).
11991197
12001198
Args:
@@ -1212,7 +1210,7 @@ def eq_spacing_to_deg(distance: float, radius: float = 6371) -> float:
12121210

12131211
return distance * 360 / (2 * np.pi * radius)
12141212

1215-
# def min_dists(grid1, grid2 = None):
1213+
# def min_dists(grid1, grid2 = None): TODO: implement grid2 but I dont know why need it
12161214
# if grid2 is None:
12171215
# lon1, lon2 = grid1['lon'], grid1['lon']
12181216
# lat1, lat2 = grid1['lat'], grid1['lat']

tests/test_fekete_grid.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import numpy as np
55
import pytest
66

7-
from dominosee.grid import FeketeGrid, deg_to_eq_spacing, distance_to_grid_num, grid_num_to_distance
7+
from dominosee.grid import FeketeGrid, deg_to_equatorial_distance, distance_to_grid_num, grid_num_to_distance
88

99

1010
def test_fekete_grid_5_degree_resolution():
@@ -16,7 +16,7 @@ def test_fekete_grid_5_degree_resolution():
1616
"""
1717
# Calculate distance equivalent to 5 degrees at equator
1818
target_resolution_deg = 5.0
19-
target_distance_km = deg_to_eq_spacing(target_resolution_deg, radius=6371)
19+
target_distance_km = deg_to_equatorial_distance(target_resolution_deg, radius=6371)
2020

2121
# Calculate number of points needed for this resolution
2222
num_points = distance_to_grid_num(target_distance_km)
@@ -67,7 +67,7 @@ def test_fekete_grid_with_iterations():
6767
to verify the improvement functionality works.
6868
"""
6969
# Use a smaller grid for faster testing with iterations
70-
target_distance_km = deg_to_eq_spacing(10.0, radius=6371) # 10-degree resolution
70+
target_distance_km = deg_to_equatorial_distance(10.0, radius=6371) # 10-degree resolution
7171
num_points = distance_to_grid_num(target_distance_km)
7272

7373
# Create grid with a few iterations

0 commit comments

Comments
 (0)