デモンストレーション

ソースコードの利用方法

C，Fortranソースコードの利用
z プログラム開発環境の構築

Windows用のフリーソフト
 GCC(GNU Compiler Collection)

C, C++，fortran コンパイラー
http://www.mingw.org/index.shtml
 Borland C++ Compiler 5.5
C, C++ コンパイラー
http://www.borland.co.jp/cppbuilder/freecompiler/

GCCを用いた例
 GCCの開発環境をダウンロード
 PATHを設定

Windowsのコマンドプロンプトか、コントロールパネルのシステム環境変数で設定
 コマンドプロンプト上でソースプログラムをコンパイルして実行Cプログラムの利用
Sample : 拡張アメダス気象データをCDから読むサンプルプログラム
zzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzz/*************************************************************************************/**************************************************************************************ea_cd_read.c* Sample program for reading AMEDAS01.wea - AMEDAS04.wea file** acity:acity:地点情報,地点情報, cnum:
cnum:地点番号,地点番号, elm :要素種別:要素種別*elm,2:絶対湿度
絶対湿度,3:,3:全天日射量
全天日射量,4:,4:大気放射量
大気放射量,5:,5:風向
風向,,elm-> 1:気温
1:気温,2:*
6:風速,7:降水量
降水量 ,8:日照時間
6:風速,7:,8:日照時間***************************************************************************************************************************************************************************//#include <stdio.h><stdio.h>#include <io.h><io.h>#include <fcntl.h><fcntl.h>#include <stdlib.h><stdlib.h>void amedas_open(void );void index_read(void);index_read(void);void amedas_read(int ccity,ccity, int elm, int iy);iy);
#define RECSIZ 18306#define ERROR 32767
struct city{
int cd;//CD番号
cd;//CD番号
char name[23]; //地点名//地点名
double lat;
//緯度
//緯度
double lon;
//経度
lon;
//経度
double alt;
//標高
//標高
} acity[842];
short int dat[9153];
int current_cd;
current_cd;
int scity[4], fd[4];int main(){
int year, day, hour, n;
int cnum,cnum, elm;
int iyear,iyear, iday,iday, ihour,ihour, jyear,jyear, jday,jday, jhour;jhour;
float dval,dval, min, max;()

GCCによるコンパイルと実行C:¥sample>set PATH=C:¥MinGW¥bin;%PATH%C:¥sample¥gcc –o ea_cd_read ea_cd_read.c

C:¥sample¥ea_cd_read
地点番号 10
地点番号10 キタミエサシ
要素番号 1
要素番号 1
15年間の極値(最低) -21.8 発生年・通日・時 1986 31 6
15年間の極値(最高) 32.8 発生年・通日・時 1988 212 14

Fortranプログラムの利用
Sample : 拡張アメダス気象データをCDから読むサンプルプログラムzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
z

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCAMEDAS0X.forC
C
SAMPLE PROGRAM FOR READING AMEDAS01.wea - AMEDAS04.wea FILECC CITY:地点情報のファイル名,, SNUM:地点番号
CITY:地点情報,, FN :wea
:weaのファイル名
SNUM:地点番号,, ETYP:要素種別
ETYP:要素種別C YEAR:西暦, ND :年間通日
YEAR:西暦 , YD :年間日数:年間日数:年間通日,, DNUM:累積地点数
DNUM:累積地点数
C NUM :地点番号:地点番号,, IYR:読み込む年
IYR:読み込む年 , DATH:時別値
DATH:時別値 , DATD:日別値
DATD:日別値
C HR :時刻:時刻 , IE :要素種別:要素種別
CC IE,2:絶対湿度
絶対湿度,3:,3:全天日射量
全天日射量,4:,4:大気放射量
大気放射量,5:,5:風向
風向,,IE-> 1:気温
1:気温,2:C
6:風速,7:降水量
降水量 ,8:日照時間
6:風速,7:,8:日照時間
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CHARACTER CITY*48,FN(4)*30,OK*1
INTEGER*2 SNUM,ETYP,YEAR,YD(15),ND,HRINTEGER*2 DATH(366,24,8),DATD(366,8)
INTEGER*2 DNUM(4)C
DATA FN/'D:/AMEDAS01.wea','D:/AMEDAS02.wea',&'D:/AMEDAS03.wea','D:/AMEDAS04.wea'/
DATA DNUM/0,162,388,604/
DATA YD/365,365,365,366,365,365,365,366,365,365,365,366,&365,365,365/
C
OPEN(3,FILE='AMEDAS0X.DAT')CC 読み込むデータの地点番号および年を入力
10 CONTINUEWRITE(6,*) 'INPUT STATION NUMBER [ 11-842 ]'READ (5,*) NUM
11 CONTINUEWRITE(6,*) 'INPUT YEAR [ 1981 - 1995 ]'READ (5,*) IYR
IY = IYR - 1980
C
C 地点番号,
地点番号,年のチェック
IF ((NUM.LT.1).OR.(NUM.GT.842)) THEN
( ())
S

G77によるコンパイルと実行C:¥sample>set PATH=C:¥MinGW¥bin;%PATH%C:¥sample¥g77 –o AMEDAS0X AMEDAS0X.forC:¥sample¥AMEDAS0XINPUT STATION NUMBER [ 1-842 ] 10
INPUT YEAR[ 1981-1995 ] 1981
10th Station Î 北見枝幸 キタムエサシ
10th Station Î CD-ROM Vol.1
CD-ROM ready?[ Y/N]

北海道宗谷支