Coverage for C: \ Users \ peaco \ OneDrive \ Documents \ GitHub \ mt_metadata \ mt_metadata \ transfer_functions \ io \ emtfxml \ metadata \ emtf.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-01-10 00:11 -0800

1# ===================================================== 

2# Imports 

3# ===================================================== 

4from typing import Annotated 

5 

6from pydantic import Field 

7 

8from mt_metadata.base import MetadataBase 

9from mt_metadata.common.enumerations import DataTypeEnum 

10 

11 

12# ===================================================== 

13 

14 

15class EMTF(MetadataBase): 

16 description: Annotated[ 

17 str | None, 

18 Field( 

19 default="", 

20 description="description of what is in the file; default is magnetotelluric transfer functions", 

21 alias=None, 

22 json_schema_extra={ 

23 "units": None, 

24 "required": True, 

25 "examples": ["Magnetotelluric Transfer Functions"], 

26 }, 

27 ), 

28 ] 

29 

30 product_id: Annotated[ 

31 str | None, 

32 Field( 

33 default="", 

34 description="ID given as the archive ID of the station", 

35 alias=None, 

36 pattern="^[a-zA-Z0-9._-]*$", 

37 json_schema_extra={ 

38 "units": None, 

39 "required": True, 

40 "examples": ["USMTArray.NVS11.2020"], 

41 }, 

42 ), 

43 ] 

44 

45 tags: Annotated[ 

46 str | None, 

47 Field( 

48 default="", 

49 description="tags that help describe the data", 

50 alias=None, 

51 json_schema_extra={ 

52 "units": None, 

53 "required": True, 

54 "examples": ["impedance, induction vectors"], 

55 }, 

56 ), 

57 ] 

58 

59 sub_type: Annotated[ 

60 DataTypeEnum, 

61 Field( 

62 default=DataTypeEnum.MT_TF, 

63 description="subject data type", 

64 alias=None, 

65 json_schema_extra={ 

66 "units": None, 

67 "required": True, 

68 "examples": ["MT_TF"], 

69 }, 

70 ), 

71 ] 

72 

73 notes: Annotated[ 

74 str | None, 

75 Field( 

76 default=None, 

77 description="any notes applicable to the user on data present in the file", 

78 alias=None, 

79 json_schema_extra={ 

80 "units": None, 

81 "required": False, 

82 "examples": ["these are notes"], 

83 }, 

84 ), 

85 ]