# mvn_flight

This project contains tools for decoding, converting, and visualizing telemetry data from the MVN. It includes utilities for unpacking binary archives, converting them to CSV, and generating plots for selected time intervals.

## Contents

- **Project structure**
- **Requirements**
- **Setup**
- **Using the tools**
    - *Plot all ASOTR data*
    - *Plot ASOTR data in specified date borders (for MVN reports)*
- **Contacts**

**Note 1**: \<PATH_TO_MVN_FLIGHT\> - path where is mvn_flight scripts is cloned from heagit  
**Note 2**: \<PATH_TO_ASOTR_DATA\> - path with raw MVN ASOTR data   

## Project structure
-> `/bin/` - ready-to-use binary files and python scripts for assembling, extracting and plotting telemetry data     
--> `/bin/asotr_unzip_plot.sh` or `/bin/asotr_unzip_plot.bat` — scripts to automate the unpack-convert-plot chain ASOTR data (Linux/Windows).  
--> `/bin/plot_flight_borders.py` — Python script to generate plots from CSV data.  
--> `/bin/plot_flight_borders.sh` or `/bin/plot_flight_borders.bat` - scripts to automate plot generations for MVN reports  
--> `/bin/tm_brd_parser.py` - python script for demostration processing BRD telemetry data (1 Hz evolution)  
--> `/bin/tm_wheel_parser.py` - python script for demostration processing BRD wheel telemetry data  
-> `/asotr_csv/` — binary parser to collect data from raw ASOTR data to CSV. This parser   written using the Rust language. For more informatin see documentation in `/asotr_csv/README.markdown`).     
-> `/data/` — folder containing processed CSV files.    
-> `/plots/` — folder where output plots are saved.    

## Requirements
- Ubuntu linux or Windows 10/11
- sftp client
- git client
- Donwloaded data from science data server to directory \<PATH_TO_ASOTR_DATA\>.  
If you don't have MVN data, you might download it from server with science SRG data (IP: 193.232.11.95).   
For questions about downloading science data contact Shtykovsky A. (a.shtykovsky@cosmos.ru) or Chelovekov I. (chelovekov@cosmos.ru)    

Linux (for example):
```
sftp username@IP_address
cd mvn/data/data/2025
get -r 20250101*
```

## Setup
1. Clone the repo to your computer:  
```bash
git clone http://heagit.cosmos.ru/gamkov/mvn_flight.git
```

2. Install `wsl` (for Windows 10/11):  
2.1 open powershell
``` powerShell
wsl --install
```
2.2 Restart windows  
2.3 check that the `wsl` is installed correctly
``` powerShell
wsl --list --online
```

3. Install Docker in `wsl` if you use Windows (follow the instructions in web-cite):  
https://docs.docker.com/engine/install/ubuntu/

Running a docker image is an alternative way to use `mvn_flight` software.
Just follow the instructions:

4. in `docker-compose.yml` file replace the following string:  
`/home/danila/Danila/work/MVN/flight/data:/mnt/raw_mvn_data`  
with:  
`\<PATH_TO_ASOTR_DATA\>` (see `Requirements`)  

5. compose and run docker image (in `wsl` if you use Windows):
```bash
docker compose up -d --build
```
6. Check docker images and currently running containers:
```bash
docker images
docker ps -a
```

## Using the tools

### Plot all ASOTR data
1. Donwload data from science data server to directory:   \<PATH_TO_ASOTR_DATA\>.  

2. Parse all raw data from ASOTR into csv files and plot all csv data:  

```bash  
cd <PATH_TO_MVN_FLIGHT>
docker compose run --rm asotr_cronjob
```

or using crontab (parse all ASOTR raw data every 2 hours):
```bash
crontab -e
0 */2 * * * cd \<PATH_TO_MVN_FLIGHT\> && docker compose run --rm asotr_cronjob
```

csv files with ASOTR data: in directory:  
`<PATH_TO_MVN_FLIGHT>/data/asotr/`


### Plot ASOTR data in specified date borders (for MVN reports)
1-2. See previous chapter (``Plot all ASOTR data``)

3. plot ASOTR data in specified data borders 

```bash
cd \<PATH_TO_MVN_FLIGHT\>
docker exec -it asotr_container bash
ls
./plot_flight_borders.sh 25.10.2025_00:00:00 28.10.2025_10:00:00
```

where:  
25.10.2025_00:00:00 - start date_time  
28.10.2025_10:00:00 - end date_time  

plots with data are in the directory:  
```cmd
<PATH_TO_MVN_FLIGHT>/plots/reports
```

Attention: this plots you should pack to arcive and send to vvl@cosmos.ru

## Contatcs
For questions about the program, please contact Danila Gamkov, email: danila_gamkov@cosmos.ru
