TASOPT.jl
TASOPT.jl: A Julia package for conceptual commercial transport aircraft design - Published in JOSS (2025)
Science Score: 96.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
○Academic email domains
-
✓Institutional organization owner
Organization mit-lae has institutional domain (lae.mit.edu) -
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
Medium fidelity aircraft-propulsion system design and optimization.
Basic Info
- Host: GitHub
- Owner: MIT-LAE
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://mit-lae.github.io/TASOPT.jl/
- Size: 91.1 MB
Statistics
- Stars: 32
- Watchers: 4
- Forks: 16
- Open Issues: 34
- Releases: 4
Metadata Files
README.md
TASOPT.jl
Transport Aircraft and the Environment System OPTimization (TASOPT) implemented in Julia. Originally based on Mark Drela's FORTRAN code of the same name.
Getting started
Simple install
The easiest way to run TASOPT.jl would be to add the package using the julia package manager using the github repository.
You can do this by starting a Julia session and then activating the package manager by typing ] and then entering:
julia-repl
pkg> add TASOPT
You can then import TASOPT as you would with any Julia package:
julia-repl
julia> using TASOPT
Local development
If you are going to develop the source code of TASOPT.jl you might benefit from a local clone of the git repository which
can then fit into a workflow using Revise.jl for example.
Step 1: Clone the git repo locally
bash
git clone git@github.com:MIT-LAE/TASOPT.jl.git
Step 2: cd to the folder where TASOPT is cloned
Step 3: Use Pkg to install/ develop the package
julia
pkg> dev .
You should now be able to import TASOPT from within any Julia script in your base environment.
Note: If you clone another version of TASOPT, using TASOPT will always use the directory where dev . was used.
If you are using Revise.jl be sure to first import Revise before importing TASOPT
julia
using Revise
using TASOPT
Collaboration guide
Important
Before submitting a new pull request (PR), go to the test folder and run the tests by doing
julia
using TASOPT, Pkg
Pkg.test("TASOPT")
If there is an error, it is your responsibility to edit your code and make it work.
The PR will not be reviewed if the regression or unit test fails. If you find that the tests do not capture the right behavior or are flawed, please raise an issue.
Work in branches
Don't commit anything to the main branch. Here's how you create your own fork and branch.
First create a fork of this repo by clicking on "fork" on the top right hand of the github page. This creates a copy of this repo that is separate form this one. This ensures that any changes made to your fork will not affect other's forks.
You will now need to clone your forked version of the repo to your machine where you will be writing code. This page has a good overview of how to do this whole process.
After this I highly recommend using branches within your own fork and I prefer the git command line interface over the web interface.
Use this command to create a new branch for example dev_prash
git checkout -b <name_of_branch>
as you add files, use the following command to tell git to track your file
git add <path to file, or use . to track all files>
once you are happy with the edits you have made, you have to commit the edits by doing
git commit -a -m "COMMIT MESSAGE"
make your commit messages useful. These messages along with frequent commits will create a rich history to the repo so as this grows you will be able to track changes and debug more efficiently
After committing to your local machine, you need to push these changes to the remote github server. The first time you do this for each branch you need to tell the remote repo what to track
bash
git push -u origin <name_of_branch>
for subsequent pushes, you only need to do git push.
Sync your repo with this main repo periodically
Keep syncing your fork to this repo regularly so that you have all the latest bug fixes and changes that others have done.
To sync your fork, cd into the right folder on your terminal and do the following
bash
git fetch upstream
This fetches all the changes made to the main repo. Then switch to your main branch (you should be working in branches even in your own repo)
bash
git checkout main
Once you are in your main branch do:
bash
git merge upstream/main
This brings your fork's main branch into sync with the upstream repository, without losing your local changes.
Owner
- Name: MIT LAE
- Login: MIT-LAE
- Kind: organization
- Location: United States of America
- Website: https://lae.mit.edu
- Twitter: MIT_LAE
- Repositories: 2
- Profile: https://github.com/MIT-LAE
MIT Laboratory for Aviation and the Environment
JOSS Publication
TASOPT.jl: A Julia package for conceptual commercial transport aircraft design
Authors
Massachusetts Institute of Technology, Cambridge, MA, USA
Massachusetts Institute of Technology, Cambridge, MA, USA
Massachusetts Institute of Technology, Cambridge, MA, USA
Tags
aerodynamics propulsion systems aircraft multidiciplinary design and optimizationGitHub Events
Total
- Create event: 59
- Commit comment event: 15
- Release event: 2
- Issues event: 42
- Watch event: 5
- Delete event: 50
- Issue comment event: 156
- Push event: 116
- Pull request review comment event: 246
- Pull request review event: 262
- Pull request event: 119
- Fork event: 6
Last Year
- Create event: 59
- Commit comment event: 15
- Release event: 2
- Issues event: 42
- Watch event: 5
- Delete event: 50
- Issue comment event: 156
- Push event: 116
- Pull request review comment event: 246
- Pull request review event: 262
- Pull request event: 119
- Fork event: 6
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 52
- Total pull requests: 117
- Average time to close issues: about 1 month
- Average time to close pull requests: 17 days
- Total issue authors: 6
- Total pull request authors: 9
- Average comments per issue: 0.4
- Average comments per pull request: 1.09
- Merged pull requests: 73
- Bot issues: 0
- Bot pull requests: 7
Past Year
- Issues: 32
- Pull requests: 67
- Average time to close issues: 27 days
- Average time to close pull requests: 16 days
- Issue authors: 5
- Pull request authors: 8
- Average comments per issue: 0.38
- Average comments per pull request: 1.16
- Merged pull requests: 40
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- argonaut22 (21)
- askprash (13)
- ngomezve (12)
- aditeyashukla (3)
- JustinSGray (2)
- sareider (1)
Pull Request Authors
- ngomezve (50)
- askprash (28)
- argonaut22 (15)
- aditeyashukla (12)
- dependabot[bot] (7)
- prateekr9SF (2)
- speth (1)
- WyattGiroux (1)
- ViralBShah (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 1 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 1
juliahub.com: TASOPT
Medium fidelity aircraft-propulsion system design and optimization.
- Homepage: https://mit-lae.github.io/TASOPT.jl/
- Documentation: https://docs.juliahub.com/General/TASOPT/stable/
- License: MIT
-
Latest release: 3.0.0
published 8 months ago
Rankings
Dependencies
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/setup-julia v1 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
