このページの末尾に、プログラム、サンプルデータなどへのリンクがあります。
使用例
コンパイル
[kunoki@aofd165 U10.Ship]$ make
if [ ! -d ../obj ]; then \
mkdir -p ../obj ; \
fi
ifort -c -CB -traceback -fpe0 -module ../obj -c -o ../obj/nagasaki.maru.meteo.o nagasaki.maru.meteo.f90
ifort -o nagasaki.maru.meteo ../obj/nagasaki.maru.meteo.o -module ../obj
real 0m0.276s
user 0m0.181s
sys 0m0.097s
実行
[kunoki@aofd165 U10.Ship]$ sh nagasaki.maru.meteo.run.sh
Input: /work2/kunoki/to_manda_sensei/Data/ECS_OBS/Ship_weather/20120615.DAT
Output: 20120615.raw.txt
プログラム
nagasaki.maru.meteo.f90
program meteo
! Description: Read Nagasaki-Maru's Meteorol. data
! 列 データの種類 変数の名前
! 1 日付 yy,mm,dd
! 2 時刻 hh,mm
! 3 緯度 lat(dd,mm.mmm)
! 4 経度 lon(ddd,mm.mmm)
! 5 波高 wh(m)
! 6 周期 wp(s)
! 7 真風向 wd(deg)
! 8 風速(knot) ws(knot) 1 knot=0.514 m/s
! 9 気温 ta(deg)
!10 水温 ts(deg)
!11 気圧 pr(hPa)
!12 ジャイロ方位 gyr(deg)
!13 速力 ss(knots)
! 真風向の定義:北=0度、時計回りにはかる。北より(南向き)の風=0度、東より(西向き)の風=90度
!
! Author: aym
!
! Host: aofd30
! Directory: /work1/aym/11.Work10/03.ECS/01.Obs_Amami/21.check_raw
!
! Revision history:
! 2011-01-14 16:55
! Initial Version
! use
! implicit none
character(len=500)::infle
character strm*500,ymd*12,hms*10,lat*14,lon*15
integer yr,mo,dy,hr,mi,sc,latd,lond
real latm,lonm
namelist /para/infle
read(*,nml=para)
print '(A)','# date(yyyy,mm,dd) time_JST(hh,mm) lat(dd,mm.mmm) lon(ddd,mm.mmm) wh(m) wp(s) wd(deg) ws(knot) ta(degC) ts(degC) p(hPa) gyr ss'
open(10,file=infle,action="read")
10 continue
read(10,'(A)',end=20)strm
read(strm(1:54),'(A,1x,A,1x,A,1x,A)')ymd,hms,lat,lon
read(strm(56:),*)wvh,wvp,wid,wis,ta,tw,pr,gyd,shs
read(ymd(2:5),*)yr
read(ymd(7:9),*)mo
read(ymd(10:11),*)dy
read(hms(2:3),*)hr
read(hms(5:6),*)mi
read(hms(8:9),*)sc
read(lat(2:3),*)latd
read(lat(6:11),*)latm
read(lon(2:4),*)lond
read(lon(7:12),*)lonm
print '(i5.4,2i3.2,3i3.2, i3,f7.3, i4,f7.3, f7.1,f7.1,f10.3,f8.1,f7.2,f7.1,f7.1,2f8.1)',&
yr,mo,dy,hr,mi,sc, latd,latm,lond,lonm ,wvh,wvp,wid,wis,ta,tw,pr,gyd,shs
goto 10
20 continue
write(*,*)
end program meteo
実行用シェルスクリプト
nagasaki.maru.meteo.run.sh
#!/bin/sh
exe=nagasaki.maru.meteo
namelist=namelist.${exe}
indir=/work2/kunoki/to_manda_sensei/Data/ECS_OBS/Ship_weather
in=20120615.DAT
out=$(basename $in .DAT).raw.txt
cat <<EOF > $namelist
¶
infle="${indir}/${in}" ! input file
&end
EOF
echo Input: ${indir}/${in}
echo Output: ${out}
$exe < $namelist > $out
exit 0
ファイルのフォーマット
-----
2011/1/14 記
長崎丸の気象データのフォーマット
列 データの種類
1 日付
2 時刻
3 緯度
4 経度
5 波高
6 周期
7 真風向 北=0度、時計回りにはかる。北より(南向き)の風=0度、東より(西向き)の風=90度
8 風速(knot) 1 knot=0.514 m/s
9 気温
10 水温
11 気圧
12 ジャイロ方位
13 速力
データの例(J:\0.FIELD_PROGRAM_DATA\01.Ariake\Fy2007\20071005環境実験IV\03.Wind)
日付 時刻 緯度 経度 波高 周期 真風向 風速 気温 水温 気圧 ジャイロ方位 速力
2007/10/7 0:00:00 32°56.156'N 130°17.831'E 0.4 10 135.5 0.1 25.4 25.9 1013.7 29.1 0
-----
-----
出力データ
2014/08/25記
列 データの種類
! 1 日付 yy,mm,dd
! 2 時刻 hh,mm
! 3 緯度 lat(dd,mm.mmm)
! 4 経度 lon(ddd,mm.mmm)
! 5 波高 wh(m)
! 6 周期 wp(s)
! 7 真風向 wd(deg)
! 8 風速(knot) ws(knot) 1 knot=0.514 m/s
! 9 気温 ta(deg)
!10 水温 ts(deg)
!11 気圧 pr(hPa)
!12 ジャイロ方位 gyr(deg)
!13 速力 ss(knots)
-----