TASOPT.jl

TASOPT.jl: A Julia package for conceptual commercial transport aircraft design - Published in JOSS (2025)

https://github.com/mit-lae/tasopt.jl

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

Economics Social Sciences - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

Medium fidelity aircraft-propulsion system design and optimization.

Basic Info
Statistics
  • Stars: 32
  • Watchers: 4
  • Forks: 16
  • Open Issues: 34
  • Releases: 4
Created about 2 years ago · Last pushed 4 months ago
Metadata Files
Readme License

README.md

TASOPT.jl

CI codecov DOI

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

MIT Laboratory for Aviation and the Environment

JOSS Publication

TASOPT.jl: A Julia package for conceptual commercial transport aircraft design
Published
September 03, 2025
Volume 10, Issue 113, Page 8521
Authors
Prakash Prashanth ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Nicolas Gomez-Vega ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Sicheng He ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Aditeya Shukla ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Jonas J. Gonzalez ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Diego Salgado Bobadilla
Massachusetts Institute of Technology, Cambridge, MA, USA
Kanghyun Lee
Massachusetts Institute of Technology, Cambridge, MA, USA
Prateek Ranjan ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Sayed Shayan Zahid ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
James Abel
Massachusetts Institute of Technology, Cambridge, MA, USA
Mark Drela ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Raymond Speth ORCID
Massachusetts Institute of Technology, Cambridge, MA, USA
Editor
Kyle Niemeyer ORCID
Tags
aerodynamics propulsion systems aircraft multidiciplinary design and optimization

GitHub 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
bug (12) enhancement (7) documentation (3) question (1)
Pull Request Labels
enhancement (6) documentation (3) bug (2)

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.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 8.4%
Average: 22.4%
Dependent packages count: 36.3%
Last synced: 4 months ago

Dependencies

.github/workflows/documentation.yml actions
  • 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
.github/workflows/CI.yml actions
  • 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