diff --git a/test/test_checkArgs.py b/test/test_checkArgs.py index 397d0aa7..cf2f031c 100644 --- a/test/test_checkArgs.py +++ b/test/test_checkArgs.py @@ -7,7 +7,7 @@ import pytest from RAiDER.checkArgs import checkArgs, get_raster_ext, makeDelayFileNames -from RAiDER.cli.args import AOIGroup, DateGroup, HeightGroupUnparsed, LOSGroup, RunConfig, RuntimeGroup, TimeGroup +from RAiDER.cli.types import AOIGroup, DateGroup, HeightGroupUnparsed, LOSGroup, RunConfig, RuntimeGroup, TimeGroup from RAiDER.llreader import BoundingBox, RasterRDR, StationFile from RAiDER.losreader import Zenith from RAiDER.models.gmao import GMAO diff --git a/test/test_validators.py b/test/test_validators.py index 0137cb11..d8a41aea 100644 --- a/test/test_validators.py +++ b/test/test_validators.py @@ -8,7 +8,7 @@ from test import TEST_DIR -from RAiDER.cli.args import DateGroupUnparsed, LOSGroupUnparsed, TimeGroup +from RAiDER.cli.types import DateGroupUnparsed, LOSGroupUnparsed, TimeGroup from RAiDER.cli.validators import ( getBufferedExtent, isOutside, isInside, coerce_into_date, diff --git a/tools/RAiDER/aria/types.py b/tools/RAiDER/aria/types.py new file mode 100644 index 00000000..56034ddd --- /dev/null +++ b/tools/RAiDER/aria/types.py @@ -0,0 +1,28 @@ +import argparse +from pathlib import Path +from typing import Optional + +from RAiDER.types import TimeInterpolationMethod + + +class CalcDelaysArgsUnparsed(argparse.Namespace): + bucket: Optional[str] + bucket_prefix: Optional[str] + input_bucket_prefix: Optional[str] + file: Optional[Path] + weather_model: str + api_uid: Optional[str] + api_key: Optional[str] + interpolate_time: TimeInterpolationMethod + output_directory: Path + +class CalcDelaysArgs(argparse.Namespace): + bucket: Optional[str] + bucket_prefix: Optional[str] + input_bucket_prefix: Optional[str] + file: Path + weather_model: str + api_uid: Optional[str] + api_key: Optional[str] + interpolate_time: TimeInterpolationMethod + output_directory: Path diff --git a/tools/RAiDER/checkArgs.py b/tools/RAiDER/checkArgs.py index 0a9b0650..a9844e89 100644 --- a/tools/RAiDER/checkArgs.py +++ b/tools/RAiDER/checkArgs.py @@ -12,7 +12,7 @@ import pandas as pd import rasterio.drivers as rd -from RAiDER.cli.args import RunConfig +from RAiDER.cli.types import RunConfig from RAiDER.llreader import BoundingBox, StationFile from RAiDER.logger import logger from RAiDER.losreader import LOS, Zenith diff --git a/tools/RAiDER/cli/raider.py b/tools/RAiDER/cli/raider.py index 029f0ac7..1b5abb27 100644 --- a/tools/RAiDER/cli/raider.py +++ b/tools/RAiDER/cli/raider.py @@ -9,6 +9,8 @@ from textwrap import dedent from typing import Any, Optional, cast +from RAiDER.aria.types import CalcDelaysArgsUnparsed +from RAiDER.gnss.types import RAiDERCombineArgs import numpy as np import xarray as xr import yaml @@ -16,7 +18,7 @@ import RAiDER.aria.calcGUNW import RAiDER.aria.prepFromGUNW from RAiDER import aws -from RAiDER.cli.args import ( +from RAiDER.cli.types import ( AOIGroup, AOIGroupUnparsed, DateGroupUnparsed, @@ -39,7 +41,6 @@ get_s1_azimuth_time_grid, get_times_for_azimuth_interpolation, ) -from RAiDER.types import CalcDelaysArgs, CalcDelaysArgsUnparsed from RAiDER.utilFcns import get_dt diff --git a/tools/RAiDER/cli/args.py b/tools/RAiDER/cli/types.py similarity index 97% rename from tools/RAiDER/cli/args.py rename to tools/RAiDER/cli/types.py index 088e2d4f..73ad5ce1 100644 --- a/tools/RAiDER/cli/args.py +++ b/tools/RAiDER/cli/types.py @@ -84,8 +84,8 @@ def __init__( ) else: sentinel_datetime = dt.datetime.combine(dt.date(1900, 1, 1), self.time) - end_time = sentinel_datetime + dt.timedelta(seconds=TimeGroup._DEFAULT_ACQUISITION_WINDOW_SEC) - self.end_time = end_time.time() + new_end_time = sentinel_datetime + dt.timedelta(seconds=TimeGroup._DEFAULT_ACQUISITION_WINDOW_SEC) + self.end_time = new_end_time.time() if self.end_time < self.time: raise ValueError( 'Acquisition start time must be before end time. ' @@ -95,6 +95,7 @@ def __init__( @staticmethod def coerce_into_time(val: Union[int, str]) -> dt.time: + val = str(val) all_formats = map(''.join, itertools.product(TimeGroup.TIME_FORMATS, TimeGroup.TIMEZONE_FORMATS)) for tf in all_formats: try: diff --git a/tools/RAiDER/cli/validators.py b/tools/RAiDER/cli/validators.py index 36d3d9cf..dda62ec5 100755 --- a/tools/RAiDER/cli/validators.py +++ b/tools/RAiDER/cli/validators.py @@ -15,7 +15,7 @@ else: Self = Any -from RAiDER.cli.args import ( +from RAiDER.cli.types import ( AOIGroupUnparsed, DateGroup, DateGroupUnparsed, diff --git a/tools/RAiDER/gnss/types.py b/tools/RAiDER/gnss/types.py new file mode 100644 index 00000000..42e097a7 --- /dev/null +++ b/tools/RAiDER/gnss/types.py @@ -0,0 +1,13 @@ +import argparse +from pathlib import Path +from typing import Optional + + +class RAiDERCombineArgs(argparse.Namespace): + raider_file: Path + raider_folder: Path + gnss_folder: Path + gnss_file: Optional[Path] + raider_column_name: str + out_name: str + local_time: Optional[str] diff --git a/tools/RAiDER/types/__init__.py b/tools/RAiDER/types/__init__.py index 6f8c80f9..58d00736 100644 --- a/tools/RAiDER/types/__init__.py +++ b/tools/RAiDER/types/__init__.py @@ -1,8 +1,6 @@ """Types specific to RAiDER.""" -import argparse -from pathlib import Path -from typing import Literal, Optional, Union +from typing import Literal, Union from pyproj import CRS @@ -10,25 +8,3 @@ LookDir = Literal['right', 'left'] TimeInterpolationMethod = Literal['none', 'center_time', 'azimuth_time_grid'] CRSLike = Union[CRS, str, int] - -class CalcDelaysArgsUnparsed(argparse.Namespace): - bucket: Optional[str] - bucket_prefix: Optional[str] - input_bucket_prefix: Optional[str] - file: Optional[Path] - weather_model: str - api_uid: Optional[str] - api_key: Optional[str] - interpolate_time: TimeInterpolationMethod - output_directory: Path - -class CalcDelaysArgs(argparse.Namespace): - bucket: Optional[str] - bucket_prefix: Optional[str] - input_bucket_prefix: Optional[str] - file: Path - weather_model: str - api_uid: Optional[str] - api_key: Optional[str] - interpolate_time: TimeInterpolationMethod - output_directory: Path