RDI BBVM300のデータ解析用プログラムの使用例
使用するソフトウェア
Intel Fortran Compiler
バージョンの確認
$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.0 Build 20081105 Package ID: l_cprof_p_11.0.074
Fortranの初歩については、下記を参照のこと
https://sites.google.com/site/fcfortran/home
Generic Mapping Tools (GMT)
バージョンの確認
$ gmtdefaults -D | head
#
# GMT-SYSTEM 4.4.0 [64-bit] Defaults file
GMTの初歩については、下記を参照のこと
https://sites.google.com/site/afcgmt/home
[~]
$ ls
51.Sample_Ariake2005/
[~]
$ cd 51.Sample_Ariake2005
[~/12.Work11/51.Sample_Ariake2005]
$ ls
01.ADCP_DATA/ 03.AUG_Harmonic_Cross_Section/ 30/
02.Subsampling/ 04.Ave_Lower_Layer_Velo/ 31.Density_Cross_Section/
[~/12.Work11/51.Sample_Ariake2005]
$ ls 01.ADCP_DATA/
voy.20000_000000.LOG voy.20000_000000w.001 voy.20000setting_A.jpg
voy.20000_000000.LTA voy.20000_A.txt
→データの一覧
地理座標系(経度,緯度)→デカルト座標系
座標系を回転→測線が(横軸)x軸と並行になるようにする
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling]
$ cd 02.local_Cartesian_coord_and_Rotate/
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ ls
000.Readme.txt Measurment_location.txt
AUG_Measurment_location.jpg Measurment_location_JUL.txt
Earth_Radius.txt loc.sh
JUL_Meas_loc_coord_rotation.jpg localcart.f
JUL_Meas_loc_coord_rotation.ps locart.sh
JUL_Meas_loc_local_cart.ps locrot.sh
JUL_Measurment_location.jpg main.f
JUL_Measurment_location.ps makefile
Meas_loc_coord_rotation.ps ?R?s?[ (2) ?` main.f
Meas_loc_local_cart.ps ?R?s?[ ?` main.f
Measurment_location.ps
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ make
ifort -c main.f -o main.o
main.f(137): (col. 7) remark: LOOP WAS VECTORIZED.
ifort -c localcart.f -o localcart.o
ifort main.o localcart.o -L/usr/local/lib/Linux_IA64Itan_2/lib -llapack -lcblas -lf77blas -latlas -L/usr/lib/gcc-lib/ia64-redhat-linux/3.0.4/ -lg2c -o a.out
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ a.out
INPUT: ../../01.ADCP_DATA/voy.20000_A.txt
OUTPUT: Measurment_location.txt
NT = 772
Origin of the local cartesian coordinates:
130.473983764648 32.7757339477539
Angle for the coordinate ration:
11.0000000000000
real 0m0.065s
user 0m0.060s
sys 0m0.005s
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ chmod u+x *.sh
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ loc.sh
INPUT: Measurment_location.txt
OUTPUT: Measurment_location.ps
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ locart.sh
INPUT: Measurment_location.txt
OUTPUT: Meas_loc_local_cart.ps
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ locrot.sh
INPUT: Measurment_location.txt
OUTPUT: Meas_loc_coord_rotation.ps
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/02.local_Cartesian_coord_and_Rotate]
$ cd ..
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling]
$ cd 03.Pickup_bin/
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/03.Pickup_bin]
$ make
ifort -c main.f -o main.o
main.f(150): (col. 7) remark: LOOP WAS VECTORIZED.
ifort -c localcart.f -o localcart.o
ifort main.o localcart.o -L/usr/local/lib/Linux_IA64Itan_2/lib -llapack -lcblas -lf77blas -latlas -L/usr/lib/gcc-lib/ia64-redhat-linux/3.0.4/ -lg2c -o a.out
real 0m0.336s
user 0m0.255s
sys 0m0.080s
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/03.Pickup_bin]
$ a.out
INPUT:
../../01.ADCP_DATA/voy.20000_A.txt
OUTPUT:
Measurment_location.txt
Velocity_data_center_bin.txt
Measurment_point_center_bin.txt
NT = 772
Origin of the local cartesian coordinates:
130.473983764648 32.7757339477539
Angle for the coordinate ration:
11.0000000000000
Size of a rectangular grid from which the data will be picked up:
dx, dy = 0.400000000000000 0.800000000000000
center of the rectangular grid: 0.000000000000000E+000
0.000000000000000E+000
real 0m0.072s
user 0m0.063s
sys 0m0.010s
[~/12.Work11/51.Sample_Ariake2005/02.Subsampling/03.Pickup_bin]
$ chmod u+x *.sh
$ loctemp.sh
INPUT: Measurment_point_center_bin.txt
OUTPUT: Measurment_point_center_bin.ps