1. Add public function parse_data_dir for parsing ASOTR MVN data in specified directory and all subdirectories and write data about temperature, temperature set and power to csv files. 2. Correct Readme. 3. Correct linux bash-scripts for unpacking asotr.tar.gz files

This commit is contained in:
Danila Gamkov
2025-01-24 11:42:08 +03:00
parent b738243634
commit d3cf1281dd
4 changed files with 289 additions and 179 deletions

View File

@@ -1,29 +1,18 @@
# asotr_csv
The simplest parser for converting data from the ASOTR MVN control channels into the CSV format
The parser for converting data from the ASOTR MVN control channels into the CSV format
## Contents
- Setup
- Using
- Contacts
- **Setup**
- **Using**
- parsing ASOTR MVN data files in specified directory
- parsing all ASOTR MVN data files in specified directory and subdirectories
- **Output asotr_csv data files description**
- **Contacts**
## Setup
Instruction for setup asotr_csv project
1. Clone the repo to your computer:
```
git clone http://heagit.cosmos.ru/gamkov/asotr_csv.git
```
2. Enter the repo and install it:
```
cd <PATH_TO_ASOTR_CSV>
```
3. Install Rust compiler (if you don't have).
1. Install Rust compiler (if you don't have).
Installation on Linux:
```
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
@@ -33,56 +22,81 @@ 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
4. Compile project with Rust:
**Instruction for setup asotr_csv project**
2. Clone the repo to your computer:
```
cargo build
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 this commands you get execution file (asotr_csv) in the following directory: <PATH_TO_ASOTR_CSV>/target/release/
After running this commands you will get an execution file (asotr_csv) in the following directory:
\<PATH_TO_ASOTR_CSV\>/target/release/
## Using
1. Donwload data from science data server
If you don't have MVN data, you might download it from server with science SRG data (IP: 193.232.11.95), contact Shtykovsky A.
### 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. Copy bash-script in order to unpack ASOTR MVN data:
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:
```
cp <PATH_TO_ASOTR_CSV>/asotr_unzip.sh <PATH_TO_ASOTR_DATA>
cd <PATH_TO_ASOTR_CSV>
./asotr_unzip.sh <PATH_TO_ASOTR_DATA>/20241231-001
```
3. Run asotr_unzip.sh for directory with MVN data, for example:
```
cd <PATH_TO_ASOTR_DATA>
./asotr_unzip.sh ./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. Copy asotr_csv parser and asotr_parse.sh script to directory with unpacked ASOTR data:
3. Run program asotr_csv:
```
cd <PATH_TO_ASOTR_CSV>/target/release/
./asotr_csv -d <PATH_TO_ASOTR_DATA>/20241231-001
```
cd <PATH_TO_ASOTR_CSV>
cp asotr_parse.sh <PATH_TO_ASOTR_DATA>/20241231-001/data/asotr
cp target/release/asotr_csv <PATH_TO_ASOTR_DATA>/20241231-001/data/asotr
```
4. Run ASOTR data parsing into csv:
cd <PATH_TO_ASOTR_DATA>
./asotr_parse.sh
csv data are ready to use in directory:
PATH_TO_ASOTR_DATA/20241231-001/data
\<PATH_TO_ASOTR_CSV\>/target/release/
**File descriptions:**
asotr1_T.csv - ASOTR1 temperature data in channels 1-6 (in Celsius)
asotr1_P.csv - ASOTR1 power data in channels 1-6 (in %)
asotr1_TSET.csv - ASOTR1 temperature sets in channels 1-6 (in Celsius)
asotr2_T.csv - ASOTR2 temperature data in channels 1-6 (in Celsius)
asotr2_P.csv - ASOTR2 power data in channels 1-6 (in %)
asotr2_TSET.csv - ASOTR2 temperature sets in channels 1-6 (in Celsius)
### 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)
**file data fromat:**
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
3. Run program asotr_csv:
```
cd <PATH_TO_ASOTR_CSV>/target/release/
./asotr_csv -d <PATH_TO_ASOTR_DATA>
```
csv data are ready to use in directory:
\<PATH_TO_ASOTR_CSV\>/target/release/
## 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
column 2: date
column 3: time
columns 4-9 - channels data (power, temperature or temperature set)
columns 4-9 - data from control channels (power, temperature or temperature set)
## Contatcs
For questions about the program, please contact Danila Gamkov, mail: danila_gamkov@cosmos.ru