Ground station location optimizer. Currently in development.
Example optimizer for nelder mead:

First, clone the repository on the folder you'd like to run this in.
git clone https://github.com/gkim65/loc-gsopt.git
You can then cd into the folder created from this command, loc-gsopt
cd loc-gsopt
And create a virtual environment to download all of your dependencies. If you already have a package manager, thats great! If not, I put (at least for a Mac) how to make a simple virtual environment using venv. The second line just activates the environment for us to use.
python -m venv .venv
source .venv/bin/activate
Finally, just run this command to install all the required dependencies in your virtual environment.
pip install -r requirements.txt
Create a new virtual environment with uv on a Mac inside the git folder, and install dependencies
uv venv
source .venv/bin/activate
uv sync
Using the hydra config file manager, you can run files by running:
python src/main.py
You can run sweeps/perform parameter runs
python src/main.py --multirun problem.sat_num=1,5,10
or just change the parameters directly in config\config.yaml.
NOTE: Example folder ipynb files, still in development (They are runnable, but not fully cleaned up)
Add any of the python commands you want to run, then make sure to run in the terminal (with the correct .venv environment activated:)
chmod +x run_scripts.sh
and run the script:
./run_scripts.sh
To keep a terminal session running even if you disconnect or close the terminal, you can use tmux. It allows you to start a session that will continue running in the background even after you disconnect from the terminal. Here's how you can use tmux:
In your terminal, run:
tmux new-session -s mysessionThis starts a new tmux session named mysession. You can replace mysession with any name you like.
Once inside the tmux session, you can run your commands or scripts as usual. For example:
python script1.pyTo detach from the tmux session (leave it running in the background):
- Press
Ctrl+band then release both keys. - Press
dto detach.
Your session will continue running in the background.
To reattach to the tmux session:
tmux attach-session -t mysessionIf you have multiple tmux sessions running, you can list them with:
tmux list-sessionsIf you're done and want to terminate the session, you can kill it with:
tmux kill-session -t mysession- You can create multiple windows inside a single
tmuxsession by pressingCtrl+b, thencto create a new window. - You can switch between windows with
Ctrl+b, then use the arrow keys or the window number.
Using tmux is great for running long processes or scripts that you don’t want to be interrupted when you disconnect from the terminal.