Hi-netからsac(2021以降のデータ)

#事前準備
Hi-netでダウンロードした
``20200201000000_001440_85524.zip``
のような一日分のzipファイルを解凍すると，

直下に
``/Users/gen/2021/noise/2002/2020/02/01/01/01/V/M``
というディレクトリが作成され，/M に
一分間のcntファイル×６０×24が作られる．
※（/Users/gen/2021/noise/**2002**）で解凍した場合

なので，

```
$ mv /Users/gen/2021/noise/2002/"2020 29"/02/29/01/01/V/M/*.cnt /Users/gen/2021/noise/2002
```
のコマンドで
/Users/gen/2021/noise/**2002**
にcntファイルを移動

#ファイル移動シェル
```zip_2021.sh
#!/bin/bash
#使い方
#./zip_2.sh /home/takehiko/2021/noise/2107  2021  07
#展開先 年 月

mv ${1}/${2}/${3}/01/01/01/V/M/*.cnt ${1}

for num in {1..9}
do
mv ${1}/${2}" ""("${num}")"/${3}/0${num}/01/01/V/M/*.cnt ${1}
done

for num in {10..31}
do
mv ${1}/${2}" ""("${num}")"/${3}/${num}/01/01/V/M/*.cnt ${1}
done
	   
ls -1 | wc -l
```



こんなかんじで
``/2002``に一月分のcntファイルをコピーする

あとは
``channels.tbl``と``win.prm``も``/2002``に入れておく

#必要なファイル
channels.tbl
win.prm
1month_2.sh(本プログラムシェル)
win2sac1day_2.sh（一日分のsacファイルを作るシェル）


#使い方
```
＄ ./1month_2.sh 2003 7f73  N.MMOH
```
のように西暦・月（4桁），観測点・成分コード，観測点名を引数で入れて実行すれば
あとは勝手にひとつき分のsacファイルが作られるはず．


#win.prmの中身
```win.prm
.
channels.tbl
.
.
```

#チャンネルテーブルの中身
```channels.tbl
7f73 1 0 N.MMOH U 6 27 174.90 m/s 0.97 0.70 0 1.023e-07 36.2578 137.9898 539 0 0 Matsumoto
7f74 1 0 N.MMOH N 6 27 163.50 m/s 0.98 0.70 0 1.023e-07 36.2578 137.9898 539 0 0 Matsumoto
7f75 1 0 N.MMOH E 6 27 165.40 m/s 0.99 0.70 0 1.023e-07 36.2578 137.9898 539 0 0 Matsumoto
6063 1 0 N.MWDH U 6 27 169.70 m/s 1.00 0.70 0 1.023e-07 36.2118 137.9140 562 0 0 Matsumotowada
6064 1 0 N.MWDH N 6 27 170.10 m/s 0.96 0.70 0 1.023e-07 36.2118 137.9140 562 0 0 Matsumotowada
6065 1 0 N.MWDH E 6 27 167.80 m/s 0.95 0.70 0 1.023e-07 36.2118 137.9140 562 0 0 Matsumotowada
```

#本プログラムのコード
```1month_2.sh
#!/bin/bash

#使い方
#./1month.sh 2003 7f73  N.MMOH

for day in {1..9}
do
    echo "${1}0${day}"
    ./win2sac1day_2.sh ${1}0${day} ${2} ${3}
done


for day in {10..31}
do
     echo "${1}${day}"
    ./win2sac1day_2.sh ${1}${day} ${2} ${3}
done

echo "一月完了"
```


#一日分のsacファイルを作るシェル

```win2sac1day_2.sh
#!/bin/bash

#使い方
#./win2sac1day.sh 191201 7f73 N.MMOH

#cntファイルをwinファイルに変換
#00時〜09時
for hour in {0..9}
do

 for min in {0..9}   
 do
    w32tow1 20${1}0${hour}0${min}0101VM.cnt 20${1}.0${hour}0${min}
 
 done

 for min in {10..59} 
 do
     w32tow1 20${1}0${hour}${min}0101VM.cnt 20${1}.0${hour}${min}

 done
      
done

#10時〜24時
for hour in {10..23}
do

 for min in {0..9}   
 do
    w32tow1 20${1}${hour}0${min}0101VM.cnt 20${1}.${hour}0${min}
 
 done

 for min in {10..59} 
 do
     w32tow1 20${1}${hour}${min}0101VM.cnt 20${1}.${hour}${min}

 done
      
done

echo "cntからwinへの変換完了"

#１時間分に結合
for hour in {0..9}
do
cat 20${1}.0${hour}?? > 0${hour}00_test
done

for hour in {10..23}
do
cat 20${1}.${hour}?? > ${hour}00_test
done

#4時間に結合
cat 0000_test 0100_test 0200_test 0300_test  > 03_test
cat 0400_test 0500_test 0600_test 0700_test  > 07_test
cat 0800_test 0900_test 1000_test 1100_test  > 11_test
cat 1200_test 1300_test 1400_test 1500_test  > 15_test
cat 1600_test 1700_test 1800_test 1900_test  > 19_test
cat 2000_test 2100_test 2200_test 2300_test  > 23_test


#一時間のwinファイルを一時間のsacファイルに変換

win2sac_32 03_test ${2} s > gomi.txt
mv ${3}.U.s ${1}0300_${3}_U.s
win2sac_32 07_test ${2} s > gomi.txt
mv ${3}.U.s ${1}0700_${3}_U.s
win2sac_32 11_test ${2} s > gomi.txt
mv ${3}.U.s ${1}1100_${3}_U.s
win2sac_32 15_test ${2} s > gomi.txt
mv ${3}.U.s ${1}1500_${3}_U.s
win2sac_32 19_test ${2} s > gomi.txt
mv ${3}.U.s ${1}1900_${3}_U.s
win2sac_32 23_test ${2} s > gomi.txt
mv ${3}.U.s ${1}2300_${3}_U.s


echo "sacへの変換完了"

#sacファイルを一日分にする
#バックアップ
cp ${1}0300_${3}_U.s ${1}0300_${3}_U_t.s

#24時間分のsacファイルを結合
sac << EOF > /dev/null
  r ${1}0300_${3}_U_t.s
  merge ${1}0700_${3}_U.s
  merge ${1}1100_${3}_U.s
  merge ${1}1500_${3}_U.s
  merge ${1}1900_${3}_U.s
  merge ${1}2300_${3}_U.s
  w ${1}0000_${3}_U_t.s 
  q
EOF

#最後の処理（名前の変更）
sac << EOF > /dev/null
  r ${1}0000_${3}_U_t.s
  rmean
  w ${1}_${3}_U.s 
  q
EOF

#ディレクトリの掃除
rm ${1}????_${3}_U.s
rm 20${1}.????
rm ????_test
rm ??_test
rm ${1}0000_${3}_U_t.s
rm ${1}0300_${3}_U_t.s
rm gomi.txt
echo "sac一日結合完了"
```