|
7 | 7 |
|
8 | 8 |
|
9 | 9 | # standard library |
10 | | -from dataclasses import dataclass |
| 10 | +from dataclasses import dataclass, field |
| 11 | +from datetime import datetime, timezone |
11 | 12 | from typing import Any, Literal, Tuple |
12 | 13 |
|
13 | 14 |
|
|
30 | 31 | -2475718.801708271, |
31 | 32 | ) |
32 | 33 | CUBE_DIMS = "chan", "lat", "lon" |
33 | | -DEMS_VERSION = __version__ |
34 | | -DEMERGE_VERSION = "2.0.0" |
35 | 34 | MS_DIMS = "time", "chan" |
36 | 35 |
|
37 | 36 |
|
@@ -318,7 +317,7 @@ class D2SkychopperIsblocking: |
318 | 317 | long_name: Attr[str] = "[DESHIMA 2.0] Whether sky chopper is blocking sensor" |
319 | 318 |
|
320 | 319 |
|
321 | | -@dataclass(frozen=True) |
| 320 | +@dataclass |
322 | 321 | class MS(AsDataArray): |
323 | 322 | """Measurement set of DESHIMA 2.0.""" |
324 | 323 |
|
@@ -382,11 +381,18 @@ class MS(AsDataArray): |
382 | 381 | d2_mkid_frequency: Coordof[D2MkidFrequency] = 0.0 |
383 | 382 | d2_roomchopper_isblocking: Coordof[D2RoomchopperIsblocking] = False |
384 | 383 | d2_skychopper_isblocking: Coordof[D2SkychopperIsblocking] = False |
385 | | - d2_dems_version: Attr[str] = DEMS_VERSION |
386 | | - d2_demerge_version: Attr[str] = DEMERGE_VERSION |
| 384 | + d2_ddb_version: Attr[str] = "" |
| 385 | + d2_demerge_version: Attr[str] = "" |
| 386 | + d2_dems_version: Attr[str] = field(init=False) |
| 387 | + d2_merge_datetime: Attr[str] = field(init=False) |
| 388 | + |
| 389 | + def __post_init__(self) -> None: |
| 390 | + """Set dynamic attributes.""" |
| 391 | + self.d2_dems_version = __version__ |
| 392 | + self.d2_merge_datetime = datetime.now(timezone.utc).isoformat() |
387 | 393 |
|
388 | 394 |
|
389 | | -@dataclass(frozen=True) |
| 395 | +@dataclass |
390 | 396 | class Cube(AsDataArray): |
391 | 397 | """Spectral cube of DESHIMA 2.0.""" |
392 | 398 |
|
@@ -415,5 +421,7 @@ class Cube(AsDataArray): |
415 | 421 | d2_mkid_id: Coordof[D2MkidID] = 0 |
416 | 422 | d2_mkid_type: Coordof[D2MkidType] = "" |
417 | 423 | d2_mkid_frequency: Coordof[D2MkidFrequency] = 0.0 |
418 | | - d2_dems_version: Attr[str] = DEMS_VERSION |
419 | | - d2_demerge_version: Attr[str] = DEMERGE_VERSION |
| 424 | + d2_ddb_version: Attr[str] = "" |
| 425 | + d2_demerge_version: Attr[str] = "" |
| 426 | + d2_dems_version: Attr[str] = "" |
| 427 | + d2_merge_datetime: Attr[str] = "" |
0 commit comments