Skip to content

Conversation

@Gui-FernandesBR
Copy link
Member

Opening this so we can review git diff...

Lucas-Prates and others added 23 commits May 17, 2025 00:29
* REL: update to v1.10.0

* REL: update to v1.10.0

* BUG: fix version comparison bug in utilities test
* ENH: refactor motor prints classes to inherit from _MotorPrints

* STY: make format

* ENH: add entry for _MotorPrints inheritance in changelog
* MNT: update code and remove deprecated functions

* MNT: simplify geodesic_to_utm import and usage in Environment class

* MNT: update CHANGELOG to fix deprecations and warnings

* make lint

* MNT: remove unused post_processed attribute from Flight class

* MNT: update matplotlib version to 3.8.3 in requirements.txt

* MNT: update matplotlib version to 3.10.0 in requirements.txt

* MNT: downgrade matplotlib version to 3.9.0 in requirements.txt

* MNT: change boxplot orientation to horizontal for compatibility with future Python versions

* MNT: change boxplot orientation from horizontal to vertical for consistency
DEV: fix pip cache on github workflow
* wind factor bug corrected

the wind factor wasn't applied to the env.wind_velocity properties

* BUG: StochasticModel visualize attributes of a uniform distribution

It showed the nominal and the standard deviation values and it doesn't make sense in a uniform distribution. In a np.random.uniform the 'nominal value' is the lower bound of the distribution, and the 'standard deviation' value is the upper bound. Now, a new condition has been added for the uniform distributions where the mean and semi range are calculated and showed. This way the visualize_attribute function will show the whole range where the random values are uniformly taken in

* variable names corrections

* Corrections requested by the pylint test

* ENH: add multiplication for 2D functions in rocketpy.function

Added the ability to multiply functions with 2D domains in the __mul__ function

* ENH: StochasticAirBrakes class created

The StochasticAirBrakes class has been created. The __init__.py files in the stochastic and rocketpy folders have also been modified accordingly to incorporate this new class

* ENH: set_air_brakes function created

This functions appends an airbrake and controller objects previuosly created to the rocket

* ENH: add StochasticAirBrake to rocketpy.stochastic_rocket

Some functions has been modified and other has been created in order to include the new StochasticAirBrakes feature into the StochasticRocket class. A new function named 'add_air_brakes' has been created to append a StochasticAirBrakes and Controller objects to the StochasticRocket object. A new function '_create_air_brake' has been introduced to create a sample of an AirBrake object through a StochasticAirBrake object. Enventually, the 'create_object' function has been modified to add the sampled AirBrakes to the sampled Rocket

* BUG: StochasticAirBrake object input in _Controller

When defining the _Controller object a StochasticAirBrake was input. This is already corrected and a AirBrake object is now introduced

* ENH: add time_overshoot option to rocketpy.stochastic_flight

Since the new StochasticAirBrake class is defined, we need the 'time_overshoot' option in the Flight class to ensure that the time step defined in the simulation is the controller sampling rate. The MonteCarlo class has had to be modified as well to include this option.

* DOC: StochasticAirBrakes related documentation added

Documentation related to the StochasticAirBrakes implementation has been added in StochasticAirBrakes, StochasticRocket and Rocket classes.

* ENH: pylint recommendations done

* ENH: Reformatted files to pass Ruff linting checks

* ENH: Update rocketpy/stochastic/stochastic_rocket.py

Unnecessary comment

Co-authored-by: Gui-FernandesBR <63590233+Gui-FernandesBR@users.noreply.github.com>

* ENH: more intuitive uniform distribution display in StochasticModel

Co-authored-by: MateusStano <69485049+MateusStano@users.noreply.github.com>

* DOC: improve drag curve factor definition in StochasticAirBrakes

* ENH: Change assert statement to if

Co-authored-by: Gui-FernandesBR <63590233+Gui-FernandesBR@users.noreply.github.com>

* DOC: better explanation of __mul__ function

Co-authored-by: MateusStano <69485049+MateusStano@users.noreply.github.com>

* ENH: delete set_air_brakes function for simplicity

* ENH: inertial foreces added to u_dot_generalized

* ENH: define Earth's angular velocity vector in Environment

* ENH: some corrections to the Flight class

* ENH: modifications in the Flight class

* DOC: improving Environment documentation

* DOC: more improvements in the Environment class

* ENH: format changes done

* DOC: env.earth_rotation_vector improved

Co-authored-by: Gui-FernandesBR <63590233+Gui-FernandesBR@users.noreply.github.com>

* ENH: Coriolis acceleration added to u_dot

* BUG: print left

* ENH: ruff changes

* ENH: CHANGELOG updated

* ENH: remove unecessary frame rotation

* ENH: remove rotation from solid prop udot

* ENH: add coriolis to parachute

* TST: fix tests values

* MNT: remove debug functions

* DEV: changelog

---------

Co-authored-by: Gui-FernandesBR <63590233+Gui-FernandesBR@users.noreply.github.com>
Co-authored-by: MateusStano <69485049+MateusStano@users.noreply.github.com>
Co-authored-by: MateusStano <go34lap@mytum.de>
Co-authored-by: MateusStano <mateusstano@usp.br>
* ENH: refactor motor prints classes to inherit from _MotorPrints

* STY: make format

* MNT: update code and remove deprecated functions

* ENH: add deprecation decorator and update deprecated methods

* make format

* fix warnings
* DEV: add GitHub Copilot instructions for codebase consistency and development practices

* Final adjustments instructions
* BUG: fix StochasticNoseCone powerseries issue by adding power parameter to constructor
* DOC: Add bug fix #838 to changelog
* BUG: pass power parameter into StochasticModel to allow variation
* ENH: add an option to discretize callable sources encoding.
* TST: implement testing for discretized encoding.
* ENH: allow for disallowing pickle on encoding.
* MNT: Update CHANGELOG.
* MNT: change pickle encoding name to allow_pickle and test it.
* MNT: Tweak the discretization bounds.

---------

Co-authored-by: Mateus Stano Junqueira <69485049+MateusStano@users.noreply.github.com>
Co-authored-by: Gui-FernandesBR <63590233+Gui-FernandesBR@users.noreply.github.com>
* DOC: Add Flight class usage documentation and update index

* DOC: improve flight docs page documentation

* DEV: Add Flight class usage documentation entry to CHANGELOG

* DOC: Add Flight class usage documentation and update index

DOC: improve flight docs page documentation

DEV: Add Flight class usage documentation entry to CHANGELOG

* DOC: improve flight class documentation page
…y to Flight object (#844)

## Pull request type

- [x] Code changes (bugfix, features)
- [x] Code maintenance (refactoring, formatting, tests)

## Checklist

- [ ] Tests for the changes have been added (if needed)
- [ ] Docs have been reviewed and added / updated
- [ ] Lint (`black rocketpy/ tests/`) has passed locally
- [ ] All tests (`pytest tests -m slow --runslow`) have passed locally
- [ ] `CHANGELOG.md` has been updated (if relevant)

## Current behavior
Passing initial_solution to a Flight object raises `AttributeError: 'Flight' object has no attribute 't_initial'` when running a simulation involving a controller. Attempt to run [this script](https://github.com/werocketry/airbrakes-lookuptable-generator/blob/main/main.py) to reproduce.

## New behavior
Initializes t_initial in __init_flight_state when an array is provided as the initial solution. As a result, a simulation can successfully run from an initial condition when controllers are used.

Additionally, minor fixes to docstrings in Flight.py

## Breaking change

- [ ] Yes
- [x] No
* MNT: Addition of ensemble variable to ECMWF dictionaries

* DEV: Update changelog

---------

Co-authored-by: Mateus Stano Junqueira <69485049+MateusStano@users.noreply.github.com>
* ENH: added radius and porosity to parachute

* ENH: added parachute radius

* ENH: fixing radius and height attribute in flight class

* STY: ruff formatting

* TST: updated test value due to gravity update in u_dot_parachute

* ENH: added new parameters into add_parachute method in Rocket class

* DOC: added new parameters to the documentation

* TST: updated test values to match the right gravity model

* DOC: improved descriptions of the new parameters

* ENH: added new parameters to the stochastic parachute

* ENH: implementing previous comments

* ENH: fixing formatting and adding docs

* ENH: added ka property to Parachute class

* ENH: fixing variable name

* ENH: fixed attribute name

* ENH: simplifying variable names

* DOC: adding parameters documentation into StochasticParachute description

* ENH: changing ma calculation and porosity documentation from previous comments

* TST: updated test value due to change in ma calculation

* ENH: changing parameter ka to added_mass_coefficient

* DOC: updating the CHANGELOG

* ENH: properly substituted all ka parameters for added_mass_coefficient
* ENH: add an option to discretize callable sources encoding.

* ENH: allow for disallowing pickle on encoding.

* MNT: Update CHANGELOG.

* ENH: support for air brakes, controller and sensors encoding.

* STY: solve linting and style remarks.

* BUG: parachute callbacks attribute naming.

* GIT: test agg backend for matplotlib workflows.

* TST: include sensors and controllers encoding tests as non slow.

* MNT: change recursive to iterative approach on hash search.
…852)

* ENH: add time variable density to Tank Fluids.

* TST: add tests for variable fluid density.

* STY: running isort for import order consistency.

* DOC: update Fluid docs with variable density explanations.

* MNT: use Union is Fluid dataclass type for Python <3.10 support.

* ENH: add time variable density to Tank Fluids.

* STY: running isort for import order consistency.

* MNT: use Union is Fluid dataclass type for Python <3.10 support.

* MNT: refactor density variation for temperature and pressure inputs.

* MNT: improve Tank class outputs (WIP).

* DOC: update fluid density documentation.

* MNT: Add CAD data for tank geometry validation.

* MNT: Refactor tank testing and improve file structure.

* MNT: add recent changes to CHANGELOG.

* MNT: post merge fixes from testing refactors.

* MNT: post rebase fixes.

* TST: introduce testing to variable density tanks.

* MNT: Add recent changes to CHANGELOG.

* TST: improve fluid tests and solve review comments.
* mnt: extract flight data exporters into FlightDataExporter with deprecation wrappers

* tst: add unit tests for exporter delegation and direct exports

* tst: minor tweaks to clean up imports on added tests

* doc: switch export examples to FlightDataExporter and note deprecations (KML, CSV)

* doc(changelog): record FlightDataExporter extraction, deprecations, and doc updates

* format flight.py with ruff to comply with project style

* TST: Improve tests for Flight Data Exporter

* FIx commentaries

* Fix lint

---------

Co-authored-by: Gui-FernandesBR <guilherme_fernandes@usp.br>
* ENH: Changed the ellipses labels

* ENH: Adjusted the relative positioning so it doesn't rescale with border size

* ENH: Changed the ellipses labels

* ENH: Adjusted the relative positioning so it doesn't rescale with border size

* DOC: Updated the CHANGELOG
* MNT: Bump minimum python version to 3.10

* change python version for tests

* changes more versions of python

* trying to pass CI

* python 3.4 still note ready

* GIT: change workflows to retry Python 3.14.

* MNT: Update CHANGELOG.

---------

Co-authored-by: Pedro Bressan <87212571+phmbressan@users.noreply.github.com>
@codecov
Copy link

codecov bot commented Oct 19, 2025

Codecov Report

❌ Patch coverage is 85.63686% with 106 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.26%. Comparing base (809b7e0) to head (20dc3be).
⚠️ Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
rocketpy/mathutils/function.py 72.97% 40 Missing ⚠️
rocketpy/simulation/flight_data_exporter.py 79.31% 18 Missing ⚠️
rocketpy/motors/tank.py 90.10% 9 Missing ⚠️
rocketpy/plots/fluid_plots.py 27.27% 8 Missing ⚠️
rocketpy/_encoders.py 69.56% 7 Missing ⚠️
rocketpy/environment/environment.py 73.91% 6 Missing ⚠️
rocketpy/rocket/aero_surface/fins/fins.py 58.33% 5 Missing ⚠️
rocketpy/control/controller.py 86.36% 3 Missing ⚠️
rocketpy/tools.py 89.65% 3 Missing ⚠️
...cketpy/rocket/aero_surface/fins/elliptical_fins.py 33.33% 2 Missing ⚠️
... and 4 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #859      +/-   ##
==========================================
+ Coverage   80.08%   80.26%   +0.18%     
==========================================
  Files          98      104       +6     
  Lines       12041    12767     +726     
==========================================
+ Hits         9643    10248     +605     
- Misses       2398     2519     +121     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Gui-FernandesBR and others added 2 commits October 24, 2025 03:14
No breaking changes, the code is the same, the coverage is the same. But it is easier to navigate through files now!
Co-authored-by: Gui-FernandesBR <63590233+Gui-FernandesBR@users.noreply.github.com>
@github-project-automation github-project-automation bot moved this from Backlog to Next Version in LibDev Roadmap Oct 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Next Version

Development

Successfully merging this pull request may close these issues.