To minimize the risks from tropical cyclones (TCs), the quantification and regular monitoring of TC activities are strongly needed. By introducing LACE, which is a localized index utilizing the formulation of the accumulated cyclone energy (ACE), this paper proposes a geographical approach to the risk map for TCs, which has been unavailable using the conventional ACE. Annual LACE measures TC activity by merging the quantities of frequency, intensity, and duration factors, which contribute to the local TC activity in a year. In conjunction with LACE, a concept of LACE potential is also proposed to understand the contributions of the factors to LACE. The LACE potential enables the comparison of the contributions by the factors at a specific location, and the identification of the characteristics of the regional TC risks. To demonstrate the LACE and LACE potential, this paper provides the response of the local TC activities to El Niño-Southern Oscillation in the western North Pacific, which confirms the value of the indices.
rm(list = ls())
# Read data
##################################
LACE = read.table( "LACE_1991to2020_12m.dat",header = TRUE)
Fdata = read.table( "F_1991to2020_12m.dat" , header = T)
MIdata = read.table( "MI_1991to2020_12m.dat" , header = T)
MDdata = read.table( "MD_1991to2020_12m.dat" , header = T)
Xdata = read.table( "X_1991to2020_12m.dat" , header = T)
# mean soi for (1991:2020)
soi1 = read.table("soi_anomaly_1951_2021.txt", header = F)
soi30 = soi1[(1991-1950):(2020-1950),-1]
soi30 = rowMeans(soi30)
soi = read.table("soi_anomaly_1951_2021.txt", header = F)
soi= rowMeans(soi[,-1])
soi70 = (soi-mean(soi30))/sd(soi30)
# data frame
nsoi = NULL;
nsoi = - soi70[(1991-1950):(2020-1950)]
Year = 1991:2020 #1951:2021
nsoi = cbind(Year, nsoi)
# Extract composite data
##################################
#LACE
#---------------------------------
data = NULL
imsi = LACE
imsi_Clim =NULL #Clim
imsi_Clim = rowMeans(imsi)
imsi_LN =NULL #LN
for(i in which(nsoi[,2]<(-1) ))
{imsi_LN = cbind(imsi_LN,imsi[,i])}
imsi_EN =NULL #EN
for(i in which(nsoi[,2]>(1)) )
{imsi_EN = cbind(imsi_EN,imsi[,i])}
compLACE= list(imsi_Clim,imsi_LN,imsi_EN)
names(compLACE)=c("Clim","LN","EN")
save(compLACE,file="compLACE.RData") #data format: list
# F
#---------------------------------
data = NULL
imsi = Fdata
imsi_Clim =NULL; #Clim
imsi_Clim = rowMeans(imsi)
imsi_LN =NULL # LN
for(i in which(nsoi[,2]<(-1) ))
{imsi_LN = cbind(imsi_LN,imsi[,i])}
imsi_EN =NULL # EN
for(i in which(nsoi[,2]>(1)) )
{imsi_EN = cbind(imsi_EN,imsi[,i])}
compF= list(imsi_Clim,imsi_LN,imsi_EN) ###
names(compF)=c("Clim","LN","EN") ###
save(compF,file="compF.RData")###
# MI
#---------------------------------
data = NULL
imsi = MIdata
imsi_Clim =NULL; #Clim
imsi_Clim = rowMeans(imsi)
imsi_LN =NULL # LN
for(i in which(nsoi[,2]<(-1) ))
{imsi_LN = cbind(imsi_LN,imsi[,i])}
imsi_EN =NULL # EN
for(i in which(nsoi[,2]>(1)) )
{imsi_EN = cbind(imsi_EN,imsi[,i])}
compMI= list(imsi_Clim,imsi_LN,imsi_EN)
names(compMI)=c("Clim","LN","EN")
save(compMI,file="compMI.RData")
# MD
#---------------------------------
data = NULL
imsi = MDdata
imsi_Clim =NULL; #Clim
imsi_Clim = rowMeans(imsi)
imsi_LN =NULL # LN
for(i in which(nsoi[,2]<(-1) ))
{imsi_LN = cbind(imsi_LN,imsi[,i])}
imsi_EN =NULL # EN
for(i in which(nsoi[,2]>(1)) )
{imsi_EN = cbind(imsi_EN,imsi[,i])}
compMD= list(imsi_Clim,imsi_LN,imsi_EN)
names(compMD)=c("Clim","LN","EN")
save(compMD,file="compMD.RData")
# X
#---------------------------------
data = NULL
imsi = Xdata
imsi_Clim =NULL; #Clim
imsi_Clim = rowMeans(imsi)
imsi_LN =NULL #LN
for(i in which(nsoi[,2]<(-1) ))
{imsi_LN = cbind(imsi_LN,imsi[,i])}
imsi_EN =NULL # EN
for(i in which(nsoi[,2]>(1)) )
{imsi_EN = cbind(imsi_EN,imsi[,i])}
compX = list(imsi_Clim,imsi_LN,imsi_EN)
names(compX) = c("Clim","LN","EN")
save(compX,file = "compX.RData")
library(png)
library(grid)
img = readPNG('Fig1.png')
grid.raster(img)
Fig. 1. Schematic diagram of local TC activity. The local TC activity is contributed by the sum of the observed intensities (dots) along the tracks (curved arrows) and the radius (R) of TC influence. The value of R is fixed around the location (cross). The local TC activity implies the level of the TC risk from an Eulerian perspective.
rm(list = ls())
# Read data
##################################
library(maps)
library(akima)
library(RColorBrewer)
library(fields)
library(sp)
Year = 1991:2020
BeginYear=1991 ; EndYear=2020
AB6h=read.table('AB6hr2020.dat',T)
load("compLACE.RData") #Clim (1) ; EN (6) ; LN (6)
load("compF.RData")
load("compMI.RData")
load("compMD.RData")
load("compX.RData")
#pdf('Fig2.pdf', width= 14, height=6)
par(mar=c(5,7,4,2))
# Plot 1
##################################
data=AB6h[(AB6h$bst=='JT'),]
#draw map
plot(100,120,xlim=c(100,180),ylim=c(-10,50),xlab=' ',ylab='', main=''
,axes=F, xaxs='i',yaxs='i')
axis(1,at=seq(100,180,20), labels=expression
(100~degree~E,120~degree~E,140~degree~E,160~degree~E,180~degree),cex.axis=1.2)
axis(2,at=seq(0,50,10), labels=expression
(0~degree,10~degree~N,20~degree~N,30~degree~N,40~degree~N,50~degree~N),cex.axis=1.2,las=1)
axis(3,at=seq(100,180,20), labels=rep('',5))
axis(4,at=seq(0,50,10), labels=rep('',6))
#panel.first={u=par('usr');rect(u[1],u[3],u[2],u[4],col=colors()[62])},las=1);axis(3);axis(4, las=1)
m=map('world',fill=T,col=colors()[177],lty=0,add=T)
map('world',boundary=F,interior=T,col=colors()[177], lwd=2,add=T)
map('world',boundary=F,interior=T,col=colors()[177], xlim=c(0,110),lwd=3,add=T)
m$x=m$x+360
map(m,fill=T, lty=0, col=colors()[177],add=T)
map(m,boundary=F,interior=T,col=colors()[177], lwd=2,add=T)
#draw track lines
vrange=c(34,64,130)
crange=c(colors()[142],colors()[451],"#800026")#,552
#for (b in 1:6)
#{if(b==1) data=AB1 ; if (b==2) data=AB2 ; if (b==3) data=AB3 ; if (b==4) data=AB4 ; if (b==5) data=AB5 ; if (b==6) data=AB6
data$lon=data$lon/10 ; data$lat=data$lat/10
for(x in 1:3)
{
k=which(data$msw>=vrange[x])
ABx=data[k,]; ABx=ABx[(ABx$year>=BeginYear & ABx$year<=EndYear),]
k=which(ABx$lon<15) ; if(length(k)>0) ABx$lon[k]=ABx$lon[k]+360
id=which(diff(ABx$idtrack)>=1) #check delim
id2=id+c(1:length(id)) #set delim
LON=numeric(dim(ABx)[1]+length(id2)) ; LON[id2]=NA ; LON[!is.na(LON)]=ABx$lon
LAT=numeric(dim(ABx)[1]+length(id2)) ; LAT[id2]=NA ; LAT[!is.na(LAT)]=ABx$lat
lines(LON,LAT,col=crange[x] ) # Draw lines for each intensity level
}
#legend
legend(99,47, bty="n", c("Tropical Storm", "Typhoon" ," Super Typhoon"), text.col="white",cex=0.8, lty=1, lwd=2, col=crange,
ncol=1,seg.len = 0.5,x.intersp = 0.6)
text(114,48,paste('30 years (1991\u2013','2020)', sep=''),col = 'white',cex = 1.0)
mtext('Longitude',at= 140,side=1,line=3.5,cex=1.7)
mtext('Latitude',side=2,line=4.8,cex=1.7)
mtext('a', side = 3,line = 1.4, cex = 3, adj = 0 ,at = 86, font=2)
mtext('TC tracks',
side = 3, # which margin to place text. 1=bottom, 2=left, 3=top, 4=right
line = 1.4, # to indicate the line in the margin starting with 0 and moving out
cex = 1.9, adj = 0 ,at = 100,font=1)
map.scale(153,-4,cex = 0.8,ratio = T,relwidth = 0.2)
compassRose(173,40,cex = 0.7)
box()
# Plot 2
##################################
CM1 = as.array(unlist(compLACE$Clim))
# CM2 = as.array(unlist(compF$Clim))
# CM3 = as.array(unlist(compMI$Clim))
# CM4 = as.array(unlist(compMD$Clim))
# CM5 = as.array(unlist(compX$Clim))
#
# EN1 = as.array(unlist(compLACE$EN))
# EN2 = as.array(unlist(compF$EN))
# EN3 = as.array(unlist(compMI$EN))
# EN4 = as.array(unlist(compMD$EN))
# EN5 = as.array(unlist(compX$EN))
#
# LN1 = as.array(unlist(compLACE$LN))
# LN2 = as.array(unlist(compF$LN))
# LN3 = as.array(unlist(compMI$LN))
# LN4 = as.array(unlist(compMD$LN))
# LN5 = as.array(unlist(compX$LN))
# regional data
Lon=seq(-180,180,2.5) ; LonSet = rep(Lon,73) #lon
Lat=seq(-90,90,2.5) ; LatSet = rev(rep(Lat, each = 145)) #lat
A1= LonSet
A2= LatSet
A3=CM1 ; A3=matrix(A3,nrow=144) ; A3=rbind(A3,A3[1,]) ; A3=A3/(10^4)
colist_negative=colorRampPalette(brewer.pal(9,'BuPu'))(10) # extract 10 from Blue-Purple
colist_positive=colorRampPalette(brewer.pal(9,'YlOrRd'))(10) # extract 10 from Yellow-Orange-Red
colist=c(rev(colist_negative),'white',colist_positive) # comprise 21 color set
brk=c(-100,seq(-10,-1,length=10),seq(1,10,length=10),100)
levs1=c(-1,1)
levs2=c(c(rev(-seq(1,100,9)),seq(1,100,9)))
interp=interp(A1,A2,A3,xo=seq(min(A1),max(A1),length=145*6),yo=seq(min(A2),max(A2),length=73*6),duplicate='mean')
image(interp, axes=F, xlab='', ylab='', main='', col=colist, breaks=brk, xlim=c(100,180),ylim=c(-10,50))
contour(interp, levels=levs1, labels = round(levs1,1), col='#666699',labcex=0.9, lwd=1, add = TRUE)
contour(interp, levels=levs2, labels = round(levs2,1), col='white',labcex=0.9, lwd=1, add = TRUE)
map('world',interior=F,col=grey(0.7),lwd=1,add=T)
axis(1,at=seq(100,180,20), labels=expression
(100~degree~E,120~degree~E,140~degree~E,160~degree~E,180~degree),cex.axis=1.2)
axis(2,at=seq(0,50,10), labels=expression
(0~degree,10~degree~N,20~degree~N,30~degree~N,40~degree~N,50~degree~N),cex.axis=1.2,las=1)
axis(3,at=seq(100,180,20), labels=rep('',5))
axis(4,at=seq(0,50,10), labels=rep('',6))
text(114,48, paste('30 years (1991\u2013','2020)', sep=''),col = 1,cex = 1.0)
text(173,48, expression(paste(10^{4},' ',m^{2},s^{-2},sep='')),col = 1,cex = 1.0)
mtext('Longitude',at= 140,side=1,line=3.5,cex=1.7)
mtext('Latitude',side=2,line=4.8,cex=1.7)
mtext('b', side = 3,line = 1.4, cex = 3, adj = 0 ,at = 86, font=2)
mtext('Climatological LACE',
side = 3, # which margin to place text. 1=bottom, 2=left, 3=top, 4=right
line = 1.4, # to indicate the line in the margin starting with 0 and moving out
cex = 1.9, adj = 0 ,at = 100,font=1)
map.scale(153,-4,cex = 0.8,ratio = T,relwidth = 0.2)
compassRose(173,38,cex = 0.7)
box()
#------------
#dev.off()
Fig. 2. Geographical distribution of regional TC risks. (a) TC tracks and (b) climatological LACE during the 30 years (1991-2020). Best-track data from JTWC are used to analyze the TC activity. In (a), the TC intensities are represented in different colors following the JTWC’s operational intensity scale. The threshold intensities of 34 kt, 64 kt, and 130 kt are applied for “Tropical Storm”, “Typhoon” and “Super Typhoon”, respectively. Climatological LACE is indicated by the local TC activity during the same period of (a), and its geographical distribution represents the regional TC risks.
# Read data
##################################
load("compLACE.RData")
load("compF.RData")
load("compMI.RData")
load("compMD.RData")
load("compX.RData")
#pdf('Fig3.pdf', width= 14, height=12)
par(mar=c(7,8,4,2))
# Plot
##################################
CM1 = as.array(unlist(compLACE$Clim))
# CM2 = as.array(unlist(compF$Clim))
# CM3 = as.array(unlist(compMI$Clim))
# CM4 = as.array(unlist(compMD$Clim))
# CM5 = as.array(unlist(compX$Clim))
EN1 = as.array(unlist(compLACE$EN))
# EN2 = as.array(unlist(compF$EN))
# EN3 = as.array(unlist(compMI$EN))
# EN4 = as.array(unlist(compMD$EN))
# EN5 = as.array(unlist(compX$EN))
LN1 = as.array(unlist(compLACE$LN))
# LN2 = as.array(unlist(compF$LN))
# LN3 = as.array(unlist(compMI$LN))
# LN4 = as.array(unlist(compMD$LN))
# LN5 = as.array(unlist(compX$LN))
LACE_EN = rowMeans(EN1)
LACE_LN = rowMeans(LN1)
ENdiff = rowMeans(EN1) - CM1
LNdiff = rowMeans(LN1) - CM1
# regional data
Lon=seq(-180,180,2.5) ; LonSet = rep(Lon,73) #lon
Lat=seq(-90,90,2.5) ; LatSet = rev(rep(Lat, each = 145)) #lat
for (i in 1:4)
{if(i==1) {Var = LACE_EN ; title = 'LACE composite' ; subtitle = 'Years of El Niño trend'; plt_text = 'a'}
if(i==2) {Var = LACE_LN ; title = 'LACE composite' ; subtitle = 'Years of La Niña trend'; plt_text = 'b'}
if(i==3) {Var = ENdiff ; title = 'LACE difference' ; subtitle = 'Years of El Niño trend'; plt_text = 'c'}
if(i==4) {Var = LNdiff ; title = 'LACE difference' ; subtitle = 'Years of La Niña trend'; plt_text = 'd'}
A1= LonSet
A2= LatSet
A3= Var ; A3=matrix(A3,nrow=144) ; A3=rbind(A3,A3[1,]) ; A3=A3/(10^4)
colist_negative=colorRampPalette(brewer.pal(9,'BuPu'))(10) # extract 10 from Blue-Purple
colist_positive=colorRampPalette(brewer.pal(9,'YlOrRd'))(10) # extract 10 from Yellow-Orange-Red
colist=c(rev(colist_negative),'white',colist_positive) # comprise 21 color set
brk=c(-100,seq(-10,-1,length=10),seq(1,10,length=10),100)
levs1=c(-1,1)
levs2=c(c(rev(-seq(1,100,9)),seq(1,100,9)))
interp=interp(A1,A2,A3,xo=seq(min(A1),max(A1),length=145*6),yo=seq(min(A2),max(A2),length=73*6),duplicate='mean')
image(interp, axes=F, xlab='', ylab='', main='', col=colist, breaks=brk, xlim=c(100,180),ylim=c(-10,50))
contour(interp, levels=levs1, labels = round(levs1,1), col='#666699',labcex=0.9, lwd=1, add = TRUE)
contour(interp, levels=levs2, labels = round(levs2,1), col='white',labcex=0.9, lwd=1, add = TRUE)
map('world',interior=F,col=grey(0.7),lwd=1,add=T)
axis(1,at=seq(100,180,20), labels=expression
(100~degree~E,120~degree~E,140~degree~E,160~degree~E,180~degree),cex.axis=1.8)
axis(2,at=seq(0,50,10), labels=expression
(0~degree,10~degree~N,20~degree~N,30~degree~N,40~degree~N,50~degree~N),cex.axis=1.8,las=1)
axis(3,at=seq(100,180,20), labels=rep('',5))
axis(4,at=seq(0,50,10), labels=rep('',6))
text(121, 47, subtitle ,col = 1,cex = 1.5)
text(170, 47, expression(paste(10^{4},' ',m^{2},s^{-2},sep='')),col = 1,cex = 1.5)
mtext('Longitude',at= 140,side=1,line=3.9,cex=1.7)
mtext('Latitude',side=2,line=6.2,cex=1.7)
mtext(plt_text, side = 3,line = 1.4, cex = 3, adj = 0 ,at = 86, font=2)
mtext(title,
side = 3, # which margin to place text. 1=bottom, 2=left, 3=top, 4=right
line = 1.4, # to indicate the line in the margin starting with 0 and moving out
cex = 1.9, adj = 0 ,at = 100,font=1)
map.scale(150,-4,cex = 1.0,ratio = T,relwidth = 0.2)
compassRose(173,37,cex = 0.55)
box()
}
#------------
#dev.off()
Fig. 3. Geographical response of LACE to ENSO variability. (a) LACE during the six years (1991, 1992, 1993, 1994, 1997, and 2015) of El Niño trend (\(\rm{LACE_E}\)), and (b) LACE during the six years (1996, 1999, 2000, 2008, 2010, and 2011) of La Niña trend (\(\rm{LACE_L}\)). (c) and (d) are the differences of (a) and (b) from the climatological LACE (\(\rm{LACE_C}\)), respectively.
library(png)
library(grid)
img = readPNG('Fig4.png')
grid.raster(img)
Fig. 4. Diagram of LACE potentials. LACE potentials of (a) the number of TCs (\(\rm{P_F}\)), (b) mean intensity (\(\rm{P_{MI}}\)), (c) mean duration (\(\rm{P_{MD}}\)), and (d) mean exposure (\(\rm{P_X}\)) are the differences of each experimental LACE from the climatological LACE (\(\rm{LACE_C}\)). The experimental LACE (box outlined in dark blue) is defined by the LACE where only one factor changes from its climatological level (box shaded in yellow). Thus, the LACE potential means the partial contribution (blue transparent box) of a factor to LACE (box outlined in green). It needs to be noted that the shape of the boxes for LACE and \(\rm{LACE_C}\) are not necessarily the same among a, b, c, and d.
rm(list = ls())
# Read data
##################################
Year = 1991:2020
load("compLACE.RData")
load("compF.RData")
load("compMI.RData")
load("compMD.RData")
load("compX.RData")
LACE_C =rowMeans(read.table('LACE_1991to2020_12m.dat' ,header = T ))
F_C =rowMeans(read.table('F_1991to2020_12m.dat',header = T ))
MI_C =rowMeans(read.table('MI_1991to2020_12m.dat' ,header = T ))
MD_C = rowMeans(read.table('MD_1991to2020_12m.dat' ,header = T ))
X_C =rowMeans(read.table( 'X_1991to2020_12m.dat',header = T ))
Fcomp = rowMeans(compF$EN)
MIcomp = rowMeans(compMI$EN)
MDcomp = rowMeans(compMD$EN)
Xcomp = rowMeans(compX$EN)
#P_F
k = which(F_C == 0)
P_F = (Fcomp - F_C)*(LACE_C/F_C)
P_F[k] = 0
#P_MI
k = which(MI_C == 0)
P_MI = (MIcomp - MI_C)*(LACE_C/MI_C)
P_MI[k] = 0
#P_MD
k = which(MD_C == 0)
P_MD = (MDcomp - MD_C)*(LACE_C/MD_C)
P_MD[k] = 0
#P_X
k = which(X_C == 0)
P_X = (Xcomp - X_C)*(LACE_C/X_C)
P_X[k] = 0
# 데이터 저장
write.table(P_F,"PF_EN_annual_1991to2020.dat")
write.table(P_MI,"PMI_EN_annual_1991to2020.dat")
write.table(P_MD,"PMD_EN_annual_1991to2020.dat")
write.table(P_X,"PX_EN_annual_1991to2020.dat")
# LACE Potential LN ----------------------------------------------------------
rm(list = ls())
Year = 1991:2020
load("compLACE.RData")
load("compF.RData")
load("compMI.RData")
load("compMD.RData")
load("compX.RData")
LACE_C =rowMeans(read.table('LACE_1991to2020_12m.dat' ,header = T ))
F_C =rowMeans(read.table('F_1991to2020_12m.dat',header = T ))
MI_C =rowMeans(read.table('MI_1991to2020_12m.dat' ,header = T ))
MD_C = rowMeans(read.table('MD_1991to2020_12m.dat' ,header = T ))
X_C =rowMeans(read.table( 'X_1991to2020_12m.dat',header = T ))
Fcomp = rowMeans(compF$LN)
MIcomp = rowMeans(compMI$LN)
MDcomp = rowMeans(compMD$LN)
Xcomp = rowMeans(compX$LN)
#P_F
k = which(F_C == 0)
P_F = (Fcomp - F_C)*(LACE_C/F_C)
P_F[k] = 0
#P_MI
k = which(MI_C == 0)
P_MI = (MIcomp - MI_C)*(LACE_C/MI_C)
P_MI[k] = 0
#P_MD
k = which(MD_C == 0)
P_MD = (MDcomp - MD_C)*(LACE_C/MD_C)
P_MD[k] = 0
#P_X
k = which(X_C == 0)
P_X = (Xcomp - X_C)*(LACE_C/X_C)
P_X[k] = 0
# 데이터 저장
write.table(P_F,"PF_LN_annual_1991to2020.dat")
write.table(P_MI,"PMI_LN_annual_1991to2020.dat")
write.table(P_MD,"PMD_LN_annual_1991to2020.dat")
write.table(P_X,"PX_LN_annual_1991to2020.dat")
#pdf('Fig5.pdf', width= 10, height=16)
#layout(cbind(1:4,5:8))
par(mar=c(7,9,5,2))
# Plot
##################################
library(maps)
library(akima)
library(RColorBrewer)
library(fields)
library(sp)
EN.P_F = rowMeans(read.table("PF_EN_annual_1991to2020.dat" , header = T))
EN.P_MI = rowMeans(read.table("PMI_EN_annual_1991to2020.dat" , header = T))
EN.P_MD = rowMeans(read.table("PMD_EN_annual_1991to2020.dat" , header = T))
EN.P_X = rowMeans(read.table("PX_EN_annual_1991to2020.dat",header = T))
LN.P_F = rowMeans(read.table("PF_LN_annual_1991to2020.dat" , header = T))
LN.P_MI = rowMeans(read.table("PMI_LN_annual_1991to2020.dat" , header = T))
LN.P_MD = rowMeans(read.table("PMD_LN_annual_1991to2020.dat" , header = T))
LN.P_X = rowMeans(read.table("PX_LN_annual_1991to2020.dat" , header = T))
# regional data
Lon=seq(-180,180,2.5) ; LonSet = rep(Lon,73) #lon
Lat=seq(-90,90,2.5) ; LatSet = rev(rep(Lat, each = 145)) #lat
for (i in 1:8)
{if(i==1) {Var = EN.P_F ; title = expression(P[F]) ; subtitle = 'Years of El Niño trend'; plt_text = 'a'}
if(i==2) {Var = EN.P_MI ; title = expression(P[MI]) ; subtitle = 'Years of El Niño trend'; plt_text = 'b'}
if(i==3) {Var = EN.P_MD ; title = expression(P[MD]) ; subtitle = 'Years of El Niño trend'; plt_text = 'c'}
if(i==4) {Var = EN.P_X ; title = expression(P[X]) ; subtitle = 'Years of El Niño trend'; plt_text = 'd'}
if(i==5) {Var = LN.P_F ; title = expression(P[F]) ; subtitle = 'Years of La Niña trend'; plt_text = 'e'}
if(i==6) {Var = LN.P_MI ; title = expression(P[MI]) ; subtitle = 'Years of La Niña trend'; plt_text = 'f'}
if(i==7) {Var = LN.P_MD ; title = expression(P[MD]) ; subtitle = 'Years of La Niña trend'; plt_text = 'g'}
if(i==8) {Var = LN.P_X ; title = expression(P[X]) ; subtitle = 'Years of La Niña trend'; plt_text = 'h'}
A1= LonSet
A2= LatSet
A3= Var ; A3=matrix(A3,nrow=144) ; A3=rbind(A3,A3[1,]) ; A3=A3/(10^4)
colist_negative=colorRampPalette(brewer.pal(9,'BuPu'))(10) # extract 10 from Blue-Purple
colist_positive=colorRampPalette(brewer.pal(9,'YlOrRd'))(10) # extract 10 from Yellow-Orange-Red
colist=c(rev(colist_negative),'white',colist_positive) # comprise 21 color set
brk=c(-100,seq(-10,-1,length=10),seq(1,10,length=10),100)
levs1=c(-1,1)
levs2=c(rev(-seq(1,100,9)),seq(1,100,9))
interp=interp(A1,A2,A3,xo=seq(min(A1),max(A1),length=145*6),yo=seq(min(A2),max(A2),length=73*6),duplicate='mean')
image(interp, axes=F, xlab='', ylab='', main='', col=colist, breaks=brk, xlim=c(100,180),ylim=c(-10,50))
contour(interp, levels=levs1, labels = round(levs1,1), col='#666699',labcex=0.9, lwd=1, add = TRUE)
contour(interp, levels=levs2, labels = round(levs2,1), col='white',labcex=0.9, lwd=1, add = TRUE)
map('world',interior=F,col=grey(0.7),lwd=1,add=T)
axis(1,at=seq(100,180,20), labels=expression
(100~degree~E,120~degree~E,140~degree~E,160~degree~E,180~degree),cex.axis=1.8)
axis(2,at=seq(0,50,10), labels=expression
(0~degree,10~degree~N,20~degree~N,30~degree~N,40~degree~N,50~degree~N),cex.axis=1.8,las=1)
axis(3,at=seq(100,180,20), labels=rep('',5))
axis(4,at=seq(0,50,10), labels=rep('',6))
text(123, 46, subtitle ,col = 1,cex = 1.5)
text(170, 46, expression(paste(10^{4},' ',m^{2},s^{-2},sep='')),col = 1,cex = 1.5)
mtext('Longitude',at= 140,side=1,line=3.9,cex=1.7)
mtext('Latitude',side=2,line=6.2,cex=1.7)
mtext(plt_text, side = 3,line = 2.0, cex = 3, adj = 0 ,at = 86, font=2)
mtext(title,
side = 3, # which margin to place text. 1=bottom, 2=left, 3=top, 4=right
line = 1.4, # to indicate the line in the margin starting with 0 and moving out
cex = 1.9, adj = 0 ,at = 100,font=1)
map.scale(150,-1,cex = 0.8,ratio = T,relwidth = 0.2)
compassRose(173,35,cex = 0.4)
box()
}
#------------
#dev.off()
Fig. 5. Geographical distribution of LACE potentials. LACE potentials of (a) the number of TCs (\(\rm{P_F}\)), (b) mean intensity (\(\rm{P_{MI}}\)), (c) mean duration (\(\rm{P_{MD}}\)), and (d) mean exposure (\(\rm{P_X}\)) in the years of El Niño trend. The right panels are the same as the left panels but for the years of La Niña trend.