デジタル台風から画像をとってくる
画像取得シェルスクリプト
#!usr/bin/sh
#images 7day change every 1h or 3h (d7h2)
#by yoshiyoshi
#start time of image year
echo "write the start time of image. u have to write 0 exp; 1987 87 08 26 00"
echo "year"
read y
echo "yy write the 19yy or 20yy "
read yy
echo "month"
read m
echo "day"
read d
echo "hour"
read h
time=$y$m$d$h
echo "$time image"
echo "$y year $m month $d day $h hour"
mkdir data
mkdir data/$time
#satellite check GMS3orGMS4orGMS5#
#GMS3 step hour s=3
##GMS4 or 5 GOE9 step hour s=1
#time 1989120400 GMS3 to GMS4
#time 1995042800 GMS4 to GMS5
#time 2003052200 GMS5 to GOE9
#time 2005062800 GOE9 to MTS1
#time 1989120400 GMS3 to GMS4
sate=GMS3
nsate=GMS4
z=1989
n=12
e=4
if [ y -gt z ]
#>=z
then
if [ m -gt n ]
then
if [ d -gt e ]
then
sate=$nsate
else
echo ""
fi
else
echo ""
fi
else
echo ""
fi
if [ y -gt z ]
#>z
then
sate=$nsate
else
echo ""
fi
#time 1995042800 GMS4 to GMS5
#sate=GMS4
nsate=GMS5
z=1995
n=04
e=28
if [ y -gt z ]
#>=z
then
if [ m -gt n ]
then
if [ d -gt e ]
then
sate=$nsate
else
echo ""
fi
else
echo ""
fi
else
echo ""
fi
if [ y -ge z ]
#>z
then
sate=$nsate
else
echo ""
fi
#time 2003052200 GMS5 to GOE9
#sate=GMS5
nsate=GOE9
z=2003
n=05
e=22
if [ y -gt z ]
#>=z
then
if [ m -gt n ]
then
if [ d -gt e ]
then
sate=$nsate
else
echo ""
fi
else
echo ""
fi
else
echo ""
fi
if [ y -ge z ]
#>z
then
sate=$nsate
else
echo ""
fi
#time 2005062800 GOE9 to MTS1
#sate=GOE9
nsate=MTS1
z=2005
n=06
e=28
if [ y -gt z ]
#>=z
then
if [ m -gt n ]
then
if [ d -gt e ]
then
sate=$nsate
else
echo ""
fi
else
echo ""
fi
else
echo ""
fi
if [ y -ge z ]
#>z
then
sate=$nsate
else
echo ""
fi
#check time step hour=1 or 3
echo "$sate"
if [ sate -eq GMS3 ]
then
s=3
else
s=1
fi
echo "timestep $s hour"
#if sate chage is no working, write yourself
#sate=GMS5
#######################################################
##########day =30 or 31 or 29 & image get#############
#######################################################
case "$m" in
"04" | 06 | 09 | 11 ) for i in `seq 1 7`
#month of 30 day #make 7 image
do
echo "year $y"
echo "month $m"
echo "day $d"
echo "$i"
if [ $d -le 30 ] #when d<=30
then
echo ""
echo "$d"
##start###########
##time step######
if [ $s -eq 3 ]
#s=3
then
for j in `seq 1 7`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo"0get"
else
echo ""
fi
#get 0
done
h=00
else
#s=1
for j in `seq 1 23`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo"0get"
else
echo ""
fi
#get 0
done
h=00
d=`expr $d + 1`
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo"0get"
else
echo ""
fi
#get 0
fi
#####finish################
##########time step##
else
#next month >30
m=`expr $m + 1`
#month get 0
if [ $m -le 9 ]
then
m=0$m
else
echo ""
fi
#get 0
#n-day
d=`expr $d - 30`
echo "n-month $m"
echo "n-day $d"
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo"next month"
else
echo ""
fi
#get 0
##start###########
##time step######
if [ $s -eq 3 ]
#s=3
then
for j in `seq 1 7`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo "0get"
else
echo ""
fi
#get 0
done
h=00
else
#s=1
for j in `seq 1 23`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo"0get"
else
echo ""
fi
#get 0
done
h=00
fi
#####finish################
##########time step##
d=`expr $d + 1`
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo"0get"
else
echo ""
fi
#get 0
fi
done
;;
"01" | "03" | "05" | "07" | "08" | "10" | "12" ) for i in `seq 0 7`
#month of 31 day#make 7 image
do
echo "year $y"
echo "month $m"
echo "day $d"
echo "$i"
if [ $d -le 31 ] #when d<=31
then
echo ""
echo "$d"
##start###########
##time step######
if [ $s -eq 3 ]
#s=3
then
for j in `seq 1 7`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo "0get"
else
echo ""
fi
#get 0
done
h=00
else
#s=1
for j in `seq 1 23`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo "0get"
else
echo ""
fi
#get 0
done
h=00
fi
#####finish################
##########time step##
else
#########d>31 next month
m=`expr $m + 1`
###if 12 to 1 next year
if [ $m -le 11 ]
then
echo ""
else
#when y>12
y=`expr $y + 1`
yy=`expr $yy + 1`
echo "next year $y"
m=1
fi
if [ $yy -le 99 ]
then
echo ""
else
yy=00
fi
#month get 0
if [ $m -le 9 ]
then
m=0$m
else
echo ""
fi
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo "0get"
else
echo ""
fi
#get 0
#get 0
echo "new year $y"
d=`expr $d - 31`
echo "new month $m"
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo"next month"
else
echo ""
fi
#get 0
echo "new day $d"
##start###########
##time step######
if [ $s -eq 3 ]
#s=3
then
for j in `seq 1 7`
do
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo "0get"
else
echo ""
fi
#get 0
done
h=00
else
#s=1
for j in `seq 1 23`
do
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo "0get"
else
echo ""
fi
#get 0
done
h=00
fi
#####finish################
##########time step##
fi
d=`expr $d + 1`
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo "0get"
else
echo ""
fi
#get 0
done
;;
02 ) for i in `seq 1 7`
#month of 29 day #make 7 image
do
echo "year $y"
echo "month $m"
echo "day $d"
echo "$i"
if [ $d -le 29 ] #when d<=29
then
echo ""
echo "$d"
##start###########
##time step######
if [ $s -eq 3 ]
#s=3
then
for j in `seq 1 7`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo"0get"
else
echo ""
fi
#get 0
done
h=00
else
#s=1
for j in `seq 1 23`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#h get 0
if [ $h -le 9 ]
then
h=0$h
echo"0get"
else
echo ""
fi
#get 0
done
h=00
fi
#####finish################
##########time step##
else
#when d>29 next month
m=`expr $m + 1`
#month get 0
if [ $m -le 9 ]
then
m=0$m
else
echo ""
fi
#get 0
d=`expr $d - 29`
echo "n-month $m"
echo "n-day $d"
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo"next month"
else
echo ""
fi
#get 0
##start###########
##time step######
if [ $s -eq 3 ]
#s=3
then
for j in `seq 1 7`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#d get 0
if [ $h -le 9 ]
then
h=0$h
echo"0get"
else
echo ""
fi
#get 0
done
h=00
else
#s=1
for j in `seq 1 23`
do
echo "$h"
wget http://agora.ex.nii.ac.jp/digital-typhoon/globe/color/$y/512x512/$sate$yy$m$d$h.globe.1.jpg -O data/$time/$sate$yy$m$d$h.globe.1.jpg #get image and save image at file
h=`expr $h + $s`
#d get 0
if [ $h -le 9 ]
then
h=0$h
echo"0get"
else
echo ""
fi
#get 0
done
h=00
fi
#####finish################
##########time step##
fi
d=`expr $d + 1`
#d get 0
if [ $d -le 9 ]
then
d=0$d
echo"0get"
else
echo ""
fi
#get 0
done
;;
esac
0 件のコメント:
コメントを投稿