# asotr_csv

The parser for converting data from the ASOTR MVN control channels into the CSV format

## Contents

- **Setup**
- **Using**
- parsing ASOTR MVN data files in specified directory
- parsing all ASOTR MVN data files in specified directory and subdirectories
- plot data in python
- **Output asotr_csv data files description**
- **Contacts**

**Note**: \<PATH_TO_ASOTR_CSV\> - path where is asotr_csv program is cloned from heagit

## Setup
1. Install Rust compiler (if you don't have).
Installation on Linux:
```
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
```

Installation on Windows:  
Go to address https://www.rust-lang.org/tools/install and follow instructions  
For more detailed information you can go to: https://doc.rust-lang.ru/book/ch01-01-installation.html

**Instruction for setup asotr_csv project**

2. Clone the repo to your computer:

```
git clone http://heagit.cosmos.ru/gamkov/asotr_csv.git
```

3. Enter the repo and compile it:
```
cd <PATH_TO_ASOTR_CSV>
cargo build --release
```

After running this commands you will get an execution file (asotr_csv) in the following directory:  
\<PATH_TO_ASOTR_CSV\>/target/release/

## Using
### Parsing ASOTR MVN data files in specified directory
1. Donwload 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)   

2. Run linux bash script **asotr_unzip.sh** for directory with MVN data in order to unpack **asotr.tar.gz** archive with ASOTR MVN data, for example:  
```
cd <PATH_TO_ASOTR_CSV>  
./asotr_unzip.sh <PATH_TO_ASOTR_DATA>/20241231-001   
```

**Note**: the script **asotr_unzip.sh** will not work on windows, you will need to unpack the archive  **\<PATH_TO_ASOTR_DATA\>/20241231-001/data/asotr.tar.gz** manually or write the corresponding Windows bat-file

3. Run program asotr_csv:  
```
cd <PATH_TO_ASOTR_CSV>/target/release/  
./asotr_csv -d <PATH_TO_ASOTR_DATA>/20241231-001  
```
csv data are ready to use in directory:  
\<PATH_TO_ASOTR_CSV\>/target/release/  

### Parsing all ASOTR MVN data files in specified directory and subdirectories
1. Donwload 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)

2. Run linux bash script **asotr_all_unzip.sh** for directory with MVN data in order to unpack all **asotr.tar.gz** archives with ASOTR MVN data, for example:  
```
cd <PATH_TO_ASOTR_CSV>  
./asotr_all_unzip.sh <PATH_TO_ASOTR_DATA>/   
```

**Note**: the script **asotr_all_unzip.sh** will not work on windows, you will need to unpack the each archive **\<PATH_TO_ASOTR_DATA\>/\<DIRECTORY_WITH_DATA\>/data/asotr.tar.gz** manually or write the corresponding Windows bat-file  

If you want to parse astor data in specified directory, run program asotr_csv directly:  
```
cd <PATH_TO_ASOTR_CSV>/target/release/  
./asotr_csv -d <PATH_TO_ASOTR_DATA> 
```
Or if you want to parse all raw data from ASOTR into csv files and plot csv data you might use shell script:
```
cd <PATH_TO_ASOTR_CSV>  
./asotr_all_unzip_auto.sh <PATH_TO_ASOTR_DATA>/
```
csv data will be in directory:  
\<PATH_TO_ASOTR_CSV\>/data/  

### Plot csv data in Python
If you want to parse all raw data from astor into csv files and plot csv data you might use shell script:
```
cd <PATH_TO_ASOTR_CSV>  
./asotr_all_unzip_auto.sh 
```

or if you already have csv files with ASOTR data, you might use plot script only:  
```
cd <PATH_TO_ASOTR_CSV>/data/
python3 plot_flight_all.py
```

## Output asotr_csv data files description
**description:**  
asotr01_data_T.csv - ASOTR1 temperature data in channels 1-6 (in Celsius)  
asotr01_data_P.csv - ASOTR1 power data in channels 1-6 (in %)  
asotr01_data_TSET.csv - ASOTR1 temperature sets in channels 1-6 (in Celsius)  
asotr02_data_T.csv - ASOTR2 temperature data in channels 1-6 (in Celsius)  
asotr02_data_P.csv - ASOTR2 power data in channels 1-6 (in %)  
asotr02_data_TSET.csv - ASOTR2 temperature sets in channels 1-6 (in Celsius)  

**file data csv fromat:**  
column 1: Unix timestamp in seconds   
column 2: timestamp (data and time)    
columns 3-8 - data from control channels (power, temperature or temperature set)  


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