[43] | 1 | ;+ |
---|
[44] | 2 | ; .. _ws_validation_scatter_2000_2009_v50.pro: |
---|
[43] | 3 | ; |
---|
| 4 | ; ======================================= |
---|
| 5 | ; ws_validation_scatter_2000_2009_v50.pro |
---|
| 6 | ; ======================================= |
---|
| 7 | ; |
---|
| 8 | ; DESCRIPTION |
---|
| 9 | ; =========== |
---|
| 10 | ; |
---|
[46] | 11 | ; .. graphviz:: |
---|
| 12 | ; |
---|
| 13 | ; digraph ws_validation_scatter_2000_2009_v50 { |
---|
| 14 | ; |
---|
[50] | 15 | ; ws_erai [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/ws_2000_2009_erai_v50.txt"]; |
---|
| 16 | ; ws_tropflux [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/ws_2000_2009_trop_v50.txt"]; |
---|
| 17 | ; ws_oaflux [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/ws_2000_2009_oaflx_v50.txt"]; |
---|
| 18 | ; ws_ncep [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/ws_2000_2009_ncep_v50.txt"]; |
---|
| 19 | ; ws_ncep1 [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/ws_2000_2009_ncep1_v50.txt"]; |
---|
| 20 | ; ws_erai_oafluxgrid [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_ws_19890101_20091231_oafluxgrid.nc"]; |
---|
| 21 | ; ws_tropflux_2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/TropFlux_ws_19890101_20091231_v20.nc"]; |
---|
| 22 | ; oaflux_basic [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/OAFlux_basic_variables_1985_2009.nc"]; |
---|
| 23 | ; uwind_ncep2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/uwind_ncep2_oafluxgrid_19890101_20091231.nc"]; |
---|
| 24 | ; vwind_ncep2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/bwind_ncep2_oafluxgrid_19890101_20091231.nc"]; |
---|
| 25 | ; ws_tmi [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/zonal_wind_speed_oafluxgrid_30N30S.nc"]; |
---|
[46] | 26 | ; |
---|
[50] | 27 | ; figure [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/ws_validation_scatter_2000_2009_v50.ps"]; |
---|
[46] | 28 | ; |
---|
| 29 | ; ws_validation_scatter_2000_2009_v50 [shape=box, |
---|
| 30 | ; fontname=Courier, |
---|
| 31 | ; color=blue, |
---|
| 32 | ; URL="http://forge.ipsl.jussieu.fr/tropflux/broswrer/trunk/src/paper01/fig3/ws_validation_scatter_2000_2009_v50.pro", |
---|
| 33 | ; label="${TROPFLUX}/src/paper01/fig3/ws_validation_scatter_2000_2009_v50.pro"]; |
---|
| 34 | ; |
---|
| 35 | ; {ws_erai ws_erai_oafluxgrid ws_tropflux_2 oaflux_basic ws_ncep2 ws_tmi_2 ws_ncep1_2} -> {ws_validation_scatter_2000_2009_v50} -> {ws_tropflux ws_oaflux ws_tmi ws_ncep ws_ncep1 figure} |
---|
| 36 | ; } |
---|
| 37 | ; |
---|
[43] | 38 | ; SEE ALSO |
---|
| 39 | ; ======== |
---|
| 40 | ; |
---|
[50] | 41 | ; :ref:`project_profile.sh` |
---|
| 42 | ; :ref:`project_init.pro` |
---|
| 43 | ; :ref:`cm_project.pro` |
---|
[43] | 44 | ; |
---|
[46] | 45 | ; :func:`x_site_location` |
---|
| 46 | ; :func:`y_site_location` |
---|
| 47 | ; |
---|
| 48 | ; :ref:`read_variables_v2.pro` |
---|
| 49 | ; :ref:`statistics_3var_v1.pro` |
---|
| 50 | ; |
---|
[43] | 51 | ; EXAMPLES |
---|
| 52 | ; ======== |
---|
| 53 | ; |
---|
| 54 | ; :: |
---|
| 55 | ; |
---|
[180] | 56 | ; date1 = 19890101L |
---|
| 57 | ; date2 = 20091231L |
---|
| 58 | ; ws_validation_scatter_2000_2009_v50, date1, date2 |
---|
[43] | 59 | ; |
---|
[46] | 60 | ; TODO |
---|
| 61 | ; ==== |
---|
[43] | 62 | ; |
---|
[47] | 63 | ; make it work on cratos : missing data |
---|
[46] | 64 | ; |
---|
| 65 | ; ++ mooring data in graphviz |
---|
| 66 | ; |
---|
| 67 | ; coding rules |
---|
| 68 | ; |
---|
| 69 | ; complete description |
---|
| 70 | ; |
---|
| 71 | ; handle IO error |
---|
| 72 | ; |
---|
[43] | 73 | ; EVOLUTIONS |
---|
| 74 | ; ========== |
---|
| 75 | ; |
---|
| 76 | ; $Id$ |
---|
| 77 | ; |
---|
[85] | 78 | ; $URL$ |
---|
| 79 | ; |
---|
[46] | 80 | ; - fplod 20110420T132401Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
| 81 | ; |
---|
| 82 | ; * remove hard coding path |
---|
| 83 | ; * add graphviz |
---|
| 84 | ; * externalize functions |
---|
| 85 | ; |
---|
[43] | 86 | ; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
| 87 | ; |
---|
| 88 | ; * minimal header |
---|
| 89 | ; |
---|
| 90 | ;- |
---|
[46] | 91 | pro ws_validation_scatter_2000_2009_v50, date1, date2 |
---|
| 92 | @cm_general |
---|
[50] | 93 | @cm_project |
---|
[41] | 94 | reinitplt, /z,/invert |
---|
| 95 | key_portrait = 1 |
---|
[97] | 96 | ; |
---|
[85] | 97 | openps, FILENAME = project_od_env+'ws_validation_scatter_2000_2009_v50.ps' |
---|
[97] | 98 | ; |
---|
| 99 | ; Give the location of mooring for validation of basic meteorological variables |
---|
| 100 | ; |
---|
[41] | 101 | sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ |
---|
| 102 | '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ |
---|
| 103 | '8s165e', '8s180w', '8s155w', '8s125w', '8s110w', '8s95w', '5s156e', '5s165e', '5s180w', '5s170w', $ |
---|
| 104 | '5s155w', '5s140w', '5s125w', '5s110w', '5s95w', '2s156e', '2s165e', '2s180w', '2s170w', '2s155w', '2s140w', $ |
---|
| 105 | '2s125w', '2s110w', '2s95w', '0n147e', '0n156e', '0n165e', '0n180w', '0n170w', '0n155w', '0n140w', '0n125w', $ |
---|
| 106 | '0n110w', '0n95w', '2n147e', '2n156e', '2n165e', '2n180w', '2n170w', '2n155w', '2n140w', '2n125w', '2n110w', $ |
---|
| 107 | '2n95w', '5n147e', '5n156e', '5n165e', '5n170w', '5n155w', '5n140w', '5n125w', '5n110w', '5n95w', $ |
---|
| 108 | '8n156e', '8n165e', '8n180w', '8n170w', '9n140w', '8n125w', '8n110w', '8n95w', $ |
---|
| 109 | '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ |
---|
| 110 | '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] |
---|
[97] | 111 | ; |
---|
[41] | 112 | ocean='global' |
---|
[97] | 113 | ; |
---|
| 114 | da1=10000101 |
---|
[94] | 115 | da2=10081231 |
---|
[97] | 116 | nsmooth=1. ; statistics are with 7 day smoothed |
---|
| 117 | ; This program will create the following text files with statistics of respective variables |
---|
[41] | 118 | close,/all |
---|
[97] | 119 | ; |
---|
[50] | 120 | fi_ws_erai=project_id_env+'ws_2000_2009_erai_v50.txt' |
---|
[41] | 121 | openw,1,fi_ws_erai |
---|
[50] | 122 | fi_ws_trop=project_id_env+'ws_2000_2009_trop_v50.txt' |
---|
[41] | 123 | openw,2,fi_ws_trop |
---|
[50] | 124 | fi_ws_oaflx=project_id_env+'ws_2000_2009_oaflx_v50.txt' |
---|
[41] | 125 | openw,3,fi_ws_oaflx |
---|
[50] | 126 | fi_ws_ncep=project_id_env+'ws_2000_2009_ncep_v50.txt' |
---|
[41] | 127 | openw,4,fi_ws_ncep |
---|
[50] | 128 | fi_ws_tmi=project_id_env+'ws_2000_2009_tmi_v50.txt' |
---|
[41] | 129 | openw,5,fi_ws_tmi |
---|
[50] | 130 | fi_ws_ncep1=project_id_env+'ws_2000_2009_ncep1_v50.txt' |
---|
[41] | 131 | openw,6,fi_ws_ncep1 |
---|
[97] | 132 | ; |
---|
[41] | 133 | printf,1, 'x y cor bias std rmsd mean_tao' |
---|
| 134 | printf,2, 'x y cor bias std rmsd mean_tao' |
---|
| 135 | printf,3, 'x y cor bias std rmsd mean_tao' |
---|
| 136 | printf,4, 'x y cor bias std rmsd mean_tao' |
---|
| 137 | printf,5, 'x y cor bias std rmsd mean_tao' |
---|
| 138 | printf,6, 'x y cor bias std rmsd mean_tao' |
---|
[97] | 139 | ; |
---|
| 140 | ; first reading the whole ERAI uncorrected and corrected data |
---|
| 141 | ; |
---|
[50] | 142 | file=project_id_env+'erai_ws_19890101_20091231_oafluxgrid.nc' |
---|
[41] | 143 | initncdf, file |
---|
[43] | 144 | u=read_ncdf('u10',date1,date2,file=file,/nostr) |
---|
| 145 | v=read_ncdf('v10',date1,date2,file=file,/nostr) |
---|
| 146 | unc=sqrt(u*u+v*v) |
---|
[41] | 147 | help, unc |
---|
[97] | 148 | ; |
---|
[50] | 149 | file=project_id_env+'TropFlux_ws_19890101_20091231_v20.nc' |
---|
[41] | 150 | initncdf, file |
---|
[43] | 151 | cor=read_ncdf('ws',date1,date2,file=file,/nostr) |
---|
[41] | 152 | help, cor |
---|
[97] | 153 | ; |
---|
[50] | 154 | file=project_id_env+'OAFlux_basic_variables_1985_2009.nc' |
---|
[41] | 155 | initncdf, file |
---|
| 156 | oaf=read_ncdf("wind", date1, date2, file=file,/nostr) |
---|
| 157 | help, oaf |
---|
[97] | 158 | ; |
---|
[50] | 159 | fi=project_id_env+'uwind_ncep2_oafluxgrid_19890101_20091231.nc' |
---|
[41] | 160 | initncdf, fi |
---|
[43] | 161 | u=read_ncdf("u", date1-1, date2, file=fi,/nostr) |
---|
[50] | 162 | fi=project_id_env+'vwind_ncep2_oafluxgrid_19890101_20091231.nc' |
---|
[41] | 163 | initncdf, fi |
---|
[43] | 164 | v=read_ncdf("v", date1-1, date2, file=fi,/nostr) |
---|
[41] | 165 | nce=sqrt(u*u+v*v) |
---|
| 166 | help, nce |
---|
[97] | 167 | ; |
---|
[50] | 168 | fi=project_id_env+'zonal_wind_speed_oafluxgrid_30N30S.nc' |
---|
[41] | 169 | initncdf, fi |
---|
| 170 | u=read_ncdf("u", date1, date2, file=fi,/nostr) |
---|
[50] | 171 | fi=project_id_env+'meridional_wind_speed_oafluxgrid_30N30S.nc' |
---|
[41] | 172 | initncdf, fi |
---|
| 173 | v=read_ncdf("v", date1, date2, file=fi,/nostr) |
---|
| 174 | ws_tmi=sqrt(u*u+v*v) |
---|
| 175 | help, ws_tmi |
---|
[97] | 176 | ; |
---|
[50] | 177 | file=project_id_env+'wind_ncep1_19890101_20091231.nc' |
---|
[41] | 178 | initncdf, file |
---|
| 179 | u=read_ncdf("u", date1, date2, file=file,/nostr) |
---|
| 180 | v=read_ncdf("v", date1, date2, file=file,/nostr) |
---|
| 181 | nce1=sqrt(u*u+v*v) |
---|
| 182 | help, nce1 |
---|
[97] | 183 | ; |
---|
[41] | 184 | nn=n_elements(sitelist) |
---|
| 185 | for n=0, nn-1 do begin |
---|
[97] | 186 | ; |
---|
| 187 | ; reading data from mooring |
---|
| 188 | ; |
---|
| 189 | site=sitelist(n) |
---|
[94] | 190 | csite=site |
---|
[41] | 191 | print, csite |
---|
| 192 | x=x_site_location(site) |
---|
| 193 | y=y_site_location(site) |
---|
| 194 | if (y ge 0. and y le 30.) then y=y+360. |
---|
[97] | 195 | dx=0.5 |
---|
| 196 | dy=0.5 |
---|
[94] | 197 | box=[y-dy, y+dy, x-dx, x+dx] |
---|
[41] | 198 | read_variables_v2, csite,date1,date2,nsmooth, $ |
---|
| 199 | at, sw,rh,sst,wu,wv,ws, lh |
---|
[97] | 200 | ; |
---|
[41] | 201 | ws=alog(10./0.000152)/alog(4./0.000152)*ws |
---|
[97] | 202 | ; |
---|
| 203 | ; extracting the corrected and uncorrected ERAI data at the locations |
---|
[41] | 204 | nsmooth=1. |
---|
[97] | 205 | ; |
---|
[41] | 206 | extract_flux_tropflux,unc,box, $ |
---|
| 207 | tropflux |
---|
| 208 | uncr=tropflux |
---|
[97] | 209 | ; |
---|
[43] | 210 | extract_flux_tropflux,cor,box, $ |
---|
[41] | 211 | tropflux |
---|
| 212 | corr=tropflux |
---|
[97] | 213 | ; |
---|
[41] | 214 | extract_flux_tropflux,oaf,box, $ |
---|
| 215 | tropflux |
---|
| 216 | oafl=tropflux |
---|
[97] | 217 | ; |
---|
[41] | 218 | extract_flux_tropflux,nce,box, $ |
---|
| 219 | tropflux |
---|
| 220 | ncep=tropflux |
---|
[97] | 221 | ; |
---|
[41] | 222 | extract_flux_tropflux,ws_tmi,box, $ |
---|
| 223 | tropflux |
---|
| 224 | tmi=tropflux |
---|
[97] | 225 | ; |
---|
[41] | 226 | extract_flux_tropflux,nce1,box, $ |
---|
| 227 | tropflux |
---|
| 228 | ncep1=tropflux |
---|
[97] | 229 | ; |
---|
| 230 | ind=where(finite(ws)) |
---|
| 231 | ws=ws(ind) |
---|
| 232 | uncr_ws=uncr(ind) |
---|
[94] | 233 | corr_ws=corr(ind) |
---|
[97] | 234 | oafl=oafl(ind) |
---|
| 235 | ncep=ncep(ind) |
---|
| 236 | tmi=tmi(ind) |
---|
[94] | 237 | ncep1=ncep1(ind) |
---|
[97] | 238 | ; |
---|
[41] | 239 | mean_tao=total(ws)/n_elements(ws) |
---|
[97] | 240 | ; |
---|
[41] | 241 | statistics_3var_v1, ws, uncr_ws, corr_ws, $ |
---|
| 242 | cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 |
---|
[97] | 243 | ; |
---|
[41] | 244 | printf, 1, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f5.2,3x,f5.2,3x,f4.2,3x,f4.2,3x,f5.2)' |
---|
| 245 | printf, 2, x, y, cor2, bias2, std2, rmsd2, mean_tao, format='(f6.2, 3x, f6.2, 3x, f5.2,3x,f5.2,3x,f4.2,3x,f4.2,3x,f5.2)' |
---|
[97] | 246 | ; |
---|
[41] | 247 | statistics_3var_v1, ws, oafl, ncep, $ |
---|
| 248 | cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 |
---|
| 249 | printf, 3, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f5.2,3x,f5.2,3x,f4.2,3x,f4.2,3x,f5.2)' |
---|
| 250 | printf, 4, x, y, cor2, bias2, std2, rmsd2, mean_tao, format='(f6.2, 3x, f6.2, 3x, f5.2,3x,f6.2,3x,f4.2,3x,f4.2,3x,f5.2)' |
---|
[97] | 251 | ; |
---|
[41] | 252 | statistics_3var_v1, ws, tmi, ncep1, $ |
---|
| 253 | cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 |
---|
| 254 | printf, 5, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f5.2,3x,f5.2,3x,f4.2,3x,f4.2,3x,f5.2)' |
---|
| 255 | printf, 6, x, y, cor2, bias2, std2, rmsd2, mean_tao, format='(f6.2, 3x, f6.2, 3x, f5.2,3x,f5.2,3x,f4.2,3x,f4.2,3x,f5.2)' |
---|
[97] | 256 | ; |
---|
[41] | 257 | endfor |
---|
[43] | 258 | close,/all |
---|
[50] | 259 | fi_ws_erai=project_id_env+'ws_2000_2009_erai_v50.txt' |
---|
[41] | 260 | res=read_ascii(fi_ws_erai,data_start=1) |
---|
| 261 | ff=res.field1 |
---|
| 262 | lat=reform(ff(0,*)) |
---|
| 263 | lon=reform(ff(1,*)) |
---|
[97] | 264 | cor_era=reform(ff(2,*)) |
---|
[94] | 265 | cor_erai=total(cor_era)/n_elements(cor_era) |
---|
[97] | 266 | bias_era=reform(ff(3,*)) |
---|
[94] | 267 | bias_erai=total(bias_era)/n_elements(bias_era) |
---|
[97] | 268 | std_era=reform(ff(4,*)) |
---|
[94] | 269 | std_erai=total(std_era)/n_elements(std_era) |
---|
[97] | 270 | rmsd_era=reform(ff(5,*)) |
---|
[94] | 271 | rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) |
---|
[97] | 272 | mean_tao=reform(ff(6,*)) |
---|
[94] | 273 | mean_erai=bias_era+mean_tao |
---|
[97] | 274 | ; |
---|
[41] | 275 | print, '' |
---|
| 276 | print, 'ERAI' |
---|
| 277 | print, cor_erai, bias_erai, std_erai, rmsd_erai |
---|
| 278 | cstat=string(cor_erai, bias_erai, std_erai, rmsd_erai, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') |
---|
| 279 | splot, mean_tao, mean_erai, title='WS - TAO Vs ERAI', subtitle='', $ |
---|
| 280 | charsize=1.1, xtitle='TAO WS', ytitle='ERAI WS', small=[2,3,1], psym=2, $ |
---|
| 281 | xrange=[2,10], yrange=[2,10], xmin=1,ymin=1 |
---|
| 282 | xyouts, 2.5,9.4, cstat, charsize=0.9 |
---|
| 283 | xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 |
---|
[97] | 284 | ; |
---|
[41] | 285 | oplot, [2,10], [2,10] |
---|
| 286 | ab=linfit(mean_tao, mean_erai,yfit=yfit) |
---|
[97] | 287 | a=float(ab(0)) |
---|
[94] | 288 | b=float(ab(1)) |
---|
[41] | 289 | oplot, mean_tao, yfit, color=250, thick=2 |
---|
[97] | 290 | ; |
---|
[50] | 291 | fi_ws_trop=project_id_env+'ws_2000_2009_trop_v50.txt' |
---|
[41] | 292 | res=read_ascii(fi_ws_trop,data_start=1) |
---|
| 293 | ff=res.field1 |
---|
| 294 | lat=reform(ff(0,*)) |
---|
| 295 | lon=reform(ff(1,*)) |
---|
[97] | 296 | cor_tro=reform(ff(2,*)) |
---|
[94] | 297 | cor_trop=total(cor_tro)/n_elements(cor_tro) |
---|
[97] | 298 | bias_tro=reform(ff(3,*)) |
---|
[94] | 299 | bias_trop=total(bias_tro)/n_elements(bias_tro) |
---|
[97] | 300 | std_tro=reform(ff(4,*)) |
---|
[94] | 301 | std_trop=total(std_tro)/n_elements(std_tro) |
---|
[97] | 302 | rmsd_tro=reform(ff(5,*)) |
---|
[94] | 303 | rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) |
---|
[97] | 304 | mean_tao=reform(ff(6,*)) |
---|
[94] | 305 | mean_trop=bias_tro+mean_tao |
---|
[97] | 306 | ; |
---|
[41] | 307 | print, '' |
---|
| 308 | print, 'TropFlux' |
---|
| 309 | print, cor_trop, bias_trop, std_trop, rmsd_trop |
---|
| 310 | cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') |
---|
[97] | 311 | ; |
---|
[41] | 312 | splot, mean_tao, mean_trop, title='WS - TAO Vs TropFlux', subtitle='', $ |
---|
| 313 | charsize=1.1, xtitle='TAO WS', ytitle='TropFlux WS', small=[2,3,2],/noer, psym=2, $ |
---|
| 314 | xrange=[2,10], yrange=[2,10], xmin=1,ymin=1 |
---|
| 315 | oplot, [2,10], [2,10] |
---|
| 316 | xyouts, 2.5,9.4, cstat, charsize=0.9 |
---|
| 317 | xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 |
---|
[97] | 318 | ; |
---|
[41] | 319 | ab=linfit(mean_tao, mean_trop,yfit=yfit) |
---|
[97] | 320 | a=float(ab(0)) |
---|
[94] | 321 | b=float(ab(1)) |
---|
[41] | 322 | oplot, mean_tao, yfit, color=250, thick=2 |
---|
[97] | 323 | ; |
---|
[50] | 324 | fi_ws_oaflx=project_id_env+'ws_2000_2009_oaflx_v50.txt' |
---|
[41] | 325 | res=read_ascii(fi_ws_oaflx,data_start=1) |
---|
| 326 | ff=res.field1 |
---|
| 327 | lat=reform(ff(0,*)) |
---|
| 328 | lon=reform(ff(1,*)) |
---|
[97] | 329 | cor_oaf=reform(ff(2,*)) |
---|
[94] | 330 | cor_oafl=total(cor_oaf)/n_elements(cor_oaf) |
---|
[97] | 331 | bias_oaf=reform(ff(3,*)) |
---|
[94] | 332 | bias_oafl=total(bias_oaf)/n_elements(bias_oaf) |
---|
[97] | 333 | std_oaf=reform(ff(4,*)) |
---|
[94] | 334 | std_oafl=total(std_oaf)/n_elements(std_oaf) |
---|
[97] | 335 | rmsd_oaf=reform(ff(5,*)) |
---|
[94] | 336 | rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) |
---|
[97] | 337 | mean_tao=reform(ff(6,*)) |
---|
[94] | 338 | mean_oafl=bias_oaf+mean_tao |
---|
[97] | 339 | ; |
---|
[41] | 340 | print, '' |
---|
| 341 | print, 'OAFlux' |
---|
| 342 | print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl |
---|
| 343 | cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') |
---|
[97] | 344 | ; |
---|
[41] | 345 | splot, mean_tao, mean_oafl, title='WS - TAO Vs OAFlux', subtitle='', $ |
---|
| 346 | charsize=1.1, xtitle='TAO WS', ytitle='OAFlux WS', small=[2,3,3],/noer, psym=2, $ |
---|
| 347 | xrange=[2,10], yrange=[2,10], xmin=1,ymin=1 |
---|
| 348 | oplot, [2,10], [2,10] |
---|
| 349 | xyouts, 2.5,9.4, cstat, charsize=0.9 |
---|
| 350 | xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 |
---|
[97] | 351 | ; |
---|
[41] | 352 | ab=linfit(mean_tao, mean_oafl,yfit=yfit) |
---|
[97] | 353 | a=float(ab(0)) |
---|
[94] | 354 | b=float(ab(1)) |
---|
[41] | 355 | oplot, mean_tao, yfit, color=250, thick=2 |
---|
[97] | 356 | ; |
---|
[50] | 357 | fi_ws_ncep=project_id_env+'ws_2000_2009_ncep_v50.txt' |
---|
[41] | 358 | res=read_ascii(fi_ws_ncep,data_start=1) |
---|
| 359 | ff=res.field1 |
---|
| 360 | lat=reform(ff(0,*)) |
---|
| 361 | lon=reform(ff(1,*)) |
---|
[97] | 362 | cor_nce=reform(ff(2,*)) |
---|
[94] | 363 | cor_ncep=total(cor_nce)/n_elements(cor_nce) |
---|
[97] | 364 | bias_nce=reform(ff(3,*)) |
---|
[94] | 365 | bias_ncep=total(bias_nce)/n_elements(bias_nce) |
---|
[97] | 366 | std_nce=reform(ff(4,*)) |
---|
[94] | 367 | std_ncep=total(std_nce)/n_elements(std_nce) |
---|
[97] | 368 | rmsd_nce=reform(ff(5,*)) |
---|
[94] | 369 | rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) |
---|
[97] | 370 | mean_tao=reform(ff(6,*)) |
---|
[94] | 371 | mean_ncep=bias_nce+mean_tao |
---|
[97] | 372 | ; |
---|
[41] | 373 | print, '' |
---|
| 374 | print, 'NCEP2' |
---|
| 375 | print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep |
---|
| 376 | cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') |
---|
[97] | 377 | ; |
---|
[41] | 378 | splot, mean_tao, mean_ncep, title='WS - TAO Vs NCEP2', subtitle='', $ |
---|
| 379 | charsize=1.1, xtitle='TAO WS', ytitle='NCEP2 WS', small=[2,3,4],/noer, psym=2, $ |
---|
| 380 | xrange=[2,10], yrange=[2,10], xmin=1,ymin=1 |
---|
| 381 | oplot, [2,10], [2,10] |
---|
| 382 | xyouts, 2.5,9.4, cstat, charsize=0.9 |
---|
| 383 | xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 |
---|
[97] | 384 | ; |
---|
[41] | 385 | ab=linfit(mean_tao, mean_ncep,yfit=yfit) |
---|
[97] | 386 | a=float(ab(0)) |
---|
[94] | 387 | b=float(ab(1)) |
---|
[41] | 388 | oplot, mean_tao, yfit, color=250, thick=2 |
---|
[97] | 389 | ; |
---|
[50] | 390 | fi_ws_tmi=project_id_env+'ws_2000_2009_tmi_v50.txt' |
---|
[41] | 391 | res=read_ascii(fi_ws_tmi,data_start=1) |
---|
| 392 | ff=res.field1 |
---|
| 393 | lat=reform(ff(0,*)) |
---|
| 394 | lon=reform(ff(1,*)) |
---|
[97] | 395 | cor_tm=reform(ff(2,*)) |
---|
[94] | 396 | cor_tmi=total(cor_tm)/n_elements(cor_tm) |
---|
[97] | 397 | bias_tm=reform(ff(3,*)) |
---|
[94] | 398 | bias_tmi=total(bias_tm)/n_elements(bias_tm) |
---|
[97] | 399 | std_tm=reform(ff(4,*)) |
---|
[94] | 400 | std_tmi=total(std_tm)/n_elements(std_tm) |
---|
[97] | 401 | rmsd_tm=reform(ff(5,*)) |
---|
[94] | 402 | rmsd_tmi=total(rmsd_tm)/n_elements(rmsd_tm) |
---|
[97] | 403 | mean_tao=reform(ff(6,*)) |
---|
[94] | 404 | mean_tmi=bias_tm+mean_tao |
---|
[97] | 405 | ; |
---|
[41] | 406 | print, '' |
---|
| 407 | print, 'Qscat' |
---|
| 408 | print, cor_tmi, bias_tmi, std_tmi, rmsd_tmi |
---|
| 409 | cstat=string(cor_tmi, bias_tmi, std_tmi, rmsd_tmi, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') |
---|
[97] | 410 | ; |
---|
[41] | 411 | splot, mean_tao, mean_tmi, title='WS - TAO Vs Qscat', subtitle='', $ |
---|
| 412 | charsize=1.1, xtitle='TAO WS', ytitle='TMI WS', small=[2,3,5],/noer, psym=2, $ |
---|
| 413 | xrange=[2,10], yrange=[2,10], xmin=1,ymin=1 |
---|
| 414 | oplot, [2,10], [2,10] |
---|
| 415 | xyouts, 2.5,9.4, cstat, charsize=0.9 |
---|
| 416 | xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 |
---|
[97] | 417 | ; |
---|
[41] | 418 | ab=linfit(mean_tao, mean_tmi,yfit=yfit) |
---|
[97] | 419 | a=float(ab(0)) |
---|
[94] | 420 | b=float(ab(1)) |
---|
[41] | 421 | oplot, mean_tao, yfit, color=250, thick=2 |
---|
[97] | 422 | ; |
---|
[50] | 423 | fi_ws_ncep1=project_id_env+'ws_2000_2009_ncep1_v50.txt' |
---|
[41] | 424 | res=read_ascii(fi_ws_ncep1,data_start=1) |
---|
| 425 | ff=res.field1 |
---|
| 426 | lat=reform(ff(0,*)) |
---|
| 427 | lon=reform(ff(1,*)) |
---|
[97] | 428 | cor_nce=reform(ff(2,*)) |
---|
[94] | 429 | cor_ncep=total(cor_nce)/n_elements(cor_nce) |
---|
[97] | 430 | bias_nce=reform(ff(3,*)) |
---|
[94] | 431 | bias_ncep=total(bias_nce)/n_elements(bias_nce) |
---|
[97] | 432 | std_nce=reform(ff(4,*)) |
---|
[94] | 433 | std_ncep=total(std_nce)/n_elements(std_nce) |
---|
[97] | 434 | rmsd_nce=reform(ff(5,*)) |
---|
[94] | 435 | rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) |
---|
[97] | 436 | mean_tao=reform(ff(6,*)) |
---|
[94] | 437 | mean_ncep=bias_nce+mean_tao |
---|
[97] | 438 | ; |
---|
[41] | 439 | print, '' |
---|
| 440 | print, 'NCEP' |
---|
| 441 | print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep |
---|
| 442 | cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') |
---|
[97] | 443 | ; |
---|
[41] | 444 | splot, mean_tao, mean_ncep, title='WS - TAO Vs NCEP', subtitle='', $ |
---|
| 445 | charsize=1.1, xtitle='TAO WS', ytitle='NCEP WS', small=[2,3,6],/noer, psym=2, $ |
---|
| 446 | xrange=[2,10], yrange=[2,10], xmin=1,ymin=1 |
---|
| 447 | oplot, [2,10], [2,10] |
---|
| 448 | xyouts, 2.5,9.4, cstat, charsize=0.9 |
---|
| 449 | xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 |
---|
[97] | 450 | ; |
---|
[41] | 451 | ab=linfit(mean_tao, mean_ncep,yfit=yfit) |
---|
[97] | 452 | a=float(ab(0)) |
---|
[94] | 453 | b=float(ab(1)) |
---|
[41] | 454 | oplot, mean_tao, yfit, color=250, thick=2 |
---|
[97] | 455 | ; |
---|
[41] | 456 | closeps |
---|
[97] | 457 | ; |
---|
[41] | 458 | end |
---|