Coverage for C: \ Users \ peaco \ OneDrive \ Documents \ GitHub \ mt_metadata \ mt_metadata \ transfer_functions \ io \ zonge \ metadata \ rx.py: 100%
23 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-10 00:11 -0800
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-10 00:11 -0800
1# =====================================================
2# Imports
3# =====================================================
4from enum import Enum
5from typing import Annotated
7from pydantic import Field
9from mt_metadata.base import MetadataBase
12# =====================================================
13class CmpEnum(str, Enum):
14 zxx = "zxx"
15 zyy = "zyy"
16 zyx = "zyx"
17 zxy = "zxy"
18 txy = "txy"
19 tyx = "tyx"
20 null = ""
23class Rx(MetadataBase):
24 gdp_stn: Annotated[
25 str,
26 Field(
27 default="",
28 description="Station name",
29 alias=None,
30 json_schema_extra={
31 "units": None,
32 "required": True,
33 "examples": ["24"],
34 },
35 ),
36 ]
38 length: Annotated[
39 float,
40 Field(
41 default=0.0,
42 description="Generic dipole length",
43 alias=None,
44 json_schema_extra={
45 "units": None,
46 "required": True,
47 "examples": ["100"],
48 },
49 ),
50 ]
52 h_p_r: Annotated[
53 list[float],
54 Field(
55 default=[],
56 description="Horizontal, pitch, roll of array",
57 alias=None,
58 json_schema_extra={
59 "units": None,
60 "required": True,
61 "examples": ["0, 0, 180"],
62 },
63 ),
64 ]
66 cmp: Annotated[
67 CmpEnum,
68 Field(
69 default="",
70 description="processed component of impedance or tipper",
71 alias=None,
72 json_schema_extra={
73 "units": None,
74 "required": False,
75 "examples": ["zxx"],
76 },
77 ),
78 ]
80 center: Annotated[
81 str | None,
82 Field(
83 default=None,
84 description="center of the sounding location",
85 alias=None,
86 json_schema_extra={
87 "units": None,
88 "required": False,
89 "examples": ["335754.685:4263553.435:1650.2 m"],
90 },
91 ),
92 ]
94 x_y_z1: Annotated[
95 str | None,
96 Field(
97 default=None,
98 description="xyz of local station",
99 alias=None,
100 json_schema_extra={
101 "units": None,
102 "required": False,
103 "examples": ["335754.685:4263553.435:1650.2"],
104 },
105 ),
106 ]
108 x_y_z2: Annotated[
109 str | None,
110 Field(
111 default=None,
112 description="xyz of remote station",
113 alias=None,
114 json_schema_extra={
115 "units": None,
116 "required": False,
117 "examples": ["335754.685:4263553.435:1650.2"],
118 },
119 ),
120 ]
122 u_t_m1: Annotated[
123 str | None,
124 Field(
125 default=None,
126 description="UTM location of local station",
127 alias=None,
128 json_schema_extra={
129 "units": None,
130 "required": False,
131 "examples": ["335754.685:4263553.435:1650.2"],
132 },
133 ),
134 ]
136 a_space: Annotated[
137 str | None,
138 Field(
139 default=None,
140 description="spacing of lines",
141 alias=None,
142 json_schema_extra={
143 "units": None,
144 "required": False,
145 "examples": ["100 m"],
146 },
147 ),
148 ]
150 s_space: Annotated[
151 str | None,
152 Field(
153 default=None,
154 description="spacing of stations along the line",
155 alias=None,
156 json_schema_extra={
157 "units": None,
158 "required": False,
159 "examples": ["100"],
160 },
161 ),
162 ]