カウントダウンブロック |
カウントダウンイベントはありません
|
|
|
投稿者 |
スレッド |
森 |
投稿日時: 2005-7-21 19:17 |
 登録日: 2004-7-29 居住地: 地球 投稿: 303 |
COWL Index の計算(Jones のデータを使用 ) NCEP/NCAR の再解析データから計算された COWL Index では、近年の温暖化の様子が表現できていない。一方、陸上の気温データでは、Jones のデータが良く使われるようである。そこで、Jones のデータを利用して COWL Index を計算する。なお、欠損値の扱い方はこれではまずいような気がするので、後日工夫したい。 1. Jones データセットのページから、ASCII データの crutem2.dat.gz をダウンロードする。 2. 以下、R で次のように処理する。 JonesData <- scan("crutem2.dat")
JonesData <- matrix(JonesData,75*36)
JonesData <- JonesData[,JonesData[1,] > 1949 ] # 1950 -
JonesData <- JonesData[,JonesData[1,] < 2003 ] # - 2002
JonesData <- JonesData[,JonesData[3,]==1] # データ
JonesData <- JonesData[ rep(c(rep(F,3),rep(T,72)),36), ] # remove header
dim(JonesData) <- c(72,36,12,53)
JonesData <- JonesData[,seq(36,1,-1),,] # y reverse
#
# 重みづけを計算する。
# この時、北緯20°以北だけ計算するので、より南の部分は0とする。
#
th <- seq(-90,90,5) / 180 * pi
JDweight <- sin(th[2:37]) - sin(th[1:36])
JDweight <- t(matrix(rep(JDweight,72),36))
JDweight[,1:22] <- 0
#
# LANDMASK を作りながら平均をとる。
#
for(year in 1:53){
for( month in 1:12 ){
JDLmask <- JonesData[,,month,year]
JDLmask <- c(JDLmask)
JDLmask[JDLmask == -9999 ] <- 0
JDLmask[JDLmask != 0 ] <- 1
dim(JDLmask) <- c(72,36)
WeightMask <- JDweight * JDLmask
write(
sum( JonesData[,,month,year] * WeightMask ) / sum( WeightMask ),
file="COWLJD.txt", append=T)
}
}
COWLJD <- t(matrix( scan("COWLJD.txt"), 12 ))
#
# 3 桁で保存する。
#
options(digits=3)
write(COWLJD,file="COWLJD4.txt",ncolumns=12)
|
|
|
森 |
投稿日時: 2005-7-22 15:18 |
 登録日: 2004-7-29 居住地: 地球 投稿: 303 |
Re: COWL Index の計算(Jones のデータを使用 ) 欠測について、同じ月のデータで期間内に 20% の欠測があった場合にはそれを用いないことにする。更新した作業。 ##################################################################
#
# COWL の index を計算する。 -4- Jones data で、20% の欠測があったら使わない方針で。
#
# cf. http://www.cru.uea.ac.uk/cru/data/temperature/
#
JonesData <- scan("crutem2.dat")
JonesData <- matrix(JonesData,75*36)
JonesData <- JonesData[,JonesData[1,] > 1949 ] # 1950 -
JonesData <- JonesData[,JonesData[1,] < 2003 ] # - 2002
JonesData <- JonesData[,JonesData[3,]==1] # データ
JonesData <- JonesData[ rep(c(rep(F,3),rep(T,72)),36), ] # remove header
dim(JonesData) <- c(72,36,12,53)
JonesData <- JonesData[,seq(36,1,-1),,] # y reverse
#
# 面積補正分, 20度より南はゼロ
#
th <- seq(-90,90,5) / 180 * pi
JDweight <- sin(th[2:37]) - sin(th[1:36])
JDweight <- t(matrix(rep(JDweight,72),36))
JDweight[,1:22] <- 0
#
# LANDMASK : データ数の有無に関する情報
#
NUMOBS <- rep(0,72*36*12)
dim(NUMOBS) <- c(72,36,12)
for( year in 1:53 ){
for( month in 1:12 ){
JDLmask <- JonesData[,,month,year]
JDLmask <- c(JDLmask)
JDLmask[JDLmask == -9999 ] <- 0
JDLmask[JDLmask != 0 ] <- 1
dim(JDLmask) <- c(72,36)
NUMOBS[,,month] <- NUMOBS[,,month] + JDLmask
}
}
# 43 未満(42以下 : 同月の期間内のデータの存在率が 80% 以下) は不適とする。
dim( NUMOBS ) <- c( 72*36, 12 )
for( month in 1:12 ){
NUMOBS[(NUMOBS[,month] < 43),month] <- 0
NUMOBS[(NUMOBS[,month] != 0),month] <- 1
}
dim( NUMOBS ) <- c( 72, 36, 12 )
#
# 計算
#
for(year in 1:53){
for( month in 1:12 ){
JDLmask <- JonesData[,,month,year]
JDLmask <- c(JDLmask)
JDLmask[JDLmask == -9999 ] <- 0
JDLmask[JDLmask != 0 ] <- 1
dim(JDLmask) <- c(72,36)
WeightMask <- JDweight * JDLmask * NUMOBS[,,month]
write(
sum( JonesData[,,month,year] * WeightMask ) / sum( WeightMask ),
file="COWLJDCR.txt", append=T)
}
}
COWLJDCR <- t(matrix( scan("COWLJDCR.txt"), 12 ))
#
# 3桁に変更
#
options(digits=3)
write(COWLJDCR,file="COWLJDCR4.txt",ncolumns=12)
COWLJDCR <- matrix( scan("COWLJDCR4.txt"), 53 )
|
|
|
森 |
投稿日時: 2005-7-22 15:19 |
 登録日: 2004-7-29 居住地: 地球 投稿: 303 |
Re: COWL Index の計算(Jones のデータを使用 ) このようにして得られた値。行は 1950〜2002年に対応し、各列は 1 月から12月までに対応する。 -104 -66.5 37.8 31.3 -105 74 -20.6 -36.5 84.3 12.3 8.5 20.7
50.7 -30.2 -2.41 20.6 -55.9 -25.5 -59.8 -175 -52.4 11 -130 2.85
-40.5 81.5 45.9 -132 4.89 -60.5 -27.2 140 -64.7 129 28.6 -31.9
105 26.2 80.4 72.5 78.9 64.5 147 87.6 52.8 160 -3.18 58
72 122 48.8 104 221 -40.2 -102 11.3 52.3 -30.2 -7.97 -143
0.294 46.1 19.7 97.4 88.1 79.4 71.9 -70.8 -89.4 15.6 -68.3 -49.7
-175 48.5 -51.5 -119 66.9 -70.5 13.4 6.93 40.1 -33.8 -74.6 2.23
122 1.97 48.9 -18.2 -93 15.1 127 6.71 85.6 112 103 109
85.4 -55.5 207 51.7 127 207 207 182 61.2 258 -13 -85
-96.1 35 -73.4 -118 -101 -52.5 -35.4 36.2 -125 47 -11.2 -26.9
-115 -34.4 -6.33 21.4 101 -110 -74.8 -98.2 -23.6 47.4 4.72 24.4
-99.4 89.7 14.9 14.9 -68 118 -39.2 29.7 -9.09 -41.1 40.3 -56.5
16.7 85.1 207 41 62.4 62.2 68.2 71.2 -21.2 93.5 70.3 16
149 128 164 -32.3 6.05 13 30.4 -46.8 -40.3 -64.4 -21 -20.6
19.1 -32.2 9.83 14.5 -15.3 -50.9 -51.7 -53.5 -15.6 10.8 -16 -14.8
-33.8 -16.9 2.34 -2.68 7.02 4.29 55.8 3.97 -64.5 -1.91 61.9 -2.73
-5.04 -16.3 12.3 23.8 -1.03 40 55.9 68.6 77.6 -12.7 12.3 82
57.7 -18.2 39.3 118 103 145 82 65 -0.516 5.06 -1.64 10.5
-39.6 -1.79 -36.3 -38 7.08 -13.7 -27.9 4.83 15.5 -7.14 -3.77 -20
-30.1 12.4 -14.6 -20.8 -12.6 -22.9 -33 4.87 -16.3 10.4 -26.9 34.8
-24.7 -10.1 8.2 1.27 3.17 -27.1 17.7 18.4 19.4 12.3 38.9 36.4
38.8 23.9 6.81 32.4 52.3 42.6 28.5 40.5 92.7 59.3 92 113
47.4 -8.57 -22.1 19.8 38.4 10 4.22 -18 -1.87 -16.4 10.2 27.6
35 -31.8 -22 -13.5 -23.7 0.346 -26.5 -23.7 -39.3 -1.28 -17 -16.9
18 -15.4 4.89 -25.9 35.3 -20.1 13.2 23.4 30.8 -27 -9.38 11.3
-15.5 17.6 3.46 60.9 27.2 60.2 44.6 -27.1 6.75 64.9 60.6 37.2
54.6 84.3 56.2 57.7 71.7 93.7 -23.2 -4.26 30.4 36.7 0.813 15.7
-30.5 -9.24 -14.9 5.25 -3.73 6.1 -2.91 11.8 -5.64 -37.9 2 2.74
-32.3 -9.02 0.0768 -20.1 -33.2 -0.242 -5.52 19.6 -39 -4.16 -17.4 -6.09
9.93 20 9.01 33.6 2.61 -16.3 -17.4 11.9 57.1 45.9 30.8 54.2
-48.9 -11.7 69.8 46.9 34.9 32.3 96 67 58.6 77.8 92.6 -18.2
33 25.9 34 14.9 36.2 -33.1 1.84 15.4 19.5 0.255 10.8 8.2
7.9 -30.2 -46.6 11.5 12.6 -45.1 -10.1 6.08 -6 -21.2 7.15 -13.2
8.16 -30.3 -16.5 -34.1 -15 -2.68 27.5 -15.7 43.6 6.36 5.52 -6.3
4.77 45.5 35.1 47.8 58.2 -13.3 -3.63 64.1 79.7 16.8 56.7 109
70.4 77.6 110 58.1 7.01 36.3 28.4 26.6 38.6 21.9 -38.9 15.4
-7.84 13.5 16.4 8.87 -6.15 24.1 -27.7 -46.8 13.5 -13.4 -20.9 -13.2
-0.83 5.67 -78.9 -10.1 -18 31 -26.4 9.83 2.81 20.1 -3.35 18.7
16.5 39.7 -33.4 -15 -13.4 34.8 39.1 26.8 39.7 42.9 -40.8 -35.7
56.5 39.6 -17.7 44 101 87.8 46.2 60.3 79 15.9 8.22 -21.9
49.8 34.5 29.5 -22 -18 -1.46 -31.5 -3.07 -20.9 38.6 87.3 -33
-4.24 -8.77 62 -14.4 -13.9 -40.6 16.2 -40.8 0.708 -45.9 4.55 -130
-11.1 -6.62 32.6 -3.25 3.08 -3.11 23 -3.6 1.85 -4.53 -1.35 32.6
43.6 51.2 42.9 -43.6 0.596 69.7 102 -7.64 47.5 83.6 84.5 18.8
93.3 14.4 -101 -14.7 -84.3 -36.9 68.2 -67 -90.1 14.9 16 -74.9
-13.8 14.9 -14.1 72 2.9 -32.3 -30.8 10.7 -35.4 10.3 -3.93 33.8
-54.1 -19.1 -21.7 -27.7 -91.6 70 25.4 11.9 60.5 22 -27.1 97.5
-40.1 -50.5 -30.4 -29.2 8.71 -10 71.7 22.3 -19.8 -94.1 87.4 49.2
6.99 33 35.4 86.5 -18.4 148 75.2 -28.2 85.2 -31.2 57.6 -28.4
-48.1 -57.1 67.2 17.7 8.52 41.6 -28.2 18.2 -30.8 -55 1.71 -85.5
-21 -82 27.6 -58.1 20.4 -32.4 32 -23.6 -35.7 -79.7 1.13 -15.9
129 1.54 73.4 80 -10.8 -101 -5.07 27.3 93 98.4 39 35.5
22.6 38.1 65 75.6 24.4 57.4 84.4 129 152 20 35 -1.98
このデータのうち、冬季のデータの変化傾向を図示する。図の詳しい情報は、 ここ(マイアルバム)を参照のこと。 
|
|
|
|