気化熱, L = 2.51 x 10^6 (2.51E6) [J /kg]
潜熱フラックス LHF [W/m2]
蒸発量 E = L/LHF [kg m-2 s-1]
1 kg/m^2
= 1 * 10^3 (g) * 10^(-4) (cm^(-2))
= 0.1 g/cm^2
1gの水の体積は1cm^3 => 0.1gの水の体積は0.1cm^3
Height of water column = 0.1 cm = 1mm
1 kg/m^2/s
= 1 mm/s
= 86400 mm/d
Example
1 * 10^(-5) kg/m^2/s
= 1 * 10^(-5) mm/s
= 86400 * 10^(-5) mm/d
= 0.864 mm/d
Example
1 mm/h
= 1/3600 mm/s
= 1/3600 kg m-2 s-1
~ 700 W m-2
潜熱フラックスと水蒸気フラックスの関係
L: 気化熱(≒2.5×10^6 J kg-1)
rA: 大気の密度, rA [kg m-3]
qS: 温度Tsにおける飽和比湿, qS= qS(TS) [kg/kg]
CE: バルク係数, CE = CE (W, TA , TS)
水蒸気フラックス=QE/L
Evaporation over ocean (OA Flux)
http://oaflux.whoi.edu/plots/data/figmmean/fig_ave_ev_jan.jpg
図の単位はcm/yr
aofd165.bio.mie-u.ac.jp
/work1/am/TEACHING/Shourai.Kikou.Yosoku/Evapolation
Fri Jun 17 10:38:30 JST 2016
======================
pl.evapo.ncl
======================
;
; Plot OAFLUX
;
; http://www.ncl.ucar.edu/Support/talk_archives/2009/1870.html
;
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
begin
latS = -89
latN = 89
lonL = 0
lonR = 359
diri = "/work4/data/OAFLUX/"
var = "lhtfl"
ys=2004
ye=2013
fili1 = "lh_oaflux_"+ys+".nc"
setfileoption ("nc", "MissingToFillValue", False) ; turn off default behavior
f = addfiles (diri+fili1, "r")
xShort = f[:]->$var$(:,{latS:latN},{lonL:lonR})
; fix non standard attributes
x = short2flt( xShort )
printVarSummary(xShort)
x = short2flt( xShort )
printVarSummary( x )
printMinMax( x, True )
dsizes = new( (/3/),integer)
dsizes = dimsizes(x)
nlat=dsizes(1)
nlon=dsizes(2)
x2D = new( (/nlat,nlon/),float)
x2D(:,:)=x(1,:,:)
x2D(:,:)=0.0
x2D&lat@units = "degrees_north"
x2D&lon@units = "degrees_east"
printVarSummary(x2D)
do iy=ys,ye
print(iy)
; LHF
var = "lhtfl"
fili = "lh_oaflux_"+iy+".nc"
setfileoption ("nc", "MissingToFillValue", False) ; turn off default behavior
f = addfiles (diri+fili, "r")
xShort = f[:]->$var$(:,{latS:latN},{lonL:lonR}) ; fix non standard attributes
xShort@_FillValue = doubletoshort(xShort@missing_value)
delete(xShort@missing_value) ; delete badly typed attribute
xShort@missing_value = xShort@_FillValue ; assign correct type
; fix non-udunits for lat and lon
xShort&lat@units = "degrees_north"
xShort&lon@units = "degrees_east"
x = short2flt( xShort )
do i=0,11
do j=0,nlat-1
do k=0,nlon-1
x2D(j,k)=x2D(j,k)+x(i,j,k)
end do ;k
end do ;j
end do ;i
end do ;iy
x2D(:,:)=x2D(:,:)/12.0/(ye-ys+1)
lhf2evapo=1.0/2.5E6*86400
; W m-2 -> mm d-1 (https://sites.google.com/site/afcanalysis/home/oaflux/evaporation)
x2D(:,:)=x2D(:,:)*lhf2evapo
wks = gsn_open_wks("ps","Evapo_oaflux_2004-2013")
gsn_define_colormap(wks,"BlueDarkRed18")
res = True
res@gsnFrame = False
res@vpWidthF = 0.5*1.9
res@vpHeightF = 0.32*1.9
res@vpXF = .1*0.1
; res@vpYF = .75
res@mpProjection = "Robinson" ; choose projection
res@mpFillOn = False
res@mpGridAndLimbOn = True ; turn on lat/lon lines
res@mpPerimOn = False
res@mpGridLatSpacingF = 90 ; change latitude line spacing
res@mpGridLonSpacingF = 180. ; change longitude line spacing
res@mpGridLineColor = "transparent" ; trick ncl into drawing
; perimeter
res@mpCenterLonF = 200.
res@cnFillOn = True ; color plot desired
res@cnLinesOn = False ; turn off/on contour lines
res@cnLineLabelsOn = False ; turn off contour lines
res@cnLineColor = "Background"
res@cnLevelSelectionMode = "ManualLevels" ; set manual contour levels
; res@cnMinLevelValF = -150. ; set min contour level
; res@cnMaxLevelValF = 150. ; set max contour level
; res@cnLevelSpacingF = 50. ; set contour spacing
res@lbLabelFontHeightF = 0.02
res@pmLabelBarHeightF = 0.07
res@pmLabelBarWidthF = 0.6
res@pmLabelBarOrthogonalPosF = 0.025
res@gsnLeftString = ""
res@gsnCenterString = ""
res@gsnRightString = ""
plot = gsn_csm_contour_map(wks,x2D,res) ; Draw a contour plot.
end
----------------------
End of pl.evapo.ncl
----------------------
日本近海のアップ
======================
pl.evapo.up.ncl
======================
;
; Plot OAFLUX
;
; http://www.ncl.ucar.edu/Support/talk_archives/2009/1870.html
;
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
begin
latS = -89
latN = 89
lonL = 0
lonR = 359
diri = "/work4/data/OAFLUX/"
var = "lhtfl"
ys=2004
ye=2013
fili1 = "lh_oaflux_"+ys+".nc"
setfileoption ("nc", "MissingToFillValue", False) ; turn off default behavior
f = addfiles (diri+fili1, "r")
xShort = f[:]->$var$(:,{latS:latN},{lonL:lonR})
; fix non standard attributes
x = short2flt( xShort )
printVarSummary(xShort)
x = short2flt( xShort )
printVarSummary( x )
printMinMax( x, True )
dsizes = new( (/3/),integer)
dsizes = dimsizes(x)
nlat=dsizes(1)
nlon=dsizes(2)
x2D = new( (/nlat,nlon/),float)
x2D(:,:)=x(1,:,:)
x2D(:,:)=0.0
x2D&lat@units = "degrees_north"
x2D&lon@units = "degrees_east"
printVarSummary(x2D)
do iy=ys,ye
print(iy)
; LHF
var = "lhtfl"
fili = "lh_oaflux_"+iy+".nc"
setfileoption ("nc", "MissingToFillValue", False) ; turn off default behavior
f = addfiles (diri+fili, "r")
xShort = f[:]->$var$(:,{latS:latN},{lonL:lonR}) ; fix non standard attributes
xShort@_FillValue = doubletoshort(xShort@missing_value)
delete(xShort@missing_value) ; delete badly typed attribute
xShort@missing_value = xShort@_FillValue ; assign correct type
; fix non-udunits for lat and lon
xShort&lat@units = "degrees_north"
xShort&lon@units = "degrees_east"
x = short2flt( xShort )
do i=0,11
do j=0,nlat-1
do k=0,nlon-1
x2D(j,k)=x2D(j,k)+x(i,j,k)
end do ;k
end do ;j
end do ;i
end do ;iy
x2D(:,:)=x2D(:,:)/12.0/(ye-ys+1)
lhf2evapo=1.0/2.5E6*86400
; W m-2 -> mm d-1 (https://sites.google.com/site/afcanalysis/home/oaflux/evaporation)
x2D(:,:)=x2D(:,:)*lhf2evapo
wks = gsn_open_wks("ps","Evapo_oaflux_2004-2013_UP")
x2Dup = x2D ({lat | 20:45},{lon | 115:150})
gsn_define_colormap(wks,"BlueDarkRed18")
res = True
res@gsnFrame = False
;res@vpWidthF = 0.5*1.9
;res@vpHeightF = 0.32*1.9
;res@vpXF = .1*0.1
; res@vpYF = .75
; res@mpProjection = "Robinson" ; choose projection
; res@mpFillOn = False
; res@mpGridAndLimbOn = True ; turn on lat/lon lines
; res@mpPerimOn = False
; res@mpGridLatSpacingF = 90 ; change latitude line spacing
; res@mpGridLonSpacingF = 180. ; change longitude line spacing
; res@mpGridLineColor = "transparent" ; trick ncl into drawing
; perimeter
; res@mpCenterLonF = 200.
res@gsnAddCyclic = False
;Choose subregion
res@mpMinLatF =20
res@mpMaxLatF =45
res@mpMinLonF =115
res@mpMaxLonF =150
res@mpDataBaseVersion = "MediumRes"
res@cnFillOn = True ; color plot desired
res@cnLinesOn = False ; turn off/on contour lines
res@cnLineLabelsOn = False ; turn off contour lines
res@cnLineColor = "Background"
res@cnLevelSelectionMode = "ManualLevels" ; set manual contour levels
res@cnMinLevelValF = 0 ;-150. ; set min contour level
res@cnMaxLevelValF = 8; 150. ; set max contour level
res@cnLevelSpacingF = 1; 50. ; set contour spacing
res@lbLabelFontHeightF = 0.02
res@pmLabelBarHeightF = 0.07
res@pmLabelBarWidthF = 0.6
res@pmLabelBarOrthogonalPosF = 0.3
res@gsnLeftString = ""
res@gsnCenterString = ""
res@gsnRightString = ""
plot = gsn_csm_contour_map(wks,x2Dup,res) ; Draw a contour plot.
end
----------------------
End of pl.evapo.up.ncl
----------------------