From 9b1afd663db74da1af9508ec926a852a66ded358 Mon Sep 17 00:00:00 2001 From: Aasit Vora Date: Sun, 13 Jul 2025 20:56:03 +0530 Subject: [PATCH 1/3] DEV: custom atmosphere schema changes --- src/models/environment.py | 6 +++++- src/services/environment.py | 4 ++++ src/views/environment.py | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/models/environment.py b/src/models/environment.py index 89315d2..c4a6c8b 100644 --- a/src/models/environment.py +++ b/src/models/environment.py @@ -1,5 +1,5 @@ import datetime -from typing import Optional, ClassVar, Self, Literal +from typing import Optional, ClassVar, Self, Literal, Tuple, List from src.models.interface import ApiBaseModel @@ -9,6 +9,10 @@ class EnvironmentModel(ApiBaseModel): latitude: float longitude: float elevation: Optional[float] = 0.0 + pressure: Optional[float | List[Tuple[float, float]]] = None + temperature: Optional[float | List[Tuple[float, float]]] = None + wind_u: Optional[float | List[Tuple[float, float]]] = None + wind_v: Optional[float | List[Tuple[float, float]]] = None # Optional parameters atmospheric_model_type: Literal[ diff --git a/src/services/environment.py b/src/services/environment.py index 4f1137c..c214541 100644 --- a/src/services/environment.py +++ b/src/services/environment.py @@ -31,6 +31,10 @@ def from_env_model(cls, env: EnvironmentModel) -> Self: rocketpy_env.set_atmospheric_model( type=env.atmospheric_model_type, file=env.atmospheric_model_file, + pressure=env.pressure, + temperature=env.temperature, + wind_u=env.wind_u, + wind_v=env.wind_v ) return cls(environment=rocketpy_env) diff --git a/src/views/environment.py b/src/views/environment.py index 4283d52..53322b3 100644 --- a/src/views/environment.py +++ b/src/views/environment.py @@ -22,7 +22,7 @@ class EnvironmentSimulation(ApiBaseView): initial_east: Optional[float] = None initial_hemisphere: Optional[str] = None initial_ew: Optional[str] = None - max_expected_height: Optional[int] = None + max_expected_height: Optional[float] = None date: Optional[datetime] = datetime.today() + timedelta(days=1) local_date: Optional[datetime] = datetime.today() + timedelta(days=1) datetime_date: Optional[datetime] = datetime.today() + timedelta(days=1) From deda92e41819fb84cc88522c56a360625d27b583 Mon Sep 17 00:00:00 2001 From: Aasit Vora Date: Mon, 14 Jul 2025 10:25:44 +0530 Subject: [PATCH 2/3] MNT: formatting --- src/services/environment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/environment.py b/src/services/environment.py index c214541..d0cfa95 100644 --- a/src/services/environment.py +++ b/src/services/environment.py @@ -34,7 +34,7 @@ def from_env_model(cls, env: EnvironmentModel) -> Self: pressure=env.pressure, temperature=env.temperature, wind_u=env.wind_u, - wind_v=env.wind_v + wind_v=env.wind_v, ) return cls(environment=rocketpy_env) From 885430083291be873abde2fd226a8d5c895c2fe4 Mon Sep 17 00:00:00 2001 From: Aasit Vora Date: Mon, 14 Jul 2025 10:30:53 +0530 Subject: [PATCH 3/3] MNT: refactor to use inbuilt generics --- src/models/environment.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/models/environment.py b/src/models/environment.py index c4a6c8b..f1e9b5a 100644 --- a/src/models/environment.py +++ b/src/models/environment.py @@ -1,5 +1,5 @@ import datetime -from typing import Optional, ClassVar, Self, Literal, Tuple, List +from typing import Optional, ClassVar, Self, Literal from src.models.interface import ApiBaseModel @@ -9,10 +9,10 @@ class EnvironmentModel(ApiBaseModel): latitude: float longitude: float elevation: Optional[float] = 0.0 - pressure: Optional[float | List[Tuple[float, float]]] = None - temperature: Optional[float | List[Tuple[float, float]]] = None - wind_u: Optional[float | List[Tuple[float, float]]] = None - wind_v: Optional[float | List[Tuple[float, float]]] = None + pressure: Optional[float | list[tuple[float, float]]] = None + temperature: Optional[float | list[tuple[float, float]]] = None + wind_u: Optional[float | list[tuple[float, float]]] = None + wind_v: Optional[float | list[tuple[float, float]]] = None # Optional parameters atmospheric_model_type: Literal[