Skip to content

Commit d5d7d52

Browse files
committed
updating mtdata
1 parent 1e83521 commit d5d7d52

File tree

2 files changed

+33
-24
lines changed

2 files changed

+33
-24
lines changed

mtpy/core/mt_data.py

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,9 @@ class MTData(OrderedDict, MTStations):
5959
"""
6060

6161
def __init__(self, mt_list=None, **kwargs):
62-
if mt_list is not None:
63-
for mt_obj in mt_list:
64-
self.add_station(mt_obj, compute_relative_location=False)
6562

66-
MTStations.__init__(
67-
self,
68-
kwargs.pop("utm_epsg", None),
69-
datum_epsg=kwargs.pop("datum_epsg", None),
70-
**kwargs,
63+
self._coordinate_reference_frame_options = (
64+
COORDINATE_REFERENCE_FRAME_OPTIONS
7165
)
7266

7367
self.z_model_error = ModelErrors(
@@ -83,6 +77,7 @@ def __init__(self, mt_list=None, **kwargs):
8377
mode="tipper",
8478
)
8579
self.data_rotation_angle = 0
80+
self.coordinate_reference_frame = "ned"
8681

8782
self.model_parameters = {}
8883

@@ -101,8 +96,15 @@ def __init__(self, mt_list=None, **kwargs):
10196
"model_parameters",
10297
]
10398

104-
self._coordinate_reference_frame_options = (
105-
COORDINATE_REFERENCE_FRAME_OPTIONS
99+
if mt_list is not None:
100+
for mt_obj in mt_list:
101+
self.add_station(mt_obj, compute_relative_location=False)
102+
103+
MTStations.__init__(
104+
self,
105+
kwargs.pop("utm_epsg", None),
106+
datum_epsg=kwargs.pop("datum_epsg", None),
107+
**kwargs,
106108
)
107109

108110
def _validate_item(self, mt_obj):
@@ -218,7 +220,9 @@ def clone_empty(self):
218220
@property
219221
def coordinate_reference_frame(self):
220222
"""coordinate reference frame ned or enu"""
221-
return self._coordinate_reference_frame
223+
return self._coordinate_reference_frame_options[
224+
self._coordinate_reference_frame
225+
].upper()
222226

223227
@coordinate_reference_frame.setter
224228
def coordinate_reference_frame(self, value):
@@ -670,9 +674,7 @@ def interpolate(
670674
)
671675

672676
else:
673-
mt_data.add_station(
674-
new_mt_obj, compute_relative_location=False
675-
)
677+
mt_data.add_station(new_mt_obj, compute_relative_location=False)
676678

677679
if not inplace:
678680
return mt_data
@@ -696,9 +698,7 @@ def rotate(self, rotation_angle, inplace=True):
696698
if not inplace:
697699
rot_mt_obj = mt_obj.copy()
698700
rot_mt_obj.rotation_angle = rotation_angle
699-
mt_data.add_station(
700-
rot_mt_obj, compute_relative_location=False
701-
)
701+
mt_data.add_station(rot_mt_obj, compute_relative_location=False)
702702
else:
703703
mt_obj.rotation_angle = rotation_angle
704704

@@ -792,12 +792,8 @@ def compute_model_errors(
792792
self.t_model_error.floor = t_floor
793793

794794
for mt_obj in self.values():
795-
mt_obj.compute_model_z_errors(
796-
**self.z_model_error.error_parameters
797-
)
798-
mt_obj.compute_model_t_errors(
799-
**self.t_model_error.error_parameters
800-
)
795+
mt_obj.compute_model_z_errors(**self.z_model_error.error_parameters)
796+
mt_obj.compute_model_t_errors(**self.t_model_error.error_parameters)
801797

802798
def get_nearby_stations(self, station_key, radius, radius_units="m"):
803799
"""Get stations close to a given station.

tests/core/test_mt_data.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,20 @@ def test_clone_empty(self):
7575

7676
def test_initialization_utm_epsg_no_mt_list(self):
7777
md = MTData(utm_epsg=self.utm_epsg)
78-
self.assertEqual(self.md.utm_epsg, self.utm_epsg)
78+
self.assertEqual(md.utm_epsg, self.utm_epsg)
79+
80+
def test_coordinate_reference_frame(self):
81+
self.assertEqual("NED", self.md.coordinate_reference_frame)
82+
83+
def test_coordinate_reference_frame_set(self):
84+
md = MTData(mt_list=self.mt_list_01, coordinate_reference_frame="enu")
85+
86+
with self.subTest("mtdata"):
87+
self.assertEqual("ENU", md.coordinate_reference_frame)
88+
89+
for mt_obj in md.values():
90+
with self.subTest(mt_obj.station):
91+
self.assertEqual("ENU", mt_obj.coordinate_reference_frame)
7992

8093
def test_initialization_datum_epsg_no_mt_list(self):
8194
md = MTData(datum_epsg=self.datum_epsg)

0 commit comments

Comments
 (0)