Scheduling Planning Routing Inter-satellite Networking Tool
git clone --recursive git@github.com:apollokit/circinus.gitpython and pip to exactly Python 3.6, (recommended in a virtual environment, see next step).python --version) & location of the installation (which python) is the same for all subsequent steps.pip install virtualenv./create_virtualenv.shsource source_virtualenvpip freeze to see that a line like matlabengineforpython===R2019b appears.sudo apt-get install screennano source/
_tools/matlab_if/interface.py, edit matlab_ver='NOT_SET' in MatlabIF's init to be matlab_ver='MATLAB_R2019b', according to your version.nano ~/.matplotlib/matplotlibrcbackend: TkAggmkdir SPRINT/source/access_global_planner/python_runner/plotsrun_gp.sh and run_circinus.sh (in SPRINT/scripts):
```
dir_opt=1day
scen_name=zhou2017_comparison
dir_opt_params=dlnk_and_xlnk
```
1. Set solver to Gurobi (alternatively set up CPLEX instead of Gurobi above):
1. Navigate to: `SPRINT/inputs/1day/zhou2017_comparison/dlnk_and_xlnk` (per above settings)
1. Modify `const_sim_params_fullday.json` and `gp_general_params_inpus.json`:
1. change value associated with `solver_name` to `gurobi`
SPRINT/scripts./run_circinus.shcp ../source/circinus_orbit_link/python_runner/data_rates_output.json ../inputs/1day/zhou2017_comparison/dlnk_and_xlnk/./run_gp.shSetup:
mkdir SPRINT/source/circinus_sim/python_runner/logs
mkdir SPRINT/source/circinus_sim/python_runner/pickles
mkdir SPRINT/source/circinus_sim/python_runner/plots
SPRINT/inputs/1day/zhou2017_comparison/dlnk_and_xlnk/const_sim_params_fullday.jsonset restore_from_checkpoint to false for (at least) the first run.
1. Ensure scenario referenced at top of scripts/run_const_sim.sh references:
```
dir_opt=1day
scen_name=zhou2017_comparison
dir_opt_params=dlnk_and_xlnk
```
SPRINT/inputs/1day/zhou2017_comparison/dlnk_and_xlnk (per above settings) const_sim_params_fullday.json and gp_general_params_inpus.json:solver_name to gurobiRun:
SPRINT/scripts./run_circinus.shcp ../source/circinus_orbit_link/python_runner/data_rates_output.json ../inputs/1day/zhou2017_comparison/dlnk_and_xlnk/./run_const_sim.shIn general you should use the command git submodule update --recursive. This checks out all the right commits for all the (possibly multiple layers of) submodules within the top git repo. git pull by itself won't do it.
In SPRINT there are actually submodules within the submodules in many cases, so the --recursive flag is needed to recursively update all layers of submodules.
Note that working with git submodules can be a bit confusing. Usually when you update submodules you'll afterwards find the submodule in a detached state, saying something like HEAD detached at af4512d at the command line - it's no longer on an existing branch. This is alright, and is related to the fact that git thinks of submodules as a specific commit for a remote repo, and not a branch. However, we have added branch information in .gitmodules file in SPRINT that specifies which branch to track for the submodules. In this case you can use the command: git submodule update --recursive --remote to update to the most recent commit of the desired branch for that submodule. One problem here though is that when you directly pull the latest commit on a submodule branch with this method, the commit in the repo containing the submodule may not have updated its commit history for that submodule, and this will be reflected with the "new commits" indicator when you run git status. Basically, unless all the repos from top to bottom (through all submodules) are committed (within the parent repo) at the latest commit for the specified branch, you'll have an out of date repo somewhere. General rule to keep in mind: as long as git status from the top-most repo indicates no changes, your submodules are all checked out on the right commit.
For pushing from a detached HEAD to the master branch at origin: git push origin HEAD:master
SPRINT was initiated as CIRCINUS, by apollokit
Constellation Investigation Repository with Communications, Inter-agent Networking, Uncertainty, and Scheduling
$ claude mcp add SPRINT \
-- python -m otcore.mcp_server <graph>