Skip to content

Commit 56986ea

Browse files
committed
ENH: converting the units into SI for Environment object
1 parent 1534924 commit 56986ea

1 file changed

Lines changed: 22 additions & 6 deletions

File tree

rocketpy/environment/environment_analysis.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2920,24 +2920,40 @@ def get_environment_object(
29202920
be above sea level (ASL). Especially useful for visualization. Can
29212921
be altered as desired by running ``max_expected_height = number``.
29222922
"""
2923+
elevation_si = convert_units(
2924+
self.converted_elevation, self.unit_system["length"], "m"
2925+
)
2926+
altitude_si = convert_units(self.altitude_list, self.unit_system["length"], "m")
2927+
pressure_si = convert_units(
2928+
self.average_pressure_profile, self.unit_system["pressure"], "Pa"
2929+
)
2930+
temperature_si = convert_units(
2931+
self.average_temperature_profile, self.unit_system["temperature"], "K"
2932+
)
2933+
wind_velocity_x_si = convert_units(
2934+
self.average_wind_velocity_x_profile, self.unit_system["wind_speed"], "m/s"
2935+
)
2936+
wind_velocity_y_si = convert_units(
2937+
self.average_wind_velocity_y_profile, self.unit_system["wind_speed"], "m/s"
2938+
)
29232939
env = Environment(
29242940
gravity,
29252941
date,
29262942
self.latitude,
29272943
self.longitude,
2928-
self.converted_elevation,
2944+
elevation_si,
29292945
datum,
29302946
self.preferred_timezone,
29312947
max_expected_height,
29322948
)
29332949
# Using linear regression to get a valid pressure profile
2934-
coefficients = np.polyfit(self.altitude_list, self.average_pressure_profile, 1)
2950+
coefficients = np.polyfit(altitude_si, pressure_si, 1)
29352951
pressure_profile = coefficients[0] + coefficients[1] * self.altitude_list
29362952
env.set_atmospheric_model(
29372953
type="custom_atmosphere",
2938-
pressure=list(zip(self.altitude_list, pressure_profile)),
2939-
temperature=list(zip(self.altitude_list, self.average_temperature_profile)),
2940-
wind_u=list(zip(self.altitude_list, self.average_wind_velocity_x_profile)),
2941-
wind_v=list(zip(self.altitude_list, self.average_wind_velocity_y_profile)),
2954+
pressure=list(zip(altitude_si, pressure_profile)),
2955+
temperature=list(zip(altitude_si, temperature_si)),
2956+
wind_u=list(zip(altitude_si, wind_velocity_x_si)),
2957+
wind_v=list(zip(altitude_si, wind_velocity_y_si)),
29422958
)
29432959
return env

0 commit comments

Comments
 (0)