! jnl file to make sea surface temperature (SST) maps ! requires input arguments for lat/lon range and time range ! to run the program in ferret, you will need to type the following line with the various values filled in: ! go fer_sst time_start time_end lat_min lat_max lon_min lon_max iland con_lev ! latitude values are entered in the range of -90 - 90. ! longitude values are entered in the range of 0 - 360 ! time values are entered corresponding to monthly values starting with Jan, 2004 ! con_lev sets the contour and fill levels of the plot. This is done in the following format: (lo,hi,delta). ! More than one can be chosen: (lo,mid,delta1),(mid,hi,delta2). See the Ferret Users Manual for more information. ! if no values are entered, the default region is 50S to 25N and 130E to 250E with an average over the ! entire depth and time region set mem/size=200 set window/clear go set_pixel_size 1024 768 ! assigning variables to arguments passed in the go command as well as default values let lat_min=`$3%-50%` let lat_max=`$4%25%` let lon_min=`$5%130%` let lon_max=`$6%250%` let time_start=`$1%48%` let time_end=`$2%48%` let iland=`$7%1%` set region/z=0:2000/y=`lat_min`:`lat_max`/x=`lon_min`:`lon_max` define viewport/xlim=.0,.95/ylim=0,1 top cancel/all data PPL DFLTFNT DR ppl conpre @P1@DR ppl axlsze 0.15,.15 ppl axset 1,1,1,1 ppl pen 0,7 ppl pen 1,7 ppl labset .15,.15,.15 use reynolds_sst_grid.nc ! setting map scales properly let beq=if (`lon_min`) eq (`lon_max`) then 1 else 0 if `beq` then let lon_max=`lon_max`+360 endif let blm=if (`lon_min`) gt (`lon_max`) then 1 else 0 if `blm` then let lon_max=`lon_max`+360 endif define symbol xdeg `lon_max-lon_min` define symbol ydeg `lat_max-lat_min` define symbol alasp `($ydeg)/($xdeg)` set win/asp=($alasp):axis set mode interpolate ! begin mapping process ! only map an average if the times are different. otherwise, map at that time only ! time is the same let a=if `time_start` eq `time_end` then 1 else 0 if `a` then let sst_map=sst[d=1,x=`lon_min`:`lon_max`,y=`lat_min`:`lat_max`,l=`time_start`] ! time is different else let sst_map=sst[d=1,x=`lon_min`:`lon_max`,y=`lat_min`:`lat_max`,l=`time_start`:`time_end`@ave] endif let con_lev= $8&"()"|*>"*"& ! plotting fill/set/nolab/pal=cofi_pot/lev="`con_lev`" sst_map ppl shakey 1,,.08,,5,,,,,, ppl fill ! adding contours con/set_up/over/nolab/lev="`con_lev`" sst_map ppl conset .08,,,,,,,5.7,1.,1 ppl contour/overlay ! now use etopo6 to add bathymetry ! check zonal range to see if using high or low land resoluion let rcheck=`lon_max`-`lon_min` if `rcheck gt 120` then if `iland eq 0` then use etopo12_grid.nc shade/over/nokey/nolab/pal=black/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/lev=(0,10000,10000) btdata12[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] shade/over/nokey/nolab/palette=lightgreyscale/over/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/levels=(-1000,0,1000) btdata12[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] shade/over/nokey/nolab/pal=grey/over/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/lev=(-200,0,200) btdata12[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] endif if `iland eq 1` then use etopo12_grid.nc fill/over/nokey/nolab/palette=black/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/levels=(0,10000,10000) btdata12[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] endif endif if `rcheck le 120` then if `iland eq 0` then use etopo6_grid.nc shade/over/nokey/nolab/pal=black/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/lev=(0,10000,10000) btdata[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] shade/over/nokey/nolab/palette=lightgreyscale/over/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/levels=(-1000,0,1000) btdata[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] shade/over/nokey/nolab/pal=grey/over/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/lev=(-200,0,200) btdata[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] endif if `iland eq 1` then use etopo6_grid.nc fill/over/nokey/nolab/palette=black/hlim=`lon_min`:`lon_max`/vlim=`lat_min`:`lat_max`/levels=(0,10000,10000) btdata[y=`lat_min`:`lat_max`,x=`lon_min`:`lon_max`] endif endif say Plot is finished say To adjust parameters, use the command line to pass arguments say For this file, the form to pass arguments is say go fer_sst time_start time_end lat_min lat_max lon_min lon_max iland con_lev