oaflux3_e2lhf.run.shは潜熱フラックスに換算してから作図
------------------------------
List of the following files:
------------------------------
oaflux3_e.run.sh
oaflux3_e.gs
Evaporation
oaflux3_e2lhf.run.sh
Evaporation => LHF
Automatically generate Grads sciprt, oaflux3_e2lhf.gs
oaflux3_e.ctl
------------------------------
Machine info
------------------------------
localhost
/work2/am/2017.Heavy.Rain/OAFLUX3
Mon Oct 16 10:49:43 JST 2017
======================
oaflux3_e.run.sh
======================
#!/bin/bash
iys=1985
iye=2016
iy=$iys
figdir="Fig"
if [ ! -d $figdir ]; then
mkdir -vp $figdir
fi
gs=$(basename $0 .run.sh).gs
ctl=oaflux3_e.ctl
while [ $iy -le $iye ]; do
#echo $iy $ctl
m=7
me=7
while [ $m -le $me ]; do
d=1
de=1 # 31
while [ $d -le $de ]; do
yyyy=${iy}
mm=$(printf %02d $m)
dd=$(printf %02d $d)
if [ $m -eq 1 ]; then mmm="Jan"; fi
if [ $m -eq 2 ]; then mmm="Feb"; fi
if [ $m -eq 3 ]; then mmm="Mar"; fi
if [ $m -eq 4 ]; then mmm="Apr"; fi
if [ $m -eq 5 ]; then mmm="May"; fi
if [ $m -eq 6 ]; then mmm="Jun"; fi
if [ $m -eq 7 ]; then mmm="Jul"; fi
if [ $m -eq 8 ]; then mmm="Aug"; fi
if [ $m -eq 9 ]; then mmm="Sep"; fi
if [ $m -eq 10 ]; then mmm="Oct"; fi
if [ $m -eq 11 ]; then mmm="Nov"; fi
if [ $m -eq 12 ]; then mmm="Dec"; fi
ddmmmyyyy=${dd}${mmm}${yyyy}
ext="eps"
out="${figdir}/OAFLUX3_e${yyyy}${mm}${dd}.${ext}"
opt="-ctl ${ctl} -date ${ddmmmyyyy} -out ${out} -q"
grads -bcl "${gs} ${opt}"
d=$(expr $d + 1)
done
m=$(expr $m + 1)
done
iy=$(expr $iy + 1)
done
----------------------
End of oaflux3_e.run.sh
----------------------
======================
oaflux3_e.gs
======================
*
*
*
function gs( args )
*
* Decode options
*
i = 1
while( 1 )
arg = subwrd( args, i )
i = i + 1;
if( arg = '' ); break; endif
while( 1 )
if( arg = '-ctl' ); ctl=subwrd(args,i);i=i+1; break;endif
if( arg = '-date'); ddmmmyyyy=subwrd(args,i);i=i+1; break;endif
if( arg = '-out' ); out=subwrd(args,i);i=i+1; break;endif
if( arg = '-q' ); quitopt=yes ;i=i+1; break; endif
say 'Syntax error : arg= 'arg
return
endwhile
endwhile
'cc'
'set mpdset hires'
xmax = 4
ymax = 2
xwid = 9.0/xmax
ywid = 5.5/ymax
nmap = 1
ymap = 1
while (ymap <= ymax)
xmap = 1
while (xmap <= xmax)
xs = 0.8 + (xwid+0.30)*(xmap-1)
xe = xs + xwid
ye = 7.5 - (ywid+0.80)*(ymap-1)
ys = ye - ywid
if (ymap = ymax)
'set xlopts 1 2 0.14'
else
'set xlopts 1 2 0.0'
'set xlopts 1 2 0.14'
endif
if (xmap = 1)
'set ylopts 1 2 0.14'
else
'set ylopts 1 2 0.0'
endif
'set vpage 0.0 11.0 0.0 8.5'
'set parea 'xs ' 'xe' 'ys' 'ye
'set grads off'
'set font 4'
#----- Plotting 1st panel -----
if (nmap = 1)
'open 'ctl
'set lon 128.5 133.5'
'set lat 30.0 35.0'
xlevs='129 131 133'
'set xlevs 'xlevs
'set ylint 1'
hh='00'
'set time 'hh''ddmmmyyyy
'q ctlinfo'
say result
'q dims'
say result
'set gxout shade2'
levs='10 20 50 100 200 300'
kind='white->blue->red'
xcbar='1.5 9.5 0.5 0.7 -fw 0.15 -fh 0.18 -line on -edge circle'
if ( nmap = 1 )
'color -levs ' levs ' -kind ' kind ' -xcbar ' xcbar
else
'color -levs ' levs ' -kind ' kind
endif
'set grads off'
'd precip'
'q gxinfo'
line=sublin(result,3)
xl=subwrd(line,4)
xr=subwrd(line,6)
line=sublin(result,4)
yb=subwrd(line,4)
yt=subwrd(line,6)
*
xx = xl+0.0
yy = yt+0.15
'set string 1 l 2 0'
'set strsiz 0.15 0.15'
'draw string 'xx' 'yy' 'ddmmmyyyy
'allclose'
endif
#----- Plotting 1st panel -----
'set parea off'
'set vpage off'
*
if (nmap = 22); break; endif
nmap = nmap + 1
xmap = xmap + 1
endwhile ;* xmap
ymap = ymap + 1
endwhile :* ymap
'gxprint 'out
say 'Output: 'out
if (quitopt="yes")then
quit
endif
exit
----------------------
End of oaflux3_e.gs
----------------------
======================
oaflux3_e.ctl
======================
DSET /misc/raid112MANDA/KakenA.H28/OAFLUX3/evapr_oaflux_%y4.nc
OPTIONS TEMPLATE
DTYPE netcdf
TITLE WHOI Objectively Analyzed air-sea Fluxes Project
UNDEF 32766
XDEF 360 linear 0.5 1.0
YDEF 180 linear -89.5 1.0
ZDEF 1 levels 1
TDEF 42000 LINEAR 01JAN1985 1dy
VARS 2
evapr=>evapr 1 t, y, x daily mean evaporation rate cm yr-1
err=>err 1 t, y, x estimated error of analysed evaporation rate cm yr-1
ENDVARS
----------------------
End of oaflux3_e.ctl
----------------------
======================
oaflux3_e2lhf.run.sh
======================
#!/bin/bash
export LANG=C
host=$(hostname)
cwd=$(pwd)
timestamp=$(date)
ctl=oaflux3_e.ctl
gs=$(basename $0 .run.sh).gs
cat<<EOF>$gs
*
*
*
function gs( args )
*
* Decode options
*
i = 1
while( 1 )
arg = subwrd( args, i )
i = i + 1;
if( arg = '' ); break; endif
while( 1 )
if( arg = '-ctl' ); ctl=subwrd(args,i);i=i+1; break;endif
if( arg = '-date'); ddmmmyyyy=subwrd(args,i);i=i+1; break;endif
if( arg = '-out' ); out=subwrd(args,i);i=i+1; break;endif
if( arg = '-q' ); quitopt=yes ;i=i+1; break; endif
say 'Syntax error : arg= 'arg
return
endwhile
endwhile
'cc'
'set mpdset lowres'
'open 'ctl
hh='00'
'set time 'hh''ddmmmyyyy
'q ctlinfo'
say result
'q dims'
say result
'set gxout shade2'
levs='50 100 150 200 250 300 350 400'
kind='grainbow' ;*'white->blue->red'
xcbar='1.5 9.5 0.5 0.7 -fw 0.15 -fh 0.18 -line on -edge circle'
'color -levs ' levs ' -kind ' kind ' -xcbar ' xcbar
'set grads off'
'd evapr*0.07927'
'draw title OAFLUX3 LHF [W/m2] 'ddmmmyyyy
'allclose'
# Header
'set strsiz 0.08 0.1'
'set string 1 l 2'
'draw string 0.1 8.35 ${timestamp}'
'draw string 0.1 8.23 ${host}'
'draw string 0.1 8.11 ${cwd}'
'draw string 0.1 7.99 ${gs}'
'draw string 0.1 7.87 ${ctl}'
'gxprint 'out
say 'Output: 'out
if (quitopt="yes")then
quit
endif
exit
EOF
iys=2015
iye=2015
iy=$iys
figdir="Fig"
if [ ! -d $figdir ]; then
mkdir -vp $figdir
fi
while [ $iy -le $iye ]; do
#echo $iy $ctl
m=12
me=12
while [ $m -le $me ]; do
d=31
de=31 # 31
while [ $d -le $de ]; do
yyyy=${iy}
mm=$(printf %02d $m)
dd=$(printf %02d $d)
if [ $m -eq 1 ]; then mmm="Jan"; fi
if [ $m -eq 2 ]; then mmm="Feb"; fi
if [ $m -eq 3 ]; then mmm="Mar"; fi
if [ $m -eq 4 ]; then mmm="Apr"; fi
if [ $m -eq 5 ]; then mmm="May"; fi
if [ $m -eq 6 ]; then mmm="Jun"; fi
if [ $m -eq 7 ]; then mmm="Jul"; fi
if [ $m -eq 8 ]; then mmm="Aug"; fi
if [ $m -eq 9 ]; then mmm="Sep"; fi
if [ $m -eq 10 ]; then mmm="Oct"; fi
if [ $m -eq 11 ]; then mmm="Nov"; fi
if [ $m -eq 12 ]; then mmm="Dec"; fi
ddmmmyyyy=${dd}${mmm}${yyyy}
ext="eps"
out="${figdir}/OAFLUX3_e2lhf${yyyy}${mm}${dd}.${ext}"
opt="-ctl ${ctl} -date ${ddmmmyyyy} -out ${out} -q"
grads -bcl "${gs} ${opt}"
d=$(expr $d + 1)
done
m=$(expr $m + 1)
done
iy=$(expr $iy + 1)
done
----------------------
End of oaflux3_e2lhf.run.sh
----------------------