Changeset 97
- Timestamp:
- 08/30/11 14:38:29 (13 years ago)
- Location:
- trunk/src
- Files:
-
- 80 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/TropFlux_19890101_20091231.pro
r94 r97 145 145 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y(*,1)) & tab(ocean)=x & m=fi nite(tab) & tab=extrapolate(tab,m) & lwr(*,*,jt)=tab*msk+valmask*(1-msk) 146 146 ; 147 ; to make progress I DO NOT extrapolate anymore lwr, sen and lat 147 ; to make progress I DO NOT extrapolate anymore lwr, sen and lat 148 148 ; !!!!! must be reactivated 149 149 ; 150 150 ; when I DO NOT extrapolate lwr, sen and lat , program end with :: 151 151 ; 152 ; Written to 152 ; Written to 153 153 ; !/usr/work/incas/fplod/tropflux_d/TropFlux_19890101_20091231_coarev3.nc 154 154 ; ------------------------- … … 192 192 ; 193 193 ; $URL$ 194 ; 195 ; - fplod 20110830T084129Z aedon.locean-ipsl.upmc.fr (Darwin) 196 ; 197 ; * add tau in ouptut file 194 198 ; 195 199 ; - fplod 20110822T090838Z aedon.locean-ipsl.upmc.fr (Darwin) … … 405 409 ENDIF 406 410 ; 407 da1=19880101 411 da1=19880101 408 412 da2=20101231 409 413 ; 410 414 initncdf, fullfilename_msk 411 415 msk=ncdf_lec(fullfilename_msk,var='msk') 412 416 ; 413 417 initncdf, fullfilename_sst 414 418 ; 415 419 ws=read_ncdf('ws',da1,da2,file=fullfilename_ws,/nostr) 416 420 wg=read_ncdf('wg',da1-1,da2,file=fullfilename_wg,/nostr) 417 tt=time 421 tt=time 418 422 jpt=n_elements(time) 419 423 sst=read_ncdf('sst',da1,da2,file=fullfilename_sst,/nostr) … … 421 425 swd=read_ncdf('swr',da1,da2,file=fullfilename_swr,/nostr) 422 426 lw=read_ncdf('lwr',da1,da2,file=fullfilename_lwr,/nostr) 423 swd=swd/0.94 ; ;converting from net swr to downward swr424 427 swd=swd/0.94 ; converting from net swr to downward swr 428 ; 425 429 t2m=read_ncdf('t2m',da1,da2,file=fullfilename_t2m,/nostr)-273.15 ; in C 426 430 q2m=read_ncdf('q2m',da1,da2,file=fullfilename_q2m,/nostr) ; in g/kg 427 428 w=sqrt(ws*ws+wg*wg) ; ;wind corrected for gustiness431 ; 432 w=sqrt(ws*ws+wg*wg) ; wind corrected for gustiness 429 433 w=ws 430 434 tmask=msk … … 432 436 ocean=where(msk eq 1,compl=land) 433 437 valmask=1.e20 434 time=tt 438 time=tt 435 439 jpt=n_elements(time) 436 437 ; 438 ; ;Constants for flux computation440 ; 441 ; 442 ; Constants for flux computation 439 443 ; 440 444 zu=10. ; height of wind speed measurement (m) … … 448 452 twave=5. 449 453 hwave=1. 450 454 ; 451 455 caldat, time,mon,day,yea 452 456 swr=fltarr(jpi,jpj,jpt)+1.e20 … … 458 462 ;Ce=fltarr(jpi,jpj,jpt)+1.e20 459 463 junk=fltarr(jpi,jpj,jpt)+1.e20 460 464 ; 461 465 for jt=0,jpt-1 do begin 462 466 jday=time(jt)-julday(1,1,yea(jt)) 463 467 print, 'Computing Fluxes ',jt,' / ',jpt-1 464 468 ; 465 ; P=msl(*,*,jt) 469 ; P=msl(*,*,jt) 466 470 ; P=P(ocean) 467 471 ; 468 472 ; wind speed (m/s) 469 wn=w(*,*,jt) 470 wn=wn(ocean) 473 wn=w(*,*,jt) 474 wn=wn(ocean) 471 475 ; Bulk sst (°C) 472 ts=sst(*,*,jt) 473 ts=ts(ocean) 476 ts=sst(*,*,jt) 477 ts=ts(ocean) 474 478 ; 2m Air T (°C) 475 t=t2m(*,*,jt) 476 t=t(ocean) 479 t=t2m(*,*,jt) 480 t=t(ocean) 477 481 ; Sea surface sat. spec. humidity (g/kg) 478 qs=qsee(ts,P) 482 qs=qsee(ts,P) 479 483 ; 2m AIr specific humidity (g/kg) 480 q=q2m(*,*,jt) 481 q=q(ocean) 484 q=q2m(*,*,jt) 485 q=q(ocean) 482 486 ; Downward solar flux (W/m2) 483 Rs=swd(*,*,jt) 487 Rs=swd(*,*,jt) 484 488 Rs=Rs(ocean) 485 489 ylat=gphit(ocean) … … 487 491 cld=calc_cloud_vlat(jday,Rs,ylat) 488 492 ; Downward IR flux (W/m2) 489 ; Rl=lwdown_clark(ts,q,cld,t,P) 490 Rl=lw(*,*,jt) 493 ; Rl=lwdown_clark(ts,q,cld,t,P) 494 Rl=lw(*,*,jt) 491 495 Rl=Rl(ocean) 492 496 rain=0. … … 497 501 y=cor30a(wn,us,ts,t,Qs,Q,Rs,Rl,rain,zi,P,zu,zt,zq,ylat,jcool,jwave,twave,hwave) 498 502 ; 499 503 ; 500 504 ; A few punctual missing values (coare does not converge): filled by spatial extrapolation 501 505 tab=fltarr(jpi,jpj)+!values.f_nan … … 536 540 sen(*,*,jt)=tab*msk+valmask*(1-msk) 537 541 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(lw_clrk) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & lwnet_clrk(*,*,jt)=tab*msk+valmask*(1-msk) 542 tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y(*,5)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & tau(*,*,jt)=tab*msk+valmask*(1-msk) 538 543 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y(*,6)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & Ch(*,*,jt)=tab*msk+valmask*(1-msk) 539 544 ; tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y(*,7)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & Ce(*,*,jt)=tab*msk+valmask*(1-msk) 545 tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y(*,8)) & tab(ocean)=x & m=finite(tab) & tab=extrapolate(tab,m) & wg(*,*,jt)=tab*msk+valmask*(1-msk) 540 546 endfor 541 547 tt=time 542 time=timegen(7670, start=julday(1,1,1989,0), units='days') 548 time=timegen(7670, start=julday(1,1,1989,0), units='days') 543 549 jpt=n_elements(time) 544 550 ; … … 546 552 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 547 553 tt=time-julday(1,1,1950,00,00,00) 548 xlon=reform(glamt(*,0) ) 554 xlon=reform(glamt(*,0) ) 549 555 ylat=reform(gphit(0,*)) 550 556 ; 551 557 ncfile='!' + fullfilename_out 552 558 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 557 563 lhf_attr={units:'W/m2',missing_value:valmask,long_name:'Surface latent flux',short_name:'lhf',axis:'TYX'} 558 564 shf_attr={units:'W/m2',missing_value:valmask,long_name:'Surface sensible flux',short_name:'shf',axis:'TYX'} 565 wg_attr={units:'m/s',missing_value:valmask,long_name:'COARE convective gustiness',short_name:'wg',axis:'TYX'} 566 tau_attr={units:'N/m2',missing_value:valmask,long_name:'Wind stress magnitude',short_name:'tau',axis:'TYX'} 559 567 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:' 1950-JAN-01 00:00:00'} 560 Ch_attr={units:'',missing_value:valmask,long_name:'heat transfer coefficient at zt',short_name:'Ch',axis:'TYX'} 561 Ce_attr={units:'',missing_value:valmask,long_name:'moisture transfer coefficient at zq',short_name:'Ce',axis:'TYX'} 562 568 ; 563 569 globattr={source:'Fluxes for the Global Tropical Ocean - TropFlux',timerange:cda0+' - '+cda1} 564 570 ; 565 571 help, swr,lwr,lat,sen,tt,xlon,ylat 566 567 ncfields = 'swr[longitude,latitude,time]=swr:swr_attr; ' $ 572 ; 573 ncfields = $ 574 + tau[longitude,latitude,time]=tau:tau_attr; ' $ 575 + wg[longitude,latitude,time]=wg:wg_attr; ' $ 576 + swr[longitude,latitude,time]=swr:swr_attr; ' $ 568 577 ; +'lwr_coare[longitude,latitude,time]=lwr:lwr_attr; ' $ 569 578 +'lwr[longitude,latitude,time]=lwnet_clrk:lwr_clrk_attr; ' $ … … 576 585 + 'tt[*time]=tt:time_attr ' $ 577 586 + ' @ globattr' 578 587 ; 579 588 @ncdf_quickwrite 580 589 ; 581 590 end -
trunk/src/TropFlux_NRT_ncdf.pro
r94 r97 56 56 ; :func:`jul2date <saxo:jul2date>` 57 57 ; :func:`ncdf_quickwrite <saxo:ncdf_quickwrite>` 58 ; 58 ; 59 59 ; EXAMPLES 60 60 ; ======== … … 78 78 ; 79 79 ; $Id: TropFlux_NRT_ncdf.pro 88 2011-08-19 15:40:14Z pinsard $ 80 ; 80 ; 81 81 ; $URL$ 82 82 ; … … 187 187 ENDIF 188 188 ; 189 st=19800101 189 st=19800101 190 190 en=20101231 191 191 ; 192 192 initncdf, fullfilename_swr_blnd 193 193 ; 194 194 swr=read_ncdf("swr", st, en, file=fullfilename_swr_blnd,/nostr) 195 195 ; 196 196 initncdf, fullfilename_lwr 197 197 lwr=read_ncdf("lwr", st, en, file=fullfilename_lwr,/nostr) 198 198 ; 199 199 initncdf, fullfilename_coare 200 200 lhf=read_ncdf("lhf", st, en, file=fullfilename_coare,/nostr) 201 201 shf=read_ncdf("shf", st, en, file=fullfilename_coare,/nostr) 202 202 ; 203 203 help, swr, lwr, lhf, shf 204 205 ;time=julday(1,1,1989)+lindgen(7670)+0.5 204 ; 205 ;time=julday(1,1,1989)+lindgen(7670)+0.5 206 206 ;jpt=n_elements(time) 207 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 207 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 208 208 jpt=n_elements(time) 209 209 ; 210 210 cda0=string(jul2date(time(0)),format='(i8.8)') 211 211 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 212 212 ; 213 213 time=time-julday(1,1,1950,00,00) 214 214 ; 215 215 lat=reform(gphit(0,0:jpj-1)) 216 216 lon=reform(glamt(0:jpi-1,0)) 217 217 ; 218 218 ncfile='!' + fullfilename_out 219 219 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 224 224 sh_attr={units:'w/m^2',missing_value:1.e20,long_name:'Sensible Heat Flux',short_name:'shf',axis:'TYX'} 225 225 lh_attr={units:'w/m^2',missing_value:1.e20,long_name:'Latent Heat Flux',short_name:'lhf',axis:'TYX'} 226 226 ; 227 227 globattr={Source:'TropFlux - Air-Sea Fluxes for the Global Tropics', Resolution:'1 x 1 degree and daily', IDL_program_name:'TropFlux_ncdf.pro',Timerange:cda0+' - '+cda1, More_Info:'ISCCP based SWR until 2007 and OLR based SWR after that with a 90 day linear transition between the two'} 228 229 228 ; 229 ; 230 230 ncfields = 'swr[longitude,latitude,time]=swr:sw_attr; ' $ 231 231 +'lwr[longitude,latitude,time]=lwr:lw_attr; ' $ … … 236 236 + 'time[*time]=time:time_attr ' $ 237 237 + ' @ globattr' 238 238 ; 239 239 @ncdf_quickwrite 240 240 ; 241 241 end -
trunk/src/TropFlux_swr_BLND_19890101_20091231.pro
r94 r97 86 86 ; why 20080100, 20100112 as date1 and date2 when readind nrt 87 87 ; 88 ; why two read_ncdf for nrt 89 ; 90 ; according to pk 20110811 we can include this process in 88 ; why two read_ncdf for nrt 89 ; 90 ; according to pk 20110811 we can include this process in 91 91 ; TropFlux_swr_NRT_19890101_20091231.pro ... later 92 92 ; … … 142 142 ; IDL> fullfilename_dt='TropFlux_swr_19890101_20071231_DT.nc' 143 143 ; IDL> dt=read_ncdf("swr", 19890100, 20071231, file=fullfilename_dt,/nostr) 144 ; IDL> print, 'first time step (should crash with invalid date)', jul2date(time[0]) 144 ; IDL> print, 'first time step (should crash with invalid date)', jul2date(time[0]) 145 145 ; first time step (should be 19890101) 19890101. 146 146 ; IDL> dt=read_ncdf("swr", 19890101, 20071231, file=fullfilename_dt,/nostr) 147 ; IDL> print, 'first time step (should be 19890101)', jul2date(time[0]) 147 ; IDL> print, 'first time step (should be 19890101)', jul2date(time[0]) 148 148 ; first time step (should be 19890101) 19890102. 149 149 ; 150 150 ; * correction for reading gustiness file 151 ; 151 ; 152 152 ; - fplod 20110809T115747Z aedon.locean-ipsl.upmc.fr (Darwin) 153 153 ; … … 219 219 STOP 220 220 ENDIF 221 221 ; 222 222 ; build nrt data filename 223 223 filename_nrt="TropFlux_swr_19890101_20091231_NRT.nc" … … 262 262 print, 'first time step (should be 19890101)', jul2date(time[0]) 263 263 print, 'last time step (should be 20071231)', jul2date(time[jpt-1]) 264 264 ; 265 265 initncdf, fullfilename_nrt 266 266 nrt=read_ncdf("sw", 20080100, 20100112, file=fullfilename_nrt,/nostr) 267 267 help, nrt 268 268 ; 269 269 swr_nrt=read_ncdf("sw", 19880101, 20100112, file=fullfilename_nrt,/nostr) 270 270 ; 271 271 swr_dt=[[[dt]],[[nrt]]] 272 272 help, nrt, swr_dt, swr_nrt 273 273 ; 274 274 swr_merged=swr_dt*0. 275 276 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 275 ; 276 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 277 277 jpt=n_elements(time) 278 278 ; 279 279 a=interpol([1.,0.],[julday(10,01,2007),julday(12,31,2007)],time) 280 280 a=((a > 0.) < 1.) … … 282 282 swr_merged(*,*,jt)=swr_dt(*,*,jt)*a(jt)+(1-a(jt))*swr_nrt(*,*,jt) 283 283 endfor 284 284 ; 285 285 initncdf, fullfilename_wg 286 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 286 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 287 287 jpt=n_elements(time) 288 288 lat=reform(gphit(0,0:jpj-1)) … … 290 290 cda0=string(jul2date(time(0)),format='(i8.8)') 291 291 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 292 292 ; 293 293 time=time-julday(1,1,1950,00,00) 294 294 ncfile='!' + fullfilename_out … … 298 298 sw_attr={units:'w/m^2',missing_value:1.e20,long_name:'Net Shortwave Radiation',short_name:'swr',axis:'TYX'} 299 299 globattr={source:'ISCCP based SWR until 2007, after 2007 timeseries is completed with OLR based SWR. A linear transition is applied from ISCCP based SWR to OLR based SWR'} 300 300 ; 301 301 ncfields = 'swr[longitude,latitude,time]=swr_merged:sw_attr; ' $ 302 302 + 'longitude[]=lon:lon_attr; ' $ … … 304 304 + 'time[*time]=time:time_attr ' $ 305 305 + ' @ globattr' 306 306 ; 307 307 @ncdf_quickwrite 308 308 ; 309 309 end -
trunk/src/TropFlux_swr_DT_19890101_20071231.pro
r94 r97 15 15 ; have been produced ++by pk 16 16 ; 17 ; Corrected swr delay on OAFLUX grid 17 ; Corrected swr delay on OAFLUX grid 18 18 ; is written in 19 19 ; :file:`${PROJECT_OD}/TropFlux_swr_19890101_20071231_DT.nc` … … 172 172 ; 173 173 initncdf, filename 174 174 ; 175 175 sw=read_ncdf("swr", 19890101, 20071231, file=filename,/nostr) 176 176 help, sw 177 177 ; 178 178 sw_mean=grossemoyenne(sw, 't',/nan) 179 179 help, sw_mean 180 181 tt=time 180 ; 181 tt=time 182 182 jpt=n_elements(time) 183 183 caldat, time,mon,day,yea 184 sw_m=sw*0. 184 sw_m=sw*0. 185 185 sw_bias=sw*0. 186 186 ; 187 187 for jt=0,jpt-1 do begin 188 188 jtt=(time(jt)-julday(1,1,yea(jt))) < 364 … … 191 191 sw_bias(*,*,jt)=(((swr-295.4)*18.36/(200.-295.4)) > 0.) < 18.37 192 192 endfor 193 193 ; 194 194 help, sw_m, sw_bias 195 195 swa=sw-sw_m 196 swa=swa/(0.901273) ; ;variability correction (seasonal_cycle_swr_isccp.pro)197 198 swr=sw_m+swa-sw_bias ; ;new swr, corrected for bias and variability196 swa=swa/(0.901273) ; variability correction (seasonal_cycle_swr_isccp.pro) 197 ; 198 swr=sw_m+swa-sw_bias ; new swr, corrected for bias and variability 199 199 ;writing field 200 200 ;time=julday(1,1,1989)+lindgen(7670) 201 201 cda0=string(jul2date(tt(0)),format='(i8.8)') 202 202 cda1=string(jul2date(tt(jpt-1)),format='(i8.8)') 203 203 ; 204 204 lat=reform(gphit(0,0:jpj-1)) 205 205 lon=reform(glamt(0:jpi-1,0)) 206 time=time-julday(1,1,1950) 206 time=time-julday(1,1,1950) 207 207 jpt=n_elements(time) 208 208 ; 209 209 ncfile='!' + fullfilename_out 210 210 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 213 213 sw_attr={units:'w/m^2',missing_value:1.e20,long_name:'Net Shortwave Radiation',short_name:'swr',axis:'TYX'} 214 214 globattr={source:'Obtained from ISCCP. Corrections has been done on mean bias and variability',timerange:cda0+' - '+cda1} 215 215 ; 216 216 ncfields = 'swr[longitude,latitude,time]=swr:sw_attr; ' $ 217 217 + 'longitude[]=lon:lon_attr; ' $ … … 219 219 + 'time[*time]=time:time_attr ' $ 220 220 + ' @ globattr' 221 221 ; 222 222 @ncdf_quickwrite 223 223 ; 224 224 end -
trunk/src/TropFlux_swr_NRT_19890101_20091231.pro
r94 r97 187 187 initncdf, fullfilename_swr_dt 188 188 sw=read_ncdf("swr", 19890101, 20071231, file=fullfilename_swr_dt,/nostr) 189 189 ; 190 190 swi=sw 191 191 ; 192 192 initncdf, fullfilename_olr 193 193 olr=read_ncdf('olr',19890100, 20071231, file=fullfilename_olr,/nost) 194 194 ; 195 195 help, sw, olr 196 197 ; ;creating climatology198 196 ; 197 ;creating climatology 198 ; 199 199 ny=(2007-1989)+1 200 200 nt=365*ny 201 201 olri=total(reform(olr(*,*,0:nt-1),nxt,nyt,365,ny),4)/ny 202 202 swi=total(reform(swi(*,*,0:nt-1),nxt,nyt,365,ny),4)/ny 203 203 ; 204 204 help, olri, swi 205 206 ; ;applying smoothing205 ; 206 ; applying smoothing 207 207 nsmooth=45 208 209 swi=[[[swi]],[[swi]],[[swi]]] 208 ; 209 swi=[[[swi]],[[swi]],[[swi]]] 210 210 olri=[[[olri]],[[olri]],[[olri]]] 211 si=size(sw) 212 n1=si(1) 211 si=size(sw) 212 n1=si(1) 213 213 n2=si(2) 214 214 ; 215 215 for j=0,n2-1 do begin 216 216 for i=0,n1-1 do begin … … 221 221 endfor 222 222 endfor 223 224 swi=swi[*,*,365:365+364] 223 ; 224 swi=swi[*,*,365:365+364] 225 225 olri=olri[*,*,365:365+364] 226 226 help, swi 227 227 ; 228 228 initncdf, fullfilename_olr 229 229 olr=read_ncdf('olr', 19890100, 20091231, box=box, file=fullfilename_olr,/nostr) 230 tt=time 230 tt=time 231 231 jpt=n_elements(time) 232 232 caldat, time,mon,day,yea 233 swm=olr*0. 233 swm=olr*0. 234 234 olrm=olr*0. 235 235 for jt=0,jpt-1 do begin … … 238 238 olrm(*,*,jt)=olri(*,*,jtt) 239 239 endfor 240 240 ; 241 241 help, swm, olrm 242 242 ; 243 243 olra=olr-olrm ; olr anomaly 244 244 rec=swm+(olra/0.760364) ; reconstructed sw … … 247 247 cda0=string(jul2date(tt(0)),format='(i8.8)') 248 248 cda1=string(jul2date(tt(jpt-1)),format='(i8.8)') 249 249 ; 250 250 lat=reform(gphit(0,0:jpj-1)) 251 251 lon=reform(glamt(0:jpi-1,0)) 252 time=time-julday(1,1,1950) 252 time=time-julday(1,1,1950) 253 253 jpt=n_elements(time) 254 254 ; 255 255 ncfile='!' + fullfilename_out 256 256 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 259 259 sw_attr={units:'w/m^2',missing_value:1.e20,long_name:'Net Shortwave Radiation',short_name:'swr',axis:'TYX'} 260 260 globattr={source:'Reconstructed from corrected OLR anomalies and TropFlux mean SWR climatology',timerange:cda0+' - '+cda1} 261 262 261 ; 262 ; 263 263 ncfields = 'sw[longitude,latitude,time]=rec:sw_attr; ' $ 264 264 + 'longitude[]=lon:lon_attr; ' $ … … 266 266 + 'time[*time]=time:time_attr ' $ 267 267 + ' @ globattr' 268 268 ; 269 269 @ncdf_quickwrite 270 270 ; 271 271 end -
trunk/src/TropFlux_wind_stress_19890101_20101231.pro
r96 r97 4 4 st=19880101 & en=20101231 5 5 st=19880101 & en=20101231 6 6 ; 7 7 file="/Volumes/PAYASAM/TropFlux/ERA_C_1989_2010/TropFlux_19890101_20101231.nc" 8 8 initncdf, file … … 10 10 tau=reform(tau) 11 11 help, tau 12 12 ; 13 13 stop 14 14 dir='/Volumes/PAYASAM/TropFlux/ERA_C_1989_2010/' … … 16 16 file_wg=dir+'gustiness_19890101_20101231.nc' 17 17 initncdf, file_wind 18 18 ; 19 19 ws=read_ncdf('ws',st,en,file=file_wind,/nostr) 20 20 wg=read_ncdf('wg',st,en,file=file_wg,/nostr) 21 21 s=sqrt((ws*ws)+(wg*wg)) 22 22 s=reform(s) & help, s 23 23 ; 24 24 file="/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_ws_19890101_20101231.nc" 25 25 initncdf, file 26 26 u=read_ncdf('u10',st,en,file=file,/nostr) 27 27 v=read_ncdf('v10',st,en,file=file,/nostr) 28 28 ; 29 29 u=reform(u) & v=reform(v) 30 30 help, u,v 31 31 taux=tau*u/s 32 32 tauy=tau*v/s 33 33 ; 34 34 help, taux, tauy 35 35 ; 36 36 time=timegen(8035, start=julday(1,1,1989,0), units='days') & jpt=n_elements(time) 37 37 ;------------------------------------------------------------ … … 40 40 tt=time-julday(1,1,1950,00,00,00) 41 41 xlon=reform(glamt(*,0) ) & ylat=reform(gphit(0,*)) 42 42 ; 43 43 ncfile='!/Volumes/PAYASAM/TropFlux/ERA_C_1989_2010/tau_tropflux_1d_19890101_20101231.nc' 44 44 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 48 48 tauy_attr={units:'N/m2',missing_value:valmask,long_name:'meridional wind stress',short_name:'tauy',axis:'TYX'} 49 49 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:' 1950-JAN-01 00:00:00'} 50 50 ; 51 51 globattr={Source:'TropFlux - Momentum Fluxes for the Global Tropics', Methodology:'Praveen Kumar et al., Clim. Dyn 2011', Producer_Agency:'Joint research colloboration between IPSL, Paris and NIO, India', Time_range:cda0+' - '+cda1, Creation_date:'20110707', Website:'http://www.locean-ipsl.upmc.fr/tropflux/'} 52 52 ; 53 53 help, xlon,ylat, taux, tauy, tau 54 54 ; 55 55 ncfields = 'tau[longitude,latitude,time]=tau:tau_attr; ' $ 56 56 +'taux[longitude,latitude,time]=taux:taux_attr; ' $ … … 60 60 + 'tt[*time]=tt:time_attr ' $ 61 61 + ' @ globattr' 62 62 ; 63 63 @ncdf_quickwrite 64 65 ;------------------------------------------------------------ 66 return 64 ; 67 65 end 68 ;------------------------------------------------------------ -
trunk/src/calc_cloud_vlat.pro
r94 r97 2 2 ;- 3 3 function calc_cloud_vlat, jday,SWR,XLAT 4 4 ; 5 5 ; Translated directly from Margie McCartys Fortran, 6 6 ; added XLAT~=0 capability from WEARE et al 1980, … … 10 10 ; by comparing theoretical clear sky radiation to measured. 11 11 ; 12 ; INPUT: 13 ; jday: value jday 14 ; SWR: vector of SW rad in Watts/m^2 12 ; INPUT: 13 ; jday: value jday 14 ; SWR: vector of SW rad in Watts/m^2 15 15 ; XLAT: corresponding vector of lat 16 16 ; … … 19 19 ; Qclsky: clearsky Qsw = Q0 in Reeds notation 20 20 ; 21 21 ; 22 22 ; SET COEFFICIENTS FOR THE Q0 CALCULATION 23 23 ; 24 24 pi=!pi 25 xlat=double(xlat) 25 xlat=double(xlat) 26 26 NN=n_elements(xlat) 27 27 ; 28 28 CLD=SWR*0.+!values.f_nan 29 29 Qclsky = SWR*0.+!values.f_nan 30 30 ; 31 31 A0 = (-32.65 + 674.76*cos(XLAT*pi/180)) 32 32 A1 = (19.88 + 397.26*cos((XLAT+90.0)*pi/180)) … … 34 34 B1 = (-6.75 + 224.38*sin(XLAT*pi/180)) 35 35 B2 = (-1.04 + 29.76*cos((2*(XLAT-5.0))*pi/180)) 36 36 ; 37 37 ;A0 = (-32.65 + 674.76*cos(XLAT*pi/180))*(abs(XLAT) le 20.) 38 38 ;A1 = (19.88 + 397.26*cos((XLAT+90.0)*pi/180))*(abs(XLAT) le 20.) … … 52 52 ;B1 = B1+( -4.80 + 2.46*XLAT - 0.017*XLAT^2)*((abs(XLAT) gt 40.) and (abs(XLAT) le 60.)) 53 53 ;B2 = B2+(-38.79 + 2.43*XLAT - 0.034*XLAT^2)*((abs(XLAT) gt 40.) and (abs(XLAT) le 60.)) 54 54 ; 55 55 DAY=jday ; day is day of that year; 56 56 XDIV=365.15 57 57 ; 58 58 ; CALCULATE PHI 59 59 PHI = (360./XDIV * (DAY-21.0))*pi/180. 60 60 ; 61 61 ; CALCULATE Q0; MULTIPY BY .4846 TO CONVERT FROM 62 62 ; LY/DAY TO W/M**2 63 63 Q0 = A0+A1*cos(PHI)+B1*sin(PHI)+A2*cos(2*PHI)+B2*sin(2*PHI); 64 64 Q0=Q0*.4846; 65 65 ; 66 66 SNALPHA=sin(XLAT*pi/180)*sin(23.45*sin((DAY-82)*pi/180)*pi/180) + $ 67 67 cos(XLAT*pi/180)*cos(23.45*sin((DAY-82)*pi/180)*pi/180) 68 68 ALPHA = asin(SNALPHA)*180/pi 69 70 ; SEE MARINE CLIMATE ATLAS OF TROPICAL PACIFC OCEAN, WEARE,STRUB, 69 ; 70 ; SEE MARINE CLIMATE ATLAS OF TROPICAL PACIFC OCEAN, WEARE,STRUB, 71 71 ; AND SAMUEL -- UC,DAVIS; THIS IS ACTUALLY REEDS 1977 72 72 ; FORMULA 73 73 CLD = (1.0+0.0019*ALPHA-SWR/Q0)/.62 74 74 Qclsky = Q0 75 76 indx=where(CLD ge 1.0) 75 ; 76 indx=where(CLD ge 1.0) 77 77 if (indx(0) ne -1) then CLD(indx) = 1.+0.*indx 78 79 ; ;return, [[CLD],[Qclsky]]78 ; 79 ;return, [[CLD],[Qclsky]] 80 80 return, cld 81 81 ; 82 82 end 83 -
trunk/src/cm_project.pro
r85 r97 10 10 ; =========== 11 11 ; 12 ; define commons for PROJECT 12 ; define commons for PROJECT 13 13 ; 14 14 ; SEE ALSO -
trunk/src/cor30a.pro
r90 r97 88 88 ; 89 89 ; $URL$ 90 ; 91 ; - fplod 20110830T085907Z aedon.locean-ipsl.upmc.fr (Darwin) 92 ; 93 ; * add ug 90 94 ; 91 95 ; - fplod 20110822T085404Z aedon.locean-ipsl.upmc.fr (Darwin) … … 166 170 Ribu=-grav*zu/ta*((dt-dter*jcool)+.61*ta*dq)/ut^2 167 171 nits=3 168 ; ;if (Ribu le 0.) then begin169 ; ;zetu=CC*Ribu/(1+Ribu/Ribcu)170 ; ;endif else begin171 ; ;zetu=CC*Ribu*(1+27./9*Ribu/CC)172 ; ;endelse172 ;if (Ribu le 0.) then begin 173 ; zetu=CC*Ribu/(1+Ribu/Ribcu) 174 ;endif else begin 175 ; zetu=CC*Ribu*(1+27./9*Ribu/CC) 176 ;endelse 173 177 sw=(Ribu le 0.) 174 178 zetu=sw*(CC*Ribu/(1+Ribu/Ribcu))+(1-sw)*(CC*Ribu*(1+27./9*Ribu/CC)) 175 ; ;179 ; 176 180 L10=zu/zetu 177 ; ;if (zetu gt 50 ) then nits=1181 ;if (zetu gt 50 ) then nits=1 178 182 usr=ut*von/(alog(zu/zo10)-psiu(zu/L10)) 179 183 tsr=-(dt-dter*jcool)*von*fdg/(alog(zt/zot10)-psit(zt/L10)) … … 182 186 tkt=.001 183 187 184 ; ;charn=0.011185 ; ;if (ut gt 10.) then charn=0.011+(ut-10)/(18.-10)*(0.018-0.011)186 ; ;if (ut gt 18.) then charn=0.018188 ;charn=0.011 189 ;if (ut gt 10.) then charn=0.011+(ut-10)/(18.-10)*(0.018-0.011) 190 ;if (ut gt 18.) then charn=0.018 187 191 charn=(((0.011+(ut-10)/(18.-10)*(0.018-0.011)) > .011) < .018) 188 ; ;192 ; 189 193 190 194 ;*************** bulk loop ************ … … 198 202 rr=zo*usr/visa 199 203 L=zu/zet 200 ; ;zoq=min([1.15e-4,5.5e-5/rr^.6])204 ;zoq=min([1.15e-4,5.5e-5/rr^.6]) 201 205 zoq=(5.5e-5/rr^.6 < 1.15e-4) 202 ; ;206 ; 203 207 zot=zoq 204 208 usr=ut*von/(alog(zu/zo)-psiu(zu/L)) … … 206 210 qsr=-(dq-wetc*dter*jcool)*von*fdg/(alog(zq/zoq)-psit(zq/L)) 207 211 Bf=-grav/ta*usr*(tsr+.61*ta*qsr) 208 ; ;if (Bf gt 0) then begin209 ; ;ug=Beta*(Bf*zi)^.333210 ; ;endif else begin211 ; ;ug=.2212 ; ;endelse212 ;if (Bf gt 0) then begin 213 ; ug=Beta*(Bf*zi)^.333 214 ;endif else begin 215 ; ug=.2 216 ;endelse 213 217 sw=(Bf gt 0) 214 218 ug=sw*(Beta*(Bf*zi)^.333)+(1-sw)*.2 215 ; ;219 ; 216 220 ut=sqrt(du*du+ug*ug) 217 221 Rnl=0.97*(5.67e-8*(ts-dter*jcool+tdk)^4-Rl) … … 223 227 alq=Al*qcol+be*hlb*cpw/LLe ; Eq. 7 Buoy flux water 224 228 225 ; ;if (alq gt 0) then begin226 ; ;xlamx=6./(1+(bigc*alq/usr^4)^.75)^.333 ; Eq 13 Saunders227 ; ;tkt=xlamx*visw/(sqrt(rhoa/rhow)*usr) ;Eq.11 Sub. thk228 ; ;endif else begin229 ; ;xlamx=6.0230 ; ;;;tkt=min([.01,xlamx*visw/(sqrt(rhoa/rhow)*usr)]) ;Eq.11 Sub. thk231 ; ;tkt=(xlamx*visw/(sqrt(rhoa/rhow)*usr) < .01)232 ; ;;;233 ; ;endelse229 ; if (alq gt 0) then begin 230 ; xlamx=6./(1+(bigc*alq/usr^4)^.75)^.333 ; Eq 13 Saunders 231 ; tkt=xlamx*visw/(sqrt(rhoa/rhow)*usr) ;Eq.11 Sub. thk 232 ; endif else begin 233 ; xlamx=6.0 234 ; tkt=min([.01,xlamx*visw/(sqrt(rhoa/rhow)*usr)]) ;Eq.11 Sub. thk 235 ; tkt=(xlamx*visw/(sqrt(rhoa/rhow)*usr) < .01) 236 ; 237 ; endelse 234 238 sw=(alq gt 0) 235 239 xlamx=sw*(6./(1+(bigc*alq/usr^4)^.75)^.333)+(1-sw)*6.0 236 240 tkt=sw*(xlamx*visw/(sqrt(rhoa/rhow)*usr))+(1-sw)*(xlamx*visw/(sqrt(rhoa/rhow)*usr) < .01) 237 ; ;241 ; 238 242 239 243 dter=qcol*tkt/tcw ; Eq.12 Cool skin … … 257 261 ;y=[[Rns],[-1.*Rnl],[-1.*hlb],[-1.*hsb],[-1.*RF],[tau]] 258 262 259 ; ;**************** Webb et al. correection ************263 ;**************** Webb et al. correection ************ 260 264 ;wbar=1.61*hlb/LLe/(1+1.61*Q)/rhoa+hsb/rhoa/cpa/ta ;formulation in hlb already includes webb 261 265 ;hl_webb=rhoa*wbar*Q*LLe 262 ; ;************** compute transfer coeffs relative to ut @meas. ht **********263 ; ;Cd=tau/rhoa/ut/max([.1,du])266 ;************** compute transfer coeffs relative to ut @meas. ht ********** 267 ;Cd=tau/rhoa/ut/max([.1,du]) 264 268 ;Cd=tau/rhoa/ut/(du > .1) 265 ; ;;269 ; 266 270 Ch=-usr*tsr/ut/(dt-dter*jcool) 267 271 Ce=-usr*qsr/(dq-dqer*jcool)/ut 268 ; ;************ 10-m neutral coeff realtive to ut ********272 ;************ 10-m neutral coeff realtive to ut ******** 269 273 ;Cdn_10=von*von/alog(10./zo)/alog(10./zo) 270 274 ;Chn_10=von*von*fdg/alog(10./zo)/alog(10./zot) 271 275 ;Cen_10=von*von*fdg/alog(10./zo)/alog(10./zoq) 272 276 273 y=[[Rns],[-1.*Rnl],[-1.*hlb],[-1.*hsb],[-1.*RF],[tau],[Ch],[Ce] ]274 ; ;y=[hsb,hlb,tau,zo,zot,zoq,L,usr,tsr,qsr,dter,dqer,tkt,RF,wbar,Cd,Ch,Ce,Cdn_10,Chn_10,Cen_10,ug ]277 y=[[Rns],[-1.*Rnl],[-1.*hlb],[-1.*hsb],[-1.*RF],[tau],[Ch],[Ce],[ug]] 278 ;y=[hsb,hlb,tau,zo,zot,zoq,L,usr,tsr,qsr,dter,dqer,tkt,RF,wbar,Cd,Ch,Ce,Cdn_10,Chn_10,Cen_10,ug ] 275 279 ; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 276 280 ; hsb= sensible heat flux (w/m^2) 277 281 ; hlb= latent heat flux (w/m^2) 278 282 ; RF= rain heat flux(w/m^2) 279 ; wbar= 283 ; wbar= webb mean w (m/s) 280 284 ; tau= stress (nt/m^2) 281 285 ; zo= velocity roughness length (m) -
trunk/src/cronin_gustiness_ncdf.pro
r94 r97 135 135 ENDIF 136 136 ; 137 da1=19880101 137 da1=19880101 138 138 da2=20101231 139 139 ; … … 160 160 ; 161 161 initncdf, fullfilename 162 sst=read_ncdf('sst',da1,da2,file=fullfilename,/nostr) 162 sst=read_ncdf('sst',da1,da2,file=fullfilename,/nostr) 163 163 sst=reform(sst-273.15) 164 164 help, sst 165 165 ; 166 166 sst_clim=grossemoyenne(sst, 't',/nan) 167 ;wg=0.175*sst_clim-3.17 ; ;line fit obtained from the scatter (Cronin gustiness Vs ERAI SST)167 ;wg=0.175*sst_clim-3.17 ; line fit obtained from the scatter (Cronin gustiness Vs ERAI SST) 168 168 ;help, wg 169 169 ; 170 170 jpt=n_elements(time) 171 171 ; 172 172 wg_tot=sst*0. 173 173 for jt=0, jpt-1 do begin … … 175 175 endfor 176 176 help, wg_tot 177 178 ; ;writing field179 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 177 ; 178 ; writing field 179 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 180 180 jpt=n_elements(time) 181 181 ; 182 182 cda0=string(jul2date(time(0)),format='(i8.8)') 183 183 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 184 184 tt=time-julday(1,1,1950,00,00,00) 185 xlon=reform(glamt(*,0) ) 185 xlon=reform(glamt(*,0) ) 186 186 ylat=reform(gphit(0,*)) 187 187 ; 188 188 ncfile='!' + fullfilename_out 189 189 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 192 192 gust_attr={units:'m/s',missing_value:valmask,long_name:'Climatological gustiness',short_name:'wg',axis:'TYX'} 193 193 globattr={source:'Climatological wind gustiness obtained by fitting cronins gustiness values against sst ',timerange:cda0+' - '+cda1} 194 194 ; 195 195 ncfields = 'wg[longitude,latitude,time]=wg_tot:gust_attr; ' $ 196 196 + 'longitude[]=xlon:lon_attr; ' $ … … 198 198 + 'tt[*time]=tt:time_attr ' $ 199 199 + ' @ globattr' 200 200 ; 201 201 @ncdf_quickwrite 202 202 ; 203 203 end -
trunk/src/d2m_to_q2m_erai.pro
r94 r97 186 186 ENDIF 187 187 ; 188 d1=19881001 188 d1=19881001 189 189 d2=20101231 190 190 ; … … 241 241 initncdf, fullfilename_d2m 242 242 td=read_ncdf("d2m", d1,d2, file=fullfilename_d2m,/nostr) 243 243 ; 244 244 ; reading erai air temperature 245 245 initncdf, fullfilename_t2m 246 246 t=read_ncdf("t2m", d1,d2, file=fullfilename_t2m,/nostr) 247 tt=time 247 tt=time 248 248 jpt=n_elements(time) 249 249 help, t, td 250 250 ; 251 251 ;since the t2m and d2m are already in K, no need for conversion 252 252 es0=6.11 253 253 e=es0*exp((25.e5/461.5)*((1/273.15)-(1/td))) 254 254 es=es0*exp((25.e5/461.5)*((1/273.15)-(1/t))) 255 255 ; 256 256 rh=(e/es)*100 257 258 ; ;conversion of relative humidity to sp. humidity259 ; ;Ref.1 - Gill, Appendix 4,260 ; ;Ref.2 - http://efdl.cims.nyu.edu/project_aomip/forcing_data/atmosphere/humidity.html261 257 ; 258 ; conversion of relative humidity to sp. humidity 259 ; Ref.1 - Gill, Appendix 4, 260 ; Ref.2 - http://efdl.cims.nyu.edu/project_aomip/forcing_data/atmosphere/humidity.html 261 ; 262 262 t=t-273.15 263 263 ; 264 264 initncdf, fullfilename_msl 265 265 P=read_ncdf("msl", d1, d2, file=fullfilename_msl,/nostr) … … 269 269 ; ++stop 270 270 q2m=rh_to_spechum(rh,t,P) 271 271 ; 272 272 ;writing field 273 273 ncfile='!' + fullfilename_out 274 time=timegen(7670, units='days', start=julday(1,1,1989)) 274 time=timegen(7670, units='days', start=julday(1,1,1989)) 275 275 jpt=n_elements(time) 276 276 cda0=string(jul2date(time(0)),format='(i8.8)') 277 277 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 278 278 ; 279 279 tt=time-julday(1,1,1950,00,00,00) 280 xlon=reform(glamt(*,0) ) 280 xlon=reform(glamt(*,0) ) 281 281 ylat=reform(gphit(0,*)) 282 282 valmask=1.e20 283 283 ; 284 284 lon_attr={units:'degrees_east',long_name:'Longitude'} 285 285 lat_attr={units:'degrees_north',long_name:'Latitude'} … … 287 287 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:' 1950-JAN-01 00:00:00'} 288 288 globattr={source:'Surface specific humidity at 2m calculated from dew point temperature',timerange:cda0+' - '+cda1} 289 289 ; 290 290 ncfields = 'q2m[longitude,latitude,time]=q2m:q2m_attr; ' $ 291 291 + 'longitude[]=xlon:lon_attr; ' $ … … 293 293 + 'tt[*time]=tt:time_attr ' $ 294 294 + ' @ globattr' 295 295 ; 296 296 @ncdf_quickwrite 297 ; 297 298 end -
trunk/src/dew_temp_airt_rel_humidity_jv.pro
r85 r97 48 48 ;- 49 49 function dew_temp_airt_rel_humidity_jv, t,td 50 50 ; 51 51 if (not keyword_set(t)) then t=28 ; air temperature in degC 52 52 if (not keyword_set(td)) then td=23 ; dew point temperature in degC 53 53 es0=6.11 ; reference saturation vapor pressure (hPa) 54 55 ; ;calculating fields. First saturation vapor pressure (Es) and56 ; ;actual vapor pressure are calculated. The ratio (E/Es)*10057 ; ;gives the relative humidity58 54 ; 55 ; calculating fields. First saturation vapor pressure (Es) and 56 ; actual vapor pressure are calculated. The ratio (E/Es)*100 57 ; gives the relative humidity 58 ; 59 59 e=es0*10^(7.5*td/(237.7+td)) 60 60 es=es0*10^(7.5*t/(237.7+T)) 61 61 ; 62 62 rh=(e/es)*100 63 ; ;;print, 'RH = ',rh64 63 ;print, 'RH = ',rh 64 ; 65 65 return, rh 66 66 ; 67 67 end -
trunk/src/get_oaflux.sh
r77 r97 6 6 # .. _get_oaflux.sh: 7 7 # 8 # ============= =============================9 # get_oaflux.sh -- Get OAFLUX reference file10 # ============= =============================8 # ============= 9 # get_oaflux.sh 10 # ============= 11 11 # 12 12 # SYNOPSIS -
trunk/src/get_olr.sh
r85 r97 9 9 # get_olr.sh 10 10 # ========== 11 # 11 # 12 12 # SYNOPSIS 13 13 # ======== … … 36 36 # coding rules 37 37 # 38 # check if we can use OpenDAP file cited 38 # check if we can use OpenDAP file cited 39 39 # in http://www.esrl.noaa.gov/psd/data/gridded/data.interp_OLR.html 40 40 # cf. http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/interp_OLR/catalog.html?dataset=PSDgriddedData/interp_OLR/olr.day.mean.nc -
trunk/src/get_olrnint.sh
r50 r97 6 6 # .. _get_olrnint.sh: 7 7 # 8 # ======================================================= 9 # get_olrnint.sh -- get OLR uninterpolated reference file 10 # ======================================================= 11 # 8 # ============== 9 # get_olrnint.sh 10 # ============== 12 11 # 13 12 # SYNOPSIS -
trunk/src/get_pirata_netcdf.sh
r91 r97 6 6 # .. _get_pirata_netcdf.sh: 7 7 # 8 # ================================================== 9 # get_pirata_netcdf.sh -- get PIRATA reference files 10 # ================================================== 11 # 8 # ==================== 9 # get_pirata_netcdf.sh 10 # ==================== 12 11 # 13 12 # SYNOPSIS -
trunk/src/get_rama_netcdf.sh
r91 r97 6 6 # .. _get_rama_netcdf.sh: 7 7 # 8 # ================== ============================9 # get_rama_netcdf.sh -- get RAMA reference files10 # ================== ============================8 # ================== 9 # get_rama_netcdf.sh 10 # ================== 11 11 # 12 12 # SYNOPSIS -
trunk/src/get_tao_netcdf.sh
r91 r97 6 6 # .. _get_tao_netcdf.sh: 7 7 # 8 # ================= ===========================9 # get_tao_netcdf.sh -- get TAO reference files10 # ================= ===========================8 # ================= 9 # get_tao_netcdf.sh 10 # ================= 11 11 # 12 12 # SYNOPSIS -
trunk/src/interp_erai_dewt_1989_2009.pro
r94 r97 235 235 initncdf, fullfilename 236 236 domdef 237 latin=reform(gphit(0,*)) 237 latin=reform(gphit(0,*)) 238 238 lonin=reform(glamt(*,0)) 239 239 print, 'lat grid ',min(latin),max(latin),latin(1)-latin(0) 240 240 print, 'lon grid ',min(lonin),max(lonin),lonin(1)-lonin(0) 241 241 d2min=read_ncdf("d2",19881201,20101231,file=fullfilename,/nostr) 242 242 ; 243 243 timein=time 244 244 jptin=jpt 245 245 tab=d2min(*,*,0) 246 246 mskin=glamt*0.+1. 247 247 ; 248 248 initncdf, fullfilename_msk 249 249 domdef … … 253 253 print, 'lon grid ',min(lonout),max(lonout),lonout(1)-lonout(0) 254 254 mskout=read_ncdf("msk", file=fullfilename_msk,/nostr) 255 255 ; 256 256 help, d2min,lonin,latin,mskin,lonout,latout,mskout 257 257 ; 258 258 si=size(d2min) 259 259 d2mout=fltarr(jpi,jpj,jptin) … … 266 266 d2mout(*,*,jt)=d2mout(*,*,jt)*mskout+(1.-mskout)*1.e20 267 267 endfor 268 268 ; 269 269 timein=timein 270 270 jptin=jpt 271 271 ; 272 272 initncdf, fullfilename_msk 273 273 cda0=string(jul2date(timein(0)),format='(i8.8)') 274 274 cda1=string(jul2date(timein(jpt-1)),format='(i8.8)') 275 276 time=timegen(7670, units='days', start=julday(1,1,1989)) 275 ; 276 time=timegen(7670, units='days', start=julday(1,1,1989)) 277 277 jpt=n_elements(time) 278 278 cda0=string(jul2date(time(0)),format='(i8.8)') 279 279 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 280 280 timein=time-julday(1,1,1950,00,00) 281 281 ; 282 282 lat=latout 283 283 lon=lonout … … 288 288 d2m_attr={units:'degK',missing_value:1e20,long_name:'Dew Point Temperature at 2m',short_name:'d2m',axis:'TYX'} 289 289 globattr={source:'Data are from ECMWF ERA-Interim reanalysis', timerange:cda0+' - '+cda1} 290 290 ; 291 291 ncfields = 'd2m[longitude,latitude,time]=d2mout:d2m_attr; ' $ 292 292 + 'longitude[]=lon:lon_attr; ' $ 293 293 + 'latitude[]=lat:lat_attr; ' $ 294 294 + 'time[*time]=timein:time_attr ' $ 295 295 + ' @ globattr' 296 296 ; 297 297 @ncdf_quickwrite 298 298 ; 299 299 end -
trunk/src/interp_erai_lwr_1989_2009.pro
r94 r97 12 12 ; Interpolation of str from ERA-I grid to OAFLUX grid 13 13 ; 14 ; :file:`${PROJECT_ID}/20c3m_erai_str_TROP_1989_2009.nc` 15 ; containing str from ERA-I 14 ; :file:`${PROJECT_ID}/20c3m_erai_str_TROP_1989_2009.nc` 15 ; containing str from ERA-I 16 16 ; has been produced 17 17 ; by :ref:`compute_erai_daily_region_2d.sh`. 18 18 ; 19 ; :file:`${PROJECT_ID}/mask_oaflux_30N30S.nc` 19 ; :file:`${PROJECT_ID}/mask_oaflux_30N30S.nc` 20 20 ; containing OAFLUX mask 21 ; has been produced by 21 ; has been produced by 22 22 ; :ref:`oaflux_mask_30N30S.pro`. 23 23 ; 24 24 ; Interpolated str is written in 25 ; :file:`${PROJECT_OD}/erai_lwr_19890102_20091231_oafluxgrid.nc` 25 ; :file:`${PROJECT_OD}/erai_lwr_19890102_20091231_oafluxgrid.nc` 26 26 ; if this file not already exists. 27 27 ; 28 ; This output file 29 ; :file:`${PROJECT_OD}/erai_lwr_19890102_20091231_oafluxgrid.nc` 28 ; This output file 29 ; :file:`${PROJECT_OD}/erai_lwr_19890102_20091231_oafluxgrid.nc` 30 30 ; must be processed after by :ref:`add_198900101.sh`. 31 31 ; … … 207 207 STOP 208 208 ENDIF 209 210 st=19890101 209 ; 210 st=19890101 211 211 en=20090801 212 212 ; 213 213 ; build data filename 214 214 filename='20c3m_erai_str_TROP_1989_2009.nc' … … 260 260 lwrin=read_ncdf("str",0,7668,/timestep,file=fullfilename,/nostr) 261 261 lwrin=-1*lwrin 262 262 ; 263 263 initncdf, fullfilename 264 264 domdef 265 latin=reform(gphit(0,*)) 265 latin=reform(gphit(0,*)) 266 266 lonin=reform(glamt(*,0)) 267 267 print, 'lat grid ',min(latin),max(latin),latin(1)-latin(0) 268 268 print, 'lon grid ',min(lonin),max(lonin),lonin(1)-lonin(0) 269 270 timein=time 269 ; 270 timein=time 271 271 jptin=jpt 272 272 tab=lwrin(*,*,0) 273 273 mskin=glamt*0.+1. 274 274 ; 275 275 initncdf, fullfilename_msk 276 276 domdef … … 279 279 print, 'lon grid ',min(lonout),max(lonout),lonout(1)-lonout(0) 280 280 mskout=read_ncdf("msk", file=fullfilename_msk,/nostr) 281 281 ; 282 282 si=size(lwrin) 283 283 lwrout=fltarr(jpi,jpj,jptin) 284 284 ; 285 285 for jt=0,jptin-1 do begin 286 286 ; ++print, 'Interpolation jt=',jt,' / ',jptin-1 287 287 ; 288 288 tab=reform(lwrin(*,*,jt)) 289 289 lwrout(*,*,jt)=call_interp2d(tab,lonin,latin,mskin $ … … 291 291 , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 292 292 lwrout(*,*,jt)=lwrout(*,*,jt)*mskout+(1.-mskout)*1.e20 293 293 ; 294 294 endfor 295 296 time=timegen(7669, start=julday(1,2,1989,0), units='days') 295 ; 296 time=timegen(7669, start=julday(1,2,1989,0), units='days') 297 297 jpt=n_elements(time) 298 tt=time 298 tt=time 299 299 jptin=jpt 300 300 cda0=string(jul2date(tt(0)),format='(i8.8)') 301 301 cda1=string(jul2date(tt(jpt-1)),format='(i8.8)') 302 302 tt=tt-julday(1,1,1950,00,00,00) 303 xlon=reform(glamt(*,0) ) 303 xlon=reform(glamt(*,0) ) 304 304 ylat=reform(gphit(0,*)) 305 305 ; 306 306 initncdf, fullfilename_msk 307 307 valmask=1.e20 308 308 ; 309 309 ylat=latout 310 310 xlon=lonout … … 313 313 lat_attr={units:'degrees_north',long_name:'Latitude'} 314 314 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:' 1950-JAN-01 00:00:00'} 315 315 ; 316 316 lwr_attr={units:'W/m2',missing_value:valmask,long_name:'Surface net longwave radiation ',short_name:'lwr',axis:'TYX'} 317 317 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:' 1950-JAN-01 00:00:00'} 318 318 globattr={source:'Tropical ocean fluxes obtained from ERA Interim',timerange:cda0+' - '+cda1} 319 319 ; 320 320 ncfields = 'lwr[longitude,latitude,time]=lwrout:lwr_attr; ' $ 321 321 + 'longitude[]=xlon:lon_attr; ' $ … … 323 323 + 'tt[*time]=tt:time_attr ' $ 324 324 + ' @ globattr' 325 325 ; 326 326 @ncdf_quickwrite 327 327 ; 328 328 end -
trunk/src/interp_erai_msl_1989_2009.pro
r94 r97 221 221 STOP 222 222 ENDIF 223 223 ; 224 224 initncdf, fullfilename 225 225 domdef 226 latin=reform(gphit(0,*)) 226 latin=reform(gphit(0,*)) 227 227 lonin=reform(glamt(*,0)) 228 228 print, 'lat grid ',min(latin),max(latin),latin(1)-latin(0) 229 229 print, 'lon grid ',min(lonin),max(lonin),lonin(1)-lonin(0) 230 230 mslin=read_ncdf("msl",19880101,20100930,file=fullfilename,/nostr) 231 232 timein=time 231 ; 232 timein=time 233 233 jptin=jpt 234 234 tab=mslin(*,*,0) 235 235 mskin=glamt*0.+1. 236 236 ; 237 237 initncdf, fullfilename_msk 238 238 domdef 239 latout=reform(gphit(0,*)) 239 latout=reform(gphit(0,*)) 240 240 lonout=reform(glamt(*,0)) 241 241 print, 'lat grid ',min(latout),max(latout),latout(1)-latout(0) 242 242 print, 'lon grid ',min(lonout),max(lonout),lonout(1)-lonout(0) 243 243 mskout=read_ncdf("msk", file=fullfilename_msk,/nostr) 244 244 ; 245 245 ; conversion to hPa 246 246 ncdf_getatt, fullfilename, 'msl', units=units … … 255 255 END 256 256 ENDCASE 257 257 ; 258 258 help, mslin,lonin,latin,mskin,lonout,latout,mskout 259 259 ; 260 260 si=size(mslin) 261 261 mslout=fltarr(jpi,jpj,jptin) … … 268 268 mslout(*,*,jt)=mslout(*,*,jt)*mskout+(1.-mskout)*1.e20 269 269 endfor 270 271 timein=timein 270 ; 271 timein=timein 272 272 jptin=jpt 273 273 ; 274 274 initncdf, fullfilename_msk 275 275 ;time=julday(1,2,1989)+lindgen(7516) 276 time=timegen(7670, units='days', start=julday(1,1,1989)) 276 time=timegen(7670, units='days', start=julday(1,1,1989)) 277 277 jpt=n_elements(time) 278 278 cda0=string(jul2date(time(0)),format='(i8.8)') 279 279 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 280 280 timein=time-julday(1,1,1950,00,00) 281 281 ; 282 282 lat=latout 283 283 lon=lonout … … 288 288 msl_attr={units:'milibars',missing_value:1e20,long_name:'Mean Sea leval pressure',short_name:'msl',axis:'TYX'} 289 289 globattr={source:'Data are from ECMWF ERA-Interim reanalysis', timerange:cda0+' - '+cda1} 290 290 ; 291 291 ncfields = 'msl[longitude,latitude,time]=mslout:msl_attr; ' $ 292 292 + 'longitude[]=lon:lon_attr; ' $ 293 293 + 'latitude[]=lat:lat_attr; ' $ 294 294 + 'time[*time]=timein:time_attr ' $ 295 295 + ' @ globattr' 296 296 ; 297 297 @ncdf_quickwrite 298 298 ; 299 299 end -
trunk/src/interp_erai_sst_1989_2009.pro
r94 r97 229 229 initncdf, fullfilename 230 230 domdef 231 latin=reform(gphit(0,*)) 231 latin=reform(gphit(0,*)) 232 232 lonin=reform(glamt(*,0)) 233 233 print, 'lat grid ',min(latin),max(latin),latin(1)-latin(0) 234 234 print, 'lon grid ',min(lonin),max(lonin),lonin(1)-lonin(0) 235 235 sstkin=read_ncdf("sstk",19871201,20100930,file=fullfilename,/nostr) 236 237 timein=time 236 ; 237 timein=time 238 238 jptin=jpt 239 239 tab=sstkin(*,*,0) 240 mskin=glamt*0.+1. 241 nind=where((tab eq 1.e9) or finite(tab,/nan)) 240 mskin=glamt*0.+1. 241 ind=where((tab eq 1.e9) or finite(tab,/nan)) 242 242 mskin(ind)=0. 243 243 ;mskin=glamt*0.+1. 244 244 ; 245 245 initncdf, fullfilename_msk 246 246 domdef 247 latout=reform(gphit(0,*)) 247 latout=reform(gphit(0,*)) 248 248 lonout=reform(glamt(*,0)) 249 249 print, 'lat grid ',min(latout),max(latout),latout(1)-latout(0) 250 250 print, 'lon grid ',min(lonout),max(lonout),lonout(1)-lonout(0) 251 251 mskout=read_ncdf("msk", file=fullfilename_msk,/nostr) 252 252 ; 253 253 help, sstkin,lonin,latin,mskin,lonout,latout,mskout 254 254 ; 255 255 si=size(sstkin) 256 256 sstkout=fltarr(jpi,jpj,jptin) … … 263 263 sstkout(*,*,jt)=sstkout(*,*,jt)*mskout+(1.-mskout)*1.e20 264 264 endfor 265 266 timein=timein 265 ; 266 timein=timein 267 267 jptin=jpt 268 268 ; 269 269 initncdf, fullfilename_msk 270 time=timegen(7670, units='days', start=julday(1,1,1989)) 270 time=timegen(7670, units='days', start=julday(1,1,1989)) 271 271 jpt=n_elements(time) 272 272 tt=time … … 274 274 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 275 275 timein=timein-julday(1,1,1950,00,00) 276 276 ; 277 277 lat=latout 278 278 lon=lonout … … 283 283 sstk_attr={units:'degK',missing_value:1e20,long_name:'Sea Surface Temperature',short_name:'sst',axis:'TYX'} 284 284 globattr={source:'Data are from ECMWF ERA-Interim reanalysis', timerange:cda0+' - '+cda1} 285 285 ; 286 286 ncfields = 'sst[longitude,latitude,time]=sstkout:sstk_attr; ' $ 287 287 + 'longitude[]=lon:lon_attr; ' $ 288 288 + 'latitude[]=lat:lat_attr; ' $ 289 289 + 'time[*time]=timein:time_attr ' $ 290 290 + ' @ globattr' 291 291 ; 292 292 @ncdf_quickwrite 293 293 ; 294 294 end -
trunk/src/interp_erai_t2m_1989_2009.pro
r93 r97 95 95 ; 96 96 ; reach end but bad time and t2m values :: 97 ;$ ncks -v t2m -d time,0,1 -d latitude,0,1 -d longitude,0,1 /homedata/pinsard/tropflux_d/erai_t2m_19890101_20091231_oafluxgrid.nc 97 ;$ ncks -v t2m -d time,0,1 -d latitude,0,1 -d longitude,0,1 /homedata/pinsard/tropflux_d/erai_t2m_19890101_20091231_oafluxgrid.nc 98 98 ; latitude[0]=-29.5 degrees_north 99 99 ; latitude[1]=-28.5 degrees_north 100 ; 100 ; 101 101 ; longitude[0]=30.5 degrees_east 102 102 ; longitude[1]=31.5 degrees_east 103 ; 103 ; 104 104 ; time[0]=9.96920996839e+36 latitude[0]=-29.5 longitude[0]=30.5 t2m[0]=9.96921e+36 degK 105 105 ; time[0]=9.96920996839e+36 latitude[0]=-29.5 longitude[1]=31.5 t2m[1]=9.96921e+36 degK … … 110 110 ; time[1]=9.96920996839e+36 latitude[1]=-28.5 longitude[0]=30.5 t2m[21350]=9.96921e+36 degK 111 111 ; time[1]=9.96920996839e+36 latitude[1]=-28.5 longitude[1]=31.5 t2m[21351]=9.96921e+36 degK 112 ; 112 ; 113 113 ; time[0]=9.96920996839e+36 hours since 1957-01-01 00:00:0.0 114 114 ; time[1]=9.96920996839e+36 hours since 1957-01-01 00:00:0.0 … … 328 328 print, 'first date ', cda0 329 329 print, 'last date ' , cda1 330 330 ; 331 331 ; read t2 data 332 332 ;++ pb memory t2min=read_ncdf("t2",0,jptin-1,/timestep,file=fullfilename_t2,/nostr) … … 339 339 ; 340 340 mskin=glamt*0.+1. 341 341 ; 342 342 ; define grid parameters with mask file 343 343 initncdf, fullfilename_msk … … 360 360 t2mout(*,*,jt)=t2mout(*,*,jt)*mskout+(1.-mskout)*1.e20 361 361 endfor 362 362 ; 363 363 initncdf, fullfilename_msk 364 364 ; 365 365 lat=latout 366 366 lon=lonout … … 379 379 t2m_attr={units:units, long_name:long_name, missing_value:1e20, short_name:'t2m',axis:'TYX'} 380 380 globattr={source:'Data are from ECMWF ERA-Interim reanalysis', timerange:cda0+' - '+cda1} 381 381 ; 382 382 help, t2mout 383 383 help, timein … … 385 385 + 'longitude[]=lon:lon_attr; ' $ 386 386 + 'latitude[]=lat:lat_attr; ' $ 387 387 + 'time[]=timein:time_attr ' $ 388 388 + ' @globattr' 389 389 @ncdf_quickwrite 390 390 ; 391 391 end -
trunk/src/interp_erai_ws_1989_2009.pro
r94 r97 96 96 ; reach end but bad values et nb timestep 4581:: 97 97 ; 98 ; ncks -v u10 -d time,0,1 -d latitude,0,1 -d longitude,0,1 /homedata/pinsard/tropflux_d/erai_ws_19890101_20091231_oafluxgrid.nc 98 ; ncks -v u10 -d time,0,1 -d latitude,0,1 -d longitude,0,1 /homedata/pinsard/tropflux_d/erai_ws_19890101_20091231_oafluxgrid.nc 99 99 ; latitude[0]=-29.5 degrees_north 100 100 ; latitude[1]=-28.5 degrees_north 101 ; 101 ; 102 102 ; longitude[0]=30.5 degrees_east 103 103 ; longitude[1]=31.5 degrees_east 104 ; 104 ; 105 105 ; time[0] latitude[0]=-29.5 longitude[0]=30.5 u10[0]=9.96921e+36 m/s 106 106 ; time[0] latitude[0]=-29.5 longitude[1]=31.5 u10[1]=9.96921e+36 m/s … … 213 213 ENDIF 214 214 ; 215 st=19880101 215 st=19880101 216 216 en=20100930 217 217 ; … … 264 264 initncdf, fullfilename 265 265 u10in=read_ncdf("u10",st, en,file=fullfilename,/nostr) 266 266 ; 267 267 ; build v10 data filename 268 268 filename='20c3m_erai_v10_TROP_1989_2009.nc' … … 279 279 initncdf, fullfilename 280 280 v10in=read_ncdf("v10",st, en,file=fullfilename,/nostr) 281 281 ; 282 282 initncdf, fullfilename 283 283 domdef 284 latin=reform(gphit(0,*)) 284 latin=reform(gphit(0,*)) 285 285 lonin=reform(glamt(*,0)) 286 286 print, 'lat grid ',min(latin),max(latin),latin(1)-latin(0) 287 287 print, 'lon grid ',min(lonin),max(lonin),lonin(1)-lonin(0) 288 289 timein=time 288 ; 289 timein=time 290 290 jptin=jpt 291 291 tab=u10in(*,*,0) 292 292 mskin=glamt*0.+1. 293 293 ; 294 294 initncdf, fullfilename_msk 295 295 domdef 296 latout=reform(gphit(0,*)) 296 latout=reform(gphit(0,*)) 297 297 lonout=reform(glamt(*,0)) 298 298 print, 'lat grid ',min(latout),max(latout),latout(1)-latout(0) 299 299 print, 'lon grid ',min(lonout),max(lonout),lonout(1)-lonout(0) 300 300 mskout=read_ncdf("msk", file=fullfilename_msk,/nostr) 301 301 ; 302 302 help, u10in, v10in,lonin,latin,mskin,lonout,latout,mskout 303 303 ; 304 304 si=size(u10in) 305 305 u10out=fltarr(jpi,jpj,jptin) 306 306 v10out=fltarr(jpi,jpj,jptin) 307 307 ; 308 308 for jt=0,jptin-1 do begin 309 309 ; ++print, 'Interpolation jt=',jt,' / ',jptin-1 … … 313 313 , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 314 314 u10out(*,*,jt)=u10out(*,*,jt)*mskout+(1.-mskout)*1.e20 315 315 ; 316 316 tab=reform(v10in(*,*,jt)) 317 317 v10out(*,*,jt)=call_interp2d(tab,lonin,latin,mskin $ … … 319 319 , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 320 320 v10out(*,*,jt)=v10out(*,*,jt)*mskout+(1.-mskout)*1.e20 321 321 ; 322 322 endfor 323 324 time=timegen(7670, units='days', start=julday(1,1,1989)) 323 ; 324 time=timegen(7670, units='days', start=julday(1,1,1989)) 325 325 jpt=n_elements(time) 326 tt=time 326 tt=time 327 327 jptin=jpt 328 328 cda0=string(jul2date(tt(0)),format='(i8.8)') 329 329 cda1=string(jul2date(tt(jpt-1)),format='(i8.8)') 330 330 tt=tt-julday(1,1,1950,00,00,00) 331 xlon=reform(glamt(*,0) ) 331 xlon=reform(glamt(*,0) ) 332 332 ylat=reform(gphit(0,*)) 333 333 ; 334 334 initncdf, fullfilename_msk 335 335 valmask=1.e20 336 336 ; 337 337 ylat=latout 338 338 xlon=lonout … … 341 341 lat_attr={units:'degrees_north',long_name:'Latitude'} 342 342 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:' 1950-JAN-01 00:00:00'} 343 343 ; 344 344 u10_attr={units:'m/s',missing_value:valmask,long_name:'10 metre u wind component',short_name:'u10',axis:'TYX'} 345 345 v10_attr={units:'m/s',missing_value:valmask,long_name:'10 metre v wind component',short_name:'v10',axis:'TYX'} 346 346 globattr={source:'Tropical ocean winds obtained from ERA Interim',timerange:cda0+' - '+cda1} 347 347 ; 348 348 help, u10out,v10out,tt,xlon,ylat 349 349 ; 350 350 ncfields = 'u10[longitude,latitude,time]=u10out:u10_attr; ' $ 351 351 +'v10[longitude,latitude,time]=v10out:v10_attr; ' $ … … 354 354 + 'tt[*time]=tt:time_attr ' $ 355 355 + ' @ globattr' 356 356 ; 357 357 @ncdf_quickwrite 358 359 return 358 ; 360 359 end -
trunk/src/interp_olr_30n30s_1989_2009.pro
r94 r97 77 77 ; 78 78 ; % initncdf: the zaxis was not found..., check the use of ZAXISNAME keyword if you want to find one... 79 ; 79 ; 80 80 ; I think we do not need any zaxis 81 81 ; … … 84 84 ; $ ncdump $PROJECT_OD/olr_oafluxgrid_30n30s_19890101_20091231.nc 85 85 ; olr = 86 ; 1e+20, 1, 258.15, 264.882, 271.614, 273.8116, 271.4748, 269.138, 266.6868, 86 ; 1e+20, 1, 258.15, 264.882, 271.614, 273.8116, 271.4748, 269.138, 266.6868, 87 87 ; 88 88 ; coding rules … … 227 227 initncdf, fullfilename 228 228 domdef 229 latin=reform(gphit(0,*)) 229 latin=reform(gphit(0,*)) 230 230 lonin=reform(glamt(*,0)) 231 231 print, 'lat grid ',min(latin),max(latin),latin(1)-latin(0) 232 232 print, 'lon grid ',min(lonin),max(lonin),lonin(1)-lonin(0) 233 233 olrin=read_ncdf("olr",19881231, 20091231, file=fullfilename,/nostr) 234 234 ; 235 235 mskin=glamt*0.+1. 236 237 timein=time 236 ; 237 timein=time 238 238 jptin=jpt 239 239 ; 240 240 initncdf, fullfilename_msk 241 241 domdef 242 latout=reform(gphit(0,*)) 242 latout=reform(gphit(0,*)) 243 243 lonout=reform(glamt(*,0)) 244 244 print, 'lat grid ',min(latout),max(latout),latout(1)-latout(0) 245 245 print, 'lon grid ',min(lonout),max(lonout),lonout(1)-lonout(0) 246 246 mskout=read_ncdf("msk", file=fullfilename_msk,/nostr) 247 247 ; 248 248 help, olrin,lonin,latin,mskin,lonout,latout,mskout 249 249 ; 250 250 olrout=fltarr(jpi,jpj,jptin) 251 251 ; 252 252 for jt=0,jptin-1 do begin 253 253 ; 254 254 print, 'Interpolation jt=',jt,' / ',jptin-1 255 255 tab_olr=reform(olrin(*,*,jt)) 256 256 ; 257 257 olrout(*,*,jt)=call_interp2d(tab_olr,lonin,latin,mskin $ 258 258 , lonout,latout,method='bilinear' $ 259 259 , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 260 260 olrout(*,*,jt)=olrout(*,*,jt)*mskout+(1.-mskout)*1.e20 261 261 ; 262 262 endfor 263 264 265 timein=timein 263 ; 264 ; 265 timein=timein 266 266 jptin=jpt 267 267 ; 268 268 timein=timein-julday(1,1,1950,00,00) 269 269 ; 270 270 lat=latout 271 271 lon=lonout … … 277 277 olra_attr={units:'w/m^2',missing_value:1e20,long_name:'Outgoing Longwave Radiation Anomaly',short_name:'olra',axis:'TYX'} 278 278 globattr={source:'NOAA OLR, cf http://www.cdc.noaa.gov/cdc/data.interp_OLR.html, interpolated to 1x1 degree grid and with oaflux mask'} 279 279 ; 280 280 ncfields = 'olr[longitude,latitude,time]=olrout:olr_attr; ' $ 281 281 + 'longitude[]=lon:lon_attr; ' $ … … 283 283 + 'time[*time]=timein:time_attr ' $ 284 284 + ' @ globattr' 285 285 ; 286 286 @ncdf_quickwrite 287 287 ; 288 288 end -
trunk/src/lwdown_clark.pro
r89 r97 2 2 ;- 3 3 ;---------------------------------------------- 4 function lwdown_clark, sst,qair,cld,tair,ps 4 function lwdown_clark, sst,qair,cld,tair,ps 5 5 ; 6 6 ; Net longwave from the Clark et al. (1974) bulk formula 7 ; Clark, N. E., L. Eber, R. M. Laurs, J. A. Renner, and J. F. T. Saur, 7 ; Clark, N. E., L. Eber, R. M. Laurs, J. A. Renner, and J. F. T. Saur, 8 8 ; 1974: Heat exchange between ocean and atmosphere in the 9 9 ; eastern North Pacific for 1961-71. NOAA Tech. Rep. NMRS … … 23 23 @common 24 24 ;---------------------------------------------- 25 25 ; 26 26 eps=.97 ; emissivity of sea-water 27 27 sig=5.67e-8 ; Stefan-Boltzman constant (W/m2/K4) … … 31 31 r=q/(1-q) ; Mixing ratio 32 32 ea=ps*r/(r+.62197) ; Specific humidity into vapor pressure 33 33 ; 34 34 lw= eps*sig*Ts^4*(.39-.05*ea^.5)*(1.-.51*cld^2) $ 35 +4.*eps*sig*Ts^3*(Ts-Ta) 36 35 +4.*eps*sig*Ts^3*(Ts-Ta) 36 ; 37 37 lwup=eps*sig*Ts^4 38 38 ; 39 39 lwdown=lwup-lw 40 40 ; 41 41 return, lwdown 42 43 ;---------------------------------------------- 42 ; 44 43 end 45 ;---------------------------------------------- -
trunk/src/lwnet_clark.pro
r89 r97 2 2 ;- 3 3 ;---------------------------------------------- 4 function lwnet_clark, sst,qair,cld,tair,ps 4 function lwnet_clark, sst,qair,cld,tair,ps 5 5 ; 6 6 ; Net longwave from the Clark et al. (1974) bulk formula 7 ; Clark, N. E., L. Eber, R. M. Laurs, J. A. Renner, and J. F. T. Saur, 7 ; Clark, N. E., L. Eber, R. M. Laurs, J. A. Renner, and J. F. T. Saur, 8 8 ; 1974: Heat exchange between ocean and atmosphere in the 9 9 ; eastern North Pacific for 1961-71. NOAA Tech. Rep. NMRS … … 23 23 @common 24 24 ;---------------------------------------------- 25 25 ; 26 26 eps=.97 ; emissivity of sea-water 27 27 sig=5.67e-8 ; Stefan-Boltzman constant (W/m2/K4) … … 31 31 r=q/(1-q) ; Mixing ratio 32 32 ea=ps*r/(r+.62197) ; Specific humidity into vapor pressure 33 33 ; 34 34 lw= eps*sig*Ts^4*(.39-.05*ea^.5)*(1.-.51*cld^2) $ 35 +4.*eps*sig*Ts^3*(Ts-Ta) 36 35 +4.*eps*sig*Ts^3*(Ts-Ta) 36 ; 37 37 return, lw 38 39 ;---------------------------------------------- 38 ; 40 39 end 41 ;---------------------------------------------- -
trunk/src/lwr_correction_ncdf.pro
r94 r97 158 158 ENDIF 159 159 ; 160 da1=19880101 160 da1=19880101 161 161 da2=20091231 162 162 ; … … 190 190 lwr_mean=grossemoyenne(lwr,'t',/nan) 191 191 help,lwr_mean 192 193 tt=time 192 ; 193 tt=time 194 194 jpt=n_elements(time) 195 195 caldat, time,mon,day,yea 196 196 lwr_m=lwr*0. 197 197 ; 198 198 for jt=0,jpt-1 do begin 199 199 jtt=(time(jt)-julday(1,1,yea(jt))) < 364 … … 202 202 endfor 203 203 help, lwr_m 204 204 ; 205 205 lwr_ano=lwr-lwr_m 206 207 ; ;correction for mean based on scatter206 ; 207 ; correction for mean based on scatter 208 208 lwr_m=lwr_m+4.61667 209 209 ; 210 210 help, lwr_ano 211 212 ; ;applying the correction for varyability based on the scatter211 ; 212 ; applying the correction for varyability based on the scatter 213 213 lwr_ano=lwr_ano*(1/0.760667) 214 215 ; ;applying the correction for varyability based on the scatter216 214 ; 215 ; applying the correction for varyability based on the scatter 216 ; 217 217 lwr_new=lwr_m+lwr_ano 218 218 help, lwr_new 219 219 ; 220 220 ;writing field 221 221 lat=reform(gphit(0,0:jpj-1)) 222 222 lon=reform(glamt(0:jpi-1,0)) 223 time=timegen(7670, units='days', start=julday(1,1,1989)) 223 time=timegen(7670, units='days', start=julday(1,1,1989)) 224 224 jpt=n_elements(time) 225 225 ; 226 226 cda0=string(jul2date(time(0)),format='(i8.8)') 227 227 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 228 229 time=time-julday(1,1,1950) 228 ; 229 time=time-julday(1,1,1950) 230 230 jpt=n_elements(time) 231 231 ; 232 232 ncfile='!' + fullfilename_out 233 233 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 236 236 lwr_attr={units:'degK',missing_value:1.e20,long_name:'Air Temperature at 2m',short_name:'lwr',axis:'TYX'} 237 237 globattr={source:'Basic data obtained from ERAI. Mean correction for bias and correction for variability are applied',timerange:cda0+' - '+cda1} 238 238 ; 239 239 ncfields = 'lwr[longitude,latitude,time]=lwr_new:lwr_attr; ' $ 240 240 + 'longitude[]=lon:lon_attr; ' $ … … 242 242 + 'time[*time]=time:time_attr ' $ 243 243 + ' @ globattr' 244 244 ; 245 245 @ncdf_quickwrite 246 246 ; 247 247 end -
trunk/src/paper01/fig1/fig1_no_obs_map.pro
r94 r97 13 13 ; has been produced by :ref:`oaflux_mask_30N30S.pro`. 14 14 ; 15 ; Figure of 15 ; Figure of 16 16 ; ++ 17 17 ; is saved in … … 107 107 reinitplt, /z,/invert 108 108 key_portrait = 1 109 109 ; 110 110 openps, FILENAME = project_od_env + 'fig1_no_obs_map.ps' 111 111 close,/all 112 112 ; 113 113 yr=365. 114 lh_mi=365/yr 115 lh_ma=3285/yr 114 lh_mi=365/yr 115 lh_ma=3285/yr 116 116 lh_int=0.25 117 sw_mi=365/yr 118 sw_ma=3285/yr 117 sw_mi=365/yr 118 sw_ma=3285/yr 119 119 sw_int=0.25 120 lw_mi=365/yr 121 lw_ma=1460/yr 120 lw_mi=365/yr 121 lw_ma=1460/yr 122 122 lw_int=0.125 123 123 lct=65 124 124 ; 125 125 file=project_id_env + 'mask_oaflux_30N30S.nc' 126 126 initncdf, file 127 127 domdef, 30,390,-30,30 128 128 msk=ncdf_lec(file,var='msk') 129 129 ; 130 130 fi=project_id_env + 'lhf_no_obs.txt' 131 131 res=read_ascii(fi,data_start=1) … … 135 135 no=reform(ff(2,*)) 136 136 no=no/yr 137 ;ind=where(no ge lh_ma) 137 ;ind=where(no ge lh_ma) 138 138 ; no(ind)=no-0.5 139 139 ; 140 140 marge1=[0,0,-5,0] 141 141 plt, .4+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,box=box,lct=lct, lh_mi, lh_ma, int=lh_int, $ 142 142 title='a) Turbulent Flux validation sites', subtitle='', small=[1,4,1],/rempl, marge=marge1, format='(i5)' 143 143 NN=n_elements(lat) 144 144 ; 145 145 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 146 147 for n=0,NN-1 do begin 148 x=lon[n] 149 y=lat[n] 150 c=no[n] 151 cmi=lh_mi 152 cma=lh_ma 146 ; 147 for n=0,NN-1 do begin 148 x=lon[n] 149 y=lat[n] 150 c=no[n] 151 cmi=lh_mi 152 cma=lh_ma 153 153 dc=cma-cmi 154 154 col=((10+244*(c-cmi)/dc) > 10) < 254 155 155 plots, x,y,psym=8,symsize=1.5,color=col 156 156 endfor 157 157 ; 158 158 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 159 160 for n=0,NN-1 do begin 161 x=lon[n] 162 y=lat[n] 163 c=no[n] 164 159 ; 160 for n=0,NN-1 do begin 161 x=lon[n] 162 y=lat[n] 163 c=no[n] 164 ; 165 165 plots, x,y,psym=8,symsize=1.5,color=0 166 166 endfor 167 167 ; 168 168 fi=project_id_env + 'sw_no_obs.txt' 169 169 res=read_ascii(fi,data_start=1) … … 173 173 no=reform(ff(2,*)) 174 174 no=no/yr 175 ;ind=where(no ge sw_ma) 175 ;ind=where(no ge sw_ma) 176 176 ;no(ind)=sw_ma-0.5 177 177 marge1=[0,0,-5,0] … … 179 179 title='b) SWR validation sites', subtitle='', small=[1,4,2],/noer,/rempl, marge=marge1, format='(i5)' 180 180 NN=n_elements(lat) 181 181 ; 182 182 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 183 184 for n=0,NN-1 do begin 185 x=lon[n] 186 y=lat[n] 187 c=no[n] 188 cmi=sw_mi 189 cma=sw_ma 183 ; 184 for n=0,NN-1 do begin 185 x=lon[n] 186 y=lat[n] 187 c=no[n] 188 cmi=sw_mi 189 cma=sw_ma 190 190 dc=cma-cmi 191 191 col=((10+244*(c-cmi)/dc) > 10) < 254 192 192 plots, x,y,psym=8,symsize=1.5,color=col 193 193 endfor 194 194 ; 195 195 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 196 197 for n=0,NN-1 do begin 198 x=lon[n] 199 y=lat[n] 200 c=no[n] 201 196 ; 197 for n=0,NN-1 do begin 198 x=lon[n] 199 y=lat[n] 200 c=no[n] 201 ; 202 202 plots, x,y,psym=8,symsize=1.5,color=0 203 203 endfor 204 204 ; 205 205 fi=project_id_env + 'lw_no_obs.txt' 206 206 res=read_ascii(fi,data_start=1) … … 210 210 no=reform(ff(2,*)) 211 211 no=no/yr 212 ;ind=where(no ge lw_ma) 212 ;ind=where(no ge lw_ma) 213 213 ;no(ind)=lw_ma-0.25 214 214 ; 215 215 marge1=[0,0,-5,0] 216 216 plt, .4+msk*1.e-5,realcont=2,/nocont,/nofill,/noer,xminor=1,yminor=1,box=box,lct=lct,lw_mi, lw_ma, int=lw_int, $ 217 217 title='c) LWR validation sites', subtitle='', small=[1,4,3],/rempl, marge=marge1, format='(i5)' 218 218 NN=n_elements(lat) 219 219 ; 220 220 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 221 222 for n=0,NN-1 do begin 223 x=lon[n] 224 y=lat[n] 225 c=no[n] 226 cmi=lw_mi 227 cma=lw_ma 221 ; 222 for n=0,NN-1 do begin 223 x=lon[n] 224 y=lat[n] 225 c=no[n] 226 cmi=lw_mi 227 cma=lw_ma 228 228 dc=cma-cmi 229 229 col=((10+244*(c-cmi)/dc) > 10) < 254 230 230 plots, x,y,psym=8,symsize=1.5,color=col 231 231 endfor 232 232 ; 233 233 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 234 235 for n=0,NN-1 do begin 236 x=lon[n] 237 y=lat[n] 238 c=no[n] 239 234 ; 235 for n=0,NN-1 do begin 236 x=lon[n] 237 y=lat[n] 238 c=no[n] 239 ; 240 240 plots, x,y,psym=8,symsize=1.5,color=0 241 241 endfor 242 243 ; ;independent validation sites244 245 plots, 61.5, 15.5,psym=2 ; ;as location246 plots, 331, 25.5,psym=2 ; ;subduction (central)247 plots, 326, 18,psym=2 ; ;subduction (sw)248 plots, 338, 18,psym=2 ; ;subduction (se)249 plots, 156, -1.7 , psym=2 ; ;coare250 plots, 274.2, -21, psym=2 ; ;stratus251 plots, 202.46, 22.45, psym=2 ; ;WHOTS252 242 ; 243 ; independent validation sites 244 ; 245 plots, 61.5, 15.5,psym=2 ; as location 246 plots, 331, 25.5,psym=2 ; subduction (central) 247 plots, 326, 18,psym=2 ; subduction (sw) 248 plots, 338, 18,psym=2 ; subduction (se) 249 plots, 156, -1.7 , psym=2 ; coare 250 plots, 274.2, -21, psym=2 ; stratus 251 plots, 202.46, 22.45, psym=2 ; WHOTS 252 ; 253 253 closeps 254 254 ; 255 255 end -
trunk/src/paper01/fig10/fig10_swr_correction.pro
r94 r97 83 83 reinitplt, /z,/invert 84 84 key_portrait = 1 85 85 ; 86 86 openps, FILENAME = project_od_env+'fig10_swr_correction.ps' 87 87 close,/all 88 88 ; 89 89 fi=project_id_env+'swr_isccp_correction.txt' 90 90 res=read_ascii(fi,data_start=0) … … 94 94 std=reform(ff(2,*)) 95 95 mean=reform(ff(4,*)) 96 97 96 ; 97 ; 98 98 splot, mean, bias, small=[2,3,1], xtitle='Mean ERA-I SWR', ytitle='ERA-I SWR bias', $ 99 99 title='', psym=2, charsize=1.2, $ 100 100 xrange=[170,290], yrange=[-10,35], xmin=1, ymin=1 101 101 ; 102 102 ab=linfit(mean, bias,yfit=yfit) 103 a=float(ab(0)) 103 a=float(ab(0)) 104 104 b=float(ab(1)) 105 105 oplot, mean, yfit, thick=3 106 106 print, a,b 107 ; ;significant test107 ; significant test 108 108 significance_test_99,mean,bias 109 109 ; 110 110 fi=project_id_env+'swr_isccp_correction.txt' 111 111 res=read_ascii(fi,data_start=0) … … 115 115 std=reform(ff(2,*)) 116 116 mean=reform(ff(4,*)) 117 117 ; 118 118 splot, mean, std, small=[2,3,3],/noer, xtitle='Mean ERA-I SWR', ytitle='ERA-I std ratio', $ 119 119 title='', psym=2, charsize=1.2, $ 120 120 xrange=[170,290], yrange=[0.4,1.4], xmin=1, ymin=1 121 121 ; 122 122 ab=linfit(mean, std,yfit=yfit) 123 a=float(ab(0)) 123 a=float(ab(0)) 124 124 b=float(ab(1)) 125 125 oplot, mean, yfit, thick=3 126 127 ; ;significant test126 ; 127 ; significant test 128 128 significance_test_99,mean,std 129 129 ; 130 130 closeps 131 132 131 ; 133 132 end -
trunk/src/paper01/fig11/swr_isccp_tropflux_correlation_fig10.pro
r94 r97 9 9 ; =========== 10 10 ; 11 ; :file:`${PROJECT_OD}/TropFlux_sst_19890101_20091231.nc` 12 ; containing 13 ; sst corrected on OAFLUX grid 11 ; :file:`${PROJECT_OD}/TropFlux_sst_19890101_20091231.nc` 12 ; containing 13 ; sst corrected on OAFLUX grid 14 14 ; has been produced by :ref:`sst_correction_ncdf.pro`. 15 15 ; … … 54 54 ; ==== 55 55 ; 56 ; make it work on cratos 57 ; 56 ; make it work on cratos 57 ; 58 58 ; get rid of restore 59 59 ; … … 103 103 reinitplt, /z,/invert 104 104 key_portrait = 1 105 105 ; 106 106 openps, FILENAME = project_od_env+'correlation_rmsd_olra_swra_smooth.ps' 107 st=19890101 107 st=19890101 108 108 en=20071231 109 109 ; 110 110 restore, project_od_env + "correlation_isccp_olr.idl" 111 111 ; 112 112 file=project_od_env+'TropFlux_sst_19890101_20091231.nc' 113 113 initncdf, file 114 114 sst=read_ncdf("sst", 20000101, 20091231, file=file,/nostr) 115 115 help, sst 116 116 ; 117 117 sst=grossemoyenne(sst, "t",/nan) 118 118 lct=64 … … 122 122 subt='',title='a) Correlation (OLRA, SWRA)',xminor=1,yminor=1, $ 123 123 contour=sst-273.15, contmin=24, contmax=29, contint=1.5 124 124 ; 125 125 closeps 126 ; 126 127 end -
trunk/src/paper01/fig11/swr_isccp_tropflux_new_v1.pro
r94 r97 19 19 ; :file:`${PROJECT_OD}/correlation_isccp_olr.idl` 20 20 ; 21 ; This output file 21 ; This output file 22 22 ; :file:`${PROJECT_OD}/correlation_isccp_olr.idl` 23 23 ; will be used by :ref:`swr_isccp_tropflux_correlation_fig10.pro`. 24 24 ; 25 25 ; .. graphviz:: 26 26 ; … … 102 102 reinitplt, /z,/invert 103 103 key_portrait = 1 104 104 ; 105 105 openps, FILENAME = project_od_env+'correlation_rmsd_olra_swra_smooth.ps' 106 st=19890101 106 st=19890101 107 107 en=20071231 108 108 ; 109 109 file=project_od_env+'swr_oafluxgrid_1985_2007.nc' 110 110 initncdf, file 111 111 sw_isccp=read_ncdf("swr", st, en, file=file,/nostr) 112 112 ; 113 113 file=project_od_env+'sw_reconstred_1989_2009.nc' 114 114 initncdf, file 115 115 sw_trop=read_ncdf("sw", st, en+1, file=file,/nostr) 116 116 ; 117 117 file=project_od_env+'olr_oafluxgrid_30n30s.nc' 118 118 initncdf, file 119 119 olr=read_ncdf("olr", st, en, file=file,/nostr) 120 120 ; 121 121 help, sw_isccp, sw_trop , olr 122 123 ; ;creating climatology124 122 ; 123 ;creating climatology 124 ; 125 125 ny=(2007-1989)+1 126 126 nt=365*ny 127 127 ; 128 128 olri=total(reform(olr(*,*,0:nt-1),nxt,nyt,365,ny),4)/ny 129 129 swi=total(reform(sw_isccp(*,*,0:nt-1),nxt,nyt,365,ny),4)/ny 130 130 help, olri, swi 131 132 ; ;applying smoothing131 ; 132 ; applying smoothing 133 133 nsmooth=45 134 135 swi=[[[swi]],[[swi]],[[swi]]] 134 ; 135 swi=[[[swi]],[[swi]],[[swi]]] 136 136 olri=[[[olri]],[[olri]],[[olri]]] 137 si=size(sw) 138 n1=si(1) 137 si=size(sw) 138 n1=si(1) 139 139 n2=si(2) 140 140 ; 141 141 for j=0,n2-1 do begin 142 142 for i=0,n1-1 do begin … … 147 147 endfor 148 148 endfor 149 150 swi=swi[*,*,365:365+364] 149 ; 150 swi=swi[*,*,365:365+364] 151 151 olri=olri[*,*,365:365+364] 152 152 help, swi, olri 153 153 ; 154 154 caldat, time,mon,day,yea 155 swm=olr*0. 155 swm=olr*0. 156 156 olrm=olr*0. 157 157 for jt=0,jpt-1 do begin … … 166 166 m=reform(sw_trop(*,*,0)) 167 167 tmask=finite(m) 168 cor_olr=fltarr(jpi,jpj)+!values.f_nan 168 cor_olr=fltarr(jpi,jpj)+!values.f_nan 169 169 rms_olr=fltarr(jpi,jpj)+!values.f_nan 170 170 ; 171 171 for jj=0,jpj-1 do begin 172 172 for ji=0,jpi-1 do begin 173 173 if (tmask(ji,jj)) then begin 174 174 print, 'over',jj, '/', jpj-1 175 175 ; 176 176 swr_ano=reform(swa(ji,jj,*)) 177 177 olr_ano=reform(olra(ji,jj,*)) 178 178 ; 179 179 cor_olr(ji,jj)=correlate(swr_ano,olr_ano) 180 180 rms_olr(ji,jj)=(total((swr_ano-olr_ano)^2)/(jpt-1l))^.5 181 181 ; 182 182 endif 183 183 endfor 184 184 endfor 185 186 cor=fltarr(jpi,jpj)+!values.f_nan 185 ; 186 cor=fltarr(jpi,jpj)+!values.f_nan 187 187 rms=fltarr(jpi,jpj)+!values.f_nan 188 188 for jj=1,jpj-2 do begin … … 193 193 endfor 194 194 endfor 195 195 ; 196 196 save, cor, cor_olr, filename=project_od_env + 'correlation_isccp_olr.idl' 197 198 lct=64 197 ; 198 lct=64 199 199 cs=0.9 200 200 marge1=[0,0,-5,0] 201 201 help, cor 202 202 ; 203 203 plt, cor_olr,0.5,1, lct=lct, $ 204 204 small=[1,4,1],/rempl,/noer,/nocont, $ 205 205 charsize=cs,/nocolorb,marge=marge, $ 206 206 subt='',title='a) Correlation (OLRA, SWRA)',xminor=1,yminor=1 207 207 ; 208 208 file=project_od_env+'TropFlux_sst_19890101_20091231.nc" 209 209 initncdf, file 210 210 sst=read_ncdf("sst", 19890101, 20091231, file=file,/nostr) 211 211 sst=grossemoyenne(sst, "t",/nan) 212 212 ; 213 213 plt, cor_olr,0.5,1, lct=lct, $ 214 214 small=[1,4,3],/rempl,/noer,/nocont, $ … … 216 216 subt='',title='a) Correlation (OLRA, SWRA)',xminor=1,yminor=1, $ 217 217 contour=sst, contmin=26.5, contmax=28.5, contint=1. 218 218 ; 219 219 plt, rms_olr, lct=lct, $ 220 220 small=[1,4,4],/rempl,/noer,/nocont, $ 221 221 charsize=cs, marge=marge,/nocolorb, $ 222 222 subt='',title='b) RMS Difference (OLRA, SWRA)',xminor=1,yminor=1 223 223 ; 224 224 closeps 225 ; 225 226 end -
trunk/src/paper01/fig12/swr_statistics_map_2000_2009_v50.pro
r94 r97 79 79 key_portrait = 1 80 80 coefpalit=.9 81 81 ; 82 82 openps, FILENAME = project_od_env+'swr_statistics_map_2000_2009_v50.ps' 83 83 ; partie a changer 84 bias_mi=-20 85 bias_ma=20 84 bias_mi=-20 85 bias_ma=20 86 86 bias_int=2 87 std_mi=0.7 88 std_ma=1.31 87 std_mi=0.7 88 std_ma=1.31 89 89 std_int=0.05 90 rmsd_mi=10 91 rmsd_ma=30 90 rmsd_mi=10 91 rmsd_ma=30 92 92 rmsd_int=1.25 93 cor_mi=0.5 94 cor_ma=1. 93 cor_mi=0.5 94 cor_ma=1. 95 95 cor_int=0.02 96 96 fi_swr_erai=project_id_env+'swr_2000_2009_erai_v50.txt' … … 98 98 fi_swr_oaflx=project_id_env+'swr_2000_2009_oaflx_v50.txt' 99 99 fi_swr_olr=project_id_env+'swr_2000_2009_olr_v50.txt' 100 100 ; 101 101 res=read_ascii(fi_swr_erai,data_start=1) 102 102 ff=res.field1 … … 107 107 std_era=reform(ff(4,*)) 108 108 rmsd_era=reform(ff(5,*)) 109 110 ind=where(bias_era ge bias_ma) 109 ; 110 ind=where(bias_era ge bias_ma) 111 111 bias_era(ind)=bias_ma-0.5 112 ind=where(rmsd_era ge rmsd_ma) 112 ind=where(rmsd_era ge rmsd_ma) 113 113 rmsd_era(ind)=rmsd_ma-0.5 114 114 ; 115 115 res=read_ascii(fi_swr_trop,data_start=1) 116 116 ff=res.field1 … … 121 121 std_trop=reform(ff(4,*)) 122 122 rmsd_trop=reform(ff(5,*)) 123 ind=where(rmsd_trop ge rmsd_ma) 123 ind=where(rmsd_trop ge rmsd_ma) 124 124 rmsd_trop(ind)=rmsd_ma-0.5 125 125 ; 126 126 res=read_ascii(fi_swr_oaflx,data_start=1) 127 127 ff=res.field1 … … 132 132 std_oaflx=reform(ff(4,*)) 133 133 rmsd_oaflx=reform(ff(5,*)) 134 ind=where(rmsd_oaflx ge rmsd_ma) 134 ind=where(rmsd_oaflx ge rmsd_ma) 135 135 rmsd_oaflx(ind)=rmsd_ma-0.5 136 136 ; 137 137 res=read_ascii(fi_swr_olr,data_start=1) 138 138 ff=res.field1 … … 143 143 std_olr=reform(ff(4,*)) 144 144 rmsd_olr=reform(ff(5,*)) 145 ind=where(rmsd_olr ge rmsd_ma) 145 ind=where(rmsd_olr ge rmsd_ma) 146 146 rmsd_olr(ind)=rmsd_ma-0.5 147 148 ;ind=where(std_olr ge std_ma) 147 ; 148 ;ind=where(std_olr ge std_ma) 149 149 ;std_olr(ind)=std_ma-0.01 150 150 file=project_id_env+'longwave_IO_mask.nc' … … 157 157 plt, .4+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,box=box,lct=64,cor_mi, cor_ma,int=cor_int, $ 158 158 title='1) SWR Correlation - TropFlux', subtitle='', small=[1,4,1],/rempl,/nocolorb, marge=marge 159 160 NN=n_elements(lat) 161 162 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 163 159 ; 160 NN=n_elements(lat) 161 ; 162 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 163 ; 164 164 for n=0,NN-1 do begin 165 165 x=lon(n) 166 166 y=lat(n) 167 167 c=cor_trop(n) 168 cmi=cor_mi 169 cma=cor_ma 170 dc=cma-cmi 171 col=((10+244*(c-cmi)/dc) > 10) < 254 172 plots, x,y,psym=8,symsize=1.5,color=col 173 endfor 174 175 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 176 168 cmi=cor_mi 169 cma=cor_ma 170 dc=cma-cmi 171 col=((10+244*(c-cmi)/dc) > 10) < 254 172 plots, x,y,psym=8,symsize=1.5,color=col 173 endfor 174 ; 175 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 176 ; 177 177 for n=0,NN-1 do begin 178 178 x=lon(n) 179 179 y=lat(n) 180 180 c=cor_trop(n) 181 181 ; 182 182 plots, x,y,psym=8,symsize=1.5,color=0 183 183 endfor 184 184 plt, 12+msk,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,cor_mi, cor_ma,int=cor_int,/nocolorb, $ 185 185 title='2) SWR Correlation - ERAI', subtitle='', small=[1,4,2],/noer,/rempl, marge=marge 186 187 NN=n_elements(lat) 188 189 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 190 186 ; 187 NN=n_elements(lat) 188 ; 189 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 190 ; 191 191 for n=0,NN-1 do begin 192 192 x=lon(n) 193 193 y=lat(n) 194 194 c=cor_era(n) 195 cmi=cor_mi 196 cma=cor_ma 197 dc=cma-cmi 198 col=((10+244*(c-cmi)/dc) > 10) < 254 199 plots, x,y,psym=8,symsize=1.5,color=col 200 endfor 201 202 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 203 195 cmi=cor_mi 196 cma=cor_ma 197 dc=cma-cmi 198 col=((10+244*(c-cmi)/dc) > 10) < 254 199 plots, x,y,psym=8,symsize=1.5,color=col 200 endfor 201 ; 202 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 203 ; 204 204 for n=0,NN-1 do begin 205 205 x=lon(n) 206 206 y=lat(n) 207 207 c=cor_era(n) 208 208 ; 209 209 plots, x,y,psym=8,symsize=1.5,color=0 210 210 endfor 211 211 plt, 12+msk,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,cor_mi, cor_ma,int=cor_int,/nocolorb, $ 212 212 title='3) SWR Correlation - OAFlux', subtitle='', small=[1,4,3],/noer,/rempl, marge=marge 213 214 NN=n_elements(lat) 215 216 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 217 213 ; 214 NN=n_elements(lat) 215 ; 216 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 217 ; 218 218 for n=0,NN-1 do begin 219 219 x=lon(n) 220 220 y=lat(n) 221 221 c=cor_oaflx(n) 222 cmi=cor_mi 223 cma=cor_ma 224 dc=cma-cmi 225 col=((10+244*(c-cmi)/dc) > 10) < 254 226 plots, x,y,psym=8,symsize=1.5,color=col 227 endfor 228 229 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 230 222 cmi=cor_mi 223 cma=cor_ma 224 dc=cma-cmi 225 col=((10+244*(c-cmi)/dc) > 10) < 254 226 plots, x,y,psym=8,symsize=1.5,color=col 227 endfor 228 ; 229 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 230 ; 231 231 for n=0,NN-1 do begin 232 232 x=lon(n) 233 233 y=lat(n) 234 234 c=cor_oaflx(n) 235 235 ; 236 236 plots, x,y,psym=8,symsize=1.5,color=0 237 237 endfor 238 238 plt, 12+msk,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,cor_mi, cor_ma,int=cor_int, $ 239 239 title='4) SWR Correlation - SWR_olr', subtitle='', small=[1,4,4],/noer,/rempl, marge=marge1 240 241 NN=n_elements(lat) 242 243 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 244 240 ; 241 NN=n_elements(lat) 242 ; 243 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 244 ; 245 245 for n=0,NN-1 do begin 246 246 x=lon(n) 247 247 y=lat(n) 248 248 c=cor_olr(n) 249 cmi=cor_mi 250 cma=cor_ma 251 dc=cma-cmi 252 col=((10+244*(c-cmi)/dc) > 10) < 254 253 plots, x,y,psym=8,symsize=1.5,color=col 254 endfor 255 256 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 257 249 cmi=cor_mi 250 cma=cor_ma 251 dc=cma-cmi 252 col=((10+244*(c-cmi)/dc) > 10) < 254 253 plots, x,y,psym=8,symsize=1.5,color=col 254 endfor 255 ; 256 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 257 ; 258 258 for n=0,NN-1 do begin 259 259 x=lon(n) 260 260 y=lat(n) 261 261 c=cor_olr(n) 262 263 plots, x,y,psym=8,symsize=1.5,color=0 264 endfor 265 262 ; 263 plots, x,y,psym=8,symsize=1.5,color=0 264 endfor 265 ; 266 266 erase 267 267 ; 268 268 plt, -5+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,bias_mi, bias_ma, int=bias_int, marge=marge,/nocolorb, $ 269 269 title='1) SWR Mean bias - TropFlux', subtitle='', small=[1,4,1],/rempl,format='(i3)' 270 271 NN=n_elements(lat) 272 273 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 274 270 ; 271 NN=n_elements(lat) 272 ; 273 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 274 ; 275 275 for n=0,NN-1 do begin 276 276 x=lon(n) 277 277 y=lat(n) 278 278 c=bias_trop(n) 279 cmi=bias_mi 280 cma=bias_ma 281 dc=cma-cmi 282 col=((10+244*(c-cmi)/dc) > 10) < 254 283 plots, x,y,psym=8,symsize=1.5,color=col 284 endfor 285 286 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 287 279 cmi=bias_mi 280 cma=bias_ma 281 dc=cma-cmi 282 col=((10+244*(c-cmi)/dc) > 10) < 254 283 plots, x,y,psym=8,symsize=1.5,color=col 284 endfor 285 ; 286 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 287 ; 288 288 for n=0,NN-1 do begin 289 289 x=lon(n) 290 290 y=lat(n) 291 291 c=bias_trop(n) 292 292 ; 293 293 plots, x,y,psym=8,symsize=1.5,color=0 294 294 endfor 295 295 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,bias_mi, bias_ma, int=bias_int,/noer, marge=marge, $ 296 296 title='2) SWR Mean bias - ERAI', subtitle='', small=[1,4,2],/rempl,format='(i3)',/nocolorb 297 298 NN=n_elements(lat) 299 300 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 301 297 ; 298 NN=n_elements(lat) 299 ; 300 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 301 ; 302 302 for n=0,NN-1 do begin 303 303 x=lon(n) 304 304 y=lat(n) 305 305 c=bias_era(n) 306 cmi=bias_mi 307 cma=bias_ma 308 dc=cma-cmi 309 col=((10+244*(c-cmi)/dc) > 10) < 254 310 plots, x,y,psym=8,symsize=1.5,color=col 311 endfor 312 313 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 314 306 cmi=bias_mi 307 cma=bias_ma 308 dc=cma-cmi 309 col=((10+244*(c-cmi)/dc) > 10) < 254 310 plots, x,y,psym=8,symsize=1.5,color=col 311 endfor 312 ; 313 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 314 ; 315 315 for n=0,NN-1 do begin 316 316 x=lon(n) 317 317 y=lat(n) 318 318 c=bias_era(n) 319 320 plots, x,y,psym=8,symsize=1.5,color=0 321 endfor 322 323 319 ; 320 plots, x,y,psym=8,symsize=1.5,color=0 321 endfor 322 ; 323 ; 324 324 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,bias_mi, bias_ma, int=bias_int,/noer, marge=marge, $ 325 325 title='3) SWR Mean bias - OAFlux', subtitle='', small=[1,4,3],/rempl,format='(i3)',/nocolorb 326 327 NN=n_elements(lat) 328 329 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 330 326 ; 327 NN=n_elements(lat) 328 ; 329 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 330 ; 331 331 for n=0,NN-1 do begin 332 332 x=lon(n) 333 333 y=lat(n) 334 334 c=bias_oaflx(n) 335 cmi=bias_mi 336 cma=bias_ma 337 dc=cma-cmi 338 col=((10+244*(c-cmi)/dc) > 10) < 254 339 plots, x,y,psym=8,symsize=1.5,color=col 340 endfor 341 342 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 343 335 cmi=bias_mi 336 cma=bias_ma 337 dc=cma-cmi 338 col=((10+244*(c-cmi)/dc) > 10) < 254 339 plots, x,y,psym=8,symsize=1.5,color=col 340 endfor 341 ; 342 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 343 ; 344 344 for n=0,NN-1 do begin 345 345 x=lon(n) 346 346 y=lat(n) 347 347 c=bias_oaflx(n) 348 349 plots, x,y,psym=8,symsize=1.5,color=0 350 endfor 351 352 348 ; 349 plots, x,y,psym=8,symsize=1.5,color=0 350 endfor 351 ; 352 ; 353 353 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,bias_mi, bias_ma, int=bias_int,/noer, marge=marge1, $ 354 title='4) SWR Mean bias - SWR_olr', subtitle='', small=[1,4,4],/rempl ; ;,format='(i4)'355 356 NN=n_elements(lat) 357 358 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 359 354 title='4) SWR Mean bias - SWR_olr', subtitle='', small=[1,4,4],/rempl ;,format='(i4)' 355 ; 356 NN=n_elements(lat) 357 ; 358 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 359 ; 360 360 for n=0,NN-1 do begin 361 361 x=lon(n) 362 362 y=lat(n) 363 363 c=bias_olr(n) 364 cmi=bias_mi 365 cma=bias_ma 366 dc=cma-cmi 367 col=((10+244*(c-cmi)/dc) > 10) < 254 368 plots, x,y,psym=8,symsize=1.5,color=col 369 endfor 370 371 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 372 364 cmi=bias_mi 365 cma=bias_ma 366 dc=cma-cmi 367 col=((10+244*(c-cmi)/dc) > 10) < 254 368 plots, x,y,psym=8,symsize=1.5,color=col 369 endfor 370 ; 371 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 372 ; 373 373 for n=0,NN-1 do begin 374 374 x=lon(n) 375 375 y=lat(n) 376 376 c=bias_olr(n) 377 378 plots, x,y,psym=8,symsize=1.5,color=0 379 endfor 380 377 ; 378 plots, x,y,psym=8,symsize=1.5,color=0 379 endfor 380 ; 381 381 erase 382 383 382 ; 383 ; 384 384 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,rmsd_mi, rmsd_ma, int=rmsd_int,/noer, $ 385 385 title='1) RMSD - TropFlux', subtitle='', small=[1,4,1],/rempl,/nocolorb, marge=marge 386 387 NN=n_elements(lat) 388 389 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 390 386 ; 387 NN=n_elements(lat) 388 ; 389 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 390 ; 391 391 for n=0,NN-1 do begin 392 392 x=lon(n) 393 393 y=lat(n) 394 394 c=rmsd_trop(n) 395 cmi=rmsd_mi 396 cma=rmsd_ma 397 dc=cma-cmi 398 col=((10+244*(c-cmi)/dc) > 10) < 254 399 plots, x,y,psym=8,symsize=1.5,color=col 400 endfor 401 402 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 403 395 cmi=rmsd_mi 396 cma=rmsd_ma 397 dc=cma-cmi 398 col=((10+244*(c-cmi)/dc) > 10) < 254 399 plots, x,y,psym=8,symsize=1.5,color=col 400 endfor 401 ; 402 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 403 ; 404 404 for n=0,NN-1 do begin 405 405 x=lon(n) 406 406 y=lat(n) 407 407 c=rmsd_trop(n) 408 408 ; 409 409 plots, x,y,psym=8,symsize=1.5,color=0 410 410 endfor 411 411 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,rmsd_mi, rmsd_ma, int=rmsd_int,/noer, $ 412 412 title='2) RMSD - ERAI', subtitle='', small=[1,4,2],/rempl,/nocolorb, marge=marge 413 414 NN=n_elements(lat) 415 416 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 417 413 ; 414 NN=n_elements(lat) 415 ; 416 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 417 ; 418 418 for n=0,NN-1 do begin 419 419 x=lon(n) 420 420 y=lat(n) 421 421 c=rmsd_era(n) 422 cmi=rmsd_mi 423 cma=rmsd_ma 424 dc=cma-cmi 425 col=((10+244*(c-cmi)/dc) > 10) < 254 426 plots, x,y,psym=8,symsize=1.5,color=col 427 endfor 428 429 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 430 422 cmi=rmsd_mi 423 cma=rmsd_ma 424 dc=cma-cmi 425 col=((10+244*(c-cmi)/dc) > 10) < 254 426 plots, x,y,psym=8,symsize=1.5,color=col 427 endfor 428 ; 429 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 430 ; 431 431 for n=0,NN-1 do begin 432 432 x=lon(n) 433 433 y=lat(n) 434 434 c=rmsd_era(n) 435 435 ; 436 436 plots, x,y,psym=8,symsize=1.5,color=0 437 437 endfor 438 438 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,rmsd_mi, rmsd_ma, int=rmsd_int,/noer, $ 439 439 title='3) RMSD - OAFlux', subtitle='', small=[1,4,3],/rempl,/nocolorb, marge=marge 440 441 NN=n_elements(lat) 442 443 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 444 440 ; 441 NN=n_elements(lat) 442 ; 443 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 444 ; 445 445 for n=0,NN-1 do begin 446 446 x=lon(n) 447 447 y=lat(n) 448 448 c=rmsd_oaflx(n) 449 cmi=rmsd_mi 450 cma=rmsd_ma 451 dc=cma-cmi 452 col=((10+244*(c-cmi)/dc) > 10) < 254 453 plots, x,y,psym=8,symsize=1.5,color=col 454 endfor 455 456 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 457 449 cmi=rmsd_mi 450 cma=rmsd_ma 451 dc=cma-cmi 452 col=((10+244*(c-cmi)/dc) > 10) < 254 453 plots, x,y,psym=8,symsize=1.5,color=col 454 endfor 455 ; 456 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 457 ; 458 458 for n=0,NN-1 do begin 459 459 x=lon(n) 460 460 y=lat(n) 461 461 c=rmsd_oaflx(n) 462 463 plots, x,y,psym=8,symsize=1.5,color=0 464 endfor 465 462 ; 463 plots, x,y,psym=8,symsize=1.5,color=0 464 endfor 465 ; 466 466 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,rmsd_mi, rmsd_ma, int=rmsd_int,/noer, $ 467 467 title='4) RMSD - SWR_olr', subtitle='', small=[1,4,4],/rempl, marge=marge1 468 469 NN=n_elements(lat) 470 471 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 472 468 ; 469 NN=n_elements(lat) 470 ; 471 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 472 ; 473 473 for n=0,NN-1 do begin 474 474 x=lon(n) 475 475 y=lat(n) 476 476 c=rmsd_olr(n) 477 cmi=rmsd_mi 478 cma=rmsd_ma 479 dc=cma-cmi 480 col=((10+244*(c-cmi)/dc) > 10) < 254 481 plots, x,y,psym=8,symsize=1.5,color=col 482 endfor 483 484 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 485 477 cmi=rmsd_mi 478 cma=rmsd_ma 479 dc=cma-cmi 480 col=((10+244*(c-cmi)/dc) > 10) < 254 481 plots, x,y,psym=8,symsize=1.5,color=col 482 endfor 483 ; 484 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 485 ; 486 486 for n=0,NN-1 do begin 487 487 x=lon(n) 488 488 y=lat(n) 489 489 c=rmsd_olr(n) 490 490 ; 491 491 plots, x,y,psym=8,symsize=1.5,color=0 492 492 endfor … … 494 494 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,std_mi, std_ma, int=std_int,/noer, $ 495 495 title='1) STD ratio - TropFlux', subtitle='', small=[1,4,1],/rempl,/nocolorb, marge=marge 496 497 NN=n_elements(lat) 498 499 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 500 496 ; 497 NN=n_elements(lat) 498 ; 499 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 500 ; 501 501 for n=0,NN-1 do begin 502 502 x=lon(n) 503 503 y=lat(n) 504 504 c=std_trop(n) 505 cmi=std_mi 506 cma=std_ma 507 dc=cma-cmi 508 col=((10+244*(c-cmi)/dc) > 10) < 254 509 plots, x,y,psym=8,symsize=1.5,color=col 510 endfor 511 512 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 513 505 cmi=std_mi 506 cma=std_ma 507 dc=cma-cmi 508 col=((10+244*(c-cmi)/dc) > 10) < 254 509 plots, x,y,psym=8,symsize=1.5,color=col 510 endfor 511 ; 512 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 513 ; 514 514 for n=0,NN-1 do begin 515 515 x=lon(n) 516 516 y=lat(n) 517 517 c=std_trop(n) 518 518 ; 519 519 plots, x,y,psym=8,symsize=1.5,color=0 520 520 endfor 521 521 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,std_mi, std_ma, int=std_int,/noer, $ 522 522 title='2) STD ratop - ERAI', subtitle='', small=[1,4,2],/rempl,/nocolorb, marge=marge 523 524 NN=n_elements(lat) 525 526 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 527 523 ; 524 NN=n_elements(lat) 525 ; 526 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 527 ; 528 528 for n=0,NN-1 do begin 529 529 x=lon(n) 530 530 y=lat(n) 531 531 c=std_era(n) 532 cmi=std_mi 533 cma=std_ma 534 dc=cma-cmi 535 col=((10+244*(c-cmi)/dc) > 10) < 254 536 plots, x,y,psym=8,symsize=1.5,color=col 537 endfor 538 539 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 540 532 cmi=std_mi 533 cma=std_ma 534 dc=cma-cmi 535 col=((10+244*(c-cmi)/dc) > 10) < 254 536 plots, x,y,psym=8,symsize=1.5,color=col 537 endfor 538 ; 539 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 540 ; 541 541 for n=0,NN-1 do begin 542 542 x=lon(n) 543 543 y=lat(n) 544 544 c=std_era(n) 545 546 plots, x,y,psym=8,symsize=1.5,color=0 547 endfor 548 545 ; 546 plots, x,y,psym=8,symsize=1.5,color=0 547 endfor 548 ; 549 549 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,std_mi, std_ma, int=std_int,/noer, $ 550 550 title='3) STD rato - OAFlux', subtitle='', small=[1,4,3],/rempl,/nocolorb, marge=marge 551 552 NN=n_elements(lat) 553 554 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 555 551 ; 552 NN=n_elements(lat) 553 ; 554 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 555 ; 556 556 for n=0,NN-1 do begin 557 557 x=lon(n) 558 558 y=lat(n) 559 559 c=std_oaflx(n) 560 cmi=std_mi 561 cma=std_ma 562 dc=cma-cmi 563 col=((10+244*(c-cmi)/dc) > 10) < 254 564 plots, x,y,psym=8,symsize=1.5,color=col 565 endfor 566 567 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 568 560 cmi=std_mi 561 cma=std_ma 562 dc=cma-cmi 563 col=((10+244*(c-cmi)/dc) > 10) < 254 564 plots, x,y,psym=8,symsize=1.5,color=col 565 endfor 566 ; 567 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 568 ; 569 569 for n=0,NN-1 do begin 570 570 x=lon(n) 571 571 y=lat(n) 572 572 c=std_oaflx(n) 573 574 plots, x,y,psym=8,symsize=1.5,color=0 575 endfor 576 573 ; 574 plots, x,y,psym=8,symsize=1.5,color=0 575 endfor 576 ; 577 577 plt,0.8+msk*1.e-5,realcont=2,/nocont,/nofill,xminor=1,yminor=1,lct=64,std_mi, std_ma, int=std_int,/noer, $ 578 578 title='4) STD rato - SWR_olr', subtitle='', small=[1,4,4],/rempl, marge=marge1 579 580 NN=n_elements(lat) 581 582 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 583 579 ; 580 NN=n_elements(lat) 581 ; 582 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5],/fill 583 ; 584 584 for n=0,NN-1 do begin 585 585 x=lon(n) 586 586 y=lat(n) 587 587 c=std_olr(n) 588 cmi=std_mi 589 cma=std_ma 590 dc=cma-cmi 591 col=((10+244*(c-cmi)/dc) > 10) < 254 592 plots, x,y,psym=8,symsize=1.5,color=col 593 endfor 594 595 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 596 588 cmi=std_mi 589 cma=std_ma 590 dc=cma-cmi 591 col=((10+244*(c-cmi)/dc) > 10) < 254 592 plots, x,y,psym=8,symsize=1.5,color=col 593 endfor 594 ; 595 usersym, [-.5,.5,.5,-.5,-.5],[-.5,-.5,.5,.5,-.5] 596 ; 597 597 for n=0,NN-1 do begin 598 598 x=lon(n) 599 599 y=lat(n) 600 600 c=std_olr(n) 601 602 plots, x,y,psym=8,symsize=1.5,color=0 603 endfor 601 ; 602 plots, x,y,psym=8,symsize=1.5,color=0 603 endfor 604 ; 604 605 closeps 606 ; 605 607 end -
trunk/src/paper01/fig13/net_flux_validation_scatter_2000_2007.pro
r94 r97 117 117 reinitplt, /z,/invert 118 118 key_portrait = 1 119 119 ; 120 120 openps, FILENAME = project_od_env+'net_flux_validation_scatter_2000_2007.ps' 121 121 ; 122 122 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 123 123 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 130 130 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 131 131 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 132 132 ; 133 133 jda1=date2jul(date1) 134 134 jda2=date2jul(date2) 135 135 jpt=(jda2-jda1+1l) 136 time=jda1+dindgen(jpt) 136 time=jda1+dindgen(jpt) 137 137 tt=time 138 138 ; 139 139 ocean='net_flux' 140 140 nsmooth=1. … … 144 144 lhf_trop=read_ncdf("lhf", date1, date2, file=file_trop,/nostr) 145 145 lwr_trop=read_ncdf("lwr", date1, date2, file=file_trop,/nostr) 146 146 ; 147 147 file_trop=project_od_env+'TropFlux_swr_19890101_20071231_DT.nc' 148 148 initncdf, file_trop … … 150 150 trop=swr_dt+(lwr_trop+lhf_trop+shf_trop) 151 151 help, trop 152 152 ; 153 153 file_trop=project_od_env+'TropFlux_swr_19890101_20091231_NRT.nc' 154 154 initncdf, file_trop … … 156 156 tropd=swr_nrt+(lwr_trop+lhf_trop+shf_trop) 157 157 help, tropd 158 158 ; 159 159 file_ncep=project_od_env+'NCEP2_flux_19890101_20090729.nc' 160 160 initncdf, file_ncep … … 163 163 lwr=read_ncdf("lwr", date1, date2, file=file_ncep,/nostr) 164 164 swr=read_ncdf("swr", date1, date2, file=file_ncep,/nostr) 165 165 ; 166 166 ;ncep=swr-(lhf+shf+ref_lw) 167 167 ncep=swr-(lhf+shf+lwr) 168 168 help, ncep 169 169 ; 170 170 file_erai=project_od_env+'erai_fluxes_19930101_20090801_TROP_oafluxgrid.nc' 171 171 initncdf, file_erai … … 173 173 lhf=read_ncdf("lhf", date1, date2, file=file_erai,/nostr) 174 174 lwr=read_ncdf("lwr", date1, date2, file=file_erai,/nostr) 175 swr=read_ncdf("swr", date1, date2, file=file_erai,/nostr) 175 swr=read_ncdf("swr", date1, date2, file=file_erai,/nostr) 176 176 swr=-1*swr 177 177 erai=swr-(lwr+lhf+shf) 178 178 help, erai 179 179 ; 180 180 file_oaf=project_od_env+'shf_oafluxgrid_1985_2008.nc' 181 181 initncdf, file_oaf … … 189 189 file_oaf=project_od_env+'swr_oafluxgrid_1985_2007.nc' 190 190 initncdf, file_oaf 191 swr=read_ncdf("swr", date1, date2, file=file_oaf,/nostr) 191 swr=read_ncdf("swr", date1, date2, file=file_oaf,/nostr) 192 192 swr_trop=swr 193 193 oafl=swr-(lwr+lhf+shf) 194 194 help, oafl 195 195 ; 196 196 file=project_od_env+'fluxe_ncep1_19890101_20091231.nc' 197 197 initncdf, file … … 200 200 lhf=read_ncdf("lhf", date1, date2, file=file,/nostr) 201 201 shf=read_ncdf("shf", date1, date2, file=file,/nostr) 202 202 ; 203 203 ncep1=swr+lwr+shf+lhf 204 204 help, ncep1 205 205 ; 206 206 close,/all 207 207 ; 208 208 fi_net_NRT_erai=project_od_env+'net_2000_2007_erai.txt' 209 209 openw,1,fi_net_NRT_erai … … 218 218 fi_net_NRT_tropd=project_od_env+'net_2000_2007_tropd.txt' 219 219 openw,6,fi_net_NRT_tropd 220 221 220 ; 221 ; 222 222 printf,1, 'x y cor bias std rmsd mean_tao' 223 223 printf,2, 'x y cor bias std rmsd mean_tao' … … 226 226 printf,5, 'x y cor bias std rmsd mean_tao' 227 227 printf,6, 'x y cor bias std rmsd mean_tao' 228 228 ; 229 229 nn=n_elements(sitelist) 230 230 ; 231 231 for n=0, nn-1 do begin 232 233 ; ;reading data from mooring234 235 site=sitelist(n) 232 ; 233 ; reading data from mooring 234 ; 235 site=sitelist(n) 236 236 csite=site 237 237 print, csite … … 239 239 y=y_site_location(site) 240 240 if (y ge 0. and y le 30.) then y=y+360. 241 dx=0.5 242 dy=0.5 241 dx=0.5 242 dy=0.5 243 243 box=[y-dy, y+dy, x-dx, x+dx] 244 244 ; 245 245 read_variables_net_flux, csite,date1,date2,nsmooth, $ 246 246 net 247 tao=net 248 ind=where(finite(tao)) 247 tao=net 248 ind=where(finite(tao)) 249 249 valid=n_elements(ind) 250 251 ;; 250 ; 252 251 if (valid ge 180. ) then begin 253 252 ; 254 253 extract_flux_tropflux, oafl, box, $ 255 254 tropflux 256 255 oaflux=tropflux 257 256 ; 258 257 extract_flux_tropflux, ncep, box, $ 259 258 tropflux 260 259 ncepflux=tropflux 261 260 ; 262 261 extract_flux_tropflux, erai, box, $ 263 262 tropflux 264 263 eraiflux=tropflux 265 264 ; 266 265 extract_flux_tropflux, trop, box, $ 267 266 tropflux 268 267 tropflux_new=tropflux 269 268 ; 270 269 extract_flux_tropflux, ncep1, box, $ 271 270 tropflux 272 271 ncepflux1=tropflux 273 272 ; 274 273 extract_flux_tropflux, tropd, box, $ 275 274 tropflux 276 275 tropdf=tropflux 277 278 ind=where(finite(tao)) 279 tao=tao(ind) 280 oaf_net=oaflux(ind) 281 nce_net=ncepflux(ind) 276 ; 277 ind=where(finite(tao)) 278 tao=tao(ind) 279 oaf_net=oaflux(ind) 280 nce_net=ncepflux(ind) 282 281 trop_net=tropflux_new(ind) 283 erai_net=eraiflux(ind) 284 nce1_net=ncepflux1(ind) 282 erai_net=eraiflux(ind) 283 nce1_net=ncepflux1(ind) 285 284 tropd_net=tropdf(ind) 286 285 ; 287 286 mean_tao=total(tao,/nan)/n_elements(ind) 288 287 ; 289 288 statistics_3var_v1, tao, erai_net, trop_net, $ 290 289 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 291 290 ; 292 291 printf, 1, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f6.2,3x,f7.2)' 293 292 printf, 2, x, y, cor2, bias2, std2, rmsd2, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f6.2,3x,f7.2)' 294 293 ; 295 294 statistics_3var_v1, tao,oaf_net , nce_net, $ 296 295 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 297 296 printf, 3, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f6.2,3x,f7.2)' 298 297 printf, 4, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f6.2,3x,f7.2)' 299 300 298 ; 299 statistics_3var_v1, tao,nce1_net , tropd_net, $ 301 300 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 302 301 printf, 5, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f6.2,3x,f7.2)' 303 302 printf, 6, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f6.2,3x,f7.2)' 304 303 ; 305 304 endif 306 305 endfor 307 306 ; 308 307 close,/all 309 308 ; 310 309 fi_net_NRT_erai=project_od_env+'net_2000_2007_erai.txt' 311 310 res=read_ascii(fi_net_NRT_erai,data_start=1) … … 317 316 mean_tao=reform(ff(6,*)) 318 317 mean_erai=mean_tao+bias_erai 319 320 ind=where(finite(cor_erai)) 318 ; 319 ind=where(finite(cor_erai)) 321 320 cor=total(cor_erai,/nan)/n_elements(ind) 322 ind=where(finite(bias_erai)) 321 ind=where(finite(bias_erai)) 323 322 bias=total(bias_erai,/nan)/n_elements(ind) 324 ind=where(finite(rmsd_erai)) 323 ind=where(finite(rmsd_erai)) 325 324 rmsd=total(rmsd_erai,/nan)/n_elements(ind) 326 ind=where(finite(std_erai)) 325 ind=where(finite(std_erai)) 327 326 std=total(std_erai,/nan)/n_elements(ind) 328 327 ; 329 328 print, '' 330 329 print, 'ERAI' 331 330 print, cor, bias, std, rmsd 332 331 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 333 332 ; 334 333 splot, mean_tao, mean_erai, charsize=1.1, title='NET_Flux - TAO Vs ERAI', $ 335 334 xrange=[-100,200], yrange=[-100,200], small=[2,3,1], psym=2, xmin=1,ymin=1 336 335 xyouts, -50,-40, cstat, charsize=1. 337 336 xyouts, -40,-80, 'cor bias std rmsd', charsize=1. 338 339 x=mean_tao 337 ; 338 x=mean_tao 340 339 y=mean_erai 341 340 ab=linfit(x,y,yfit=yfit) 342 a=float(ab(0)) 343 b=float(ab(1)) 341 a=float(ab(0)) 342 b=float(ab(1)) 344 343 print, a,b 345 344 oplot, x, yfit, thick=2, color=250 346 345 oplot, [-100,200], [-100,200] 347 348 346 ; 347 ; 349 348 fi_net_NRT_trop=project_od_env+'net_2000_2007_trop.txt' 350 349 res=read_ascii(fi_net_NRT_trop,data_start=1) … … 356 355 mean_tao=reform(ff(6,*)) 357 356 mean_trop=mean_tao+bias_trop 358 359 ind=where(finite(cor_trop)) 357 ; 358 ind=where(finite(cor_trop)) 360 359 cor=total(cor_trop,/nan)/n_elements(ind) 361 ind=where(finite(bias_trop)) 360 ind=where(finite(bias_trop)) 362 361 bias=total(bias_trop,/nan)/n_elements(ind) 363 ind=where(finite(rmsd_trop)) 362 ind=where(finite(rmsd_trop)) 364 363 rmsd=total(rmsd_trop,/nan)/n_elements(ind) 365 ind=where(finite(std_trop)) 364 ind=where(finite(std_trop)) 366 365 std=total(std_trop,/nan)/n_elements(ind) 367 366 ; 368 367 print, '' 369 368 print, 'TropFlux' 370 369 print, cor, bias, std, rmsd 371 370 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 372 371 ; 373 372 splot, mean_tao, mean_trop, charsize=1.1, title='NET_Flux - TAO Vs TropFlux', $ 374 373 xrange=[-100,200], yrange=[-100,200], small=[2,3,2],/noer, psym=2, xmin=1,ymin=1 375 374 xyouts, -50,-40, cstat, charsize=1. 376 375 xyouts, -40,-80, 'cor bias std rmsd', charsize=1. 377 378 x=mean_tao 376 ; 377 x=mean_tao 379 378 y=mean_trop 380 379 ab=linfit(x,y,yfit=yfit) 381 a=float(ab(0)) 382 b=float(ab(1)) 380 a=float(ab(0)) 381 b=float(ab(1)) 383 382 print, a,b 384 383 oplot, x, yfit, thick=2, color=250 385 384 oplot, [-100,200], [-100,200] 386 387 385 ; 386 ; 388 387 fi_net_NRT_oaflx=project_od_env+'net_2000_2007_oaflx.txt' 389 388 res=read_ascii(fi_net_NRT_oaflx,data_start=1) … … 395 394 mean_tao=reform(ff(6,*)) 396 395 mean_oaf=mean_tao+bias_oaf 397 398 ind=where(finite(cor_oaf)) 396 ; 397 ind=where(finite(cor_oaf)) 399 398 cor=total(cor_oaf,/nan)/n_elements(ind) 400 ind=where(finite(bias_oaf)) 399 ind=where(finite(bias_oaf)) 401 400 bias=total(bias_oaf,/nan)/n_elements(ind) 402 ind=where(finite(rmsd_oaf)) 401 ind=where(finite(rmsd_oaf)) 403 402 rmsd=total(rmsd_oaf,/nan)/n_elements(ind) 404 ind=where(finite(std_oaf)) 403 ind=where(finite(std_oaf)) 405 404 std=total(std_oaf,/nan)/n_elements(ind) 406 405 ; 407 406 print, '' 408 407 print, 'OAFlux' 409 408 print, cor, bias, std, rmsd 410 409 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 411 410 ; 412 411 splot, mean_tao, mean_oaf, charsize=1.1, title='NET_Flux - TAO Vs OAFlux', $ 413 412 xrange=[-100,200], yrange=[-100,200], small=[2,3,3],/noer, psym=2, xmin=1,ymin=1 414 x=mean_tao 413 x=mean_tao 415 414 y=mean_oaf 416 415 ; 417 416 xyouts, -50,-40, cstat, charsize=1. 418 417 xyouts, -40,-80, 'cor bias std rmsd', charsize=1. 419 418 ; 420 419 ab=linfit(x,y,yfit=yfit) 421 a=float(ab(0)) 422 b=float(ab(1)) 420 a=float(ab(0)) 421 b=float(ab(1)) 423 422 print, a,b 424 423 oplot, x, yfit, thick=2, color=250 425 424 oplot, [-100,200], [-100,200] 426 427 425 ; 426 ; 428 427 fi_net_NRT_ncep=project_od_env+'net_2000_2007_ncep.txt' 429 428 res=read_ascii(fi_net_NRT_ncep,data_start=1) … … 435 434 mean_tao=reform(ff(6,*)) 436 435 mean_nce=mean_tao+bias_nce 437 438 ind=where(finite(cor_nce)) 436 ; 437 ind=where(finite(cor_nce)) 439 438 cor=total(cor_nce,/nan)/n_elements(ind) 440 ind=where(finite(bias_nce)) 439 ind=where(finite(bias_nce)) 441 440 bias=total(bias_nce,/nan)/n_elements(ind) 442 ind=where(finite(rmsd_nce)) 441 ind=where(finite(rmsd_nce)) 443 442 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 444 ind=where(finite(std_nce)) 443 ind=where(finite(std_nce)) 445 444 std=total(std_nce,/nan)/n_elements(ind) 446 445 ; 447 446 print, '' 448 447 print, 'NCEP2' 449 448 print, cor, bias, std, rmsd 450 449 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 451 450 ; 452 451 splot, mean_tao, mean_nce, charsize=1.1, title='NET_Flux - TAO Vs NCEP2', $ 453 452 xrange=[-100,200], yrange=[-100,200], small=[2,3,4],/noer, psym=2, xmin=1,ymin=1 454 453 xyouts, -50,-40, cstat, charsize=1. 455 454 xyouts, -40,-80, 'cor bias std rmsd', charsize=1. 456 457 x=mean_tao 455 ; 456 x=mean_tao 458 457 y=mean_nce 459 458 ab=linfit(x,y,yfit=yfit) 460 a=float(ab(0)) 461 b=float(ab(1)) 459 a=float(ab(0)) 460 b=float(ab(1)) 462 461 print, a,b 463 462 oplot, x, yfit, thick=2, color=250 464 463 oplot, [-100,200], [-100,200] 465 466 464 ; 465 ; 467 466 fi_net_NRT_ncep1=project_od_env+'net_2000_2007_ncep1.txt' 468 467 res=read_ascii(fi_net_NRT_ncep1,data_start=1) … … 474 473 mean_tao=reform(ff(6,*)) 475 474 mean_nce=mean_tao+bias_nce 476 477 ind=where(finite(cor_nce)) 475 ; 476 ind=where(finite(cor_nce)) 478 477 cor=total(cor_nce,/nan)/n_elements(ind) 479 ind=where(finite(bias_nce)) 478 ind=where(finite(bias_nce)) 480 479 bias=total(bias_nce,/nan)/n_elements(ind) 481 ind=where(finite(rmsd_nce)) 480 ind=where(finite(rmsd_nce)) 482 481 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 483 ind=where(finite(std_nce)) 482 ind=where(finite(std_nce)) 484 483 std=total(std_nce,/nan)/n_elements(ind) 485 484 ; 486 485 print, '' 487 486 print, 'NCEP2' 488 487 print, cor, bias, std, rmsd 489 488 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 490 489 ; 491 490 splot, mean_tao, mean_nce, charsize=1.1, title='NET_Flux - TAO Vs NCEP2', $ 492 491 xrange=[-100,200], yrange=[-100,200], small=[2,3,5],/noer, psym=2, xmin=1,ymin=1 493 492 xyouts, -50,-40, cstat, charsize=1. 494 493 xyouts, -40,-80, 'cor bias std rmsd', charsize=1. 495 496 x=mean_tao 494 ; 495 x=mean_tao 497 496 y=mean_nce 498 497 ab=linfit(x,y,yfit=yfit) 499 a=float(ab(0)) 500 b=float(ab(1)) 498 a=float(ab(0)) 499 b=float(ab(1)) 501 500 print, a,b 502 501 oplot, x, yfit, thick=2, color=250 503 502 oplot, [-100,200], [-100,200] 504 505 503 ; 504 ; 506 505 fi_net_NRT_tropd=project_od_env+'net_2000_2007_tropd.txt' 507 506 res=read_ascii(fi_net_NRT_tropd,data_start=1) … … 513 512 mean_tao=reform(ff(6,*)) 514 513 mean_tropd=mean_tao+bias_tropd 515 516 ind=where(finite(cor_tropd)) 514 ; 515 ind=where(finite(cor_tropd)) 517 516 cor=total(cor_tropd,/nan)/n_elements(ind) 518 ind=where(finite(bias_tropd)) 517 ind=where(finite(bias_tropd)) 519 518 bias=total(bias_tropd,/nan)/n_elements(ind) 520 ind=where(finite(rmsd_tropd)) 519 ind=where(finite(rmsd_tropd)) 521 520 rmsd=total(rmsd_tropd,/nan)/n_elements(ind) 522 ind=where(finite(std_tropd)) 521 ind=where(finite(std_tropd)) 523 522 std=total(std_tropd,/nan)/n_elements(ind) 524 523 ; 525 524 print, '' 526 525 print, 'TropFlux_NRT' 527 526 print, cor, bias, std, rmsd 528 527 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 529 528 ; 530 529 splot, mean_tao, mean_tropd, charsize=1.1, title='NET_Flux - TAO Vs TropFlux_NRT', $ 531 530 xrange=[-100,200], yrange=[-100,200], small=[2,3,6],/noer, psym=2, xmin=1,ymin=1 532 531 xyouts, -50,-40, cstat, charsize=1. 533 532 xyouts, -40,-80, 'cor bias std rmsd', charsize=1. 534 535 x=mean_tao 533 ; 534 x=mean_tao 536 535 y=mean_tropd 537 536 ab=linfit(x,y,yfit=yfit) 538 a=float(ab(0)) 539 b=float(ab(1)) 537 a=float(ab(0)) 538 b=float(ab(1)) 540 539 print, a,b 541 540 oplot, x, yfit, thick=2, color=250 542 541 oplot, [-100,200], [-100,200] 543 542 ; 544 543 closeps 545 544 ; 546 545 end -
trunk/src/paper01/fig14/as_validation_net_1994_95_v10.pro
r94 r97 91 91 key_portrait = 1 92 92 coefpalit=.9 93 93 ; 94 94 openps, FILENAME = project_od_env+'as_validation_net_1994_95_v10.ps' 95 95 ; partie a changer 96 96 asbox=[61,62,15,16] 97 date1=19941016 97 date1=19941016 98 98 date2=19951019 99 99 ; 100 100 fi=project_id_env+"met_data_as_expt_1994.txt" 101 101 res=read_ascii(fi,data_start=1) … … 106 106 shf94=reform(ff(6,*)) 107 107 net94=swr94+lwr94+lhf94+shf94 108 108 ; 109 109 fi=project_id_env+"met_data_as_expt_1995.txt" 110 110 res=read_ascii(fi,data_start=1) … … 115 115 shf95=reform(ff(6,*)) 116 116 net95=swr95+lwr95+lhf95+shf95 117 117 ; 118 118 net=[net94, net95] 119 119 ind=where(finite(net)) 120 120 net=net(ind) 121 122 ; ;start data - 16/10/94 and end date 31/12/94123 ; ;start data - 01/01/95 and end date 19/10/95124 121 ; 122 ; start data - 16/10/94 and end date 31/12/94 123 ; start data - 01/01/95 and end date 19/10/95 124 ; 125 125 help, net 126 ; ;reading other data sets126 ; reading other data sets 127 127 file=project_id_env+"erai_swr_19910101_20091231_oafluxgrid.nc" 128 128 initncdf, file 129 swr=read_ncdf('swr',date1,date2,file=file,/nostr, box=asbox) 129 swr=read_ncdf('swr',date1,date2,file=file,/nostr, box=asbox) 130 130 swr=reform(swr) 131 131 file=project_id_env+'erai_lwr_19890101_20091231_oafluxgrid.nc' 132 132 initncdf, file 133 lwr=read_ncdf('lwr',date1-1,date2,file=file,/nostr, box=asbox) 133 lwr=read_ncdf('lwr',date1-1,date2,file=file,/nostr, box=asbox) 134 134 lwr=reform(lwr) 135 135 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 136 136 initncdf, file 137 shf=-1*read_ncdf('shf',date1,date2,file=file,/nostr, box=asbox) 137 shf=-1*read_ncdf('shf',date1,date2,file=file,/nostr, box=asbox) 138 138 shf=reform(shf) 139 139 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 140 140 initncdf, file 141 lhf=-1*read_ncdf('lhf',date1,date2,file=file,/nostr, box=asbox) 141 lhf=-1*read_ncdf('lhf',date1,date2,file=file,/nostr, box=asbox) 142 142 lhf=reform(lhf) 143 143 ; 144 144 era=swr+lwr+lhf+shf 145 145 help, era 146 146 era=era(ind) 147 147 help, era 148 149 swr=0. 150 lwr=0. 151 shf=0. 148 ; 149 swr=0. 150 lwr=0. 151 shf=0. 152 152 lhf=0. 153 153 ; 154 154 file=project_id_env+"TropFlux_19890101_20091231.nc" 155 155 initncdf, file 156 swr=read_ncdf('swr',date1,date2,file=file,/nostr, box=asbox) 157 swr=reform(swr) 158 lwr=read_ncdf('lwr',date1,date2,file=file,/nostr, box=asbox) 156 swr=read_ncdf('swr',date1,date2,file=file,/nostr, box=asbox) 157 swr=reform(swr) 158 lwr=read_ncdf('lwr',date1,date2,file=file,/nostr, box=asbox) 159 159 lwr=reform(lwr) 160 shf=read_ncdf('shf',date1,date2,file=file,/nostr, box=asbox) 160 shf=read_ncdf('shf',date1,date2,file=file,/nostr, box=asbox) 161 161 shf=reform(shf) 162 lhf=read_ncdf('lhf',date1,date2,file=file,/nostr, box=asbox) 162 lhf=read_ncdf('lhf',date1,date2,file=file,/nostr, box=asbox) 163 163 lhf=reform(lhf) 164 164 trop=swr+lwr+shf+lhf 165 165 help, trop 166 166 ; 167 167 file=project_id_env+"TropFlux_swr_19890101_20091231_NRT_v50.nc" 168 168 initncdf, file 169 olr1=read_ncdf("sw", date1-1, date2, file=file,/nostr, box=asbox) ;;169 olr1=read_ncdf("sw", date1-1, date2, file=file,/nostr, box=asbox) 170 170 olr1=grossemoyenne(olr1, "xy",/nan, box=asbox) 171 171 olr1=reform(olr1) 172 172 ; 173 173 olr=olr1+lwr+shf+lhf 174 175 swr=0. 176 lwr=0. 177 shf=0. 178 lhf=0. 174 ; 175 swr=0. 176 lwr=0. 177 shf=0. 178 lhf=0. 179 179 olr1=0. 180 181 trop=trop(ind) 180 ; 181 trop=trop(ind) 182 182 olr=olr(ind) 183 183 help, trop, olr 184 184 ; 185 185 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 186 186 initncdf, file 187 swr=read_ncdf("swr", date1, date2, file=file,/nostr, box=asbox) 188 swr=reform(swr) 189 187 swr=read_ncdf("swr", date1, date2, file=file,/nostr, box=asbox) 188 swr=reform(swr) 189 ; 190 190 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 191 191 initncdf, file 192 lwr=read_ncdf("lwr", date1, date2, file=file,/nostr, box=asbox) 192 lwr=read_ncdf("lwr", date1, date2, file=file,/nostr, box=asbox) 193 193 lwr=-1*reform(lwr) 194 194 ; 195 195 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 196 196 initncdf, file 197 lhf=read_ncdf("lhf", date1, date2, file=file,/nostr, box=asbox) 197 lhf=read_ncdf("lhf", date1, date2, file=file,/nostr, box=asbox) 198 198 lhf=-1*reform(lhf) 199 199 ; 200 200 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 201 201 initncdf, file 202 shf=read_ncdf("shf", date1, date2, file=file,/nostr, box=asbox) 202 shf=read_ncdf("shf", date1, date2, file=file,/nostr, box=asbox) 203 203 shf=-1*reform(shf) 204 204 ; 205 205 oaf=swr+lwr+shf+lhf 206 206 oaf=oaf(ind) 207 207 help, oaf 208 209 swr=0. 210 lwr=0. 211 shf=0. 208 ; 209 swr=0. 210 lwr=0. 211 shf=0. 212 212 lhf=0. 213 213 ; 214 214 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 215 215 initncdf, fi 216 swr=read_ncdf("swr", date1, date2, file=fi,/nostr, box=asbox) 217 swr=reform(swr) 218 216 swr=read_ncdf("swr", date1, date2, file=fi,/nostr, box=asbox) 217 swr=reform(swr) 218 ; 219 219 fi=project_id_env+"NCEP2_flux_19890101_20090729.nc" 220 220 initncdf, fi 221 lwr=read_ncdf("lwr", date1, date2, file=fi,/nostr, box=asbox) 222 lwr=grossemoyenne(lwr, "xy",/nan, box=asbox) 221 lwr=read_ncdf("lwr", date1, date2, file=fi,/nostr, box=asbox) 222 lwr=grossemoyenne(lwr, "xy",/nan, box=asbox) 223 223 lwr=reform(lwr) 224 224 ; 225 225 lwr=-1*lwr 226 226 ; 227 227 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 228 228 initncdf, fi 229 lhf=read_ncdf("lhf", date1, date2, file=fi,/nostr, box=asbox) 229 lhf=read_ncdf("lhf", date1, date2, file=fi,/nostr, box=asbox) 230 230 lhf=-1*reform(lhf) 231 231 ; 232 232 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 233 233 initncdf, fi 234 shf=read_ncdf("shf", date1, date2, file=fi,/nostr, box=asbox) 234 shf=read_ncdf("shf", date1, date2, file=fi,/nostr, box=asbox) 235 235 shf=-1*reform(shf) 236 236 ; 237 237 nce2=swr+lwr+shf+lhf 238 238 help, nce2 239 239 ; 240 240 nce2=nce2(ind) 241 241 help, nce2 242 swr=0. 243 lwr=0. 244 shf=0. 242 swr=0. 243 lwr=0. 244 shf=0. 245 245 lhf=0. 246 246 ; 247 247 file=project_id_env+"ncep1_flux_19890101_20091231.nc" 248 248 initncdf, file 249 249 swr=read_ncdf("swr", date1, date2, file=file,/nostr, box=asbox) 250 250 swr=reform(swr) 251 lwr=read_ncdf("lwr", date1, date2, file=file,/nostr, box=asbox) 251 lwr=read_ncdf("lwr", date1, date2, file=file,/nostr, box=asbox) 252 252 lwr=reform(lwr) 253 lhf=read_ncdf("lhf", date1, date2, file=file,/nostr, box=asbox) 253 lhf=read_ncdf("lhf", date1, date2, file=file,/nostr, box=asbox) 254 254 lhf=reform(lhf) 255 shf=read_ncdf("shf", date1, date2, file=file,/nostr, box=asbox) 255 shf=read_ncdf("shf", date1, date2, file=file,/nostr, box=asbox) 256 256 shf=reform(shf) 257 257 nce1=swr+lwr+shf+lhf 258 258 ; 259 259 help, nce1 260 260 ; 261 261 nce1=nce1(ind) 262 262 help, nce1 263 263 ;ind=where(finite(net)) 264 ;net=net(ind) 265 ;era=era(ind) 266 ;trop=trop(ind) 267 ;oaf=oaf(ind) 268 ;nce1=nce1(ind) 264 ;net=net(ind) 265 ;era=era(ind) 266 ;trop=trop(ind) 267 ;oaf=oaf(ind) 268 ;nce1=nce1(ind) 269 269 ;nce2=nce2(ind) 270 270 ;olr=olr(ind) 271 271 ; 272 272 statistics, net, era, $ 273 273 cor, bias, std, rmsd 274 274 print, cor, bias, std, rmsd 275 275 cstat_era=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 276 276 ; 277 277 statistics, net, trop, $ 278 278 cor, bias, std, rmsd 279 279 print, cor, bias, std, rmsd 280 280 cstat_trop=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 281 281 ; 282 282 statistics, net, oaf, $ 283 283 cor, bias, std, rmsd 284 284 print, cor, bias, std, rmsd 285 285 cstat_oaf=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 286 286 ; 287 287 statistics, net, nce1, $ 288 288 cor, bias, std, rmsd 289 289 print, cor, bias, std, rmsd 290 290 cstat_nce1=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 291 291 ; 292 292 statistics, net, nce2, $ 293 293 cor, bias, std, rmsd 294 294 print, cor, bias, std, rmsd 295 295 cstat_nce2=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 296 296 ; 297 297 statistics, net, olr, $ 298 298 cor, bias, std, rmsd 299 299 print, cor, bias, std, rmsd 300 300 cstat_olr=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 301 301 ; 302 302 splot, net, era, charsize=1.1, title='Net Flux - AS Vs ERAI', $ 303 303 xrange=[-200,200], yrange=[-200,200], small=[2,3,1], psym=2, xmin=1, ymin=1 304 304 oplot, [-200,200], [-200,200] 305 305 xyouts, -150,-175, cstat_era, charsize=1. 306 306 ; 307 307 splot, net, trop, charsize=1.1, title='Net Flux - AS Vs TropFlux',/noer, $ 308 308 xrange=[-200,200], yrange=[-200,200], small=[2,3,2], psym=2, xmin=1, ymin=1 309 309 oplot, [-200,200], [-200,200] 310 310 xyouts, -150,-175, cstat_trop, charsize=1. 311 311 ; 312 312 splot, net, oaf, charsize=1.1, title='Net Flux - AS Vs OAFlux',/noer, $ 313 313 xrange=[-200,200], yrange=[-200,200], small=[2,3,3], psym=2, xmin=1, ymin=1 314 314 oplot, [-200,200], [-200,200] 315 315 xyouts, -150,-175, cstat_oaf, charsize=1. 316 316 ; 317 317 splot, net, nce1, charsize=1.1, title='Net Flux - AS Vs NCEP1',/noer, $ 318 318 xrange=[-200,200], yrange=[-200,200], small=[2,3,4], psym=2, xmin=1, ymin=1 319 319 oplot, [-200,200], [-200,200] 320 320 xyouts, -150,-175, cstat_nce1, charsize=1. 321 321 ; 322 322 splot, net, nce2, charsize=1.1, title='Net Flux - AS Vs NCEP2',/noer, $ 323 323 xrange=[-200,200], yrange=[-200,200], small=[2,3,5], psym=2, xmin=1, ymin=1 324 324 oplot, [-200,200], [-200,200] 325 325 xyouts, -150,-175, cstat_nce2, charsize=1. 326 326 ; 327 327 splot, net, olr, charsize=1.1, title='Net Flux - AS Vs TropFlux_NRT',/noer, $ 328 328 xrange=[-200,200], yrange=[-200,200], small=[2,3,6], psym=2, xmin=1, ymin=1 329 329 oplot, [-200,200], [-200,200] 330 330 xyouts, -150,-175, cstat_olr, charsize=1. 331 331 ; 332 332 closeps 333 ; 333 334 end -
trunk/src/paper01/fig14/coare_validation_net_1992_93_all_v10.pro
r94 r97 92 92 key_portrait = 1 93 93 coefpalit=.9 94 94 ; 95 95 openps, FILENAME = project_od_env+"coare_validation_net_1992_93_all_v11.ps" 96 96 ; partie a changer 97 97 ; 98 98 box=[155.5, 156.5, -2, -1] 99 100 ; ;first leg101 ; ;start data - 11/11/92 and end date 03/12/9299 ; 100 ; first leg 101 ; start data - 11/11/92 and end date 03/12/92 102 102 fi=project_id_env+"met_data_coare_expt_1992_p1.txt" 103 103 res=read_ascii(fi,data_start=1) … … 108 108 lh92_1=reform(ff(5,*)) 109 109 sh92_1=reform(ff(6,*)) 110 110 ; 111 111 net1=sw92_1+lw92_1+lh92_1+sh92_1 112 113 st1=921111 112 ; 113 st1=921111 114 114 en1=921203 115 116 ; ;second leg117 115 ; 116 ; second leg 117 ; 118 118 fi=project_id_env+"met_data_coare_expt_1992_p2.txt" 119 119 res=read_ascii(fi,data_start=1) … … 123 123 lh92_2=reform(ff(5,*)) 124 124 sh92_2=reform(ff(6,*)) 125 125 ; 126 126 net2=sw92_2+lw92_2+lh92_2+sh92_2 127 128 ; ;start data - 17/12/92 and end date 31/12/92129 st2=19921217 127 ; 128 ; start data - 17/12/92 and end date 31/12/92 129 st2=19921217 130 130 en2=19921231 131 132 ; ;third leg133 131 ; 132 ; third leg 133 ; 134 134 fi=project_id_env+"met_data_coare_expt_1993_p1.txt" 135 135 res=read_ascii(fi,data_start=1) … … 139 139 lh93_1=reform(ff(5,*)) 140 140 sh93_1=reform(ff(6,*)) 141 141 ; 142 142 net3=sw93_1+lw93_1+lh93_1+sh93_1 143 144 ; ;start data - 01/01/93 and end date 11/01/93145 st3=19930101 143 ; 144 ; start data - 01/01/93 and end date 11/01/93 145 st3=19930101 146 146 en3=19930111 147 148 ; ;fourth leg149 147 ; 148 ; fourth leg 149 ; 150 150 fi=project_id_env+"met_data_coare_expt_1993_p2.txt" 151 151 res=read_ascii(fi,data_start=1) … … 155 155 lh93_2=reform(ff(5,*)) 156 156 sh93_2=reform(ff(6,*)) 157 157 ; 158 158 net4=sw93_2+lw93_2+lh93_2+sh93_2 159 160 ; ;start data - 28/01/93 and end date 16/02/93161 st4=19930128 159 ; 160 ; start data - 28/01/93 and end date 16/02/93 161 st4=19930128 162 162 en4=19930216 163 163 ; 164 164 net=[net1, net2, net3, net4] 165 165 help, net 166 167 ; ;reading other data sets168 169 st1=19921111 166 ; 167 ; reading other data sets 168 ; 169 st1=19921111 170 170 en1=19921203 171 st2=19921217 171 st2=19921217 172 172 en2=19921231 173 st3=19930101 173 st3=19930101 174 174 en3=19930111 175 st4=19930128 175 st4=19930128 176 176 en4=19930216 177 177 ; 178 178 file=project_id_env+"erai_swr_19910101_20091231_oafluxgrid.nc" 179 179 initncdf, file 180 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 181 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 180 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 181 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 182 182 swr1=reform(swr1) 183 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 184 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 183 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 184 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 185 185 swr2=reform(swr2) 186 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 187 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 186 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 187 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 188 188 swr3=reform(swr3) 189 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 190 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 189 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 190 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 191 191 swr4=reform(swr4) 192 192 ; 193 193 file=project_id_env+'erai_lwr_19890101_20091231_oafluxgrid.nc' 194 194 initncdf, file 195 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 196 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 195 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 196 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 197 197 lwr1=reform(lwr1) 198 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 199 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 198 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 199 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 200 200 lwr2=reform(lwr2) 201 lwr3=read_ncdf('lwr',st3-1,en3,file=file,/nostr, box=box) 202 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 201 lwr3=read_ncdf('lwr',st3-1,en3,file=file,/nostr, box=box) 202 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 203 203 lwr3=reform(lwr3) 204 lwr4=read_ncdf('lwr',st4-1,en4,file=file,/nostr, box=box) 205 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 204 lwr4=read_ncdf('lwr',st4-1,en4,file=file,/nostr, box=box) 205 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 206 206 lwr4=reform(lwr4) 207 207 ; 208 208 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 209 209 initncdf, file 210 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 211 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 210 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 211 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 212 212 lhf1=reform(lhf1) 213 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 214 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 213 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 214 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 215 215 lhf2=reform(lhf2) 216 lhf3=-1*read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 217 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 216 lhf3=-1*read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 217 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 218 218 lhf3=reform(lhf3) 219 lhf4=-1*read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 220 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 219 lhf4=-1*read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 220 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 221 221 lhf4=reform(lhf4) 222 222 ; 223 223 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 224 224 initncdf, file 225 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 226 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 225 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 226 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 227 227 shf1=reform(shf1) 228 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 229 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 228 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 229 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 230 230 shf2=reform(shf2) 231 shf3=-1*read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 232 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 231 shf3=-1*read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 232 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 233 233 shf3=reform(shf3) 234 shf4=-1*read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 235 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 234 shf4=-1*read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 235 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 236 236 shf4=reform(shf4) 237 238 net1=swr1+lwr1+lhf1+shf1 237 ; 238 net1=swr1+lwr1+lhf1+shf1 239 239 net2=swr2+lwr2+lhf2+shf2 240 net3=swr3+lwr3+lhf3+shf3 240 net3=swr3+lwr3+lhf3+shf3 241 241 net4=swr4+lwr4+lhf4+shf4 242 242 era=[net1,net2,net3,net4] 243 243 ; 244 244 help, era 245 swr1=0 246 swr2=0 247 swr3=0 248 swr4=0 249 lwr1=0 250 lwr2=0 251 lwr3=0 245 swr1=0 246 swr2=0 247 swr3=0 248 swr4=0 249 lwr1=0 250 lwr2=0 251 lwr3=0 252 252 lwr4=0 253 lhf1=0 254 lhf2=0 255 lhf3=0 256 lhf4=0 257 shf1=0 258 shf2=0 259 shf3=0 253 lhf1=0 254 lhf2=0 255 lhf3=0 256 lhf4=0 257 shf1=0 258 shf2=0 259 shf3=0 260 260 shf4=0 261 net1=0 262 net2=0 263 net3=0 261 net1=0 262 net2=0 263 net3=0 264 264 net4=0 265 265 ; 266 266 file=project_id_env+"TropFlux_19890101_20091231.nc" 267 267 initncdf, file 268 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 269 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 268 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 269 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 270 270 swr1=reform(swr1) 271 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 272 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 271 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 272 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 273 273 swr2=reform(swr2) 274 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 275 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 274 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 275 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 276 276 swr3=reform(swr3) 277 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 278 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 277 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 278 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 279 279 swr4=reform(swr4) 280 281 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 282 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 280 ; 281 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 282 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 283 283 lwr1=reform(lwr1) 284 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 285 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 284 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 285 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 286 286 lwr2=reform(lwr2) 287 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 288 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 287 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 288 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 289 289 lwr3=reform(lwr3) 290 lwr4=read_ncdf('lwr',st4,en4,file=file,/nostr, box=box) 291 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 290 lwr4=read_ncdf('lwr',st4,en4,file=file,/nostr, box=box) 291 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 292 292 lwr4=reform(lwr4) 293 294 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 295 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 293 ; 294 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 295 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 296 296 lhf1=reform(lhf1) 297 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 298 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 297 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 298 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 299 299 lhf2=reform(lhf2) 300 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 301 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 300 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 301 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 302 302 lhf3=reform(lhf3) 303 lhf4=read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 304 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 303 lhf4=read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 304 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 305 305 lhf4=reform(lhf4) 306 307 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 308 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 306 ; 307 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 308 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 309 309 shf1=reform(shf1) 310 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 311 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 310 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 311 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 312 312 shf2=reform(shf2) 313 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 314 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 313 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 314 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 315 315 shf3=reform(shf3) 316 shf4=read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 317 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 316 shf4=read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 317 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 318 318 shf4=reform(shf4) 319 320 net1=swr1+lwr1+lhf1+shf1 319 ; 320 net1=swr1+lwr1+lhf1+shf1 321 321 net2=swr2+lwr2+lhf2+shf2 322 net3=swr3+lwr3+lhf3+shf3 322 net3=swr3+lwr3+lhf3+shf3 323 323 net4=swr4+lwr4+lhf4+shf4 324 324 ; 325 325 file=project_id_env+"TropFlux_swr_19890101_20091231_NRT_v50.nc" 326 326 initncdf, file 327 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 328 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 327 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 328 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 329 329 olr1=reform(olr1) 330 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 331 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 330 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 331 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 332 332 olr2=reform(olr2) 333 olr3=read_ncdf("sw", st3-1, en3, file=file,/nostr, box=box) 334 olr3=grossemoyenne(olr3, "xy",/nan, box=box) 333 olr3=read_ncdf("sw", st3-1, en3, file=file,/nostr, box=box) 334 olr3=grossemoyenne(olr3, "xy",/nan, box=box) 335 335 olr3=reform(olr3) 336 olr4=read_ncdf("sw", st4-1, en4, file=file,/nostr, box=box) 337 olr4=grossemoyenne(olr4, "xy",/nan, box=box) 336 olr4=read_ncdf("sw", st4-1, en4, file=file,/nostr, box=box) 337 olr4=grossemoyenne(olr4, "xy",/nan, box=box) 338 338 olr4=reform(olr4) 339 340 neto_1=olr1+lwr1+lhf1+shf1 339 ; 340 neto_1=olr1+lwr1+lhf1+shf1 341 341 neto_2=olr2+lwr2+lhf2+shf2 342 neto_3=olr3+lwr3+lhf3+shf3 342 neto_3=olr3+lwr3+lhf3+shf3 343 343 neto_4=olr4+lwr4+lhf4+shf4 344 344 ; 345 345 trop=[net1,net2,net3,net4] 346 346 olr=[neto_1,neto_2,neto_3,neto_4] 347 347 help, trop, olr 348 349 swr1=0 350 swr2=0 351 swr3=0 352 swr4=0 353 lwr1=0 354 lwr2=0 355 lwr3=0 348 ; 349 swr1=0 350 swr2=0 351 swr3=0 352 swr4=0 353 lwr1=0 354 lwr2=0 355 lwr3=0 356 356 lwr4=0 357 lhf1=0 358 lhf2=0 359 lhf3=0 360 lhf4=0 361 shf1=0 362 shf2=0 363 shf3=0 357 lhf1=0 358 lhf2=0 359 lhf3=0 360 lhf4=0 361 shf1=0 362 shf2=0 363 shf3=0 364 364 shf4=0 365 net1=0 366 net2=0 367 net3=0 368 net4=0 369 neto_1=0 370 neto_2=0 371 neto_3=0 365 net1=0 366 net2=0 367 net3=0 368 net4=0 369 neto_1=0 370 neto_2=0 371 neto_3=0 372 372 neto_4=0 373 373 ; 374 374 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 375 375 initncdf, file 376 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 377 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 376 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 377 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 378 378 swr1=reform(swr1) 379 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 380 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 379 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 380 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 381 381 swr2=reform(swr2) 382 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 383 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 382 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 383 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 384 384 swr3=reform(swr3) 385 swr4=read_ncdf("swr", st4, en4, file=file,/nostr, box=box) 386 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 385 swr4=read_ncdf("swr", st4, en4, file=file,/nostr, box=box) 386 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 387 387 swr4=reform(swr4) 388 388 ; 389 389 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 390 390 initncdf, file 391 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 392 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 391 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 392 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 393 393 lwr1=reform(lwr1) 394 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 395 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 394 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 395 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 396 396 lwr2=reform(lwr2) 397 lwr3=-1*read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 398 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 397 lwr3=-1*read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 398 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 399 399 lwr3=reform(lwr3) 400 lwr4=-1*read_ncdf("lwr", st4, en4, file=file,/nostr, box=box) 401 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 400 lwr4=-1*read_ncdf("lwr", st4, en4, file=file,/nostr, box=box) 401 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 402 402 lwr4=reform(lwr4) 403 403 ; 404 404 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 405 405 initncdf, file 406 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 407 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 406 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 407 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 408 408 lhf1=reform(lhf1) 409 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 410 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 409 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 410 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 411 411 lhf2=reform(lhf2) 412 lhf3=-1*read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 412 lhf3=-1*read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 413 413 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 414 414 lhf3=reform(lhf3) 415 lhf4=-1*read_ncdf("lhf", st4, en4, file=file,/nostr, box=box) 416 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 415 lhf4=-1*read_ncdf("lhf", st4, en4, file=file,/nostr, box=box) 416 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 417 417 lhf4=reform(lhf4) 418 418 ; 419 419 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 420 420 initncdf, file 421 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 422 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 421 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 422 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 423 423 shf1=reform(shf1) 424 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 425 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 424 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 425 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 426 426 shf2=reform(shf2) 427 shf3=-1*read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 428 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 427 shf3=-1*read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 428 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 429 429 shf3=reform(shf3) 430 shf4=-1*read_ncdf("shf", st4, en4, file=file,/nostr, box=box) 431 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 430 shf4=-1*read_ncdf("shf", st4, en4, file=file,/nostr, box=box) 431 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 432 432 shf4=reform(shf4) 433 434 net1=swr1+lwr1+lhf1+shf1 433 ; 434 net1=swr1+lwr1+lhf1+shf1 435 435 net2=swr2+lwr2+lhf2+shf2 436 net3=swr3+lwr3+lhf3+shf3 436 net3=swr3+lwr3+lhf3+shf3 437 437 net4=swr4+lwr4+lhf4+shf4 438 438 ; 439 439 oaf=[net1,net2,net3,net4] 440 440 ; 441 441 help, oaf 442 swr1=0 443 swr2=0 444 swr3=0 445 swr4=0 446 lwr1=0 447 lwr2=0 448 lwr3=0 442 swr1=0 443 swr2=0 444 swr3=0 445 swr4=0 446 lwr1=0 447 lwr2=0 448 lwr3=0 449 449 lwr4=0 450 lhf1=0 451 lhf2=0 452 lhf3=0 453 lhf4=0 454 shf1=0 455 shf2=0 450 lhf1=0 451 lhf2=0 452 lhf3=0 453 lhf4=0 454 shf1=0 455 shf2=0 456 456 shf3=0 457 457 shf4=0 458 net1=0 459 net2=0 460 net3=0 458 net1=0 459 net2=0 460 net3=0 461 461 net4=0 462 462 ; 463 463 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 464 464 initncdf, fi 465 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 466 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 465 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 466 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 467 467 swr1=reform(swr1) 468 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 469 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 468 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 469 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 470 470 swr2=reform(swr2) 471 swr3=read_ncdf("swr", st3, en3, file=fi,/nostr, box=box) 472 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 471 swr3=read_ncdf("swr", st3, en3, file=fi,/nostr, box=box) 472 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 473 473 swr3=reform(swr3) 474 swr4=read_ncdf("swr", st4, en4, file=fi,/nostr, box=box) 475 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 474 swr4=read_ncdf("swr", st4, en4, file=fi,/nostr, box=box) 475 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 476 476 swr4=reform(swr4) 477 477 ; 478 478 fi=project_id_env+"NCEP2_flux_19890101_20090729.nc" 479 479 initncdf, fi 480 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 481 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 480 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 481 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 482 482 lwr1=reform(lwr1) 483 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 484 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 483 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 484 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 485 485 lwr2=reform(lwr2) 486 lwr3=-1*read_ncdf("lwr", st3, en3, file=fi,/nostr, box=box) 487 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 486 lwr3=-1*read_ncdf("lwr", st3, en3, file=fi,/nostr, box=box) 487 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 488 488 lwr3=reform(lwr3) 489 lwr4=-1*read_ncdf("lwr", st4, en4, file=fi,/nostr, box=box) 490 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 489 lwr4=-1*read_ncdf("lwr", st4, en4, file=fi,/nostr, box=box) 490 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 491 491 lwr4=reform(lwr4) 492 492 ; 493 493 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 494 494 initncdf, fi 495 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 496 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 495 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 496 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 497 497 lhf1=reform(lhf1) 498 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 499 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 498 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 499 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 500 500 lhf2=reform(lhf2) 501 lhf3=-1*read_ncdf("lhf", st3, en3, file=fi,/nostr, box=box) 502 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 501 lhf3=-1*read_ncdf("lhf", st3, en3, file=fi,/nostr, box=box) 502 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 503 503 lhf3=reform(lhf3) 504 lhf4=-1*read_ncdf("lhf", st4, en4, file=fi,/nostr, box=box) 505 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 504 lhf4=-1*read_ncdf("lhf", st4, en4, file=fi,/nostr, box=box) 505 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 506 506 lhf4=reform(lhf4) 507 507 ; 508 508 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 509 509 initncdf, fi 510 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 511 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 510 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 511 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 512 512 shf1=reform(shf1) 513 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 514 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 513 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 514 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 515 515 shf2=reform(shf2) 516 shf3=-1*read_ncdf("shf", st3, en3, file=fi,/nostr, box=box) 517 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 516 shf3=-1*read_ncdf("shf", st3, en3, file=fi,/nostr, box=box) 517 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 518 518 shf3=reform(shf3) 519 shf4=-1*read_ncdf("shf", st4, en4, file=fi,/nostr, box=box) 520 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 519 shf4=-1*read_ncdf("shf", st4, en4, file=fi,/nostr, box=box) 520 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 521 521 shf4=reform(shf4) 522 523 net1=swr1+lwr1+lhf1+shf1 522 ; 523 net1=swr1+lwr1+lhf1+shf1 524 524 net2=swr2+lwr2+lhf2+shf2 525 net3=swr3+lwr3+lhf3+shf3 525 net3=swr3+lwr3+lhf3+shf3 526 526 net4=swr4+lwr4+lhf4+shf4 527 527 ; 528 528 nce2=[net1,net2,net3,net4] 529 529 ; 530 530 help, nce2 531 swr1=0 532 swr2=0 533 swr3=0 534 swr4=0 535 lwr1=0 536 lwr2=0 537 lwr3=0 531 swr1=0 532 swr2=0 533 swr3=0 534 swr4=0 535 lwr1=0 536 lwr2=0 537 lwr3=0 538 538 lwr4=0 539 lhf1=0 540 lhf2=0 541 lhf3=0 542 lhf4=0 543 shf1=0 544 shf2=0 545 shf3=0 539 lhf1=0 540 lhf2=0 541 lhf3=0 542 lhf4=0 543 shf1=0 544 shf2=0 545 shf3=0 546 546 shf4=0 547 net1=0 548 net2=0 549 net3=0 547 net1=0 548 net2=0 549 net3=0 550 550 net4=0 551 551 ; 552 552 file=project_id_env+"ncep1_flux_19890101_20091231.nc" 553 553 initncdf, file 554 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 555 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 554 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 555 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 556 556 swr1=reform(swr1) 557 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 558 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 557 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 558 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 559 559 swr2=reform(swr2) 560 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 561 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 560 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 561 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 562 562 swr3=reform(swr3) 563 swr4=read_ncdf("swr", st4, en4, file=file,/nostr, box=box) 564 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 563 swr4=read_ncdf("swr", st4, en4, file=file,/nostr, box=box) 564 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 565 565 swr4=reform(swr4) 566 567 lwr1=read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 568 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 566 ; 567 lwr1=read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 568 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 569 569 lwr1=reform(lwr1) 570 lwr2=read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 571 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 570 lwr2=read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 571 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 572 572 lwr2=reform(lwr2) 573 lwr3=read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 574 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 573 lwr3=read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 574 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 575 575 lwr3=reform(lwr3) 576 lwr4=read_ncdf("lwr", st4, en4, file=file,/nostr, box=box) 577 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 576 lwr4=read_ncdf("lwr", st4, en4, file=file,/nostr, box=box) 577 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 578 578 lwr4=reform(lwr4) 579 580 lhf1=read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 581 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 579 ; 580 lhf1=read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 581 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 582 582 lhf1=reform(lhf1) 583 lhf2=read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 584 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 583 lhf2=read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 584 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 585 585 lhf2=reform(lhf2) 586 lhf3=read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 587 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 586 lhf3=read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 587 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 588 588 lhf3=reform(lhf3) 589 lhf4=read_ncdf("lhf", st4, en4, file=file,/nostr, box=box) 590 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 589 lhf4=read_ncdf("lhf", st4, en4, file=file,/nostr, box=box) 590 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 591 591 lhf4=reform(lhf4) 592 593 shf1=read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 594 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 592 ; 593 shf1=read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 594 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 595 595 shf1=reform(shf1) 596 shf2=read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 597 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 596 shf2=read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 597 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 598 598 shf2=reform(shf2) 599 shf3=read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 600 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 599 shf3=read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 600 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 601 601 shf3=reform(shf3) 602 shf4=read_ncdf("shf", st4, en4, file=file,/nostr, box=box) 603 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 602 shf4=read_ncdf("shf", st4, en4, file=file,/nostr, box=box) 603 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 604 604 shf4=reform(shf4) 605 606 net1=swr1+lwr1+lhf1+shf1 605 ; 606 net1=swr1+lwr1+lhf1+shf1 607 607 net2=swr2+lwr2+lhf2+shf2 608 net3=swr3+lwr3+lhf3+shf3 608 net3=swr3+lwr3+lhf3+shf3 609 609 net4=swr4+lwr4+lhf4+shf4 610 611 nce1=[net1,net2,net3,net4] 610 ; 611 nce1=[net1,net2,net3,net4] 612 612 nce1=nce1 613 613 ; 614 614 help, nce1 615 swr1=0 616 swr2=0 617 swr3=0 618 swr4=0 619 lwr1=0 620 lwr2=0 621 lwr3=0 615 swr1=0 616 swr2=0 617 swr3=0 618 swr4=0 619 lwr1=0 620 lwr2=0 621 lwr3=0 622 622 lwr4=0 623 lhf1=0 624 lhf2=0 625 lhf3=0 626 lhf4=0 627 shf1=0 628 shf2=0 629 shf3=0 623 lhf1=0 624 lhf2=0 625 lhf3=0 626 lhf4=0 627 shf1=0 628 shf2=0 629 shf3=0 630 630 shf4=0 631 net1=0 632 net2=0 633 net3=0 631 net1=0 632 net2=0 633 net3=0 634 634 net4=0 635 635 ; 636 636 ind=where(finite(net)) 637 net=net(ind) 637 net=net(ind) 638 638 era=era(ind) 639 trop=trop(ind) 640 oaf=oaf(ind) 641 nce1=nce1(ind) 639 trop=trop(ind) 640 oaf=oaf(ind) 641 nce1=nce1(ind) 642 642 nce2=nce2(ind) 643 643 olr=olr(ind) 644 644 ; 645 645 help, net, era, trop, oaf, nce1, nce2, olr 646 646 ; 647 647 statistics, net, era, $ 648 648 cor, bias, std, rmsd 649 649 print, cor, bias, std, rmsd 650 650 cstat_era=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 651 651 ; 652 652 statistics, net, trop, $ 653 653 cor, bias, std, rmsd 654 654 print, cor, bias, std, rmsd 655 655 cstat_trop=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 656 656 ; 657 657 statistics, net, oaf, $ 658 658 cor, bias, std, rmsd 659 659 print, cor, bias, std, rmsd 660 660 cstat_oaf=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 661 661 ; 662 662 statistics, net, nce1, $ 663 663 cor, bias, std, rmsd 664 664 print, cor, bias, std, rmsd 665 665 cstat_nce1=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 666 666 ; 667 667 statistics, net, nce2, $ 668 668 cor, bias, std, rmsd 669 669 print, cor, bias, std, rmsd 670 670 cstat_nce2=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 671 671 ; 672 672 statistics, net, olr, $ 673 673 cor, bias, std, rmsd 674 674 print, cor, bias, std, rmsd 675 675 cstat_olr=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 676 677 676 ; 677 ; 678 678 splot, net, era, charsize=1.1, title='Net Flux - COARE Vs ERAI', $ 679 679 xrange=[-200,200], yrange=[-200,200], small=[2,3,1], psym=2, xmin=1, ymin=1 680 680 oplot, [-200,200], [-200,200] 681 681 xyouts, -150,-175, cstat_era, charsize=1. 682 682 ; 683 683 splot, net, trop, charsize=1.1, title='Net Flux - COARE Vs TropFlux',/noer, $ 684 684 xrange=[-200,200], yrange=[-200,200], small=[2,3,2], psym=2, xmin=1, ymin=1 685 685 oplot, [-200,200], [-200,200] 686 686 xyouts, -150,-175, cstat_trop, charsize=1. 687 687 ; 688 688 splot, net, oaf, charsize=1.1, title='Net Flux - COARE Vs OAFlux',/noer, $ 689 689 xrange=[-200,200], yrange=[-200,200], small=[2,3,3], psym=2, xmin=1, ymin=1 690 690 oplot, [-200,200], [-200,200] 691 691 xyouts, -150,-175, cstat_oaf, charsize=1. 692 692 ; 693 693 splot, net, nce1, charsize=1.1, title='Net Flux - COARE Vs NCEP1',/noer, $ 694 694 xrange=[-200,200], yrange=[-200,200], small=[2,3,4], psym=2, xmin=1, ymin=1 695 695 oplot, [-200,200], [-200,200] 696 696 xyouts, -150,-175, cstat_nce1, charsize=1. 697 697 ; 698 698 splot, net, nce2, charsize=1.1, title='Net Flux - COARE Vs NCEP2',/noer, $ 699 699 xrange=[-200,200], yrange=[-200,200], small=[2,3,5], psym=2, xmin=1, ymin=1 700 700 oplot, [-200,200], [-200,200] 701 701 xyouts, -150,-175, cstat_nce2, charsize=1. 702 702 ; 703 703 splot, net, olr, charsize=1.1, title='Net Flux - COARE Vs TropFlux_NRT',/noer, $ 704 704 xrange=[-200,200], yrange=[-200,200], small=[2,3,6], psym=2, xmin=1, ymin=1 705 705 oplot, [-200,200], [-200,200] 706 706 xyouts, -150,-175, cstat_olr, charsize=1. 707 707 ; 708 708 closeps 709 ; 709 710 end -
trunk/src/paper01/fig14/stratus_validation_net_2001_2002_all_v10.pro
r94 r97 94 94 key_portrait = 1 95 95 coefpalit=.9 96 96 ; 97 97 openps, FILENAME = project_od_env+"stratus_validation_net_2001_2002_all_v11.ps" 98 98 ; partie a changer 99 100 ; ;stratus in the south pacific cold tongue 2000-0199 ; 100 ; stratus in the south pacific cold tongue 2000-01 101 101 ;20.9S, 80.8W (274.2E) 102 102 box=[274, 275, -21., -20.] 103 104 ; ;first leg105 103 ; 104 ; first leg 105 ; 106 106 fi=project_id_env+"met_data_stratus_2001_2002.txt" 107 107 res=read_ascii(fi,data_start=1) … … 111 111 lhf=reform(ff(5,*)) 112 112 shf=reform(ff(6,*)) 113 113 ; 114 114 net=swr+lwr+shf+lhf 115 115 help, net 116 117 ; ;reading other data sets118 119 st1=20011019 116 ; 117 ; reading other data sets 118 ; 119 st1=20011019 120 120 en1=20021022 121 121 ; 122 122 file=project_id_env+"erai_swr_19910101_20091231_oafluxgrid.nc" 123 123 initncdf, file 124 swr=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 125 swr=grossemoyenne(swr, "xy", box=box,/nan) 124 swr=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 125 swr=grossemoyenne(swr, "xy", box=box,/nan) 126 126 swr=reform(swr) 127 127 file=project_id_env+'erai_lwr_19890101_20091231_oafluxgrid.nc' 128 128 initncdf, file 129 lwr=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 129 lwr=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 130 130 lwr=reform(lwr) 131 131 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 132 132 initncdf, file 133 shf=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 133 shf=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 134 134 shf=reform(shf) 135 135 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 136 136 initncdf, file 137 lhf=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 137 lhf=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 138 138 lhf=reform(lhf) 139 139 ; 140 140 era=swr+lwr+lhf+shf 141 141 help, era 142 143 swr=0 144 lwr=0 145 lhf=0 142 ; 143 swr=0 144 lwr=0 145 lhf=0 146 146 shf=0 147 147 ; 148 148 file=project_id_env+"TropFlux_19890101_20091231.nc" 149 149 initncdf, file 150 swr=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 151 swr=grossemoyenne(swr, "xy",/nan, box=box) 152 swr=reform(swr) 153 lwr=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 154 lwr=grossemoyenne(lwr, "xy",/nan, box=box) 150 swr=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 151 swr=grossemoyenne(swr, "xy",/nan, box=box) 152 swr=reform(swr) 153 lwr=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 154 lwr=grossemoyenne(lwr, "xy",/nan, box=box) 155 155 lwr=reform(lwr) 156 shf=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 157 shf=grossemoyenne(shf, "xy",/nan, box=box) 156 shf=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 157 shf=grossemoyenne(shf, "xy",/nan, box=box) 158 158 shf=reform(shf) 159 lhf=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 160 lhf=grossemoyenne(lhf, "xy",/nan, box=box) 159 lhf=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 160 lhf=grossemoyenne(lhf, "xy",/nan, box=box) 161 161 lhf=reform(lhf) 162 162 ; 163 163 file=project_id_env+"TropFlux_swr_19890101_20091231_NRT_v50.nc" 164 164 initncdf, file 165 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 166 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 165 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 166 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 167 167 olr1=reform(olr1) 168 168 ; 169 169 trop=swr+lwr+shf+lhf 170 170 olr=olr1+lwr+shf+lhf 171 171 help, trop, olr 172 swr=0 173 lwr=0 174 lhf=0 175 shf=0 172 swr=0 173 lwr=0 174 lhf=0 175 shf=0 176 176 olr1=0 177 177 ; 178 178 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 179 179 initncdf, file 180 swr=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 181 swr=grossemoyenne(swr, "xy",/nan, box=box) 182 swr=reform(swr) 183 180 swr=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 181 swr=grossemoyenne(swr, "xy",/nan, box=box) 182 swr=reform(swr) 183 ; 184 184 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 185 185 initncdf, file 186 lwr=read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 186 lwr=read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 187 187 lwr=-1*reform(lwr) 188 188 ; 189 189 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 190 190 initncdf, file 191 lhf=read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 191 lhf=read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 192 192 lhf=-1*reform(lhf) 193 193 ; 194 194 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 195 195 initncdf, file 196 shf=read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 196 shf=read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 197 197 shf=-1*reform(shf) 198 198 ; 199 199 oaf=swr+lwr+shf+lhf 200 200 help, oaf 201 swr=0 202 lwr=0 203 lhf=0 201 swr=0 202 lwr=0 203 lhf=0 204 204 shf=0 205 205 ; 206 206 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 207 207 initncdf, fi 208 swr=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 209 swr=grossemoyenne(swr, "xy",/nan, box=box) 210 swr=reform(swr) 211 208 swr=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 209 swr=grossemoyenne(swr, "xy",/nan, box=box) 210 swr=reform(swr) 211 ; 212 212 fi=project_id_env+"NCEP2_flux_19890101_20090729.nc" 213 213 initncdf, fi 214 lwr=read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 215 lwr=grossemoyenne(lwr, "xy",/nan, box=box) 214 lwr=read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 215 lwr=grossemoyenne(lwr, "xy",/nan, box=box) 216 216 lwr=reform(lwr) 217 217 lwr=-1*lwr 218 218 ; 219 219 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 220 220 initncdf, fi 221 lhf=read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 221 lhf=read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 222 222 lhf=-1*reform(lhf) 223 223 ; 224 224 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 225 225 initncdf, fi 226 shf=read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 226 shf=read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 227 227 shf=-1*reform(shf) 228 228 ; 229 229 nce2=swr+lwr+shf+lhf 230 230 help, nce2 231 232 swr=0 233 lwr=0 234 lhf=0 231 ; 232 swr=0 233 lwr=0 234 lhf=0 235 235 shf=0 236 236 ; 237 237 file=project_id_env+"ncep1_flux_19890101_20091231.nc" 238 238 initncdf, file 239 swr=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 240 swr=grossemoyenne(swr, "xy",/nan, box=box) 241 swr=reform(swr) 242 lwr=read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 243 lwr=grossemoyenne(lwr, "xy",/nan, box=box) 239 swr=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 240 swr=grossemoyenne(swr, "xy",/nan, box=box) 241 swr=reform(swr) 242 lwr=read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 243 lwr=grossemoyenne(lwr, "xy",/nan, box=box) 244 244 lwr=reform(lwr) 245 shf=read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 246 shf=grossemoyenne(shf, "xy",/nan, box=box) 245 shf=read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 246 shf=grossemoyenne(shf, "xy",/nan, box=box) 247 247 shf=reform(shf) 248 lhf=read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 249 lhf=grossemoyenne(lhf, "xy",/nan, box=box) 248 lhf=read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 249 lhf=grossemoyenne(lhf, "xy",/nan, box=box) 250 250 lhf=reform(lhf) 251 251 ; 252 252 nce1=swr+lwr+shf+lhf 253 253 help, nce1 254 254 ; 255 255 ind=where(finite(net)) 256 net=net(ind) 257 era=era(ind) 258 trop=trop(ind) 259 oaf=oaf(ind) 260 nce2=nce2(ind) 256 net=net(ind) 257 era=era(ind) 258 trop=trop(ind) 259 oaf=oaf(ind) 260 nce2=nce2(ind) 261 261 nce1=nce1(ind) 262 262 olr=olr(ind) 263 263 ; 264 264 statistics, net, era, $ 265 265 cor, bias, std, rmsd 266 266 print, cor, bias, std, rmsd 267 267 cstat_era=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 268 268 ; 269 269 statistics, net, trop, $ 270 270 cor, bias, std, rmsd 271 271 print, cor, bias, std, rmsd 272 272 cstat_trop=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 273 273 ; 274 274 statistics, net, oaf, $ 275 275 cor, bias, std, rmsd 276 276 print, cor, bias, std, rmsd 277 277 cstat_oaf=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 278 278 ; 279 279 statistics, net, nce1, $ 280 280 cor, bias, std, rmsd 281 281 print, cor, bias, std, rmsd 282 282 cstat_nce1=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 283 283 ; 284 284 statistics, net, nce2, $ 285 285 cor, bias, std, rmsd 286 286 print, cor, bias, std, rmsd 287 287 cstat_nce2=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 288 288 ; 289 289 statistics, net, olr, $ 290 290 cor, bias, std, rmsd 291 291 print, cor, bias, std, rmsd 292 292 cstat_olr=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 293 294 293 ; 294 ; 295 295 splot, net, era, charsize=1.1, title='SWR - Stratus Vs ERAI', $ 296 296 xrange=[-200,200], yrange=[-200,200], small=[2,3,1], psym=2, xmin=1, ymin=1 297 297 oplot, [-200,200], [-200,200] 298 298 xyouts, -150,-175, cstat_era, charsize=1. 299 299 ; 300 300 splot, net, trop, charsize=1.1, title='SWR - Stratus Vs TropFlux',/noer, $ 301 301 xrange=[-200,200], yrange=[-200,200], small=[2,3,2], psym=2, xmin=1, ymin=1 302 302 oplot, [-200,200], [-200,200] 303 303 xyouts, -150,-175, cstat_trop, charsize=1. 304 304 ; 305 305 splot, net, oaf, charsize=1.1, title='SWR - Stratus Vs OAFlux',/noer, $ 306 306 xrange=[-200,200], yrange=[-200,200], small=[2,3,3], psym=2, xmin=1, ymin=1 307 307 oplot, [-200,200], [-200,200] 308 308 xyouts, -150,-175, cstat_oaf, charsize=1. 309 309 ; 310 310 splot, net, nce1, charsize=1.1, title='SWR - Stratus Vs NCEP1',/noer, $ 311 311 xrange=[-200,200], yrange=[-200,200], small=[2,3,4], psym=2, xmin=1, ymin=1 312 312 oplot, [-200,200], [-200,200] 313 313 xyouts, -150,-175, cstat_nce1, charsize=1. 314 314 ; 315 315 splot, net, nce2, charsize=1.1, title='SWR - Stratus Vs NCEP2',/noer, $ 316 316 xrange=[-200,200], yrange=[-200,200], small=[2,3,5], psym=2, xmin=1, ymin=1 317 317 oplot, [-200,200], [-200,200] 318 318 xyouts, -150,-175, cstat_nce2, charsize=1. 319 319 ; 320 320 splot, net, olr, charsize=1.1, title='SWR - Stratus Vs TropFlux_NRT',/noer, $ 321 321 xrange=[-200,200], yrange=[-200,200], small=[2,3,6], psym=2, xmin=1, ymin=1 322 322 oplot, [-200,200], [-200,200] 323 323 xyouts, -150,-175, cstat_olr, charsize=1. 324 324 ; 325 325 closeps 326 ; 326 327 end -
trunk/src/paper01/fig14/subdctn_cs_validation_net_1991_93_all_v10.pro
r94 r97 92 92 key_portrait = 1 93 93 coefpalit=.9 94 94 ; 95 95 openps, FILENAME = project_od_env+"subdctn_cs_validation_net_1991_93_all_v10.ps" 96 96 ; partie a changer 97 98 ; ;subduction experiment in the atlantic in 1991-9397 ; 98 ; subduction experiment in the atlantic in 1991-93 99 99 box=[330.5, 331.5, 25., 26.] 100 101 ; ;first leg102 100 ; 101 ; first leg 102 ; 103 103 fi=project_id_env+"met_data_subduct_cs_91.txt" 104 104 res=read_ascii(fi,data_start=1) … … 109 109 lwr_91=reform(ff(8,*)) 110 110 net_91=[swr_91+lwr_91+shf_91+lhf_91] 111 112 ; ;start data - 06/02/92 and end date 02/06/92 then from 11/10/92 to 31/12/92113 ; ;total no of daily records -114 ; ;second leg115 111 ; 112 ; start data - 06/02/92 and end date 02/06/92 then from 11/10/92 to 31/12/92 113 ; total no of daily records - 114 ; second leg 115 ; 116 116 fi=project_id_env+"met_data_subduct_cs_92.txt" 117 117 res=read_ascii(fi,data_start=1) … … 122 122 lwr_92=reform(ff(8,*)) 123 123 net_92=[swr_92+lwr_92+shf_92+lhf_92] 124 125 ; ;second leg126 124 ; 125 ; second leg 126 ; 127 127 fi=project_id_env+"met_data_subduct_cs_93.txt" 128 128 res=read_ascii(fi,data_start=1) … … 133 133 lwr_93=reform(ff(8,*)) 134 134 net_93=[swr_93+lwr_93+shf_93+lhf_93] 135 135 ; 136 136 net=[net_91, net_92, net_93] 137 137 help, net 138 139 ; ;reading other data sets140 141 st1=19910623 138 ; 139 ; reading other data sets 140 ; 141 st1=19910623 142 142 en1=19930616 143 143 ; 144 144 file=project_id_env+"erai_swr_19910101_20091231_oafluxgrid.nc" 145 145 initncdf, file 146 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 147 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 146 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 147 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 148 148 swr1=reform(swr1) 149 149 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 150 150 initncdf, file 151 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 152 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 151 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 152 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 153 153 lhf1=reform(lhf1) 154 154 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 155 155 initncdf, file 156 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 157 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 156 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 157 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 158 158 shf1=reform(shf1) 159 159 file=project_id_env+'erai_lwr_19890101_20091231_oafluxgrid.nc' 160 160 initncdf, file 161 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 162 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 163 lwr1=reform(lwr1) 164 161 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 162 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 163 lwr1=reform(lwr1) 164 ; 165 165 era=swr1+lwr1+lhf1+shf1 166 swr1=0 167 lwr1=0 168 shf1=0 166 swr1=0 167 lwr1=0 168 shf1=0 169 169 lhf1=0 170 170 help, era 171 171 ; 172 172 file=project_id_env+"TropFlux_19890101_20091231.nc" 173 173 initncdf, file 174 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 175 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 176 lhf1=reform(lhf1) 177 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 178 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 179 shf1=reform(shf1) 180 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 181 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 182 lwr1=reform(lwr1) 183 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 184 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 174 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 175 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 176 lhf1=reform(lhf1) 177 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 178 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 179 shf1=reform(shf1) 180 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 181 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 182 lwr1=reform(lwr1) 183 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 184 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 185 185 swr1=reform(swr1) 186 186 trop=swr1+lwr1+lhf1+shf1 187 187 ; 188 188 file=project_id_env+"TropFlux_swr_19890101_20091231_NRT_v50.nc" 189 189 initncdf, file 190 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 191 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 190 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 191 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 192 192 olr1=reform(olr1) 193 193 ; 194 194 olr=olr1+lwr1+shf1+lhf1 195 195 help, trop, olr 196 swr1=0 197 lwr1=0 198 shf1=0 199 lhf1=0 196 swr1=0 197 lwr1=0 198 shf1=0 199 lhf1=0 200 200 olr1=0 201 201 ; 202 202 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 203 203 initncdf, file 204 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 205 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 204 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 205 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 206 206 swr1=reform(swr1) 207 207 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 208 208 initncdf, file 209 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 210 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 209 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 210 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 211 211 lwr1=reform(lwr1) 212 212 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 213 213 initncdf, file 214 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 215 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 214 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 215 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 216 216 lhf1=reform(lhf1) 217 217 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 218 218 initncdf, file 219 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 220 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 221 shf1=reform(shf1) 222 219 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 220 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 221 shf1=reform(shf1) 222 ; 223 223 oaf=swr1+lwr1+lhf1+shf1 224 224 help, oaf 225 swr1=0 226 lwr1=0 227 shf1=0 228 lhf1=0 225 swr1=0 226 lwr1=0 227 shf1=0 228 lhf1=0 229 229 olr1=0 230 230 ; 231 231 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 232 232 initncdf, fi 233 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 234 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 233 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 234 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 235 235 swr1=reform(swr1) 236 236 fi=project_id_env+"NCEP2_flux_19890101_20090729.nc" 237 237 initncdf, fi 238 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 239 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 238 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 239 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 240 240 lwr1=reform(lwr1) 241 241 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 242 242 initncdf, fi 243 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 244 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 243 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 244 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 245 245 lhf1=reform(lhf1) 246 246 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 247 247 initncdf, fi 248 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 249 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 250 shf1=reform(shf1) 251 248 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 249 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 250 shf1=reform(shf1) 251 ; 252 252 nce2=swr1+lwr1+lhf1+shf1 253 253 help, nce2 254 swr1=0 255 lwr1=0 256 shf1=0 257 lhf1=0 254 swr1=0 255 lwr1=0 256 shf1=0 257 lhf1=0 258 258 olr1=0 259 259 ; 260 260 file=project_id_env+"ncep1_flux_19890101_20091231.nc" 261 261 initncdf, file 262 263 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 264 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 265 lhf1=reform(lhf1) 266 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 267 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 268 shf1=reform(shf1) 269 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 270 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 271 lwr1=reform(lwr1) 272 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 273 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 262 ; 263 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 264 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 265 lhf1=reform(lhf1) 266 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 267 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 268 shf1=reform(shf1) 269 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 270 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 271 lwr1=reform(lwr1) 272 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 273 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 274 274 swr1=reform(swr1) 275 275 nce1=swr1+(lwr1+shf1+lhf1) 276 276 help, nce1 277 277 ; 278 278 ind=where(finite(net)) 279 net=net(ind) 280 era=era(ind) 281 trop=trop(ind) 282 oaf=oaf(ind) 283 nce2=nce2(ind) 279 net=net(ind) 280 era=era(ind) 281 trop=trop(ind) 282 oaf=oaf(ind) 283 nce2=nce2(ind) 284 284 nce1=nce1(ind) 285 285 olr=olr(ind) 286 286 ; 287 287 statistics, net, era, $ 288 288 cor, bias, std, rmsd 289 289 print, cor, bias, std, rmsd 290 290 cstat_era=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 291 291 ; 292 292 statistics, net, trop, $ 293 293 cor, bias, std, rmsd 294 294 print, cor, bias, std, rmsd 295 295 cstat_trop=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 296 296 ; 297 297 statistics, net, oaf, $ 298 298 cor, bias, std, rmsd 299 299 print, cor, bias, std, rmsd 300 300 cstat_oaf=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 301 301 ; 302 302 statistics, net, nce1, $ 303 303 cor, bias, std, rmsd 304 304 print, cor, bias, std, rmsd 305 305 cstat_nce1=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 306 306 ; 307 307 statistics, net, nce2, $ 308 308 cor, bias, std, rmsd 309 309 print, cor, bias, std, rmsd 310 310 cstat_nce2=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 311 311 ; 312 312 statistics, net, olr, $ 313 313 cor, bias, std, rmsd 314 314 print, cor, bias, std, rmsd 315 315 cstat_olr=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 316 317 316 ; 317 ; 318 318 splot, net, era, charsize=1.1, title='Net Flux - Subdn. cs Vs ERAI', $ 319 319 xrange=[-200,200], yrange=[-200,200], small=[2,3,1], psym=2, xmin=1, ymin=1 320 320 oplot, [-200,200], [-200,200] 321 321 xyouts, 0,-175, cstat_era, charsize=1. 322 322 ; 323 323 splot, net, trop, charsize=1.1, title='Net Flux - Subdn. cs Vs TropFlux',/noer, $ 324 324 xrange=[-200,200], yrange=[-200,200], small=[2,3,2], psym=2, xmin=1, ymin=1 325 325 oplot, [-200,200], [-200,200] 326 326 xyouts, 0,-175, cstat_trop, charsize=1. 327 327 ; 328 328 splot, net, oaf, charsize=1.1, title='Net Flux - Subdn. cs Vs OAFlux',/noer, $ 329 329 xrange=[-200,200], yrange=[-200,200], small=[2,3,3], psym=2, xmin=1, ymin=1 330 330 oplot, [-200,200], [-200,200] 331 331 xyouts, 0,-175, cstat_oaf, charsize=1. 332 332 ; 333 333 splot, net, nce1, charsize=1.1, title='Net Flux - Subdn. cs Vs NCEP1',/noer, $ 334 334 xrange=[-200,200], yrange=[-200,200], small=[2,3,4], psym=2, xmin=1, ymin=1 335 335 oplot, [-200,200], [-200,200] 336 336 xyouts, 0,-175, cstat_nce1, charsize=1. 337 337 ; 338 338 splot, net, nce2, charsize=1.1, title='Net Flux - Subdn. cs Vs NCEP2',/noer, $ 339 339 xrange=[-200,200], yrange=[-200,200], small=[2,3,5], psym=2, xmin=1, ymin=1 340 340 oplot, [-200,200], [-200,200] 341 341 xyouts, 0,-175, cstat_nce2, charsize=1. 342 342 ; 343 343 splot, net, olr, charsize=1.1, title='Net Flux - Subdn. cs Vs TropFlux_NRT',/noer, $ 344 344 xrange=[-200,200], yrange=[-200,200], small=[2,3,6], psym=2, xmin=1, ymin=1 345 345 oplot, [-200,200], [-200,200] 346 346 xyouts, 0,-175, cstat_olr, charsize=1. 347 347 ; 348 348 closeps 349 ; 349 350 end -
trunk/src/paper01/fig14/subdctn_ses_validation_net_1991_93_all_v10.pro
r94 r97 92 92 key_portrait = 1 93 93 coefpalit=.9 94 94 ; 95 95 openps, FILENAME = project_od_env+"subdctn_ses_validation_net_1991_93_all_v10.ps" 96 96 ; partie a changer 97 98 ; ;subduction experiment in the atlantic in 1991-9397 ; 98 ; subduction experiment in the atlantic in 1991-93 99 99 box=[337.5, 338.5, 17.5, 18.5] 100 101 ; ;first leg102 103 ; ;second leg104 100 ; 101 ; first leg 102 ; 103 ; second leg 104 ; 105 105 fi=project_id_env+"met_data_subduct_ses_92.txt" 106 106 res=read_ascii(fi,data_start=1) … … 112 112 net_92=[swr_92+lwr_92+shf_92+lhf_92] 113 113 help, net_92 114 115 ; ;second leg116 114 ; 115 ; second leg 116 ; 117 117 fi=project_id_env+"met_data_subduct_ses_93.txt" 118 118 res=read_ascii(fi,data_start=1) … … 124 124 net_93=[swr_93+lwr_93+shf_93+lhf_93] 125 125 help, net_93 126 126 ; 127 127 net=[net_92, net_93] 128 128 help, net 129 130 ; ;reading other data sets131 132 st1=19920209 129 ; 130 ; reading other data sets 131 ; 132 st1=19920209 133 133 en1=19920911 134 st2=19920921 134 st2=19920921 135 135 en2=19930618 136 136 ; 137 137 file=project_id_env+"erai_swr_19910101_20091231_oafluxgrid.nc" 138 138 initncdf, file 139 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 140 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 139 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 140 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 141 141 swr1=reform(swr1) 142 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 143 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 142 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 143 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 144 144 swr2=reform(swr2) 145 145 ; 146 146 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 147 147 initncdf, file 148 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 149 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 148 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 149 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 150 150 lhf1=reform(lhf1) 151 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 152 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 151 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 152 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 153 153 lhf2=reform(lhf2) 154 154 ; 155 155 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 156 156 initncdf, file 157 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 158 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 157 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 158 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 159 159 shf1=reform(shf1) 160 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 161 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 160 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 161 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 162 162 shf2=reform(shf2) 163 163 ; 164 164 file=project_id_env+'erai_lwr_19890101_20091231_oafluxgrid.nc' 165 165 initncdf, file 166 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 167 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 166 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 167 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 168 168 lwr1=reform(lwr1) 169 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 170 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 169 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 170 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 171 171 lwr2=reform(lwr2) 172 173 net1=swr1+(lwr1+shf1+lhf1) 172 ; 173 net1=swr1+(lwr1+shf1+lhf1) 174 174 net2=swr2+(lwr2+shf2+lhf2) 175 175 era=[net1,net2] 176 176 help, era 177 178 lhf1=0. 179 lhf2=0. 180 shf1=0. 177 ; 178 lhf1=0. 179 lhf2=0. 180 shf1=0. 181 181 shf2=0. 182 lwr1=0. 183 lwr2=0. 184 swr1=0. 182 lwr1=0. 183 lwr2=0. 184 swr1=0. 185 185 swr2=0. 186 net1=0. 186 net1=0. 187 187 net2=0. 188 188 ; 189 189 file=project_id_env+"TropFlux_19890101_20091231.nc" 190 190 initncdf, file 191 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 192 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 191 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 192 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 193 193 lhf1=reform(lhf1) 194 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 195 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 194 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 195 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 196 196 lhf2=reform(lhf2) 197 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 198 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 197 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 198 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 199 199 shf1=reform(shf1) 200 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 201 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 200 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 201 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 202 202 shf2=reform(shf2) 203 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 204 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 203 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 204 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 205 205 lwr1=reform(lwr1) 206 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 207 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 206 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 207 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 208 208 lwr2=reform(lwr2) 209 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 210 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 209 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 210 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 211 211 swr1=reform(swr1) 212 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 213 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 212 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 213 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 214 214 swr2=reform(swr2) 215 215 ; 216 216 file=project_id_env+"TropFlux_swr_19890101_20091231_NRT_v50.nc" 217 217 initncdf, file 218 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 219 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 218 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 219 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 220 220 olr1=reform(olr1) 221 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 222 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 221 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 222 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 223 223 olr2=reform(olr2) 224 225 net1=swr1+lwr1+(shf1+lhf1) 224 ; 225 net1=swr1+lwr1+(shf1+lhf1) 226 226 net2=swr2+lwr2+(shf2+lhf2) 227 neto_1=olr1+lwr1+lhf1+shf1 227 neto_1=olr1+lwr1+lhf1+shf1 228 228 neto_2=olr2+lwr2+lhf2+shf2 229 trop=[net1,net2] 229 trop=[net1,net2] 230 230 olr=[neto_1,neto_2] 231 231 help, trop, olr 232 232 ; 233 233 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 234 234 initncdf, file 235 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 236 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 235 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 236 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 237 237 swr1=reform(swr1) 238 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 239 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 238 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 239 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 240 240 swr2=reform(swr2) 241 241 ; 242 242 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 243 243 initncdf, file 244 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 245 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 244 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 245 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 246 246 lwr1=reform(lwr1) 247 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 248 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 247 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 248 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 249 249 lwr2=reform(lwr2) 250 250 ; 251 251 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 252 252 initncdf, file 253 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 254 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 253 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 254 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 255 255 lhf1=reform(lhf1) 256 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 257 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 256 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 257 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 258 258 lhf2=reform(lhf2) 259 259 ; 260 260 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 261 261 initncdf, file 262 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 263 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 262 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 263 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 264 264 shf1=reform(shf1) 265 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 266 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 265 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 266 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 267 267 shf2=reform(shf2) 268 269 net1=swr1+lwr1+lhf1+shf1 268 ; 269 net1=swr1+lwr1+lhf1+shf1 270 270 net2=swr2+lwr2+lhf2+shf2 271 271 oaf=[net1,net2] 272 272 help, oaf 273 273 ; 274 274 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 275 275 initncdf, fi 276 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 277 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 276 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 277 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 278 278 swr1=reform(swr1) 279 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 280 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 279 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 280 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 281 281 swr2=reform(swr2) 282 282 ; 283 283 fi=project_id_env+"NCEP2_flux_19890101_20090729.nc" 284 284 initncdf, fi 285 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 286 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 285 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 286 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 287 287 lwr1=reform(lwr1) 288 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 289 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 288 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 289 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 290 290 lwr2=reform(lwr2) 291 291 ; 292 292 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 293 293 initncdf, fi 294 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 295 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 294 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 295 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 296 296 lhf1=reform(lhf1) 297 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 298 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 297 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 298 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 299 299 lhf2=reform(lhf2) 300 300 ; 301 301 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 302 302 initncdf, fi 303 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 304 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 303 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 304 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 305 305 shf1=reform(shf1) 306 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 307 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 306 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 307 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 308 308 shf2=reform(shf2) 309 310 net1=swr1+lwr1+lhf1+shf1 309 ; 310 net1=swr1+lwr1+lhf1+shf1 311 311 net2=swr2+lwr2+lhf2+shf2 312 312 nce2=[net1,net2] 313 313 help, nce2 314 314 ; 315 315 file=project_id_env+"ncep1_flux_19890101_20091231.nc" 316 316 initncdf, file 317 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 318 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 317 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 318 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 319 319 lhf1=reform(lhf1) 320 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 321 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 320 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 321 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 322 322 lhf2=reform(lhf2) 323 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 324 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 323 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 324 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 325 325 shf1=reform(shf1) 326 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 327 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 326 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 327 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 328 328 shf2=reform(shf2) 329 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 330 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 329 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 330 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 331 331 lwr1=reform(lwr1) 332 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 333 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 332 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 333 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 334 334 lwr2=reform(lwr2) 335 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 336 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 335 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 336 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 337 337 swr1=reform(swr1) 338 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 339 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 338 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 339 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 340 340 swr2=reform(swr2) 341 net1=swr1+(lwr1+shf1+lhf1) 341 net1=swr1+(lwr1+shf1+lhf1) 342 342 net2=swr2+(lwr2+shf2+lhf2) 343 343 nce1=[net1,net2] 344 344 ; 345 345 help, nce1 346 346 ; 347 347 ind=where(finite(net)) 348 net=net(ind) 349 era=era(ind) 350 trop=trop(ind) 351 oaf=oaf(ind) 352 nce2=nce2(ind) 348 net=net(ind) 349 era=era(ind) 350 trop=trop(ind) 351 oaf=oaf(ind) 352 nce2=nce2(ind) 353 353 nce1=nce1(ind) 354 354 olr=olr(ind) 355 355 ; 356 356 statistics, net, era, $ 357 357 cor, bias, std, rmsd 358 358 print, cor, bias, std, rmsd 359 359 cstat_era=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 360 360 ; 361 361 statistics, net, trop, $ 362 362 cor, bias, std, rmsd 363 363 print, cor, bias, std, rmsd 364 364 cstat_trop=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 365 365 ; 366 366 statistics, net, oaf, $ 367 367 cor, bias, std, rmsd 368 368 print, cor, bias, std, rmsd 369 369 cstat_oaf=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 370 370 ; 371 371 statistics, net, nce1, $ 372 372 cor, bias, std, rmsd 373 373 print, cor, bias, std, rmsd 374 374 cstat_nce1=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 375 375 ; 376 376 statistics, net, nce2, $ 377 377 cor, bias, std, rmsd 378 378 print, cor, bias, std, rmsd 379 379 cstat_nce2=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 380 380 ; 381 381 statistics, net, olr, $ 382 382 cor, bias, std, rmsd 383 383 print, cor, bias, std, rmsd 384 384 cstat_olr=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 385 386 385 ; 386 ; 387 387 splot, net, era, charsize=1.1, title='Net Flux - Subdn. ses Vs ERAI', $ 388 388 xrange=[-200,200], yrange=[-200,200], small=[2,3,1], psym=2, xmin=1, ymin=1 389 389 oplot, [-200,200], [-200,200] 390 390 xyouts, 0,-175, cstat_era, charsize=1. 391 391 ; 392 392 splot, net, trop, charsize=1.1, title='Net Flux - Subdn. ses Vs TropFlux',/noer, $ 393 393 xrange=[-200,200], yrange=[-200,200], small=[2,3,2], psym=2, xmin=1, ymin=1 394 394 oplot, [-200,200], [-200,200] 395 395 xyouts, 0,-175, cstat_trop, charsize=1. 396 396 ; 397 397 splot, net, oaf, charsize=1.1, title='Net Flux - Subdn. ses Vs OAFlux',/noer, $ 398 398 xrange=[-200,200], yrange=[-200,200], small=[2,3,3], psym=2, xmin=1, ymin=1 399 399 oplot, [-200,200], [-200,200] 400 400 xyouts, 0,-175, cstat_oaf, charsize=1. 401 401 ; 402 402 splot, net, nce1, charsize=1.1, title='Net Flux - Subdn. ses Vs NCEP1',/noer, $ 403 403 xrange=[-200,200], yrange=[-200,200], small=[2,3,4], psym=2, xmin=1, ymin=1 404 404 oplot, [-200,200], [-200,200] 405 405 xyouts, 0,-175, cstat_nce1, charsize=1. 406 406 ; 407 407 splot, net, nce2, charsize=1.1, title='Net Flux - Subdn. ses Vs NCEP2',/noer, $ 408 408 xrange=[-200,200], yrange=[-200,200], small=[2,3,5], psym=2, xmin=1, ymin=1 409 409 oplot, [-200,200], [-200,200] 410 410 xyouts, 0,-175, cstat_nce2, charsize=1. 411 411 ; 412 412 splot, net, olr, charsize=1.1, title='Net Flux - Subdn. ses Vs TropFlux_NRT',/noer, $ 413 413 xrange=[-200,200], yrange=[-200,200], small=[2,3,6], psym=2, xmin=1, ymin=1 414 414 oplot, [-200,200], [-200,200] 415 415 xyouts, 0,-175, cstat_olr, charsize=1. 416 416 ; 417 417 closeps 418 ; 418 419 end -
trunk/src/paper01/fig14/subdctn_sws_validation_net_1991_93_all_v10.pro
r94 r97 92 92 key_portrait = 1 93 93 coefpalit=.9 94 94 ; 95 95 openps, FILENAME = project_od_env+"subdctn_sws_validation_net_1991_93_all_v10.ps" 96 96 ; partie a changer 97 98 ; ;subduction experiment in the atlantic in 1991-9397 ; 98 ; subduction experiment in the atlantic in 1991-93 99 99 box=[325.5, 326.5, 17.5, 18.5] 100 101 ; ;first leg102 100 ; 101 ; first leg 102 ; 103 103 fi=project_id_env+"met_data_subduct_sws_91_v1.txt" 104 104 res=read_ascii(fi,data_start=1) … … 109 109 lwr_91=reform(ff(8,*)) 110 110 net_91=[swr_91+lwr_91+shf_91+lhf_91] 111 112 ; ;start data - 06/02/92 and end date 02/06/92 then from 11/10/92 to 31/12/92113 ; ;total no of daily records -114 ; ;second leg115 111 ; 112 ; start data - 06/02/92 and end date 02/06/92 then from 11/10/92 to 31/12/92 113 ; total no of daily records - 114 ; second leg 115 ; 116 116 fi=project_id_env+"met_data_subduct_sws_92_v1.txt" 117 117 res=read_ascii(fi,data_start=1) … … 123 123 net_92=[swr_92+lwr_92+shf_92+lhf_92] 124 124 help, net_92 125 126 ; ;second leg127 125 ; 126 ; second leg 127 ; 128 128 fi=project_id_env+"met_data_subduct_sws_93_v1.txt" 129 129 res=read_ascii(fi,data_start=1) … … 135 135 net_93=[swr_93+lwr_93+shf_93+lhf_93] 136 136 help, net_93 137 137 ; 138 138 net=[net_91,net_92,net_93] 139 ; ;reading other data sets140 141 st1=19910626 139 ; reading other data sets 140 ; 141 st1=19910626 142 142 en1=19911101 143 st2=19920206 143 st2=19920206 144 144 en2=19920602 145 st3=19921011 145 st3=19921011 146 146 en3=19921231 147 st4=19930101 147 st4=19930101 148 148 en4=19930521 149 149 ; 150 150 file=project_id_env+"erai_swr_19910101_20091231_oafluxgrid.nc" 151 151 initncdf, file 152 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 153 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 152 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 153 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 154 154 swr1=reform(swr1) 155 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 156 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 155 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 156 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 157 157 swr2=reform(swr2) 158 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 159 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 158 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 159 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 160 160 swr3=reform(swr3) 161 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 162 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 161 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 162 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 163 163 swr4=reform(swr4) 164 164 ; 165 165 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 166 166 initncdf, file 167 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 168 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 167 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 168 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 169 169 lhf1=reform(lhf1) 170 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 171 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 170 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 171 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 172 172 lhf2=reform(lhf2) 173 lhf3=-1*read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 174 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 173 lhf3=-1*read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 174 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 175 175 lhf3=reform(lhf3) 176 lhf4=-1*read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 177 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 176 lhf4=-1*read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 177 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 178 178 lhf4=reform(lhf4) 179 179 ; 180 180 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 181 181 initncdf, file 182 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 183 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 182 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 183 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 184 184 shf1=reform(shf1) 185 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 186 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 185 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 186 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 187 187 shf2=reform(shf2) 188 shf3=-1*read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 189 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 188 shf3=-1*read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 189 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 190 190 shf3=reform(shf3) 191 shf4=-1*read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 192 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 191 shf4=-1*read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 192 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 193 193 shf4=reform(shf4) 194 194 ; 195 195 file=project_id_env+'erai_lwr_19890101_20091231_oafluxgrid.nc' 196 196 initncdf, file 197 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 198 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 197 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 198 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 199 199 lwr1=reform(lwr1) 200 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 201 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 200 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 201 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 202 202 lwr2=reform(lwr2) 203 lwr3=read_ncdf('lwr',st3-1,en3,file=file,/nostr, box=box) 204 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 203 lwr3=read_ncdf('lwr',st3-1,en3,file=file,/nostr, box=box) 204 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 205 205 lwr3=reform(lwr3) 206 lwr4=read_ncdf('lwr',st4-1,en4,file=file,/nostr, box=box) 207 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 206 lwr4=read_ncdf('lwr',st4-1,en4,file=file,/nostr, box=box) 207 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 208 208 lwr4=reform(lwr4) 209 210 net1=swr1+(lwr1+shf1+lhf1) 211 net2=swr2+(lwr2+shf2+lhf2) 212 net3=swr3+(lwr3+shf3+lhf3) 209 ; 210 net1=swr1+(lwr1+shf1+lhf1) 211 net2=swr2+(lwr2+shf2+lhf2) 212 net3=swr3+(lwr3+shf3+lhf3) 213 213 net4=swr4+(lwr4+shf4+lhf4) 214 214 era=[net1,net2,net3,net4] 215 lhf1=0. 216 lhf2=0. 217 lhf3=0. 215 lhf1=0. 216 lhf2=0. 217 lhf3=0. 218 218 lhf4=0. 219 shf1=0. 220 shf2=0. 221 shf3=0. 219 shf1=0. 220 shf2=0. 221 shf3=0. 222 222 shf4=0. 223 lwr1=0. 224 lwr2=0. 225 lwr3=0. 223 lwr1=0. 224 lwr2=0. 225 lwr3=0. 226 226 lwr4=0. 227 swr1=0. 228 swr2=0. 229 swr3=0. 227 swr1=0. 228 swr2=0. 229 swr3=0. 230 230 swr4=0. 231 net1=0. 232 net2=0. 233 net3=0. 231 net1=0. 232 net2=0. 233 net3=0. 234 234 net4=0 235 235 help, era 236 236 ; 237 237 file=project_id_env+"TropFlux_19890101_20091231.nc" 238 238 initncdf, file 239 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 240 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 239 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 240 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 241 241 lhf1=reform(lhf1) 242 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 243 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 242 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 243 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 244 244 lhf2=reform(lhf2) 245 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 246 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 245 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 246 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 247 247 lhf3=reform(lhf3) 248 lhf4=read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 249 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 248 lhf4=read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 249 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 250 250 lhf4=reform(lhf4) 251 252 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 253 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 251 ; 252 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 253 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 254 254 shf1=reform(shf1) 255 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 256 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 255 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 256 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 257 257 shf2=reform(shf2) 258 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 259 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 258 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 259 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 260 260 shf3=reform(shf3) 261 shf4=read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 262 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 261 shf4=read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 262 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 263 263 shf4=reform(shf4) 264 265 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 266 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 264 ; 265 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 266 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 267 267 lwr1=reform(lwr1) 268 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 269 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 268 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 269 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 270 270 lwr2=reform(lwr2) 271 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 272 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 271 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 272 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 273 273 lwr3=reform(lwr3) 274 lwr4=read_ncdf('lwr',st4,en4,file=file,/nostr, box=box) 275 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 274 lwr4=read_ncdf('lwr',st4,en4,file=file,/nostr, box=box) 275 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 276 276 lwr4=reform(lwr4) 277 278 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 279 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 277 ; 278 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 279 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 280 280 swr1=reform(swr1) 281 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 282 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 281 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 282 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 283 283 swr2=reform(swr2) 284 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 285 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 284 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 285 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 286 286 swr3=reform(swr3) 287 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 288 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 287 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 288 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 289 289 swr4=reform(swr4) 290 290 ; 291 291 file=project_id_env+"TropFlux_swr_19890101_20091231_NRT_v50.nc" 292 292 initncdf, file 293 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 294 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 293 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 294 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 295 295 olr1=reform(olr1) 296 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 297 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 296 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 297 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 298 298 olr2=reform(olr2) 299 olr3=read_ncdf("sw", st3-1, en3, file=file,/nostr, box=box) 300 olr3=grossemoyenne(olr3, "xy",/nan, box=box) 299 olr3=read_ncdf("sw", st3-1, en3, file=file,/nostr, box=box) 300 olr3=grossemoyenne(olr3, "xy",/nan, box=box) 301 301 olr3=reform(olr3) 302 olr4=read_ncdf("sw", st4-1, en4, file=file,/nostr, box=box) 303 olr4=grossemoyenne(olr4, "xy",/nan, box=box) 302 olr4=read_ncdf("sw", st4-1, en4, file=file,/nostr, box=box) 303 olr4=grossemoyenne(olr4, "xy",/nan, box=box) 304 304 olr4=reform(olr4) 305 306 net1=swr1+lwr1+(shf1+lhf1) 307 net2=swr2+lwr2+(shf2+lhf2) 308 net3=swr3+lwr3+(shf3+lhf3) 305 ; 306 net1=swr1+lwr1+(shf1+lhf1) 307 net2=swr2+lwr2+(shf2+lhf2) 308 net3=swr3+lwr3+(shf3+lhf3) 309 309 net4=swr4+lwr4+(shf4+lhf4) 310 neto_1=olr1+lwr1+lhf1+shf1 311 neto_2=olr2+lwr2+lhf2+shf2 312 neto_3=olr3+lwr3+lhf3+shf3 310 neto_1=olr1+lwr1+lhf1+shf1 311 neto_2=olr2+lwr2+lhf2+shf2 312 neto_3=olr3+lwr3+lhf3+shf3 313 313 neto_4=olr4+lwr4+lhf4+shf4 314 315 trop=[net1,net2,net3,net4] 314 ; 315 trop=[net1,net2,net3,net4] 316 316 olr=[neto_1,neto_2,neto_3,neto_4] 317 318 lhf1=0. 319 lhf2=0. 320 lhf3=0. 317 ; 318 lhf1=0. 319 lhf2=0. 320 lhf3=0. 321 321 lhf4=0. 322 shf1=0. 323 shf2=0. 324 shf3=0. 322 shf1=0. 323 shf2=0. 324 shf3=0. 325 325 shf4=0. 326 lwr1=0. 327 lwr2=0. 328 lwr3=0. 326 lwr1=0. 327 lwr2=0. 328 lwr3=0. 329 329 lwr4=0. 330 swr1=0. 331 swr2=0. 332 swr3=0. 330 swr1=0. 331 swr2=0. 332 swr3=0. 333 333 swr4=0. 334 net1=0. 335 net2=0. 336 net3=0. 334 net1=0. 335 net2=0. 336 net3=0. 337 337 net4=0. 338 neto_1=0 339 neto_2=0 340 neto_3=0 338 neto_1=0 339 neto_2=0 340 neto_3=0 341 341 neto_4=0 342 342 ; 343 343 help, trop, olr 344 344 ; 345 345 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 346 346 initncdf, file 347 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 348 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 347 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 348 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 349 349 swr1=reform(swr1) 350 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 351 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 350 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 351 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 352 352 swr2=reform(swr2) 353 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 354 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 353 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 354 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 355 355 swr3=reform(swr3) 356 swr4=read_ncdf("swr", st4, en4, file=file,/nostr, box=box) 357 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 356 swr4=read_ncdf("swr", st4, en4, file=file,/nostr, box=box) 357 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 358 358 swr4=reform(swr4) 359 359 ; 360 360 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 361 361 initncdf, file 362 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 363 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 362 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 363 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 364 364 lwr1=reform(lwr1) 365 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 366 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 365 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 366 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 367 367 lwr2=reform(lwr2) 368 lwr3=-1*read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 369 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 368 lwr3=-1*read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 369 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 370 370 lwr3=reform(lwr3) 371 lwr4=-1*read_ncdf("lwr", st4, en4, file=file,/nostr, box=box) 372 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 371 lwr4=-1*read_ncdf("lwr", st4, en4, file=file,/nostr, box=box) 372 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 373 373 lwr4=reform(lwr4) 374 374 ; 375 375 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 376 376 initncdf, file 377 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 378 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 377 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 378 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 379 379 lhf1=reform(lhf1) 380 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 381 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 380 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 381 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 382 382 lhf2=reform(lhf2) 383 lhf3=-1*read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 384 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 383 lhf3=-1*read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 384 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 385 385 lhf3=reform(lhf3) 386 lhf4=-1*read_ncdf("lhf", st4, en4, file=file,/nostr, box=box) 387 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 386 lhf4=-1*read_ncdf("lhf", st4, en4, file=file,/nostr, box=box) 387 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 388 388 lhf4=reform(lhf4) 389 389 ; 390 390 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 391 391 initncdf, file 392 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 393 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 392 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 393 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 394 394 shf1=reform(shf1) 395 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 396 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 395 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 396 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 397 397 shf2=reform(shf2) 398 shf3=-1*read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 399 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 398 shf3=-1*read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 399 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 400 400 shf3=reform(shf3) 401 shf4=-1*read_ncdf("shf", st4, en4, file=file,/nostr, box=box) 402 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 401 shf4=-1*read_ncdf("shf", st4, en4, file=file,/nostr, box=box) 402 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 403 403 shf4=reform(shf4) 404 405 net1=swr1+lwr1+lhf1+shf1 406 net2=swr2+lwr2+lhf2+shf2 407 net3=swr3+lwr3+lhf3+shf3 404 ; 405 net1=swr1+lwr1+lhf1+shf1 406 net2=swr2+lwr2+lhf2+shf2 407 net3=swr3+lwr3+lhf3+shf3 408 408 net4=swr4+lwr4+lhf4+shf4 409 409 ; 410 410 oaf=[net1,net2,net3,net4] 411 lhf1=0. 412 lhf2=0. 413 lhf3=0. 411 lhf1=0. 412 lhf2=0. 413 lhf3=0. 414 414 lhf4=0. 415 shf1=0. 416 shf2=0. 417 shf3=0. 415 shf1=0. 416 shf2=0. 417 shf3=0. 418 418 shf4=0. 419 lwr1=0. 420 lwr2=0. 421 lwr3=0. 419 lwr1=0. 420 lwr2=0. 421 lwr3=0. 422 422 lwr4=0. 423 swr1=0. 424 swr2=0. 425 swr3=0. 423 swr1=0. 424 swr2=0. 425 swr3=0. 426 426 swr4=0. 427 net1=0. 428 net2=0. 429 net3=0. 427 net1=0. 428 net2=0. 429 net3=0. 430 430 net4=0 431 431 help, oaf 432 432 ; 433 433 help, oaf 434 434 ; 435 435 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 436 436 initncdf, fi 437 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 438 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 437 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 438 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 439 439 swr1=reform(swr1) 440 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 441 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 440 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 441 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 442 442 swr2=reform(swr2) 443 swr3=read_ncdf("swr", st3, en3, file=fi,/nostr, box=box) 444 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 443 swr3=read_ncdf("swr", st3, en3, file=fi,/nostr, box=box) 444 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 445 445 swr3=reform(swr3) 446 swr4=read_ncdf("swr", st4, en4, file=fi,/nostr, box=box) 447 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 446 swr4=read_ncdf("swr", st4, en4, file=fi,/nostr, box=box) 447 swr4=grossemoyenne(swr4, "xy",/nan, box=box) 448 448 swr4=reform(swr4) 449 449 ; 450 450 fi=project_id_env+'"NCEP2_flux_19890101_20090729.nc" 451 451 initncdf, fi 452 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 453 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 452 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 453 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 454 454 lwr1=reform(lwr1) 455 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 456 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 455 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 456 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 457 457 lwr2=reform(lwr2) 458 lwr3=-1*read_ncdf("lwr", st3, en3, file=fi,/nostr, box=box) 458 lwr3=-1*read_ncdf("lwr", st3, en3, file=fi,/nostr, box=box) 459 459 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 460 460 lwr3=reform(lwr3) 461 lwr4=-1*read_ncdf("lwr", st4, en4, file=fi,/nostr, box=box) 462 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 461 lwr4=-1*read_ncdf("lwr", st4, en4, file=fi,/nostr, box=box) 462 lwr4=grossemoyenne(lwr4, "xy",/nan, box=box) 463 463 lwr4=reform(lwr4) 464 464 ; 465 465 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 466 466 initncdf, fi 467 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 468 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 467 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 468 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 469 469 lhf1=reform(lhf1) 470 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 471 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 470 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 471 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 472 472 lhf2=reform(lhf2) 473 lhf3=-1*read_ncdf("lhf", st3, en3, file=fi,/nostr, box=box) 474 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 473 lhf3=-1*read_ncdf("lhf", st3, en3, file=fi,/nostr, box=box) 474 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 475 475 lhf3=reform(lhf3) 476 lhf4=-1*read_ncdf("lhf", st4, en4, file=fi,/nostr, box=box) 477 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 476 lhf4=-1*read_ncdf("lhf", st4, en4, file=fi,/nostr, box=box) 477 lhf4=grossemoyenne(lhf4, "xy",/nan, box=box) 478 478 lhf4=reform(lhf4) 479 479 ; 480 480 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 481 481 initncdf, fi 482 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 483 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 482 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 483 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 484 484 shf1=reform(shf1) 485 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 486 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 485 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 486 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 487 487 shf2=reform(shf2) 488 shf3=-1*read_ncdf("shf", st3, en3, file=fi,/nostr, box=box) 489 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 488 shf3=-1*read_ncdf("shf", st3, en3, file=fi,/nostr, box=box) 489 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 490 490 shf3=reform(shf3) 491 shf4=-1*read_ncdf("shf", st4, en4, file=fi,/nostr, box=box) 492 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 491 shf4=-1*read_ncdf("shf", st4, en4, file=fi,/nostr, box=box) 492 shf4=grossemoyenne(shf4, "xy",/nan, box=box) 493 493 shf4=reform(shf4) 494 495 net1=swr1+lwr1+lhf1+shf1 496 net2=swr2+lwr2+lhf2+shf2 497 net3=swr3+lwr3+lhf3+shf3 494 ; 495 net1=swr1+lwr1+lhf1+shf1 496 net2=swr2+lwr2+lhf2+shf2 497 net3=swr3+lwr3+lhf3+shf3 498 498 net4=swr4+lwr4+lhf4+shf4 499 499 ; 500 500 nce2=[net1,net2,net3,net4] 501 501 help, nce2 502 503 lhf1=0. 504 lhf2=0. 505 lhf3=0. 502 ; 503 lhf1=0. 504 lhf2=0. 505 lhf3=0. 506 506 lhf4=0. 507 shf1=0. 508 shf2=0. 509 shf3=0. 507 shf1=0. 508 shf2=0. 509 shf3=0. 510 510 shf4=0. 511 lwr1=0. 512 lwr2=0. 513 lwr3=0. 511 lwr1=0. 512 lwr2=0. 513 lwr3=0. 514 514 lwr4=0. 515 swr1=0. 516 swr2=0. 517 swr3=0. 515 swr1=0. 516 swr2=0. 517 swr3=0. 518 518 swr4=0. 519 net1=0. 520 net2=0. 521 net3=0. 519 net1=0. 520 net2=0. 521 net3=0. 522 522 net4=0 523 523 ; 524 524 file=project_id_env+"ncep1_flux_19890101_20091231.nc" 525 525 initncdf, file 526 527 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 528 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 526 ; 527 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 528 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 529 529 lhf1=reform(lhf1) 530 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 531 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 530 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 531 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 532 532 lhf2=reform(lhf2) 533 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 534 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 533 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 534 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 535 535 lhf3=reform(lhf3) 536 lhf4=read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 537 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 536 lhf4=read_ncdf('lhf',st4,en4,file=file,/nostr, box=box) 537 lhf4=grossemoyenne(lhf4, "xy", box=box,/nan) 538 538 lhf4=reform(lhf4) 539 540 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 541 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 539 ; 540 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 541 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 542 542 shf1=reform(shf1) 543 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 544 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 543 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 544 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 545 545 shf2=reform(shf2) 546 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 547 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 546 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 547 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 548 548 shf3=reform(shf3) 549 shf4=read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 550 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 549 shf4=read_ncdf('shf',st4,en4,file=file,/nostr, box=box) 550 shf4=grossemoyenne(shf4, "xy", box=box,/nan) 551 551 shf4=reform(shf4) 552 553 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 554 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 552 ; 553 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 554 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 555 555 lwr1=reform(lwr1) 556 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 557 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 556 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 557 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 558 558 lwr2=reform(lwr2) 559 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 560 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 559 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 560 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 561 561 lwr3=reform(lwr3) 562 lwr4=read_ncdf('lwr',st4,en4,file=file,/nostr, box=box) 563 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 562 lwr4=read_ncdf('lwr',st4,en4,file=file,/nostr, box=box) 563 lwr4=grossemoyenne(lwr4, "xy", box=box,/nan) 564 564 lwr4=reform(lwr4) 565 566 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 567 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 565 ; 566 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 567 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 568 568 swr1=reform(swr1) 569 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 570 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 569 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 570 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 571 571 swr2=reform(swr2) 572 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 573 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 572 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 573 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 574 574 swr3=reform(swr3) 575 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 576 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 575 swr4=read_ncdf('swr',st4,en4,file=file,/nostr, box=box) 576 swr4=grossemoyenne(swr4, "xy", box=box,/nan) 577 577 swr4=reform(swr4) 578 579 net1=swr1+(lwr1+shf1+lhf1) 580 net2=swr2+(lwr2+shf2+lhf2) 581 net3=swr3+(lwr3+shf3+lhf3) 578 ; 579 net1=swr1+(lwr1+shf1+lhf1) 580 net2=swr2+(lwr2+shf2+lhf2) 581 net3=swr3+(lwr3+shf3+lhf3) 582 582 net4=swr4+(lwr4+shf4+lhf4) 583 583 nce1=[net1,net2,net3,net4] 584 lhf1=0. 585 lhf2=0. 586 lhf3=0. 584 lhf1=0. 585 lhf2=0. 586 lhf3=0. 587 587 lhf4=0. 588 shf1=0. 589 shf2=0. 590 shf3=0. 588 shf1=0. 589 shf2=0. 590 shf3=0. 591 591 shf4=0. 592 lwr1=0. 593 lwr2=0. 594 lwr3=0. 592 lwr1=0. 593 lwr2=0. 594 lwr3=0. 595 595 lwr4=0. 596 swr1=0. 597 swr2=0. 598 swr3=0. 596 swr1=0. 597 swr2=0. 598 swr3=0. 599 599 swr4=0. 600 net1=0. 601 net2=0. 602 net3=0. 600 net1=0. 601 net2=0. 602 net3=0. 603 603 net4=0 604 604 ; 605 605 ind=where(finite(net)) 606 net=net(ind) 607 era=era(ind) 608 trop=trop(ind) 609 oaf=oaf(ind) 610 nce2=nce2(ind) 606 net=net(ind) 607 era=era(ind) 608 trop=trop(ind) 609 oaf=oaf(ind) 610 nce2=nce2(ind) 611 611 nce1=nce1(ind) 612 612 olr=olr(ind) 613 613 ; 614 614 statistics, net, era, $ 615 615 cor, bias, std, rmsd 616 616 print, cor, bias, std, rmsd 617 617 cstat_era=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 618 618 ; 619 619 statistics, net, trop, $ 620 620 cor, bias, std, rmsd 621 621 print, cor, bias, std, rmsd 622 622 cstat_trop=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 623 623 ; 624 624 statistics, net, oaf, $ 625 625 cor, bias, std, rmsd 626 626 print, cor, bias, std, rmsd 627 627 cstat_oaf=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 628 628 ; 629 629 statistics, net, nce1, $ 630 630 cor, bias, std, rmsd 631 631 print, cor, bias, std, rmsd 632 632 cstat_nce1=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 633 633 ; 634 634 statistics, net, nce2, $ 635 635 cor, bias, std, rmsd 636 636 print, cor, bias, std, rmsd 637 637 cstat_nce2=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 638 638 ; 639 639 statistics, net, olr, $ 640 640 cor, bias, std, rmsd 641 641 print, cor, bias, std, rmsd 642 642 cstat_olr=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 643 644 643 ; 644 ; 645 645 splot, net, era, charsize=1.1, title='SWR - Subdctn. sws Vs ERAI', $ 646 646 xrange=[-200,200], yrange=[-200,200], small=[2,3,1], psym=2, xmin=1, ymin=1 647 647 oplot, [-200,200], [-200,200] 648 648 xyouts, 0,-175, cstat_era, charsize=1. 649 649 ; 650 650 splot, net, trop, charsize=1.1, title='SWR - Subdctn. sws Vs TropFlux',/noer, $ 651 651 xrange=[-200,200], yrange=[-200,200], small=[2,3,2], psym=2, xmin=1, ymin=1 652 652 oplot, [-200,200], [-200,200] 653 653 xyouts, 0,-175, cstat_trop, charsize=1. 654 654 ; 655 655 splot, net, oaf, charsize=1.1, title='SWR - Subdctn. sws Vs OAFlux',/noer, $ 656 656 xrange=[-200,200], yrange=[-200,200], small=[2,3,3], psym=2, xmin=1, ymin=1 657 657 oplot, [-200,200], [-200,200] 658 658 xyouts, 0,-175, cstat_oaf, charsize=1. 659 659 ; 660 660 splot, net, nce1, charsize=1.1, title='SWR - Subdctn. sws Vs NCEP1',/noer, $ 661 661 xrange=[-200,200], yrange=[-200,200], small=[2,3,4], psym=2, xmin=1, ymin=1 662 662 oplot, [-200,200], [-200,200] 663 663 xyouts, 0,-175, cstat_nce1, charsize=1. 664 664 ; 665 665 splot, net, nce2, charsize=1.1, title='SWR - Subdctn. sws Vs NCEP2',/noer, $ 666 666 xrange=[-200,200], yrange=[-200,200], small=[2,3,5], psym=2, xmin=1, ymin=1 667 667 oplot, [-200,200], [-200,200] 668 668 xyouts, 0,-175, cstat_nce2, charsize=1. 669 669 ; 670 670 splot, net, olr, charsize=1.1, title='SWR - Subdctn. sws Vs TropFlux_NRT',/noer, $ 671 671 xrange=[-200,200], yrange=[-200,200], small=[2,3,6], psym=2, xmin=1, ymin=1 672 672 oplot, [-200,200], [-200,200] 673 673 xyouts, 0,-175, cstat_olr, charsize=1. 674 674 ; 675 675 closeps 676 ; 676 677 end -
trunk/src/paper01/fig14/whots_validation_net_2004_2007_all_v10.pro
r94 r97 92 92 key_portrait = 1 93 93 coefpalit=.9 94 94 ; 95 95 openps, FILENAME = project_od_env+"WHOTS_validation_net_2004_2007_all_v10.ps" 96 96 ; partie a changer 97 98 ; ;WHOTS in the NC pacific 2004-0997 ; 98 ; WHOTS in the NC pacific 2004-09 99 99 ;22.45N, 157.54W (202.46E) 100 100 box=[202, 203, 22., 23.] 101 102 ; ;first leg103 101 ; 102 ; first leg 103 ; 104 104 fi=project_id_env+"met_data_WHOTS_2004_2005.txt" 105 105 res=read_ascii(fi,data_start=1) … … 110 110 lwr_04=reform(ff(8,*)) 111 111 net_04=[lhf_04+shf_04+swr_04+lwr_04] 112 112 ; 113 113 fi=project_id_env+"met_data_WHOTS_2005_2006.txt" 114 114 res=read_ascii(fi,data_start=1) … … 119 119 lwr_05=reform(ff(8,*)) 120 120 net_05=[lhf_05+shf_05+swr_05+lwr_05] 121 121 ; 122 122 fi=project_id_env+"met_data_WHOTS_2006_2007.txt" 123 123 res=read_ascii(fi,data_start=1) … … 128 128 lwr_06=reform(ff(8,*)) 129 129 net_06=[lhf_06+shf_06+swr_06+lwr_06] 130 130 ; 131 131 net=[net_04, net_05, net_06] 132 132 ; 133 133 help, net 134 135 ; ;reading other data sets136 137 st1=20040813 134 ; 135 ; reading other data sets 136 ; 137 st1=20040813 138 138 en1=20050725 139 st2=20050728 139 st2=20050728 140 140 en2=20060624 141 st3=20060627 141 st3=20060627 142 142 en3=20070628 143 ;st4=20070626 143 ;st4=20070626 144 144 ;en4=20080606 145 ;st5=20080605 145 ;st5=20080605 146 146 ; en5=20090715 147 147 ; 148 148 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 149 149 initncdf, file 150 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 151 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 150 lhf1=-1*read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 151 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 152 152 lhf1=reform(lhf1) 153 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 154 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 153 lhf2=-1*read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 154 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 155 155 lhf2=reform(lhf2) 156 lhf3=-1*read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 157 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 156 lhf3=-1*read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 157 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 158 158 lhf3=reform(lhf3) 159 159 ; 160 160 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 161 161 initncdf, file 162 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 163 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 162 shf1=-1*read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 163 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 164 164 shf1=reform(shf1) 165 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 166 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 165 shf2=-1*read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 166 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 167 167 shf2=reform(shf2) 168 shf3=-1*read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 169 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 168 shf3=-1*read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 169 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 170 170 shf3=reform(shf3) 171 171 ; 172 172 file=project_id_env+'erai_lwr_19890101_20091231_oafluxgrid.nc' 173 173 initncdf, file 174 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 175 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 174 lwr1=read_ncdf('lwr',st1-1,en1,file=file,/nostr, box=box) 175 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 176 176 lwr1=reform(lwr1) 177 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 178 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 177 lwr2=read_ncdf('lwr',st2-1,en2,file=file,/nostr, box=box) 178 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 179 179 lwr2=reform(lwr2) 180 lwr3=read_ncdf('lwr',st3-1,en3,file=file,/nostr, box=box) 181 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 180 lwr3=read_ncdf('lwr',st3-1,en3,file=file,/nostr, box=box) 181 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 182 182 lwr3=reform(lwr3) 183 183 ; 184 184 file=project_id_env+"erai_swr_19910101_20091231_oafluxgrid.nc" 185 185 initncdf, file 186 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 187 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 186 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 187 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 188 188 swr1=reform(swr1) 189 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 190 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 189 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 190 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 191 191 swr2=reform(swr2) 192 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 193 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 192 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 193 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 194 194 swr3=reform(swr3) 195 196 net1=swr1+(lwr1+shf1+lhf1) 197 net2=swr2+(lwr2+shf2+lhf2) 195 ; 196 net1=swr1+(lwr1+shf1+lhf1) 197 net2=swr2+(lwr2+shf2+lhf2) 198 198 net3=swr3+(lwr3+shf3+lhf3) 199 199 era=[net1,net2,net3] 200 lhf1=0. 201 lhf2=0. 200 lhf1=0. 201 lhf2=0. 202 202 lhf3=0. 203 shf1=0. 204 shf2=0. 203 shf1=0. 204 shf2=0. 205 205 shf3=0. 206 lwr1=0. 207 lwr2=0. 206 lwr1=0. 207 lwr2=0. 208 208 lwr3=0. 209 swr1=0. 210 swr2=0. 209 swr1=0. 210 swr2=0. 211 211 swr3=0. 212 net1=0. 213 net2=0. 212 net1=0. 213 net2=0. 214 214 net3=0. 215 215 help, era 216 216 ; 217 217 file=project_id_env+"TropFlux_19890101_20091231.nc" 218 218 initncdf, file 219 220 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 221 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 219 ; 220 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 221 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 222 222 lhf1=reform(lhf1) 223 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 224 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 223 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 224 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 225 225 lhf2=reform(lhf2) 226 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 227 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 226 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 227 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 228 228 lhf3=reform(lhf3) 229 230 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 231 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 229 ; 230 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 231 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 232 232 shf1=reform(shf1) 233 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 234 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 233 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 234 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 235 235 shf2=reform(shf2) 236 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 237 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 236 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 237 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 238 238 shf3=reform(shf3) 239 240 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 241 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 239 ; 240 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 241 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 242 242 lwr1=reform(lwr1) 243 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 244 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 243 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 244 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 245 245 lwr2=reform(lwr2) 246 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 247 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 246 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 247 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 248 248 lwr3=reform(lwr3) 249 250 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 251 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 249 ; 250 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 251 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 252 252 swr1=reform(swr1) 253 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 254 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 253 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 254 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 255 255 swr2=reform(swr2) 256 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 257 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 256 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 257 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 258 258 swr3=reform(swr3) 259 259 ; 260 260 file=project_id_env+"TropFlux_swr_19890101_20091231_NRT_v50.nc" 261 261 initncdf, file 262 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 263 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 262 olr1=read_ncdf("sw", st1-1, en1, file=file,/nostr, box=box) 263 olr1=grossemoyenne(olr1, "xy",/nan, box=box) 264 264 olr1=reform(olr1) 265 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 266 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 265 olr2=read_ncdf("sw", st2-1, en2, file=file,/nostr, box=box) 266 olr2=grossemoyenne(olr2, "xy",/nan, box=box) 267 267 olr2=reform(olr2) 268 olr3=read_ncdf("sw", st3-1, en3, file=file,/nostr, box=box) 269 olr3=grossemoyenne(olr3, "xy",/nan, box=box) 268 olr3=read_ncdf("sw", st3-1, en3, file=file,/nostr, box=box) 269 olr3=grossemoyenne(olr3, "xy",/nan, box=box) 270 270 olr3=reform(olr3) 271 272 net1=swr1+lwr1+(shf1+lhf1) 273 net2=swr2+lwr2+(shf2+lhf2) 271 ; 272 net1=swr1+lwr1+(shf1+lhf1) 273 net2=swr2+lwr2+(shf2+lhf2) 274 274 net3=swr3+lwr3+(shf3+lhf3) 275 neto_1=olr1+lwr1+lhf1+shf1 276 neto_2=olr2+lwr2+lhf2+shf2 275 neto_1=olr1+lwr1+lhf1+shf1 276 neto_2=olr2+lwr2+lhf2+shf2 277 277 neto_3=olr3+lwr3+lhf3+shf3 278 279 trop=[net1,net2,net3] 278 ; 279 trop=[net1,net2,net3] 280 280 olr=[neto_1,neto_2,neto_3] 281 282 lhf1=0. 283 lhf2=0. 281 ; 282 lhf1=0. 283 lhf2=0. 284 284 lhf3=0. 285 shf1=0. 286 shf2=0. 285 shf1=0. 286 shf2=0. 287 287 shf3=0. 288 lwr1=0. 289 lwr2=0. 288 lwr1=0. 289 lwr2=0. 290 290 lwr3=0. 291 swr1=0. 292 swr2=0. 291 swr1=0. 292 swr2=0. 293 293 swr3=0. 294 net1=0. 295 net2=0. 294 net1=0. 295 net2=0. 296 296 net3=0. 297 neto_1=0 298 neto_2=0 297 neto_1=0 298 neto_2=0 299 299 neto_3=0 300 300 ; 301 301 help, trop, olr 302 302 ; 303 303 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 304 304 initncdf, file 305 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 306 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 305 swr1=read_ncdf("swr", st1, en1, file=file,/nostr, box=box) 306 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 307 307 swr1=reform(swr1) 308 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 309 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 308 swr2=read_ncdf("swr", st2, en2, file=file,/nostr, box=box) 309 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 310 310 swr2=reform(swr2) 311 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 312 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 311 swr3=read_ncdf("swr", st3, en3, file=file,/nostr, box=box) 312 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 313 313 swr3=reform(swr3) 314 314 ; 315 315 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 316 316 initncdf, file 317 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 318 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 317 lwr1=-1*read_ncdf("lwr", st1, en1, file=file,/nostr, box=box) 318 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 319 319 lwr1=reform(lwr1) 320 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 321 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 320 lwr2=-1*read_ncdf("lwr", st2, en2, file=file,/nostr, box=box) 321 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 322 322 lwr2=reform(lwr2) 323 lwr3=-1*read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 324 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 323 lwr3=-1*read_ncdf("lwr", st3, en3, file=file,/nostr, box=box) 324 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 325 325 lwr3=reform(lwr3) 326 326 ; 327 327 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 328 328 initncdf, file 329 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 330 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 329 lhf1=-1*read_ncdf("lhf", st1, en1, file=file,/nostr, box=box) 330 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 331 331 lhf1=reform(lhf1) 332 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 333 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 332 lhf2=-1*read_ncdf("lhf", st2, en2, file=file,/nostr, box=box) 333 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 334 334 lhf2=reform(lhf2) 335 lhf3=-1*read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 336 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 335 lhf3=-1*read_ncdf("lhf", st3, en3, file=file,/nostr, box=box) 336 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 337 337 lhf3=reform(lhf3) 338 338 ; 339 339 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 340 340 initncdf, file 341 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 342 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 341 shf1=-1*read_ncdf("shf", st1, en1, file=file,/nostr, box=box) 342 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 343 343 shf1=reform(shf1) 344 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 345 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 344 shf2=-1*read_ncdf("shf", st2, en2, file=file,/nostr, box=box) 345 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 346 346 shf2=reform(shf2) 347 shf3=-1*read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 348 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 347 shf3=-1*read_ncdf("shf", st3, en3, file=file,/nostr, box=box) 348 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 349 349 shf3=reform(shf3) 350 351 net1=swr1+lwr1+lhf1+shf1 352 net2=swr2+lwr2+lhf2+shf2 350 ; 351 net1=swr1+lwr1+lhf1+shf1 352 net2=swr2+lwr2+lhf2+shf2 353 353 net3=swr3+lwr3+lhf3+shf3 354 354 ; 355 355 oaf=[net1,net2,net3] 356 lhf1=0. 357 lhf2=0. 356 lhf1=0. 357 lhf2=0. 358 358 lhf3=0. 359 shf1=0. 360 shf2=0. 359 shf1=0. 360 shf2=0. 361 361 shf3=0. 362 lwr1=0. 363 lwr2=0. 362 lwr1=0. 363 lwr2=0. 364 364 lwr3=0. 365 swr1=0. 366 swr2=0. 365 swr1=0. 366 swr2=0. 367 367 swr3=0. 368 net1=0. 368 net1=0. 369 369 net2=0. 370 370 net3=0. 371 371 help, oaf 372 372 ; 373 373 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 374 374 initncdf, fi 375 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 376 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 375 swr1=read_ncdf("swr", st1, en1, file=fi,/nostr, box=box) 376 swr1=grossemoyenne(swr1, "xy",/nan, box=box) 377 377 swr1=reform(swr1) 378 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 379 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 378 swr2=read_ncdf("swr", st2, en2, file=fi,/nostr, box=box) 379 swr2=grossemoyenne(swr2, "xy",/nan, box=box) 380 380 swr2=reform(swr2) 381 swr3=read_ncdf("swr", st3, en3, file=fi,/nostr, box=box) 382 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 381 swr3=read_ncdf("swr", st3, en3, file=fi,/nostr, box=box) 382 swr3=grossemoyenne(swr3, "xy",/nan, box=box) 383 383 swr3=reform(swr3) 384 384 ; 385 385 fi=project_id_env+'NCEP2_flux_19890101_20090729.nc" 386 386 initncdf, fi 387 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 388 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 387 lwr1=-1*read_ncdf("lwr", st1, en1, file=fi,/nostr, box=box) 388 lwr1=grossemoyenne(lwr1, "xy",/nan, box=box) 389 389 lwr1=reform(lwr1) 390 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 391 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 390 lwr2=-1*read_ncdf("lwr", st2, en2, file=fi,/nostr, box=box) 391 lwr2=grossemoyenne(lwr2, "xy",/nan, box=box) 392 392 lwr2=reform(lwr2) 393 lwr3=-1*read_ncdf("lwr", st3, en3, file=fi,/nostr, box=box) 394 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 393 lwr3=-1*read_ncdf("lwr", st3, en3, file=fi,/nostr, box=box) 394 lwr3=grossemoyenne(lwr3, "xy",/nan, box=box) 395 395 lwr3=reform(lwr3) 396 396 ; 397 397 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 398 398 initncdf, fi 399 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 400 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 399 lhf1=-1*read_ncdf("lhf", st1, en1, file=fi,/nostr, box=box) 400 lhf1=grossemoyenne(lhf1, "xy",/nan, box=box) 401 401 lhf1=reform(lhf1) 402 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 403 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 402 lhf2=-1*read_ncdf("lhf", st2, en2, file=fi,/nostr, box=box) 403 lhf2=grossemoyenne(lhf2, "xy",/nan, box=box) 404 404 lhf2=reform(lhf2) 405 lhf3=-1*read_ncdf("lhf", st3, en3, file=fi,/nostr, box=box) 406 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 405 lhf3=-1*read_ncdf("lhf", st3, en3, file=fi,/nostr, box=box) 406 lhf3=grossemoyenne(lhf3, "xy",/nan, box=box) 407 407 lhf3=reform(lhf3) 408 408 ; 409 409 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 410 410 initncdf, fi 411 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 412 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 411 shf1=-1*read_ncdf("shf", st1, en1, file=fi,/nostr, box=box) 412 shf1=grossemoyenne(shf1, "xy",/nan, box=box) 413 413 shf1=reform(shf1) 414 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 415 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 414 shf2=-1*read_ncdf("shf", st2, en2, file=fi,/nostr, box=box) 415 shf2=grossemoyenne(shf2, "xy",/nan, box=box) 416 416 shf2=reform(shf2) 417 shf3=-1*read_ncdf("shf", st3, en3, file=fi,/nostr, box=box) 418 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 417 shf3=-1*read_ncdf("shf", st3, en3, file=fi,/nostr, box=box) 418 shf3=grossemoyenne(shf3, "xy",/nan, box=box) 419 419 shf3=reform(shf3) 420 421 net1=swr1+lwr1+lhf1+shf1 422 net2=swr2+lwr2+lhf2+shf2 420 ; 421 net1=swr1+lwr1+lhf1+shf1 422 net2=swr2+lwr2+lhf2+shf2 423 423 net3=swr3+lwr3+lhf3+shf3 424 424 ; 425 425 nce2=[net1,net2,net3] 426 426 help, nce2 427 428 lhf1=0. 429 lhf2=0. 427 ; 428 lhf1=0. 429 lhf2=0. 430 430 lhf3=0. 431 shf1=0. 432 shf2=0. 431 shf1=0. 432 shf2=0. 433 433 shf3=0. 434 lwr1=0. 435 lwr2=0. 434 lwr1=0. 435 lwr2=0. 436 436 lwr3=0. 437 swr1=0. 438 swr2=0. 437 swr1=0. 438 swr2=0. 439 439 swr3=0. 440 net1=0. 441 net2=0. 440 net1=0. 441 net2=0. 442 442 net3=0. 443 443 ; 444 444 file=project_id_env+"ncep1_flux_19890101_20091231.nc" 445 445 initncdf, file 446 447 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 448 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 446 ; 447 lhf1=read_ncdf('lhf',st1,en1,file=file,/nostr, box=box) 448 lhf1=grossemoyenne(lhf1, "xy", box=box,/nan) 449 449 lhf1=reform(lhf1) 450 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 451 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 450 lhf2=read_ncdf('lhf',st2,en2,file=file,/nostr, box=box) 451 lhf2=grossemoyenne(lhf2, "xy", box=box,/nan) 452 452 lhf2=reform(lhf2) 453 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 454 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 453 lhf3=read_ncdf('lhf',st3,en3,file=file,/nostr, box=box) 454 lhf3=grossemoyenne(lhf3, "xy", box=box,/nan) 455 455 lhf3=reform(lhf3) 456 457 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 458 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 456 ; 457 shf1=read_ncdf('shf',st1,en1,file=file,/nostr, box=box) 458 shf1=grossemoyenne(shf1, "xy", box=box,/nan) 459 459 shf1=reform(shf1) 460 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 461 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 460 shf2=read_ncdf('shf',st2,en2,file=file,/nostr, box=box) 461 shf2=grossemoyenne(shf2, "xy", box=box,/nan) 462 462 shf2=reform(shf2) 463 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 464 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 463 shf3=read_ncdf('shf',st3,en3,file=file,/nostr, box=box) 464 shf3=grossemoyenne(shf3, "xy", box=box,/nan) 465 465 shf3=reform(shf3) 466 467 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 468 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 466 ; 467 lwr1=read_ncdf('lwr',st1,en1,file=file,/nostr, box=box) 468 lwr1=grossemoyenne(lwr1, "xy", box=box,/nan) 469 469 lwr1=reform(lwr1) 470 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 471 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 470 lwr2=read_ncdf('lwr',st2,en2,file=file,/nostr, box=box) 471 lwr2=grossemoyenne(lwr2, "xy", box=box,/nan) 472 472 lwr2=reform(lwr2) 473 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 474 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 473 lwr3=read_ncdf('lwr',st3,en3,file=file,/nostr, box=box) 474 lwr3=grossemoyenne(lwr3, "xy", box=box,/nan) 475 475 lwr3=reform(lwr3) 476 477 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 478 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 476 ; 477 swr1=read_ncdf('swr',st1,en1,file=file,/nostr, box=box) 478 swr1=grossemoyenne(swr1, "xy", box=box,/nan) 479 479 swr1=reform(swr1) 480 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 481 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 480 swr2=read_ncdf('swr',st2,en2,file=file,/nostr, box=box) 481 swr2=grossemoyenne(swr2, "xy", box=box,/nan) 482 482 swr2=reform(swr2) 483 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 484 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 483 swr3=read_ncdf('swr',st3,en3,file=file,/nostr, box=box) 484 swr3=grossemoyenne(swr3, "xy", box=box,/nan) 485 485 swr3=reform(swr3) 486 487 net1=swr1+(lwr1+shf1+lhf1) 488 net2=swr2+(lwr2+shf2+lhf2) 486 ; 487 net1=swr1+(lwr1+shf1+lhf1) 488 net2=swr2+(lwr2+shf2+lhf2) 489 489 net3=swr3+(lwr3+shf3+lhf3) 490 490 nce1=[net1,net2,net3] 491 491 help, nce1 492 493 lhf1=0. 494 lhf2=0. 492 ; 493 lhf1=0. 494 lhf2=0. 495 495 lhf3=0. 496 shf1=0. 497 shf2=0. 496 shf1=0. 497 shf2=0. 498 498 shf3=0. 499 lwr1=0. 500 lwr2=0. 499 lwr1=0. 500 lwr2=0. 501 501 lwr3=0. 502 swr1=0. 503 swr2=0. 502 swr1=0. 503 swr2=0. 504 504 swr3=0. 505 net1=0. 506 net2=0. 505 net1=0. 506 net2=0. 507 507 net3=0. 508 508 ; 509 509 ind=where(finite(net)) 510 net=net(ind) 511 era=era(ind) 512 trop=trop(ind) 510 net=net(ind) 511 era=era(ind) 512 trop=trop(ind) 513 513 oaf=oaf(ind) 514 nce2=nce2(ind) 515 nce1=nce1(ind) 514 nce2=nce2(ind) 515 nce1=nce1(ind) 516 516 olr=olr(ind) 517 518 517 ; 518 ; 519 519 statistics, net, era, $ 520 520 cor, bias, std, rmsd 521 521 print, cor, bias, std, rmsd 522 522 cstat_era=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 523 523 ; 524 524 statistics, net, trop, $ 525 525 cor, bias, std, rmsd 526 526 print, cor, bias, std, rmsd 527 527 cstat_trop=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 528 528 ; 529 529 statistics, net, oaf, $ 530 530 cor, bias, std, rmsd 531 531 print, cor, bias, std, rmsd 532 532 cstat_oaf=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 533 533 ; 534 534 statistics, net, nce1, $ 535 535 cor, bias, std, rmsd 536 536 print, cor, bias, std, rmsd 537 537 cstat_nce1=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 538 538 ; 539 539 statistics, net, nce2, $ 540 540 cor, bias, std, rmsd 541 541 print, cor, bias, std, rmsd 542 542 cstat_nce2=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 543 543 ; 544 544 statistics, net, olr, $ 545 545 cor, bias, std, rmsd 546 546 print, cor, bias, std, rmsd 547 547 cstat_olr=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 548 549 548 ; 549 ; 550 550 splot, net, era, charsize=1.1, title='Net Flux - WHOTS Vs ERAI', $ 551 551 xrange=[-250,250], yrange=[-250,250], small=[2,3,1], psym=2, xmin=1, ymin=1 552 552 oplot, [-250,250], [-250,250] 553 553 xyouts, 0,-200, cstat_era, charsize=1. 554 554 ; 555 555 splot, net, trop, charsize=1.1, title='Net Flux - WHOTS Vs TropFlux',/noer, $ 556 556 xrange=[-250,250], yrange=[-250,250], small=[2,3,2], psym=2, xmin=1, ymin=1 557 557 oplot, [-250,250], [-250,250] 558 558 xyouts, 0,-200, cstat_trop, charsize=1. 559 559 ; 560 560 splot, net, oaf, charsize=1.1, title='Net Flux - WHOTS Vs OAFlux',/noer, $ 561 561 xrange=[-250,250], yrange=[-250,250], small=[2,3,3], psym=2, xmin=1, ymin=1 562 562 oplot, [-250,250], [-250,250] 563 563 xyouts, 0,-200, cstat_oaf, charsize=1. 564 564 ; 565 565 splot, net, nce1, charsize=1.1, title='Net Flux - WHOTS Vs NCEP1',/noer, $ 566 566 xrange=[-250,250], yrange=[-250,250], small=[2,3,4], psym=2, xmin=1, ymin=1 567 567 oplot, [-250,250], [-250,250] 568 568 xyouts, 0,-200, cstat_nce1, charsize=1. 569 569 ; 570 570 splot, net, nce2, charsize=1.1, title='Net Flux - WHOTS Vs NCEP2',/noer, $ 571 571 xrange=[-250,250], yrange=[-250,250], small=[2,3,5], psym=2, xmin=1, ymin=1 572 572 oplot, [-250,250], [-250,250] 573 573 xyouts, 0,-200, cstat_nce2, charsize=1. 574 574 ; 575 575 splot, net, olr, charsize=1.1, title='Net Flux - WHOTS Vs TropFlux_NRT',/noer, $ 576 576 xrange=[-250,250], yrange=[-250,250], small=[2,3,6], psym=2, xmin=1, ymin=1 577 577 oplot, [-250,250], [-250,250] 578 578 xyouts, 0,-200, cstat_olr, charsize=1. 579 579 ; 580 580 closeps 581 ; 581 582 end -
trunk/src/paper01/fig15/fig15_timeseries_mjo.pro
r94 r97 82 82 reinitplt, /z,/invert 83 83 key_portrait = 1 84 84 ; 85 85 openps, FILENAME = project_od_env+'fig15_timeseries_mjo.ps' 86 date1=20071001 86 date1=20071001 87 87 date2=20080331 88 date1=19990101 88 date1=19990101 89 89 date2=20021231 90 90 box=[50,80,-12,-5] 91 91 ; 92 92 file_trop=project_id_env+'TropFlux_19890101_20091231.nc' 93 93 initncdf, file_trop … … 95 95 lhf_trop=read_ncdf("lhf", date1, date2, box=box, file=file_trop,/nostr) 96 96 swr_trop=read_ncdf("swr", date1, date2, box=box, file=file_trop,/nostr) 97 lwr_trop=read_ncdf("lwr", date1, date2, box=box, file=file_trop,/nostr) 98 ; ;ref_lw=-1*lwr_trop97 lwr_trop=read_ncdf("lwr", date1, date2, box=box, file=file_trop,/nostr) 98 ; ref_lw=-1*lwr_trop 99 99 trop=swr_trop+(lwr_trop+lhf_trop+shf_trop) 100 100 help, trop 101 101 trop=grossemoyenne(trop, "xy",/nan) 102 102 ; 103 103 file_ncep=project_id_env+'NCEP2_flux_19890101_20090729.nc' 104 104 initncdf, file_ncep … … 107 107 lwr=read_ncdf("lwr", date1, date2, box=box, file=file_ncep,/nostr) 108 108 swr=read_ncdf("swr", date1, date2, box=box, file=file_ncep,/nostr) 109 109 ; 110 110 nce2=swr-(lwr+lhf+shf) 111 111 nce2=grossemoyenne(nce2, "xy",/nan) 112 112 help, nce2 113 113 ; 114 114 file_erai=project_id_env+'erai_fluxes_19930101_20090801_TROP_oafluxgrid.nc' 115 115 initncdf, file_erai … … 117 117 lhf=read_ncdf("lhf", date1, date2, box=box, file=file_erai,/nostr) 118 118 lwr=read_ncdf("lwr", date1, date2, box=box, file=file_erai,/nostr) 119 swr=read_ncdf("swr", date1, date2, box=box, file=file_erai,/nostr) 119 swr=read_ncdf("swr", date1, date2, box=box, file=file_erai,/nostr) 120 120 swr=-1*swr 121 121 era=swr-(lwr+lhf+shf) 122 122 era=grossemoyenne(era, "xy",/nan) 123 123 help, era 124 124 ; 125 125 file=project_id_env+'fluxe_ncep1_19890101_20091231.nc' 126 126 initncdf, file … … 129 129 lhf=read_ncdf("lhf", date1, date2, box=box, file=file,/nostr) 130 130 shf=read_ncdf("shf", date1, date2, box=box, file=file,/nostr) 131 131 ; 132 132 nce=swr+shf+lhf+lwr 133 133 nce=grossemoyenne(nce, "xy",/nan) 134 134 help, nce 135 135 ; 136 136 file_oaf=project_id_env+'shf_oafluxgrid_1985_2008.nc' 137 137 initncdf, file_oaf … … 145 145 file_oaf=project_id_env+'swr_oafluxgrid_1985_2007.nc' 146 146 initncdf, file_oaf 147 swr=read_ncdf("swr", date1, date2, box=box, file=file_oaf,/nostr) 147 swr=read_ncdf("swr", date1, date2, box=box, file=file_oaf,/nostr) 148 148 swr_trop=swr 149 149 oafl=swr-(lwr+lhf+shf) 150 150 help, oafl 151 151 oafl=grossemoyenne(oafl, "xy",/nan) 152 152 ; 153 153 file=project_id_env+"olr_oafluxgrid_30n30s_19890101_20091231.nc" 154 154 initncdf, file 155 155 olr=read_ncdf("olr", date1-1, date2, box=box, file=file,/nostr) 156 156 olr=grossemoyenne(olr, "xy",/nan) 157 157 ; 158 158 help, olr 159 159 ; 160 160 save, olr,trop, nce2, era, nce, filename="netflux_sctr_1999_2002.idl" 161 162 trop_hf=trop*0. 161 ; 162 trop_hf=trop*0. 163 163 nce2_hf=trop*0. 164 era_hf=trop*0. 164 era_hf=trop*0. 165 165 nce_hf=trop*0. 166 167 Thf=30 166 ; 167 Thf=30 168 168 Tlf=90 169 169 tsamp=1. ; monthly … … 193 193 nce_hf=float(fft(ff_ts_f,/inverse)) 194 194 ; 195 195 ; 196 196 help, trop_hf, nce2_hf, era_hf, nce_hf 197 197 nsmooth=15. 198 198 ; 199 199 pltt, ts_smooth(olr,nsmooth,/nan), "t",/rempl, small=[1,3,1], $ 200 200 charsize=1.1, title="a) Outgoing Longwave Radiation", subtitle="" 201 201 ; 202 202 pltt, ts_smooth(trop,nsmooth,/nan), "t",/rempl, -70,130, $ 203 203 small=[1,3,2],/noer, charsize=1.1, title="b) Net Heat Flux", subtitle="" … … 205 205 pltt, ts_smooth(nce2,nsmooth,/nan), "t",/ov1d, color=150 206 206 pltt, ts_smooth(nce,nsmooth,/nan), "t",/ov1d, color=50 207 207 ; 208 208 pltt, trop_hf, "t",/rempl, -80,80, $ 209 209 small=[1,3,3],/noer, title="c) 30-90 day Net Heat Flux", charsize=1.1, subtitle="" … … 211 211 pltt, nce2_hf, "t",/ov1d, color=150 212 212 pltt, nce_hf, "t",/ov1d, color=50 213 213 ; 214 214 closeps 215 ; 215 216 end -
trunk/src/paper01/fig16/fig16_timeseries_nino3.pro
r94 r97 20 20 ; has been produced by 21 21 ; :ref:`++`. 22 22 ; 23 23 ; .. graphviz:: 24 24 ; … … 97 97 @cm_4data 98 98 @cm_project 99 99 ; 100 100 reinitplt, /z,/invert 101 101 key_portrait = 1 102 102 ; 103 103 openps, FILENAME = project_od_env+'fig16_timeseries_nino3.ps' 104 date1=19940101 104 date1=19940101 105 105 date2=20071231 106 106 box=[240,330,-5,5] 107 107 ; 108 108 file_trop=project_od_env+'TropFlux_sst_19890101_20091231.nc' 109 109 initncdf, file_trop 110 110 sst=read_ncdf("sst", date1, date2, box=box, file=file_trop,/nostr) 111 111 sst=grossemoyenne(sst, "xy",/nan) 112 restore, filename=project_od_env+'netflux_nino3_1989_2007.idl "112 restore, filename=project_od_env+'netflux_nino3_1989_2007.idl' 113 113 help, trop, oafl, nce2, era, nce, sst 114 ; ;creating climatology114 ; creating climatology 115 115 ny=(2007-1994)+1 116 116 nt=365*ny 117 117 nsmooth=30. 118 118 ; 119 119 trop_nclim=total(reform(trop(0:nt-1),365,ny),2)/ny 120 120 oafl_nclim=total(reform(oafl(0:nt-1),365,ny),2)/ny … … 123 123 nce_nclim=total(reform(nce(0:nt-1),365,ny),2)/ny 124 124 sst_nclim=total(reform(sst(0:nt-1),365,ny),2)/ny 125 126 trop_nclim=[trop_nclim ,trop_nclim, trop_nclim] 127 trop_nclim=smooth(trop_nclim,nsmooth,/nan) 125 ; 126 trop_nclim=[trop_nclim ,trop_nclim, trop_nclim] 127 trop_nclim=smooth(trop_nclim,nsmooth,/nan) 128 128 trop_nclim=trop_nclim[365:365+364] 129 oafl_nclim=[oafl_nclim ,oafl_nclim, oafl_nclim] 130 oafl_nclim=smooth(oafl_nclim,nsmooth,/nan) 129 oafl_nclim=[oafl_nclim ,oafl_nclim, oafl_nclim] 130 oafl_nclim=smooth(oafl_nclim,nsmooth,/nan) 131 131 oafl_nclim=oafl_nclim[365:365+364] 132 nce2_nclim=[nce2_nclim ,nce2_nclim ,nce2_nclim] 133 nce2_nclim=smooth(nce2_nclim,nsmooth,/nan) 132 nce2_nclim=[nce2_nclim ,nce2_nclim ,nce2_nclim] 133 nce2_nclim=smooth(nce2_nclim,nsmooth,/nan) 134 134 nce2_nclim=nce2_nclim[365:365+364] 135 era_nclim=[era_nclim ,era_nclim, era_nclim] 136 era_nclim=smooth(era_nclim,nsmooth,/nan) 135 era_nclim=[era_nclim ,era_nclim, era_nclim] 136 era_nclim=smooth(era_nclim,nsmooth,/nan) 137 137 era_nclim=era_nclim[365:365+364] 138 nce_nclim=[nce_nclim ,nce_nclim ,nce_nclim] 139 nce_nclim=smooth(nce_nclim,nsmooth,/nan) 138 nce_nclim=[nce_nclim ,nce_nclim ,nce_nclim] 139 nce_nclim=smooth(nce_nclim,nsmooth,/nan) 140 140 nce_nclim=nce_nclim[365:365+364] 141 sst_nclim=[sst_nclim ,sst_nclim ,sst_nclim] 142 sst_nclim=smooth(sst_nclim,nsmooth,/nan) 141 sst_nclim=[sst_nclim ,sst_nclim ,sst_nclim] 142 sst_nclim=smooth(sst_nclim,nsmooth,/nan) 143 143 sst_nclim=sst_nclim[365:365+364] 144 145 time=time 144 ; 145 time=time 146 146 jpt=n_elements(time) 147 147 ; 148 148 caldat, time,mon,day,yea 149 trop_clim=trop*0. 149 trop_clim=trop*0. 150 150 era_clim=trop*0. 151 oafl_clim=trop*0. 151 oafl_clim=trop*0. 152 152 nce_clim=trop*0. 153 nce2_clim=trop*0. 153 nce2_clim=trop*0. 154 154 sst_clim=trop*0. 155 155 ; 156 156 for jt=0,jpt-1 do begin 157 157 jtt=(time(jt)-julday(1,1,yea(jt))) < 364 … … 163 163 sst_clim(jt)=sst_nclim(jtt) 164 164 endfor 165 166 trop_ano=trop-trop_clim 165 ; 166 trop_ano=trop-trop_clim 167 167 oafl_ano=oafl-oafl_clim 168 nce2_ano=nce2-nce2_clim 168 nce2_ano=nce2-nce2_clim 169 169 era_ano=era-era_clim 170 nce_ano=nce-nce_clim 170 nce_ano=nce-nce_clim 171 171 sst_ano=sst-sst_clim 172 173 trop_hf=trop*0. 172 ; 173 trop_hf=trop*0. 174 174 nce2_hf=trop*0. 175 oafl_hf=trop*0. 175 oafl_hf=trop*0. 176 176 era_hf=trop*0. 177 177 nce_hf=trop*0. 178 179 Thf=1 178 ; 179 Thf=1 180 180 Tlf=90 181 181 tsamp=1. ; monthly … … 211 211 ; 212 212 help, trop_hf, nce2_hf, era_hf, nce_hf 213 214 trop_ano=trop_ano-trop_hf 213 ; 214 trop_ano=trop_ano-trop_hf 215 215 oafl_ano=oafl_ano-oafl_hf 216 nce2_ano=nce2_ano-nce2_hf 216 nce2_ano=nce2_ano-nce2_hf 217 217 era_ano=era_ano-era_hf 218 218 nce_ano=nce_ano-nce_hf 219 219 ; 220 220 nsmooth=30. 221 221 marge=[-3,-3,0,4] 222 222 ; 223 223 pltt, ts_smooth(sst_ano,nsmooth,/nan), "t",/rempl,/nocolorb, $ 224 224 small=[1,3,1], title="a) Nino 3 index ", subtitle="", $ 225 225 ytitle="(degree Celcius)", marge=marge, linethick=1.3, charsize=1.1, xmin=-1, ymin=-1 226 226 ; 227 227 nsmooth=90. 228 228 ; 229 229 pltt, ts_smooth(trop,nsmooth,/nan), "t",/rempl,/nocolorb, 0,150, $ 230 230 small=[1,3,2], title="b) Net Heat Flux", subtitle="", color=30, $ … … 234 234 pltt, ts_smooth(nce2,nsmooth,/nan), "t",/ov1d, color=250 235 235 pltt, ts_smooth(nce,nsmooth,/nan), "t",/ov1d, color=65 236 236 ; 237 237 nsmooth=120 238 238 pltt, ts_smooth(trop_ano,nsmooth,/nan), "t",/rempl,/nocolorb, -45,30, color=30, $ … … 243 243 pltt, ts_smooth(nce2_ano,nsmooth,/nan), "t",/ov1d, color=250 244 244 pltt, ts_smooth(nce_ano,nsmooth,/nan), "t",/ov1d, color=65 245 245 ; 246 246 closeps 247 ; 247 248 end -
trunk/src/paper01/fig2/fig2_timeline_diagram.pro
r94 r97 9 9 ; =========== 10 10 ; 11 ; Figure of 11 ; Figure of 12 12 ; ++ 13 13 ; is saved in … … 105 105 key_portrait = 1 106 106 coefpalit=.9 107 107 ; 108 108 openps, FILENAME = project_od_env + 'fig2_timeline_diagram.ps' 109 109 ; 110 110 ; site locations 111 111 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ … … 119 119 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 120 120 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 121 121 ; 122 122 nn=n_elements(sitelist) 123 123 date1=19890101 124 124 date2=20091231 125 125 ; 126 126 no_obs_lh=findgen(7670.)*0. 127 127 no_obs_lw=findgen(7670.)*0. 128 128 no_obs_sw=findgen(7670.)*0. 129 129 ; 130 130 for n=0, nn-1 do begin 131 132 ; ;reading data from mooring133 134 site=sitelist(n) 131 ; 132 ; reading data from mooring 133 ; 134 site=sitelist(n) 135 135 csite=site 136 136 print, csite … … 138 138 y=y_site_location(site) 139 139 if (y ge 0. and y le 30.) then y=y+360. 140 dx=0.5 141 dy=0.5 140 dx=0.5 141 dy=0.5 142 142 box=[y-dy, y+dy, x-dx, x+dx] 143 143 ; 144 144 nsmooth=1. 145 145 print, csite … … 147 147 print, date2 148 148 read_lh, csite, date1, date2, nsmooth, lh 149 150 ind=where(finite(lh)) 149 ; 150 ind=where(finite(lh)) 151 151 lh[ind]=1. 152 ind=where(finite(lh,/nan)) 152 ind=where(finite(lh,/nan)) 153 153 lh[ind]=0. 154 154 no_obs_lh=no_obs_lh+lh 155 155 ; 156 156 endfor 157 157 ; 158 158 sitelist=['5n165e','8s67e','12s55e', '8s55e', '8s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 159 159 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 166 166 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 167 167 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 168 168 ; 169 169 nn=n_elements(sitelist) 170 170 ; 171 171 for n=0, nn-1 do begin 172 173 ; ;reading data from mooring174 175 site=sitelist(n) 172 ; 173 ; reading data from mooring 174 ; 175 site=sitelist(n) 176 176 csite=site 177 177 print, csite … … 179 179 y=y_site_location(site) 180 180 if (y ge 0. and y le 30.) then y=y+360. 181 dx=0.5 182 dy=0.5 181 dx=0.5 182 dy=0.5 183 183 box=[y-dy, y+dy, x-dx, x+dx] 184 184 ; 185 185 nsmooth=1. 186 186 read_sw, csite, date1, date2, box, sw 187 swr=sw 188 ind=where(finite(swr)) 187 swr=sw 188 ind=where(finite(swr)) 189 189 valid=n_elements(ind) 190 190 if (valid ge 10) then begin 191 ind=where(finite(sw)) 191 ind=where(finite(sw)) 192 192 sw[ind]=1. 193 ind=where(finite(sw,/nan)) 193 ind=where(finite(sw,/nan)) 194 194 sw[ind]=0. 195 195 no_obs_sw=no_obs_sw+sw … … 197 197 endfor 198 198 help, no_obs_sw 199 199 ; 200 200 sitelist=['0n110w', '0n140w', '0n165e', '0n170w', '0n23w', '0n80.5e', '0n95w', '10s10w', '12n23w', '15n38w', $ 201 201 '15n90e', '2n95w', '2s95w', '5n95w', '5s95w', '8n95w', '8s67e', '8s95w'] 202 202 ; 203 203 nn=n_elements(sitelist) 204 204 ; 205 205 for n=0, nn-1 do begin 206 207 ; ;reading data from mooring208 209 site=sitelist(n) 206 ; 207 ; reading data from mooring 208 ; 209 site=sitelist(n) 210 210 csite=site 211 211 print, csite … … 213 213 y=y_site_location(site) 214 214 if (y ge 0. and y le 30.) then y=y+360. 215 dx=0.5 216 dy=0.5 215 dx=0.5 216 dy=0.5 217 217 box=[y-dy, y+dy, x-dx, x+dx] 218 218 ; 219 219 nsmooth=1. 220 220 read_lw, csite, date1, date2, box, lw 221 lwr=lw 222 ind=where(finite(lwr)) 221 lwr=lw 222 ind=where(finite(lwr)) 223 223 valid=n_elements(ind) 224 224 if (valid ge 10) then begin 225 ind=where(finite(lw)) 225 ind=where(finite(lw)) 226 226 lw[ind]=1. 227 ind=where(finite(lw,/nan)) 227 ind=where(finite(lw,/nan)) 228 228 lw[ind]=0. 229 229 no_obs_lw=no_obs_lw+lw 230 230 endif 231 231 ; 232 232 endfor 233 233 ; 234 234 help,no_obs_lw 235 235 pltt, no_obs_lh, "t", small=[1,3,1],/rempl,0,80, $ … … 239 239 pltt, no_obs_lw, "t",/ov1d, color=50 240 240 pltt, no_obs_lh, "t",/ov1d 241 241 ; 242 242 closeps 243 243 ; 244 244 end -
trunk/src/paper01/fig2/read_lh.pro
r94 r97 76 76 ; 77 77 @cm_project 78 79 ; ;DEFINE THE OUTPUT TIME AXIS78 ; 79 ; DEFINE THE OUTPUT TIME AXIS 80 80 ; 81 81 jda1=date2jul(date1) … … 83 83 jpt=(jda2-jda1+1l) 84 84 time=jda1+dindgen(jpt) 85 86 85 ; 87 ;; FIRST READ ALL DATA FROM SITE88 ;; - if file exists, extract correct time axis89 ;; - if not, fill variable with missing values90 86 ; 91 92 93 ;;LHF 87 ; FIRST READ ALL DATA FROM SITE 88 ; - if file exists, extract correct time axis 89 ; - if not, fill variable with missing values 90 ; 91 ; 92 ; 93 ;LHF 94 94 fi=project_id_env+'qlat'+csite+'_dy.cdf' 95 95 f=file_test(fi) … … 109 109 print, fi, ' not found' 110 110 endelse 111 111 ; 112 112 ind=where(lh_q ne 1 and lh_q ne 2) 113 114 113 ; 114 ; 115 115 if (ind(0) ne -1) then begin 116 116 lh(ind)=!Values.f_nan 117 117 endif 118 118 ; 119 ; ;Replace missing values by "NaN"119 ; Replace missing values by "NaN" 120 120 ; 121 121 tsvars=['lh'] … … 124 124 for n=0,nn-1 do begin 125 125 var=vars(n) 126 com='ind=where('+var+' ge 1.e20) 126 com='ind=where('+var+' ge 1.e20) 127 127 if (ind(0) ne -1) then '+var+'(ind)=!values.f_nan' 128 128 r=execute(com) 129 129 endfor 130 130 ; 131 131 nsmooth=nsmooth 132 132 lh=smooth(lh,nsmooth,/nan) 133 133 ; 134 134 end -
trunk/src/paper01/fig2/read_lw.pro
r94 r97 76 76 ; 77 77 @cm_project 78 79 ; ;DEFINE THE OUTPUT TIME AXIS78 ; 79 ; DEFINE THE OUTPUT TIME AXIS 80 80 ; 81 81 jda1=date2jul(date1) … … 83 83 jpt=(jda2-jda1+1l) 84 84 time=jda1+dindgen(jpt) 85 86 85 ; 87 ;; FIRST READ ALL DATA FROM SITE88 ;; - if file exists, extract correct time axis89 ;; - if not, fill variable with missing values90 86 ; 91 92 ;; LWR 87 ; FIRST READ ALL DATA FROM SITE 88 ; - if file exists, extract correct time axis 89 ; - if not, fill variable with missing values 90 ; 91 ; 92 ; LWR 93 93 fi=project_id_env+'lwnet'+csite+'_dy.cdf' 94 94 f=file_test(fi) … … 105 105 print, fi, ' not found' 106 106 endelse 107 108 109 107 ; 110 ;; Replace missing values by "NaN" 108 ; 109 ; 110 ; Replace missing values by "NaN" 111 111 ; 112 112 ;tsvars=['at','bf','bp','dyn','emp','evap','heat','iso','lw','lwnet','qlat','qsen','sw', $ … … 114 114 ;depvars=['u','v','d','t','s'] 115 115 vars=['lw'] 116 116 ; 117 117 nn=n_elements(vars) 118 118 for n=0,nn-1 do begin 119 119 var=vars(n) 120 com='ind=where('+var+' ge 1.e20) 120 com='ind=where('+var+' ge 1.e20) 121 121 if (ind(0) ne -1) then '+var+'(ind)=!values.f_nan' 122 122 r=execute(com) 123 123 endfor 124 124 ; 125 125 ;++nsmooth=nsmooth 126 126 ;++lw=smooth(lw,nsmooth,/nan) 127 127 ; 128 128 end -
trunk/src/paper01/fig2/read_sw.pro
r94 r97 25 25 ; {swnet} -> {read_sw} -> {sw} 26 26 ; } 27 27 ; 28 28 ; SEE ALSO 29 29 ; ======== … … 78 78 @cm_project 79 79 ; 80 ; ;DEFINE THE OUTPUT TIME AXIS80 ; DEFINE THE OUTPUT TIME AXIS 81 81 ; 82 82 jda1=date2jul(date1) … … 84 84 jpt=(jda2-jda1+1l) 85 85 time=jda1+dindgen(jpt) 86 87 86 ; 88 ;; FIRST READ ALL DATA FROM SITE89 ;; - if file exists, extract correct time axis90 ;; - if not, fill variable with missing values91 87 ; 92 93 ;; SWR 88 ; FIRST READ ALL DATA FROM SITE 89 ; - if file exists, extract correct time axis 90 ; - if not, fill variable with missing values 91 ; 92 ; 93 ; SWR 94 94 fi=project_id_env+'swnet'+csite+'_dy.cdf' 95 95 f=file_test(fi) 96 sw=fltarr(jpt)+!values.f_nan ; ;swr97 sw_q=fltarr(jpt)+!values.f_nan ; ;swr quality flag98 96 sw=fltarr(jpt)+!values.f_nan ; swr 97 sw_q=fltarr(jpt)+!values.f_nan ; swr quality flag 98 ; 99 99 if (f) then begin 100 100 tt0=time_lec(fi) … … 110 110 print, fi, ' not found' 111 111 endelse 112 112 ; 113 113 ind1=where((sw_q ne 1) and (sw_q ne 2)) 114 114 sw(ind1)=!Values.f_nan 115 116 117 115 ; 118 ;; Replace missing values by "NaN" 116 ; 117 ; 118 ; Replace missing values by "NaN" 119 119 ; 120 120 ;tsvars=['at','bf','bp','dyn','emp','evap','heat','iso','sw','swnet','qlat','qsen','sw', $ … … 122 122 ;depvars=['u','v','d','t','s'] 123 123 vars=['sw'] 124 124 ; 125 125 nn=n_elements(vars) 126 126 for n=0,nn-1 do begin 127 127 var=vars(n) 128 com='ind=where('+var+' ge 1.e20) 128 com='ind=where('+var+' ge 1.e20) 129 129 if (ind(0) ne -1) then '+var+'(ind)=!values.f_nan' 130 130 r=execute(com) 131 131 endfor 132 132 ; 133 133 end 134 -
trunk/src/paper01/fig2/time_lec.pro
r94 r97 46 46 function time_lec, fi 47 47 tt=ncdf_lec(fi,var='time') 48 fid=ncdf_open(fi) 48 fid=ncdf_open(fi) 49 49 vid=ncdf_varid(fid,'time') 50 50 ncdf_attget, fid,vid,'units',orig -
trunk/src/paper01/fig2/x_site_location.pro
r85 r97 60 60 ;- 61 61 function x_site_location, site 62 62 ; 63 63 n1=strpos(site, 's') 64 64 if (n1 gt -1) then begin -
trunk/src/paper01/fig3/air_validation_scatter_2000_2009_v50.pro
r94 r97 97 97 ;- 98 98 pro air_validation_scatter_2000_2009_v50, date1, date2 99 99 ; 100 100 @cm_project 101 101 ; 102 102 reinitplt, /z,/invert 103 103 key_portrait = 1 104 104 ; 105 105 openps, FILENAME = project_od_env+'air_validation_scatter_2000_2009_v50.ps' 106 107 ; ;Give the location of mooring for validation of basic meteorological variables108 109 106 ; 107 ; Give the location of mooring for validation of basic meteorological variables 108 ; 109 ; 110 110 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 111 111 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 118 118 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 119 119 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 120 120 ; 121 121 ocean='global' 122 123 nsmooth=1. ; ;statistics are with 7 day smoothed124 ; ;This program will create the following text files with statistics of respective variables122 ; 123 nsmooth=1. ; statistics are with 7 day smoothed 124 ; This program will create the following text files with statistics of respective variables 125 125 close,/all 126 126 ; 127 127 fi_air_erai=project_id_env+'air_2000_2009_erai_v50.txt' 128 128 openw,1,fi_air_erai … … 135 135 fi_air_ncep1=project_id_env+'air_2000_2009_ncep1_v50.txt' 136 136 openw,5,fi_air_ncep1 137 138 137 ; 138 ; 139 139 printf,1, 'x y cor bias std rmsd mean_tao' 140 140 printf,2, 'x y cor bias std rmsd mean_tao' … … 142 142 printf,4, 'x y cor bias std rmsd mean_tao' 143 143 printf,5, 'x y cor bias std rmsd mean_tao' 144 145 ; ;first reading the whole ERAI uncorrected and corrected data146 144 ; 145 ; first reading the whole ERAI uncorrected and corrected data 146 ; 147 147 file=project_id_env+'erai_t2m_19890101_20091231_oafluxgrid.nc' 148 148 initncdf, file 149 unc=read_ncdf('t2m',date1,date2,file=file,/nostr) 149 unc=read_ncdf('t2m',date1,date2,file=file,/nostr) 150 150 unc=unc-273.15 151 151 help, unc 152 152 ; 153 153 file=project_id_env+'TropFlux_t2m_19890101_20091231_v50.nc' 154 154 initncdf, file 155 cor=read_ncdf('t2m',date1,date2,file=file,/nostr) 155 cor=read_ncdf('t2m',date1,date2,file=file,/nostr) 156 156 cor=cor-273.15 157 157 help, cor 158 158 ; 159 159 file=project_id_env+'OAFlux_basic_variables_1985_2009.nc' 160 160 initncdf, file 161 161 oaf=read_ncdf("air", date1, date2, file=file,/nostr) 162 162 help, oaf 163 163 ; 164 164 fi=project_id_env+'air_2m_ncep2_oafluxgrid_19890101_20091231.nc' 165 165 initncdf, fi … … 167 167 nce=nce-273.15 168 168 help, nce 169 169 ; 170 170 file=project_id_env+'t2m_ncep1_19890101_20091231.nc' 171 171 initncdf, file … … 173 173 nce1=nce1-273.15 174 174 help, nce1 175 175 ; 176 176 nn=n_elements(sitelist) 177 177 for n=0, nn-1 do begin 178 179 ; ;reading data from mooring180 181 site=sitelist(n) 178 ; 179 ; reading data from mooring 180 ; 181 site=sitelist(n) 182 182 csite=site 183 183 print, csite … … 185 185 y=y_site_location(site) 186 186 if (y ge 0. and y le 30.) then y=y+360. 187 dx=0.5 188 dy=0.5 187 dx=0.5 188 dy=0.5 189 189 box=[y-dy, y+dy, x-dx, x+dx] 190 190 read_variables_v2, csite,date1,date2,nsmooth, $ 191 191 at, sw,rh,sst,wu,wv,ws,lh 192 193 194 ; air=rh_to_sphum(rh,at,1008) ;; at -> air temperature 195 air=at ;; air -> sea surface temperature 196 ;; lh -> latent heat flux 197 ;; rh -> relative humidity 198 ;; wu,wv,ws -> wind speed 199 ;; 200 201 202 ;; extracting the corrected and uncorrected ERAI data at the locations 192 ; 193 ; 194 ; air=rh_to_sphum(rh,at,1008) ; at -> air temperature 195 air=at ; air -> sea surface temperature 196 ; lh -> latent heat flux 197 ; rh -> relative humidity 198 ; wu,wv,ws -> wind speed 199 ; 200 ; extracting the corrected and uncorrected ERAI data at the locations 203 201 nsmooth=1. 204 202 ; 205 203 extract_flux_tropflux,unc,box, $ 206 204 tropflux 207 205 uncr=tropflux 208 206 ; 209 207 extract_flux_tropflux,cor,box, $ 210 208 tropflux 211 209 corr=tropflux 212 210 ; 213 211 extract_flux_tropflux,oaf,box, $ 214 212 tropflux 215 213 oafl=tropflux 216 214 ; 217 215 extract_flux_tropflux,nce,box, $ 218 216 tropflux 219 217 ncep=tropflux 220 218 ; 221 219 extract_flux_tropflux,nce1,box, $ 222 220 tropflux 223 221 ncep1=tropflux 224 225 226 ind=where(finite(air)) 227 air=air(ind) 228 uncr_air=uncr(ind) 222 ; 223 ; 224 ind=where(finite(air)) 225 air=air(ind) 226 uncr_air=uncr(ind) 229 227 corr_air=corr(ind) 230 oafl=oafl(ind) 231 ncep=ncep(ind) 228 oafl=oafl(ind) 229 ncep=ncep(ind) 232 230 ncep1=ncep1(ind) 233 231 mean_tao=total(air,/nan)/n_elements(ind) 234 232 ; 235 233 statistics_3var_v1, air, uncr_air, corr_air, $ 236 234 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 237 235 ; 238 236 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,f6.2)' 239 237 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,f6.2)' 240 238 ; 241 239 statistics_3var_v1, air, oafl, ncep, $ 242 240 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 243 241 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,f6.2)' 244 242 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,f6.2)' 245 243 ; 246 244 statistics_3var_v1, air, ncep1, ncep, $ 247 245 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 248 246 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,f6.2)' 249 247 ; 250 248 endfor 251 249 close,/all 252 250 ; 253 251 fi_air_erai=project_id_env+'air_2000_2009_erai_v50.txt' 254 252 res=read_ascii(fi_air_erai,data_start=1) … … 256 254 lat=reform(ff(0,*)) 257 255 lon=reform(ff(1,*)) 258 cor_era=reform(ff(2,*)) 256 cor_era=reform(ff(2,*)) 259 257 cor_erai=total(cor_era)/n_elements(cor_era) 260 bias_era=reform(ff(3,*)) 258 bias_era=reform(ff(3,*)) 261 259 bias_erai=total(bias_era)/n_elements(bias_era) 262 std_era=reform(ff(4,*)) 260 std_era=reform(ff(4,*)) 263 261 std_erai=total(std_era)/n_elements(std_era) 264 rmsd_era=reform(ff(5,*)) 262 rmsd_era=reform(ff(5,*)) 265 263 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 266 mean_tao=reform(ff(6,*)) 264 mean_tao=reform(ff(6,*)) 267 265 mean_erai=bias_era+mean_tao 268 266 ; 269 267 print, '' 270 268 print, 'ERAI' … … 276 274 xyouts, 22.3,30.2, cstat, charsize=0.9 277 275 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 278 276 ; 279 277 oplot, [22,31], [22,31] 280 278 ab=linfit(mean_tao, mean_erai,yfit=yfit) 281 a=float(ab(0)) 279 a=float(ab(0)) 282 280 b=float(ab(1)) 283 281 oplot, mean_tao, yfit, color=250, thick=2 284 282 ; 285 283 fi_air_trop=project_id_env+'air_2000_2009_trop_v50.txt' 286 284 res=read_ascii(fi_air_trop,data_start=1) … … 288 286 lat=reform(ff(0,*)) 289 287 lon=reform(ff(1,*)) 290 cor_tro=reform(ff(2,*)) 288 cor_tro=reform(ff(2,*)) 291 289 cor_trop=total(cor_tro)/n_elements(cor_tro) 292 bias_tro=reform(ff(3,*)) 290 bias_tro=reform(ff(3,*)) 293 291 bias_trop=total(bias_tro)/n_elements(bias_tro) 294 std_tro=reform(ff(4,*)) 292 std_tro=reform(ff(4,*)) 295 293 std_trop=total(std_tro)/n_elements(std_tro) 296 rmsd_tro=reform(ff(5,*)) 294 rmsd_tro=reform(ff(5,*)) 297 295 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 298 mean_tao=reform(ff(6,*)) 296 mean_tao=reform(ff(6,*)) 299 297 mean_trop=bias_tro+mean_tao 300 298 ; 301 299 print, '' 302 300 print, 'TropFlux' 303 301 print, cor_trop, bias_trop, std_trop, rmsd_trop 304 302 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 305 303 ; 306 304 splot, mean_tao, mean_trop, title='T2m - TAO Vs TropFlux', subtitle='', $ 307 305 charsize=1.1, xtitle='TAO T2m', ytitle='TropFlux T2m', small=[2,3,2],/noer, psym=2, $ … … 310 308 xyouts, 22.3,30.2, cstat, charsize=0.9 311 309 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 312 310 ; 313 311 ab=linfit(mean_tao, mean_trop,yfit=yfit) 314 a=float(ab(0)) 312 a=float(ab(0)) 315 313 b=float(ab(1)) 316 314 oplot, mean_tao, yfit, color=250, thick=2 317 315 ; 318 316 fi_air_oaflx=project_id_env+'air_2000_2009_oaflx_v50.txt' 319 317 res=read_ascii(fi_air_oaflx,data_start=1) … … 321 319 lat=reform(ff(0,*)) 322 320 lon=reform(ff(1,*)) 323 cor_oaf=reform(ff(2,*)) 321 cor_oaf=reform(ff(2,*)) 324 322 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 325 bias_oaf=reform(ff(3,*)) 323 bias_oaf=reform(ff(3,*)) 326 324 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 327 std_oaf=reform(ff(4,*)) 325 std_oaf=reform(ff(4,*)) 328 326 std_oafl=total(std_oaf)/n_elements(std_oaf) 329 rmsd_oaf=reform(ff(5,*)) 327 rmsd_oaf=reform(ff(5,*)) 330 328 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 331 mean_tao=reform(ff(6,*)) 329 mean_tao=reform(ff(6,*)) 332 330 mean_oafl=bias_oaf+mean_tao 333 331 ; 334 332 print, '' 335 333 print, 'OAFlux' 336 334 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 337 335 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 338 336 ; 339 337 splot, mean_tao, mean_oafl, title='T2m - TAO Vs OAFlux', subtitle='', $ 340 338 charsize=1.1, xtitle='TAO T2m', ytitle='OAFlux T2m', small=[2,3,3],/noer, psym=2, $ … … 343 341 xyouts, 22.3,30.2, cstat, charsize=0.9 344 342 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 345 343 ; 346 344 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 347 a=float(ab(0)) 345 a=float(ab(0)) 348 346 b=float(ab(1)) 349 347 oplot, mean_tao, yfit, color=250, thick=2 350 348 ; 351 349 fi_air_ncep=project_id_env+'air_2000_2009_ncep_v50.txt' 352 350 res=read_ascii(fi_air_ncep,data_start=1) … … 354 352 lat=reform(ff(0,*)) 355 353 lon=reform(ff(1,*)) 356 cor_nce=reform(ff(2,*)) 354 cor_nce=reform(ff(2,*)) 357 355 cor_ncep=total(cor_nce)/n_elements(cor_nce) 358 bias_nce=reform(ff(3,*)) 356 bias_nce=reform(ff(3,*)) 359 357 bias_ncep=total(bias_nce)/n_elements(bias_nce) 360 std_nce=reform(ff(4,*)) 358 std_nce=reform(ff(4,*)) 361 359 std_ncep=total(std_nce)/n_elements(std_nce) 362 rmsd_nce=reform(ff(5,*)) 360 rmsd_nce=reform(ff(5,*)) 363 361 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 364 mean_tao=reform(ff(6,*)) 362 mean_tao=reform(ff(6,*)) 365 363 mean_ncep=bias_nce+mean_tao 366 364 ; 367 365 print, '' 368 366 print, 'NCEP2' 369 367 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 370 368 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 371 369 ; 372 370 splot, mean_tao, mean_ncep, title='T2m - TAO Vs NCEP2', subtitle='', $ 373 371 charsize=1.1, xtitle='TAO T2m', ytitle='NCEP2 T2m', small=[2,3,4],/noer, psym=2, $ … … 376 374 xyouts, 22.3,30.2, cstat, charsize=0.9 377 375 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 378 376 ; 379 377 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 380 a=float(ab(0)) 378 a=float(ab(0)) 381 379 b=float(ab(1)) 382 380 oplot, mean_tao, yfit, color=250, thick=2 383 381 ; 384 382 fi_air_ncep1=project_id_env+'air_2000_2009_ncep1_v50.txt' 385 383 res=read_ascii(fi_air_ncep1,data_start=1) … … 387 385 lat=reform(ff(0,*)) 388 386 lon=reform(ff(1,*)) 389 cor_nce=reform(ff(2,*)) 387 cor_nce=reform(ff(2,*)) 390 388 cor_ncep=total(cor_nce)/n_elements(cor_nce) 391 bias_nce=reform(ff(3,*)) 389 bias_nce=reform(ff(3,*)) 392 390 bias_ncep=total(bias_nce)/n_elements(bias_nce) 393 std_nce=reform(ff(4,*)) 391 std_nce=reform(ff(4,*)) 394 392 std_ncep=total(std_nce)/n_elements(std_nce) 395 rmsd_nce=reform(ff(5,*)) 393 rmsd_nce=reform(ff(5,*)) 396 394 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 397 mean_tao=reform(ff(6,*)) 395 mean_tao=reform(ff(6,*)) 398 396 mean_ncep=bias_nce+mean_tao 399 397 ; 400 398 print, '' 401 399 print, 'NCEP1' 402 400 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 403 401 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 404 402 ; 405 403 splot, mean_tao, mean_ncep, title='T2m - TAO Vs NCEP_NCAR', subtitle='', $ 406 404 charsize=1.1, xtitle='TAO T2m', ytitle='NCEP', small=[2,3,5],/noer, psym=2, $ … … 409 407 xyouts, 22.3,30.2, cstat, charsize=0.9 410 408 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 411 409 ; 412 410 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 413 a=float(ab(0)) 411 a=float(ab(0)) 414 412 b=float(ab(1)) 415 413 oplot, mean_tao, yfit, color=250, thick=2 416 414 ; 417 415 closeps 418 416 ; 419 417 return 420 418 end … … 443 441 y=strmid(site, n+1, n1-n-1) 444 442 endelse 445 443 ; 446 444 endif else begin 447 445 n1=strpos(site, 'w') … … 456 454 endelse 457 455 endelse 456 ; 458 457 return,float(y) 458 ; 459 459 end -
trunk/src/paper01/fig3/q2m_validation_scatter_2000_2009_v50.pro
r94 r97 99 99 ;- 100 100 pro q2m_validation_scatter_2000_2009_v50, date1, date2 101 101 ; 102 102 @cm_project 103 103 ; 104 104 reinitplt, /z,/invert 105 105 key_portrait = 1 106 106 ; 107 107 openps, FILENAME = project_od_env+'q2m_validation_scatter_2000_2009_v50.ps' 108 109 ; ;Give the location of mooring for validation of basic meteorological variables110 111 108 ; 109 ; Give the location of mooring for validation of basic meteorological variables 110 ; 111 ; 112 112 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 113 113 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 120 120 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 121 121 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 122 122 ; 123 123 ocean='global' 124 125 nsmooth=1. ; ;statistics are with 7 day smoothed126 ; ;This program will create the following text files with statistics of respective variables124 ; 125 nsmooth=1. ; statistics are with 7 day smoothed 126 ; This program will create the following text files with statistics of respective variables 127 127 close,/all 128 128 ; 129 129 fi_q2m_erai=project_id_env+'q2m_2000_2009_erai_v50.txt' 130 130 openw,1,fi_q2m_erai … … 137 137 fi_q2m_ncep1=project_id_env+'q2m_2000_2009_ncep1_v50.txt' 138 138 openw,5,fi_q2m_ncep1 139 140 139 ; 140 ; 141 141 printf,1, 'x y cor bias std rmsd mean_tao' 142 142 printf,2, 'x y cor bias std rmsd mean_tao' … … 144 144 printf,4, 'x y cor bias std rmsd mean_tao' 145 145 printf,5, 'x y cor bias std rmsd mean_tao' 146 147 ; ;first reading the whole ERAI uncorrected and corrected data148 146 ; 147 ; first reading the whole ERAI uncorrected and corrected data 148 ; 149 149 file=project_id_env+'erai_q2m_19890101_20091231_oafluxgrid.nc' 150 150 initncdf, file 151 151 unc=read_ncdf('q2m',date1,date2,file=file,/nostr) 152 152 help, unc 153 153 ; 154 154 file=project_id_env+'TropFlux_q2m_19890101_20091231_v20.nc' 155 155 initncdf, file 156 156 cor=read_ncdf('q2m',date1,date2,file=file,/nostr) 157 157 help, cor 158 158 ; 159 159 file=project_id_env+'OAFlux_basic_variables_1985_2009.nc' 160 160 initncdf, file 161 161 oaf=read_ncdf("sphum", date1, date2, file=file,/nostr) 162 162 help, oaf 163 163 ; 164 164 fi=project_id_env+'sphum_ncep2_oafluxgrid_19890101_20091231.nc' 165 165 initncdf, fi … … 167 167 nce=nce*1000 168 168 help, nce 169 169 ; 170 170 file=project_id_env+'q2m_ncep1_19890101_20091231.nc' 171 171 initncdf, file … … 173 173 nce1=nce1*1000 174 174 help, nce1 175 175 ; 176 176 nn=n_elements(sitelist) 177 177 for n=0, nn-1 do begin 178 179 ; ;reading data from mooring180 181 site=sitelist(n) 178 ; 179 ; reading data from mooring 180 ; 181 site=sitelist(n) 182 182 csite=site 183 183 print, csite … … 185 185 y=y_site_location(site) 186 186 if (y ge 0. and y le 30.) then y=y+360. 187 dx=0.5 188 dy=0.5 187 dx=0.5 188 dy=0.5 189 189 box=[y-dy, y+dy, x-dx, x+dx] 190 190 read_variables_v2, csite,date1,date2,nsmooth, $ 191 191 at, sw,rh,sst,wu,wv,ws,lh 192 193 194 q2m=rh_to_sphum(rh,at,1008) ;; at -> q2m temperature 195 ; q2m=at ;; q2m -> sea surface temperature 196 ;; lh -> latent heat flux 197 ;; rh -> relative humidity 198 ;; wu,wv,ws -> wind speed 199 ;; 200 201 202 ;; extracting the corrected and uncorrected ERAI data at the locations 192 ; 193 ; 194 q2m=rh_to_sphum(rh,at,1008) ; at -> q2m temperature 195 ; q2m=at ; q2m -> sea surface temperature 196 ; lh -> latent heat flux 197 ; rh -> relative humidity 198 ; wu,wv,ws -> wind speed 199 ; 200 ; extracting the corrected and uncorrected ERAI data at the locations 203 201 nsmooth=1. 204 202 ; 205 203 extract_flux_tropflux,unc,box, $ 206 204 tropflux 207 205 uncr=tropflux 208 206 ; 209 207 extract_flux_tropflux,cor,box, $ 210 208 tropflux 211 209 corr=tropflux 212 210 ; 213 211 extract_flux_tropflux,oaf,box, $ 214 212 tropflux 215 213 oafl=tropflux 216 214 ; 217 215 extract_flux_tropflux,nce,box, $ 218 216 tropflux 219 217 ncep=tropflux 220 218 ; 221 219 extract_flux_tropflux,nce1,box, $ 222 220 tropflux 223 221 ncep1=tropflux 224 225 ind=where(finite(q2m)) 226 q2m=q2m(ind) 227 uncr_q2m=uncr(ind) 222 ; 223 ind=where(finite(q2m)) 224 q2m=q2m(ind) 225 uncr_q2m=uncr(ind) 228 226 corr_q2m=corr(ind) 229 oafl=oafl(ind) 230 ncep=ncep(ind) 227 oafl=oafl(ind) 228 ncep=ncep(ind) 231 229 ncep1=ncep1(ind) 232 230 mean_tao=total(q2m,/nan)/n_elements(ind) 233 231 ; 234 232 statistics_3var_v1, q2m, uncr_q2m, corr_q2m, $ 235 233 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 236 234 ; 237 235 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,f6.2)' 238 236 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,f6.2)' 239 237 ; 240 238 statistics_3var_v1, q2m, oafl, ncep, $ 241 239 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 242 240 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,f6.2)' 243 241 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,f6.2)' 244 242 ; 245 243 statistics_3var_v1, q2m, ncep1, ncep, $ 246 244 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 247 245 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,f6.2)' 248 246 ; 249 247 endfor 250 248 close,/all 251 249 ; 252 250 fi_q2m_erai=project_id_env+'q2m_2000_2009_erai_v50.txt' 253 251 res=read_ascii(fi_q2m_erai,data_start=1) … … 255 253 lat=reform(ff(0,*)) 256 254 lon=reform(ff(1,*)) 257 cor_era=reform(ff(2,*)) 255 cor_era=reform(ff(2,*)) 258 256 cor_erai=total(cor_era)/n_elements(cor_era) 259 bias_era=reform(ff(3,*)) 257 bias_era=reform(ff(3,*)) 260 258 bias_erai=total(bias_era)/n_elements(bias_era) 261 std_era=reform(ff(4,*)) 259 std_era=reform(ff(4,*)) 262 260 std_erai=total(std_era)/n_elements(std_era) 263 rmsd_era=reform(ff(5,*)) 261 rmsd_era=reform(ff(5,*)) 264 262 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 265 mean_tao=reform(ff(6,*)) 263 mean_tao=reform(ff(6,*)) 266 264 mean_erai=bias_era+mean_tao 267 265 ; 268 266 print, '' 269 267 print, 'ERAI' … … 275 273 xyouts, 12,20.2, cstat, charsize=0.9 276 274 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 277 275 ; 278 276 oplot, [11,21], [11,21] 279 277 ab=linfit(mean_tao, mean_erai,yfit=yfit) 280 a=float(ab(0)) 278 a=float(ab(0)) 281 279 b=float(ab(1)) 282 280 oplot, mean_tao, yfit, color=250, thick=2 283 281 ; 284 282 fi_q2m_trop=project_id_env+'q2m_2000_2009_trop_v50.txt' 285 283 res=read_ascii(fi_q2m_trop,data_start=1) … … 287 285 lat=reform(ff(0,*)) 288 286 lon=reform(ff(1,*)) 289 cor_tro=reform(ff(2,*)) 287 cor_tro=reform(ff(2,*)) 290 288 cor_trop=total(cor_tro)/n_elements(cor_tro) 291 bias_tro=reform(ff(3,*)) 289 bias_tro=reform(ff(3,*)) 292 290 bias_trop=total(bias_tro)/n_elements(bias_tro) 293 std_tro=reform(ff(4,*)) 291 std_tro=reform(ff(4,*)) 294 292 std_trop=total(std_tro)/n_elements(std_tro) 295 rmsd_tro=reform(ff(5,*)) 293 rmsd_tro=reform(ff(5,*)) 296 294 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 297 mean_tao=reform(ff(6,*)) 295 mean_tao=reform(ff(6,*)) 298 296 mean_trop=bias_tro+mean_tao 299 297 ; 300 298 print, '' 301 299 print, 'TropFlux' 302 300 print, cor_trop, bias_trop, std_trop, rmsd_trop 303 301 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 304 302 ; 305 303 splot, mean_tao, mean_trop, title='Q2m - TAO Vs TropFlux', subtitle='', $ 306 304 charsize=1.1, xtitle='TAO Q2m', ytitle='TropFlux Q2m', small=[2,3,2],/noer, psym=2, $ … … 309 307 xyouts, 12,20.2, cstat, charsize=0.9 310 308 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 311 309 ; 312 310 ab=linfit(mean_tao, mean_trop,yfit=yfit) 313 a=float(ab(0)) 311 a=float(ab(0)) 314 312 b=float(ab(1)) 315 313 oplot, mean_tao, yfit, color=250, thick=2 316 314 ; 317 315 fi_q2m_oaflx=project_id_env+'q2m_2000_2009_oaflx_v50.txt' 318 316 res=read_ascii(fi_q2m_oaflx,data_start=1) … … 320 318 lat=reform(ff(0,*)) 321 319 lon=reform(ff(1,*)) 322 cor_oaf=reform(ff(2,*)) 320 cor_oaf=reform(ff(2,*)) 323 321 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 324 bias_oaf=reform(ff(3,*)) 322 bias_oaf=reform(ff(3,*)) 325 323 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 326 std_oaf=reform(ff(4,*)) 324 std_oaf=reform(ff(4,*)) 327 325 std_oafl=total(std_oaf)/n_elements(std_oaf) 328 rmsd_oaf=reform(ff(5,*)) 326 rmsd_oaf=reform(ff(5,*)) 329 327 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 330 mean_tao=reform(ff(6,*)) 328 mean_tao=reform(ff(6,*)) 331 329 mean_oafl=bias_oaf+mean_tao 332 330 ; 333 331 print, '' 334 332 print, 'OAFlux' 335 333 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 336 334 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 337 335 ; 338 336 splot, mean_tao, mean_oafl, title='Q2m - TAO Vs OAFlux', subtitle='', $ 339 337 charsize=1.1, xtitle='TAO Q2m', ytitle='OAFlux Q2m', small=[2,3,3],/noer, psym=2, $ … … 342 340 xyouts, 12,20.2, cstat, charsize=0.9 343 341 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 344 342 ; 345 343 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 346 a=float(ab(0)) 344 a=float(ab(0)) 347 345 b=float(ab(1)) 348 346 oplot, mean_tao, yfit, color=250, thick=2 349 350 347 ; 348 ; 351 349 fi_q2m_ncep=project_id_env+'q2m_2000_2009_ncep_v50.txt' 352 350 res=read_ascii(fi_q2m_ncep,data_start=1) … … 354 352 lat=reform(ff(0,*)) 355 353 lon=reform(ff(1,*)) 356 cor_nce=reform(ff(2,*)) 354 cor_nce=reform(ff(2,*)) 357 355 cor_ncep=total(cor_nce)/n_elements(cor_nce) 358 bias_nce=reform(ff(3,*)) 356 bias_nce=reform(ff(3,*)) 359 357 bias_ncep=total(bias_nce)/n_elements(bias_nce) 360 std_nce=reform(ff(4,*)) 358 std_nce=reform(ff(4,*)) 361 359 std_ncep=total(std_nce)/n_elements(std_nce) 362 rmsd_nce=reform(ff(5,*)) 360 rmsd_nce=reform(ff(5,*)) 363 361 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 364 mean_tao=reform(ff(6,*)) 362 mean_tao=reform(ff(6,*)) 365 363 mean_ncep=bias_nce+mean_tao 366 364 ; 367 365 print, '' 368 366 print, 'NCEP2' 369 367 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 370 368 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 371 369 ; 372 370 splot, mean_tao, mean_ncep, title='Q2m - TAO Vs NCEP2', subtitle='', $ 373 371 charsize=1.1, xtitle='TAO Q2m', ytitle='NCEP2 Q2m', small=[2,3,4],/noer, psym=2, $ … … 376 374 xyouts, 12,20.2, cstat, charsize=0.9 377 375 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 378 376 ; 379 377 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 380 a=float(ab(0)) 378 a=float(ab(0)) 381 379 b=float(ab(1)) 382 380 oplot, mean_tao, yfit, color=250, thick=2 383 381 ; 384 382 fi_q2m_ncep1=project_id_env+'q2m_2000_2009_ncep1_v50.txt' 385 383 res=read_ascii(fi_q2m_ncep1,data_start=1) … … 387 385 lat=reform(ff(0,*)) 388 386 lon=reform(ff(1,*)) 389 cor_nce=reform(ff(2,*)) 387 cor_nce=reform(ff(2,*)) 390 388 cor_ncep=total(cor_nce)/n_elements(cor_nce) 391 bias_nce=reform(ff(3,*)) 389 bias_nce=reform(ff(3,*)) 392 390 bias_ncep=total(bias_nce)/n_elements(bias_nce) 393 std_nce=reform(ff(4,*)) 391 std_nce=reform(ff(4,*)) 394 392 std_ncep=total(std_nce)/n_elements(std_nce) 395 rmsd_nce=reform(ff(5,*)) 393 rmsd_nce=reform(ff(5,*)) 396 394 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 397 mean_tao=reform(ff(6,*)) 395 mean_tao=reform(ff(6,*)) 398 396 mean_ncep=bias_nce+mean_tao 399 397 ; 400 398 print, '' 401 399 print, 'NCEP1' 402 400 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 403 401 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 404 402 ; 405 403 splot, mean_tao, mean_ncep, title='Q2m - TAO Vs NCEP', subtitle='', $ 406 404 charsize=1.1, xtitle='TAO Q2m', ytitle='NCEP1 Q2m', small=[2,3,5],/noer, psym=2, $ … … 409 407 xyouts, 12,20.2, cstat, charsize=0.9 410 408 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 411 409 ; 412 410 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 413 a=float(ab(0)) 411 a=float(ab(0)) 414 412 b=float(ab(1)) 415 413 oplot, mean_tao, yfit, color=250, thick=2 416 414 ; 417 415 closeps 418 416 ; 419 417 end -
trunk/src/paper01/fig3/read_variables_v2.pro
r94 r97 90 90 @cm_project 91 91 ; 92 ; ;DEFINE THE OUTPUT TIME AXIS92 ; DEFINE THE OUTPUT TIME AXIS 93 93 ; 94 94 jda1=date2jul(date1) … … 96 96 jpt=(jda2-jda1+1l) 97 97 time=jda1+dindgen(jpt) 98 99 ; 100 ; ;FIRST READ ALL DATA FROM SITE101 ; ;- if file exists, extract correct time axis102 ; ;- if not, fill variable with missing values103 ; 104 ; ;SHORTWAVE98 ; 99 ; 100 ; FIRST READ ALL DATA FROM SITE 101 ; - if file exists, extract correct time axis 102 ; - if not, fill variable with missing values 103 ; 104 ;SHORTWAVE 105 105 fi=project_id_env+'rad'+csite+'_dy.cdf' 106 106 f=file_test(fi) … … 121 121 print, fi, ' not found' 122 122 endelse 123 123 ; 124 124 ind_sw=where(sw_q ne 1. and sw_q ne 2.) 125 126 ; ;LHF125 ; 126 ;LHF 127 127 fi=project_id_env+'qlat'+csite+'_dy.cdf' 128 128 f=file_test(fi) … … 142 142 print, fi, ' not found' 143 143 endelse 144 145 ; ;POSITION144 ; 145 ;POSITION 146 146 fi=project_id_env+'pos'+csite+'_dy.cdf' 147 147 f=file_test(fi) … … 161 161 print, fi, ' not found' 162 162 endelse 163 164 165 ; ;MET PARAMETERS163 ; 164 ; 165 ;MET PARAMETERS 166 166 fi=project_id_env+'met'+csite+'_dy.cdf' 167 167 f=file_test(fi) … … 176 176 sst=fltarr(jpt)+!values.f_nan 177 177 sst_q=fltarr(jpt)+!values.f_nan 178 178 ; 179 179 if (f) then begin 180 180 tt0=time_lec(fi) … … 206 206 print, fi, ' not found' 207 207 endelse 208 209 ind_at=where(at_q ne 1 and at_q ne 2) 208 ; 209 ind_at=where(at_q ne 1 and at_q ne 2) 210 210 ind_ws=where(ws_q ne 1 and ws_q ne 2) 211 ind_rh=where(rh_q ne 1 and rh_q ne 2) 211 ind_rh=where(rh_q ne 1 and rh_q ne 2) 212 212 ind_sst=where(sst_q ne 1 and sst_q ne 2) 213 213 ind_lh=where(lh_q ne 1 and lh_q ne 2) 214 214 ; 215 215 ind=union(ind_at, union(ind_rh, union(ind_ws, union(ind_lh, ind_sst)))) 216 216 ; 217 217 if (ind(0) ne -1) then begin 218 sw(ind)=!Values.f_nan 218 sw(ind)=!Values.f_nan 219 219 at(ind)=!Values.f_nan 220 rh(ind)=!Values.f_nan 220 rh(ind)=!Values.f_nan 221 221 ws(ind)=!Values.f_nan 222 sst(ind)=!Values.f_nan 222 sst(ind)=!Values.f_nan 223 223 lh(ind)=!Values.f_nan 224 wu(ind)=!Values.f_nan 224 wu(ind)=!Values.f_nan 225 225 wv(ind)=!Values.f_nan 226 226 endif 227 227 ; 228 ; ;Replace missing values by "NaN"228 ; Replace missing values by "NaN" 229 229 ; 230 230 tsvars=['at','sw','rh','sst','wu','wv','ws','lat','lon'] … … 233 233 for n=0,nn-1 do begin 234 234 var=vars(n) 235 com='ind=where('+var+' ge 1.e20) 235 com='ind=where('+var+' ge 1.e20) 236 236 if (ind(0) ne -1) then '+var+'(ind)=!values.f_nan' 237 237 r=execute(com) 238 238 endfor 239 239 ; 240 240 nsmooth=nsmooth 241 at=smooth(at,nsmooth,/nan) 241 at=smooth(at,nsmooth,/nan) 242 242 sst=smooth(sst,nsmooth,/nan) 243 lh=smooth(lh,nsmooth,/nan) 243 lh=smooth(lh,nsmooth,/nan) 244 244 rh=smooth(rh,nsmooth,/nan) 245 wu=smooth(wu,nsmooth,/nan) 245 wu=smooth(wu,nsmooth,/nan) 246 246 wv=smooth(wv,nsmooth,/nan) 247 ws=smooth(ws,nsmooth,/nan) 247 ws=smooth(ws,nsmooth,/nan) 248 248 sw=smooth(sw,nsmooth,/nan) 249 249 ; 250 250 end 251 252 251 ; 253 252 function time_lec, fi 254 253 tt=ncdf_lec(fi,var='time') 255 fid=ncdf_open(fi) 254 fid=ncdf_open(fi) 256 255 vid=ncdf_varid(fid,'time') 257 256 ncdf_attget, fid,vid,'units',orig … … 261 260 dd=long(strmid(orig,19,2)) 262 261 tt=julday(mm,dd,yy,12,00)+tt 262 ; 263 263 return, tt 264 ; 264 265 end -
trunk/src/paper01/fig3/sst_validation_scatter_2000_2009_v50.pro
r94 r97 95 95 reinitplt, /z,/invert 96 96 key_portrait = 1 97 97 ; 98 98 openps, FILENAME = project_od_env+'sst_validation_scatter_2000_2009_v50.ps' 99 100 ; ;Give the location of mooring for validation of basic meteorological variables101 102 99 ; 100 ; Give the location of mooring for validation of basic meteorological variables 101 ; 102 ; 103 103 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 104 104 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 111 111 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 112 112 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 113 113 ; 114 114 ocean='global' 115 116 nsmooth=1. ; ;statistics are with 7 day smoothed117 ; ;This program will create the following text files with statistics of respective variables115 ; 116 nsmooth=1. ; statistics are with 7 day smoothed 117 ; This program will create the following text files with statistics of respective variables 118 118 close,/all 119 119 ; 120 120 fi_sst_erai=project_id_env+'sst_2000_2009_erai_v50.txt' 121 121 openw,1,fi_sst_erai … … 130 130 fi_sst_ncep1=project_id_env+'sst_2000_2009_ncep1_v50.txt' 131 131 openw,6,fi_sst_ncep1 132 133 134 132 ; 133 ; 134 ; 135 135 printf,1, 'x y cor bias std rmsd mean_tao' 136 136 printf,2, 'x y cor bias std rmsd mean_tao' … … 139 139 printf,5, 'x y cor bias std rmsd mean_tao' 140 140 printf,6, 'x y cor bias std rmsd mean_tao' 141 142 ; ;first reading the whole ERAI uncorrected and corrected data143 141 ; 142 ; first reading the whole ERAI uncorrected and corrected data 143 ; 144 144 file=project_id_env+'erai_sst_19890101_20091231_oafluxgrid.nc' 145 145 initncdf, file 146 unc=read_ncdf('sst',date1,date2,file=file,/nostr) 146 unc=read_ncdf('sst',date1,date2,file=file,/nostr) 147 147 unc=unc-273.15 148 148 help, unc 149 149 ; 150 150 file=project_id_env+'TropFlux_sst_19890101_20091231_v20.nc' 151 151 initncdf, file 152 cor=read_ncdf('sst',date1,date2,file=file,/nostr) 152 cor=read_ncdf('sst',date1,date2,file=file,/nostr) 153 153 cor=cor-273.15 154 154 help, cor 155 155 ; 156 156 file=project_id_env+'OAFlux_basic_variables_1985_2009.nc' 157 157 initncdf, file 158 158 oaf=read_ncdf("sst", date1, date2, file=file,/nostr) 159 159 help, oaf 160 160 ; 161 161 fi=project_id_env+'sst_ncep2_oafluxgrid_19890101_20091231.nc' 162 162 initncdf, fi … … 164 164 nce=nce-273.15 165 165 help, nce 166 166 ; 167 167 fi=project_id_env+'tmi_OI_oafluxgrid_30N30S.nc' 168 168 initncdf, fi 169 169 sst_tmi=read_ncdf("sst", date1, date2, file=fi,/nostr) 170 170 help, sst_tmi 171 171 ; 172 172 file=project_id_env+'sst_ncep1_19890101_20091231.nc' 173 173 initncdf, file … … 175 175 nce1=nce1-273.15 176 176 help, nce1 177 177 ; 178 178 nn=n_elements(sitelist) 179 179 for n=0, nn-1 do begin 180 181 ; ;reading data from mooring182 183 site=sitelist(n) 180 ; 181 ; reading data from mooring 182 ; 183 site=sitelist(n) 184 184 csite=site 185 185 print, csite … … 187 187 y=y_site_location(site) 188 188 if (y ge 0. and y le 30.) then y=y+360. 189 dx=0.5 190 dy=0.5 189 dx=0.5 190 dy=0.5 191 191 box=[y-dy, y+dy, x-dx, x+dx] 192 192 read_variables_v2, csite,date1,date2,nsmooth, $ 193 193 at, sw,rh,sst,wu,wv,ws,lh 194 195 196 ind=where(finite(sst)) 194 ; 195 ; 196 ind=where(finite(sst)) 197 197 valid=n_elements(ind) 198 198 ; 199 199 if (valid ge 180) then begin 200 201 ; ;extracting the corrected and uncorrected ERAI data at the locations200 ; 201 ; extracting the corrected and uncorrected ERAI data at the locations 202 202 nsmooth=1. 203 203 ; 204 204 extract_flux_tropflux,unc,box, $ 205 205 tropflux 206 206 uncr=tropflux 207 207 ; 208 208 extract_flux_tropflux,cor,box, $ 209 209 tropflux 210 210 corr=tropflux 211 211 ; 212 212 extract_flux_tropflux,oaf,box, $ 213 213 tropflux 214 214 oafl=tropflux 215 215 ; 216 216 extract_flux_tropflux,nce,box, $ 217 217 tropflux 218 218 ncep=tropflux 219 219 ; 220 220 extract_flux_tropflux,sst_tmi,box, $ 221 221 tropflux 222 222 tmi=tropflux 223 223 ; 224 224 extract_flux_tropflux,nce1,box, $ 225 225 tropflux 226 226 ncep1=tropflux 227 228 229 ind=where(finite(sst)) 230 sst=sst(ind) 231 uncr_sst=uncr(ind) 227 ; 228 ; 229 ind=where(finite(sst)) 230 sst=sst(ind) 231 uncr_sst=uncr(ind) 232 232 corr_sst=corr(ind) 233 oafl=oafl(ind) 234 ncep=ncep(ind) 235 tmi=tmi(ind) 233 oafl=oafl(ind) 234 ncep=ncep(ind) 235 tmi=tmi(ind) 236 236 ncep1=ncep1(ind) 237 237 mean_tao=total(sst,/nan)/n_elements(ind) 238 238 ; 239 239 statistics_3var_v1, sst, uncr_sst, corr_sst, $ 240 240 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 241 241 ; 242 242 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,f6.2)' 243 243 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,f6.2)' 244 244 ; 245 245 statistics_3var_v1, sst, oafl, ncep, $ 246 246 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 247 247 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,f6.2)' 248 248 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,f6.2)' 249 249 ; 250 250 statistics_3var_v1, sst, tmi, ncep1, $ 251 251 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 252 252 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,f6.2)' 253 253 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,f6.2)' 254 254 ; 255 255 endif 256 256 ; 257 257 endfor 258 258 close,/all 259 259 ; 260 260 fi_sst_erai=project_id_env+'sst_2000_2009_v50_erai.txt' 261 261 res=read_ascii(fi_sst_erai,data_start=1) … … 263 263 lat=reform(ff(0,*)) 264 264 lon=reform(ff(1,*)) 265 cor_era=reform(ff(2,*)) 265 cor_era=reform(ff(2,*)) 266 266 cor_erai=total(cor_era)/n_elements(cor_era) 267 bias_era=reform(ff(3,*)) 267 bias_era=reform(ff(3,*)) 268 268 bias_erai=total(bias_era)/n_elements(bias_era) 269 std_era=reform(ff(4,*)) 269 std_era=reform(ff(4,*)) 270 270 std_erai=total(std_era)/n_elements(std_era) 271 rmsd_era=reform(ff(5,*)) 271 rmsd_era=reform(ff(5,*)) 272 272 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 273 mean_tao=reform(ff(6,*)) 273 mean_tao=reform(ff(6,*)) 274 274 mean_erai=bias_era+mean_tao 275 275 ; 276 276 print, '' 277 277 print, 'ERAI' … … 283 283 xyouts, 22.3,30.2, cstat, charsize=0.9 284 284 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 285 285 ; 286 286 oplot, [22,31], [22,31] 287 287 ab=linfit(mean_tao, mean_erai,yfit=yfit) 288 a=float(ab(0)) 289 b=float(ab(1)) 290 oplot, mean_tao, yfit, color=250, thick=2 291 288 a=float(ab(0)) 289 b=float(ab(1)) 290 oplot, mean_tao, yfit, color=250, thick=2 291 ; 292 292 fi_sst_trop=project_id_env+'sst_2000_2009_v50_trop.txt' 293 293 res=read_ascii(fi_sst_trop,data_start=1) … … 295 295 lat=reform(ff(0,*)) 296 296 lon=reform(ff(1,*)) 297 cor_tro=reform(ff(2,*)) 297 cor_tro=reform(ff(2,*)) 298 298 cor_trop=total(cor_tro)/n_elements(cor_tro) 299 bias_tro=reform(ff(3,*)) 299 bias_tro=reform(ff(3,*)) 300 300 bias_trop=total(bias_tro)/n_elements(bias_tro) 301 std_tro=reform(ff(4,*)) 301 std_tro=reform(ff(4,*)) 302 302 std_trop=total(std_tro)/n_elements(std_tro) 303 rmsd_tro=reform(ff(5,*)) 303 rmsd_tro=reform(ff(5,*)) 304 304 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 305 mean_tao=reform(ff(6,*)) 305 mean_tao=reform(ff(6,*)) 306 306 mean_trop=bias_tro+mean_tao 307 307 ; 308 308 print, '' 309 309 print, 'TropFlux' 310 310 print, cor_trop, bias_trop, std_trop, rmsd_trop 311 311 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 312 312 ; 313 313 splot, mean_tao, mean_trop, title='SST - TAO Vs TropFlux', subtitle='', $ 314 314 charsize=1.1, xtitle='TAO SST', ytitle='TropFlux SST', small=[2,3,2],/noer, psym=2, $ … … 317 317 xyouts, 22.3,30.2, cstat, charsize=0.9 318 318 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 319 319 ; 320 320 ab=linfit(mean_tao, mean_trop,yfit=yfit) 321 a=float(ab(0)) 322 b=float(ab(1)) 323 oplot, mean_tao, yfit, color=250, thick=2 324 321 a=float(ab(0)) 322 b=float(ab(1)) 323 oplot, mean_tao, yfit, color=250, thick=2 324 ; 325 325 fi_sst_oaflx=project_id_env+'sst_2000_2009_v50_oaflx.txt' 326 326 res=read_ascii(fi_sst_oaflx,data_start=1) … … 328 328 lat=reform(ff(0,*)) 329 329 lon=reform(ff(1,*)) 330 cor_oaf=reform(ff(2,*)) 330 cor_oaf=reform(ff(2,*)) 331 331 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 332 bias_oaf=reform(ff(3,*)) 332 bias_oaf=reform(ff(3,*)) 333 333 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 334 std_oaf=reform(ff(4,*)) 334 std_oaf=reform(ff(4,*)) 335 335 std_oafl=total(std_oaf)/n_elements(std_oaf) 336 rmsd_oaf=reform(ff(5,*)) 336 rmsd_oaf=reform(ff(5,*)) 337 337 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 338 mean_tao=reform(ff(6,*)) 338 mean_tao=reform(ff(6,*)) 339 339 mean_oafl=bias_oaf+mean_tao 340 340 ; 341 341 print, '' 342 342 print, 'OAFlux' 343 343 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 344 344 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 345 345 ; 346 346 splot, mean_tao, mean_oafl, title='SST - TAO Vs OAFlux', subtitle='', $ 347 347 charsize=1.1, xtitle='TAO SST', ytitle='OAFlux SST', small=[2,3,3],/noer, psym=2, $ … … 350 350 xyouts, 22.3,30.2, cstat, charsize=0.9 351 351 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 352 352 ; 353 353 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 354 a=float(ab(0)) 355 b=float(ab(1)) 356 oplot, mean_tao, yfit, color=250, thick=2 357 358 359 354 a=float(ab(0)) 355 b=float(ab(1)) 356 oplot, mean_tao, yfit, color=250, thick=2 357 ; 358 ; 359 ; 360 360 fi_sst_ncep=project_id_env+'sst_2000_2009_v50_ncep.txt' 361 361 res=read_ascii(fi_sst_ncep,data_start=1) … … 363 363 lat=reform(ff(0,*)) 364 364 lon=reform(ff(1,*)) 365 cor_nce=reform(ff(2,*)) 365 cor_nce=reform(ff(2,*)) 366 366 cor_ncep=total(cor_nce)/n_elements(cor_nce) 367 bias_nce=reform(ff(3,*)) 367 bias_nce=reform(ff(3,*)) 368 368 bias_ncep=total(bias_nce)/n_elements(bias_nce) 369 std_nce=reform(ff(4,*)) 369 std_nce=reform(ff(4,*)) 370 370 std_ncep=total(std_nce)/n_elements(std_nce) 371 rmsd_nce=reform(ff(5,*)) 371 rmsd_nce=reform(ff(5,*)) 372 372 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 373 mean_tao=reform(ff(6,*)) 373 mean_tao=reform(ff(6,*)) 374 374 mean_ncep=bias_nce+mean_tao 375 375 ; 376 376 print, '' 377 377 print, 'NCEP2' 378 378 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 379 379 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 380 380 ; 381 381 splot, mean_tao, mean_ncep, title='SST - TAO Vs NCEP2', subtitle='', $ 382 382 charsize=1.1, xtitle='TAO SST', ytitle='NCEP2 SST', small=[2,3,4],/noer, psym=2, $ … … 385 385 xyouts, 22.3,30.2, cstat, charsize=0.9 386 386 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 387 387 ; 388 388 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 389 a=float(ab(0)) 390 b=float(ab(1)) 391 oplot, mean_tao, yfit, color=250, thick=2 392 393 389 a=float(ab(0)) 390 b=float(ab(1)) 391 oplot, mean_tao, yfit, color=250, thick=2 392 ; 393 ; 394 394 fi_sst_tmi=project_id_env+'sst_2000_2009_v50_tmi.txt' 395 395 res=read_ascii(fi_sst_tmi,data_start=1) … … 397 397 lat=reform(ff(0,*)) 398 398 lon=reform(ff(1,*)) 399 cor_tm=reform(ff(2,*)) 399 cor_tm=reform(ff(2,*)) 400 400 cor_tmi=total(cor_tm)/n_elements(cor_tm) 401 bias_tm=reform(ff(3,*)) 401 bias_tm=reform(ff(3,*)) 402 402 bias_tmi=total(bias_tm)/n_elements(bias_tm) 403 std_tm=reform(ff(4,*)) 403 std_tm=reform(ff(4,*)) 404 404 std_tmi=total(std_tm)/n_elements(std_tm) 405 rmsd_tm=reform(ff(5,*)) 405 rmsd_tm=reform(ff(5,*)) 406 406 rmsd_tmi=total(rmsd_tm)/n_elements(rmsd_tm) 407 mean_tao=reform(ff(6,*)) 407 mean_tao=reform(ff(6,*)) 408 408 mean_tmi=bias_tm+mean_tao 409 409 ; 410 410 print, '' 411 411 print, 'TMI' 412 412 print, cor_tmi, bias_tmi, std_tmi, rmsd_tmi 413 413 cstat=string(cor_tmi, bias_tmi, std_tmi, rmsd_tmi, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 414 414 ; 415 415 splot, mean_tao, mean_tmi, title='SST - TAO Vs TMI', subtitle='', $ 416 416 charsize=1.1, xtitle='TAO SST', ytitle='TMI SST', small=[2,3,5],/noer, psym=2, $ … … 419 419 xyouts, 22.3,30.2, cstat, charsize=0.9 420 420 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 421 421 ; 422 422 ab=linfit(mean_tao, mean_tmi,yfit=yfit) 423 a=float(ab(0)) 424 b=float(ab(1)) 425 oplot, mean_tao, yfit, color=250, thick=2 426 423 a=float(ab(0)) 424 b=float(ab(1)) 425 oplot, mean_tao, yfit, color=250, thick=2 426 ; 427 427 fi_sst_ncep1=project_id_env+'sst_2000_2009_v50_ncep1.txt' 428 428 res=read_ascii(fi_sst_ncep1,data_start=1) … … 430 430 lat=reform(ff(0,*)) 431 431 lon=reform(ff(1,*)) 432 cor_nce=reform(ff(2,*)) 432 cor_nce=reform(ff(2,*)) 433 433 cor_ncep=total(cor_nce)/n_elements(cor_nce) 434 bias_nce=reform(ff(3,*)) 434 bias_nce=reform(ff(3,*)) 435 435 bias_ncep=total(bias_nce)/n_elements(bias_nce) 436 std_nce=reform(ff(4,*)) 436 std_nce=reform(ff(4,*)) 437 437 std_ncep=total(std_nce)/n_elements(std_nce) 438 rmsd_nce=reform(ff(5,*)) 438 rmsd_nce=reform(ff(5,*)) 439 439 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 440 mean_tao=reform(ff(6,*)) 440 mean_tao=reform(ff(6,*)) 441 441 mean_ncep=bias_nce+mean_tao 442 442 ; 443 443 print, '' 444 444 print, 'NCEP1' 445 445 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 446 446 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 447 447 ; 448 448 splot, mean_tao, mean_ncep, title='SST - TAO Vs NCEP_NCAR', subtitle='', $ 449 449 charsize=1.1, xtitle='TAO SST', ytitle='NCEP SST', small=[2,3,6],/noer, psym=2, $ … … 452 452 xyouts, 22.3,30.2, cstat, charsize=0.9 453 453 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 454 454 ; 455 455 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 456 a=float(ab(0)) 457 b=float(ab(1)) 458 oplot, mean_tao, yfit, color=250, thick=2 459 456 a=float(ab(0)) 457 b=float(ab(1)) 458 oplot, mean_tao, yfit, color=250, thick=2 459 ; 460 460 closeps 461 461 ; 462 462 end -
trunk/src/paper01/fig3/statistics_3var_v1.pro
r94 r97 51 51 pro statistics_3var_v1, tao,var1,var2, $ 52 52 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 53 53 ; 54 54 @cm_project 55 x=tao 56 y=var1 55 x=tao 56 y=var1 57 57 z=var2 58 59 ind1=where(finite(x,/nan)) 60 ind2=where(finite(y,/nan)) 58 ; 59 ind1=where(finite(x,/nan)) 60 ind2=where(finite(y,/nan)) 61 61 ind3=where(finite(z,/nan)) 62 62 ind=inter(ind1,union(ind2,ind3)) 63 63 ; 64 64 if (ind ne -1.) then begin 65 x(ind)=!Values.f_nan 66 y(ind)=!Values.f_nan 65 x(ind)=!Values.f_nan 66 y(ind)=!Values.f_nan 67 67 z(ind)=!Values.f_nan 68 68 endif 69 70 nsmooth=5 ; ;applying a 5 day smoothing71 69 ; 70 nsmooth=5 ; applying a 5 day smoothing 71 ; 72 72 x=ts_smooth(x,nsmooth,/nan) 73 73 y=ts_smooth(y,nsmooth,/nan) 74 74 z=ts_smooth(z,nsmooth,/nan) 75 75 ; 76 76 ind1=where(finite(x)) 77 77 ind2=where(finite(y)) … … 82 82 z=z(ind) 83 83 nn=n_elements(ind) 84 84 ; 85 85 cor1=correlate(x,y) 86 cor2=correlate(x,z) 87 ; ;cor1=correlation(tropflux,tao) cor2=correlation(tropflux,rec)86 cor2=correlate(x,z) 87 ; cor1=correlation(tropflux,tao) cor2=correlation(tropflux,rec) 88 88 xxx=moment(x) 89 89 ; mean1 and std1 --> for tropflux 90 mean1=xxx(0) 91 std1=sqrt(xxx(1)) 90 mean1=xxx(0) 91 std1=sqrt(xxx(1)) 92 92 xxx=moment(y) 93 ; ;mean2 and std2 --> for tao94 mean2=xxx(0) 93 ; mean2 and std2 --> for tao 94 mean2=xxx(0) 95 95 std2=sqrt(xxx(1)) 96 96 xxx=moment(z) 97 ; ;mean3 and std3 --> for rec98 mean3=xxx(0) 99 std3=sqrt(xxx(1)) 100 97 ; mean3 and std3 --> for rec 98 mean3=xxx(0) 99 std3=sqrt(xxx(1)) 100 ; 101 101 bias1=mean2-mean1 102 102 st1=std2/std1 103 bias2=mean3-mean1 103 bias2=mean3-mean1 104 104 st2=std3/std1 105 106 std1=st1 105 ; 106 std1=st1 107 107 std2=st2 108 108 rmsd1=sqrt(total((x-y)*(x-y))/n_elements(x)) 109 109 rmsd2=sqrt(total((x-z)*(x-z))/n_elements(x)) 110 110 ; 111 111 end -
trunk/src/paper01/fig3/ws_validation_scatter_2000_2009_v50.pro
r94 r97 94 94 reinitplt, /z,/invert 95 95 key_portrait = 1 96 96 ; 97 97 openps, FILENAME = project_od_env+'ws_validation_scatter_2000_2009_v50.ps' 98 99 ; ;Give the location of mooring for validation of basic meteorological variables100 101 98 ; 99 ; Give the location of mooring for validation of basic meteorological variables 100 ; 101 ; 102 102 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 103 103 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 110 110 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 111 111 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 112 112 ; 113 113 ocean='global' 114 115 da1=10000101 114 ; 115 da1=10000101 116 116 da2=10081231 117 nsmooth=1. ; ;statistics are with 7 day smoothed118 ; ;This program will create the following text files with statistics of respective variables117 nsmooth=1. ; statistics are with 7 day smoothed 118 ; This program will create the following text files with statistics of respective variables 119 119 close,/all 120 120 ; 121 121 fi_ws_erai=project_id_env+'ws_2000_2009_erai_v50.txt' 122 122 openw,1,fi_ws_erai … … 131 131 fi_ws_ncep1=project_id_env+'ws_2000_2009_ncep1_v50.txt' 132 132 openw,6,fi_ws_ncep1 133 134 133 ; 134 ; 135 135 printf,1, 'x y cor bias std rmsd mean_tao' 136 136 printf,2, 'x y cor bias std rmsd mean_tao' … … 139 139 printf,5, 'x y cor bias std rmsd mean_tao' 140 140 printf,6, 'x y cor bias std rmsd mean_tao' 141 142 ; ;first reading the whole ERAI uncorrected and corrected data143 141 ; 142 ; first reading the whole ERAI uncorrected and corrected data 143 ; 144 144 file=project_id_env+'erai_ws_19890101_20091231_oafluxgrid.nc' 145 145 initncdf, file … … 148 148 unc=sqrt(u*u+v*v) 149 149 help, unc 150 150 ; 151 151 file=project_id_env+'TropFlux_ws_19890101_20091231_v20.nc' 152 152 initncdf, file 153 153 cor=read_ncdf('ws',date1,date2,file=file,/nostr) 154 154 help, cor 155 155 ; 156 156 file=project_id_env+'OAFlux_basic_variables_1985_2009.nc' 157 157 initncdf, file 158 158 oaf=read_ncdf("wind", date1, date2, file=file,/nostr) 159 159 help, oaf 160 160 ; 161 161 fi=project_id_env+'uwind_ncep2_oafluxgrid_19890101_20091231.nc' 162 162 initncdf, fi … … 167 167 nce=sqrt(u*u+v*v) 168 168 help, nce 169 169 ; 170 170 fi=project_id_env+'zonal_wind_speed_oafluxgrid_30N30S.nc' 171 171 initncdf, fi … … 176 176 ws_tmi=sqrt(u*u+v*v) 177 177 help, ws_tmi 178 178 ; 179 179 file=project_id_env+'wind_ncep1_19890101_20091231.nc' 180 180 initncdf, file … … 183 183 nce1=sqrt(u*u+v*v) 184 184 help, nce1 185 185 ; 186 186 nn=n_elements(sitelist) 187 187 for n=0, nn-1 do begin 188 189 ; ;reading data from mooring190 191 site=sitelist(n) 188 ; 189 ; reading data from mooring 190 ; 191 site=sitelist(n) 192 192 csite=site 193 193 print, csite … … 195 195 y=y_site_location(site) 196 196 if (y ge 0. and y le 30.) then y=y+360. 197 dx=0.5 198 dy=0.5 197 dx=0.5 198 dy=0.5 199 199 box=[y-dy, y+dy, x-dx, x+dx] 200 200 read_variables_v2, csite,date1,date2,nsmooth, $ 201 201 at, sw,rh,sst,wu,wv,ws, lh 202 202 ; 203 203 ws=alog(10./0.000152)/alog(4./0.000152)*ws 204 205 ; ;extracting the corrected and uncorrected ERAI data at the locations204 ; 205 ; extracting the corrected and uncorrected ERAI data at the locations 206 206 nsmooth=1. 207 207 ; 208 208 extract_flux_tropflux,unc,box, $ 209 209 tropflux 210 210 uncr=tropflux 211 211 ; 212 212 extract_flux_tropflux,cor,box, $ 213 213 tropflux 214 214 corr=tropflux 215 215 ; 216 216 extract_flux_tropflux,oaf,box, $ 217 217 tropflux 218 218 oafl=tropflux 219 219 ; 220 220 extract_flux_tropflux,nce,box, $ 221 221 tropflux 222 222 ncep=tropflux 223 223 ; 224 224 extract_flux_tropflux,ws_tmi,box, $ 225 225 tropflux 226 226 tmi=tropflux 227 227 ; 228 228 extract_flux_tropflux,nce1,box, $ 229 229 tropflux 230 230 ncep1=tropflux 231 232 ind=where(finite(ws)) 233 ws=ws(ind) 234 uncr_ws=uncr(ind) 231 ; 232 ind=where(finite(ws)) 233 ws=ws(ind) 234 uncr_ws=uncr(ind) 235 235 corr_ws=corr(ind) 236 oafl=oafl(ind) 237 ncep=ncep(ind) 238 tmi=tmi(ind) 236 oafl=oafl(ind) 237 ncep=ncep(ind) 238 tmi=tmi(ind) 239 239 ncep1=ncep1(ind) 240 240 ; 241 241 mean_tao=total(ws)/n_elements(ws) 242 242 ; 243 243 statistics_3var_v1, ws, uncr_ws, corr_ws, $ 244 244 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 245 245 ; 246 246 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)' 247 247 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)' 248 248 ; 249 249 statistics_3var_v1, ws, oafl, ncep, $ 250 250 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 251 251 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)' 252 252 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)' 253 253 ; 254 254 statistics_3var_v1, ws, tmi, ncep1, $ 255 255 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 256 256 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)' 257 257 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)' 258 258 ; 259 259 endfor 260 260 close,/all … … 264 264 lat=reform(ff(0,*)) 265 265 lon=reform(ff(1,*)) 266 cor_era=reform(ff(2,*)) 266 cor_era=reform(ff(2,*)) 267 267 cor_erai=total(cor_era)/n_elements(cor_era) 268 bias_era=reform(ff(3,*)) 268 bias_era=reform(ff(3,*)) 269 269 bias_erai=total(bias_era)/n_elements(bias_era) 270 std_era=reform(ff(4,*)) 270 std_era=reform(ff(4,*)) 271 271 std_erai=total(std_era)/n_elements(std_era) 272 rmsd_era=reform(ff(5,*)) 272 rmsd_era=reform(ff(5,*)) 273 273 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 274 mean_tao=reform(ff(6,*)) 274 mean_tao=reform(ff(6,*)) 275 275 mean_erai=bias_era+mean_tao 276 276 ; 277 277 print, '' 278 278 print, 'ERAI' … … 284 284 xyouts, 2.5,9.4, cstat, charsize=0.9 285 285 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 286 286 ; 287 287 oplot, [2,10], [2,10] 288 288 ab=linfit(mean_tao, mean_erai,yfit=yfit) 289 a=float(ab(0)) 290 b=float(ab(1)) 291 oplot, mean_tao, yfit, color=250, thick=2 292 289 a=float(ab(0)) 290 b=float(ab(1)) 291 oplot, mean_tao, yfit, color=250, thick=2 292 ; 293 293 fi_ws_trop=project_id_env+'ws_2000_2009_trop_v50.txt' 294 294 res=read_ascii(fi_ws_trop,data_start=1) … … 296 296 lat=reform(ff(0,*)) 297 297 lon=reform(ff(1,*)) 298 cor_tro=reform(ff(2,*)) 298 cor_tro=reform(ff(2,*)) 299 299 cor_trop=total(cor_tro)/n_elements(cor_tro) 300 bias_tro=reform(ff(3,*)) 300 bias_tro=reform(ff(3,*)) 301 301 bias_trop=total(bias_tro)/n_elements(bias_tro) 302 std_tro=reform(ff(4,*)) 302 std_tro=reform(ff(4,*)) 303 303 std_trop=total(std_tro)/n_elements(std_tro) 304 rmsd_tro=reform(ff(5,*)) 304 rmsd_tro=reform(ff(5,*)) 305 305 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 306 mean_tao=reform(ff(6,*)) 306 mean_tao=reform(ff(6,*)) 307 307 mean_trop=bias_tro+mean_tao 308 308 ; 309 309 print, '' 310 310 print, 'TropFlux' 311 311 print, cor_trop, bias_trop, std_trop, rmsd_trop 312 312 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 313 313 ; 314 314 splot, mean_tao, mean_trop, title='WS - TAO Vs TropFlux', subtitle='', $ 315 315 charsize=1.1, xtitle='TAO WS', ytitle='TropFlux WS', small=[2,3,2],/noer, psym=2, $ … … 318 318 xyouts, 2.5,9.4, cstat, charsize=0.9 319 319 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 320 320 ; 321 321 ab=linfit(mean_tao, mean_trop,yfit=yfit) 322 a=float(ab(0)) 323 b=float(ab(1)) 324 oplot, mean_tao, yfit, color=250, thick=2 325 322 a=float(ab(0)) 323 b=float(ab(1)) 324 oplot, mean_tao, yfit, color=250, thick=2 325 ; 326 326 fi_ws_oaflx=project_id_env+'ws_2000_2009_oaflx_v50.txt' 327 327 res=read_ascii(fi_ws_oaflx,data_start=1) … … 329 329 lat=reform(ff(0,*)) 330 330 lon=reform(ff(1,*)) 331 cor_oaf=reform(ff(2,*)) 331 cor_oaf=reform(ff(2,*)) 332 332 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 333 bias_oaf=reform(ff(3,*)) 333 bias_oaf=reform(ff(3,*)) 334 334 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 335 std_oaf=reform(ff(4,*)) 335 std_oaf=reform(ff(4,*)) 336 336 std_oafl=total(std_oaf)/n_elements(std_oaf) 337 rmsd_oaf=reform(ff(5,*)) 337 rmsd_oaf=reform(ff(5,*)) 338 338 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 339 mean_tao=reform(ff(6,*)) 339 mean_tao=reform(ff(6,*)) 340 340 mean_oafl=bias_oaf+mean_tao 341 341 ; 342 342 print, '' 343 343 print, 'OAFlux' 344 344 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 345 345 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 346 346 ; 347 347 splot, mean_tao, mean_oafl, title='WS - TAO Vs OAFlux', subtitle='', $ 348 348 charsize=1.1, xtitle='TAO WS', ytitle='OAFlux WS', small=[2,3,3],/noer, psym=2, $ … … 351 351 xyouts, 2.5,9.4, cstat, charsize=0.9 352 352 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 353 353 ; 354 354 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 355 a=float(ab(0)) 356 b=float(ab(1)) 357 oplot, mean_tao, yfit, color=250, thick=2 358 359 360 355 a=float(ab(0)) 356 b=float(ab(1)) 357 oplot, mean_tao, yfit, color=250, thick=2 358 ; 359 ; 360 ; 361 361 fi_ws_ncep=project_id_env+'ws_2000_2009_ncep_v50.txt' 362 362 res=read_ascii(fi_ws_ncep,data_start=1) … … 364 364 lat=reform(ff(0,*)) 365 365 lon=reform(ff(1,*)) 366 cor_nce=reform(ff(2,*)) 366 cor_nce=reform(ff(2,*)) 367 367 cor_ncep=total(cor_nce)/n_elements(cor_nce) 368 bias_nce=reform(ff(3,*)) 368 bias_nce=reform(ff(3,*)) 369 369 bias_ncep=total(bias_nce)/n_elements(bias_nce) 370 std_nce=reform(ff(4,*)) 370 std_nce=reform(ff(4,*)) 371 371 std_ncep=total(std_nce)/n_elements(std_nce) 372 rmsd_nce=reform(ff(5,*)) 372 rmsd_nce=reform(ff(5,*)) 373 373 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 374 mean_tao=reform(ff(6,*)) 374 mean_tao=reform(ff(6,*)) 375 375 mean_ncep=bias_nce+mean_tao 376 376 ; 377 377 print, '' 378 378 print, 'NCEP2' 379 379 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 380 380 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 381 381 ; 382 382 splot, mean_tao, mean_ncep, title='WS - TAO Vs NCEP2', subtitle='', $ 383 383 charsize=1.1, xtitle='TAO WS', ytitle='NCEP2 WS', small=[2,3,4],/noer, psym=2, $ … … 386 386 xyouts, 2.5,9.4, cstat, charsize=0.9 387 387 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 388 388 ; 389 389 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 390 a=float(ab(0)) 391 b=float(ab(1)) 392 oplot, mean_tao, yfit, color=250, thick=2 393 390 a=float(ab(0)) 391 b=float(ab(1)) 392 oplot, mean_tao, yfit, color=250, thick=2 393 ; 394 394 fi_ws_tmi=project_id_env+'ws_2000_2009_tmi_v50.txt' 395 395 res=read_ascii(fi_ws_tmi,data_start=1) … … 397 397 lat=reform(ff(0,*)) 398 398 lon=reform(ff(1,*)) 399 cor_tm=reform(ff(2,*)) 399 cor_tm=reform(ff(2,*)) 400 400 cor_tmi=total(cor_tm)/n_elements(cor_tm) 401 bias_tm=reform(ff(3,*)) 401 bias_tm=reform(ff(3,*)) 402 402 bias_tmi=total(bias_tm)/n_elements(bias_tm) 403 std_tm=reform(ff(4,*)) 403 std_tm=reform(ff(4,*)) 404 404 std_tmi=total(std_tm)/n_elements(std_tm) 405 rmsd_tm=reform(ff(5,*)) 405 rmsd_tm=reform(ff(5,*)) 406 406 rmsd_tmi=total(rmsd_tm)/n_elements(rmsd_tm) 407 mean_tao=reform(ff(6,*)) 407 mean_tao=reform(ff(6,*)) 408 408 mean_tmi=bias_tm+mean_tao 409 409 ; 410 410 print, '' 411 411 print, 'Qscat' 412 412 print, cor_tmi, bias_tmi, std_tmi, rmsd_tmi 413 413 cstat=string(cor_tmi, bias_tmi, std_tmi, rmsd_tmi, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 414 414 ; 415 415 splot, mean_tao, mean_tmi, title='WS - TAO Vs Qscat', subtitle='', $ 416 416 charsize=1.1, xtitle='TAO WS', ytitle='TMI WS', small=[2,3,5],/noer, psym=2, $ … … 419 419 xyouts, 2.5,9.4, cstat, charsize=0.9 420 420 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 421 421 ; 422 422 ab=linfit(mean_tao, mean_tmi,yfit=yfit) 423 a=float(ab(0)) 424 b=float(ab(1)) 425 oplot, mean_tao, yfit, color=250, thick=2 426 427 423 a=float(ab(0)) 424 b=float(ab(1)) 425 oplot, mean_tao, yfit, color=250, thick=2 426 ; 427 ; 428 428 fi_ws_ncep1=project_id_env+'ws_2000_2009_ncep1_v50.txt' 429 429 res=read_ascii(fi_ws_ncep1,data_start=1) … … 431 431 lat=reform(ff(0,*)) 432 432 lon=reform(ff(1,*)) 433 cor_nce=reform(ff(2,*)) 433 cor_nce=reform(ff(2,*)) 434 434 cor_ncep=total(cor_nce)/n_elements(cor_nce) 435 bias_nce=reform(ff(3,*)) 435 bias_nce=reform(ff(3,*)) 436 436 bias_ncep=total(bias_nce)/n_elements(bias_nce) 437 std_nce=reform(ff(4,*)) 437 std_nce=reform(ff(4,*)) 438 438 std_ncep=total(std_nce)/n_elements(std_nce) 439 rmsd_nce=reform(ff(5,*)) 439 rmsd_nce=reform(ff(5,*)) 440 440 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 441 mean_tao=reform(ff(6,*)) 441 mean_tao=reform(ff(6,*)) 442 442 mean_ncep=bias_nce+mean_tao 443 443 ; 444 444 print, '' 445 445 print, 'NCEP' 446 446 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 447 447 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 448 448 ; 449 449 splot, mean_tao, mean_ncep, title='WS - TAO Vs NCEP', subtitle='', $ 450 450 charsize=1.1, xtitle='TAO WS', ytitle='NCEP WS', small=[2,3,6],/noer, psym=2, $ … … 453 453 xyouts, 2.5,9.4, cstat, charsize=0.9 454 454 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 455 455 ; 456 456 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 457 a=float(ab(0)) 458 b=float(ab(1)) 459 oplot, mean_tao, yfit, color=250, thick=2 460 457 a=float(ab(0)) 458 b=float(ab(1)) 459 oplot, mean_tao, yfit, color=250, thick=2 460 ; 461 461 closeps 462 462 ; 463 463 end -
trunk/src/paper01/fig4/fig4_met_var_correction_scatter.pro
r94 r97 84 84 reinitplt, /z,/invert 85 85 key_portrait = 1 86 86 ; 87 87 openps, FILENAME = project_od_env+'fig4_met_var_correction_scatter.ps' 88 88 fi=project_id_env+'sst_correction_final.txt' … … 93 93 std=reform(ff(2,*)) 94 94 mean=reform(ff(4,*)) 95 95 ; 96 96 splot, mean, bias, small=[2,3,1],/noer, xtitle='Mean ERAI SST', ytitle='ERAI SST bias', $ 97 97 psym=2, charsize=1., $ … … 100 100 xx=total(std)/n_elements(std) 101 101 yy=total(bias)/n_elements(bias) 102 102 ; 103 103 xyouts, 22, 0.6, 'bias=-0.05', charsize=1.1 104 104 xyouts, 22, 0.5, 'std ratio=0.989', charsize=1.1 105 106 print, xx, yy 107 ab=linfit(mean, bias,yfit=yfit) 108 a=float(ab(0)) 109 b=float(ab(1)) 110 oplot, mean, yfit, thick=3, color=50 111 print, a,b 112 113 ; ;significant test114 significance_test_99,mean,bias 115 105 ; 106 print, xx, yy 107 ab=linfit(mean, bias,yfit=yfit) 108 a=float(ab(0)) 109 b=float(ab(1)) 110 oplot, mean, yfit, thick=3, color=50 111 print, a,b 112 ; 113 ; significant test 114 significance_test_99,mean,bias 115 ; 116 116 fi=project_id_env+'t2m_correction_final.txt' 117 117 res=read_ascii(fi,data_start=0) … … 121 121 std=reform(ff(2,*)) 122 122 mean=reform(ff(4,*)) 123 124 xx=total(std)/n_elements(std) 125 yy=total(bias)/n_elements(bias) 126 print, xx, yy 127 123 ; 124 xx=total(std)/n_elements(std) 125 yy=total(bias)/n_elements(bias) 126 print, xx, yy 127 ; 128 128 splot, mean, bias, small=[2,3,2],/noer, xtitle='Mean ERAI T2m', ytitle='ERAI T2m bias', $ 129 129 psym=2, charsize=1., $ 130 130 xrange=[20,31], yrange=[-1,0.6], xmin=1, ymin=1 131 131 oplot, [20,32], [0,0] 132 132 ; 133 133 xyouts, 22, 0.5, 'bias=-0.296', charsize=1.1 134 134 xyouts, 22, 0.4, 'std ratio=0.92', charsize=1.1 135 136 ab=linfit(mean, bias,yfit=yfit) 137 a=float(ab(0)) 138 b=float(ab(1)) 139 oplot, mean, yfit, thick=3, color=50 140 print, a,b 141 142 ; ;significant test143 significance_test_99,mean,bias 144 135 ; 136 ab=linfit(mean, bias,yfit=yfit) 137 a=float(ab(0)) 138 b=float(ab(1)) 139 oplot, mean, yfit, thick=3, color=50 140 print, a,b 141 ; 142 ; significant test 143 significance_test_99,mean,bias 144 ; 145 145 fi=project_id_env+'q2m_correction_final.txt' 146 146 res=read_ascii(fi,data_start=0) … … 150 150 std=reform(ff(2,*)) 151 151 mean=reform(ff(4,*)) 152 153 xx=total(std)/n_elements(std) 154 yy=total(bias)/n_elements(bias) 155 print, xx, yy 156 152 ; 153 xx=total(std)/n_elements(std) 154 yy=total(bias)/n_elements(bias) 155 print, xx, yy 156 ; 157 157 splot, mean, bias, small=[2,3,3],/noer, xtitle='Mean ERAI Q2m', ytitle='ERAI Q2m bias', $ 158 158 psym=2, charsize=1., $ … … 161 161 xyouts, 14, 0.6, 'bias=-0.79', charsize=1.1 162 162 xyouts, 14, 0.5, 'std ratio=0.92', charsize=1.1 163 164 ab=linfit(mean, bias,yfit=yfit) 165 a=float(ab(0)) 166 b=float(ab(1)) 167 oplot, mean, yfit, thick=3, color=50 168 print, a,b 169 170 ; ;significant test163 ; 164 ab=linfit(mean, bias,yfit=yfit) 165 a=float(ab(0)) 166 b=float(ab(1)) 167 oplot, mean, yfit, thick=3, color=50 168 print, a,b 169 ; 170 ; significant test 171 171 significance_test_99,mean,bias 172 172 fi=project_id_env+'ws_correction_final.txt' … … 177 177 std=reform(ff(2,*)) 178 178 mean=reform(ff(4,*)) 179 180 xx=total(std)/n_elements(std) 181 yy=total(bias)/n_elements(bias) 182 print, xx, yy 183 184 179 ; 180 xx=total(std)/n_elements(std) 181 yy=total(bias)/n_elements(bias) 182 print, xx, yy 183 ; 184 ; 185 185 splot, mean, bias, small=[2,3,4],/noer, xtitle='Mean ERAI WS', ytitle='ERAI WS bias', $ 186 186 psym=2, charsize=1., $ … … 189 189 xyouts, 3, 0.7, 'bias=-0.28', charsize=1.1 190 190 xyouts, 3, 0.6, 'std ratio=0.90', charsize=1.1 191 192 ab=linfit(mean, bias,yfit=yfit) 193 a=float(ab(0)) 194 b=float(ab(1)) 195 oplot, mean, yfit, thick=3, color=50 196 197 print, a,b 198 ; ;significant test199 significance_test_99,mean,bias 200 191 ; 192 ab=linfit(mean, bias,yfit=yfit) 193 a=float(ab(0)) 194 b=float(ab(1)) 195 oplot, mean, yfit, thick=3, color=50 196 ; 197 print, a,b 198 ; significant test 199 significance_test_99,mean,bias 200 ; 201 201 closeps 202 203 202 ; 204 203 end -
trunk/src/paper01/fig4/significance_test_99.pro
r94 r97 50 50 ;- 51 51 pro significance_test_99, x, y, sig_value 52 53 X=x 52 ; 53 X=x 54 54 Y=y 55 55 ; 56 56 X=X-total(X)/n_elements(X) 57 57 Y=Y-total(Y)/n_elements(Y) … … 61 61 sse=total((Y-reg*X)^2)/n_elements(X) 62 62 t=abs(sqrt(n_elements(X)-2.)*reg/sqrt(sse/sx^2)) 63 p=0.01 ; ;;(for 99% significant)63 p=0.01 ;(for 99% significant) 64 64 ; tc=t_cvf(p/2.,n_elements(X)-1) 65 65 tc=t_cvf(p/2.,n_elements(X)/5.-1) 66 66 ; 67 67 sig1=1.*(t ge tc) 68 68 if (sig1 eq 1. ) then begin … … 71 71 print, 'Statistics are not valid at 99% significance level' 72 72 endelse 73 73 ; 74 74 end -
trunk/src/paper01/fig5/fig5_gustiness_scatter.pro
r94 r97 80 80 reinitplt, /z,/invert 81 81 key_portrait = 1 82 82 ; 83 83 openps, FILENAME = project_od_env+'fig5_gustiness_scatter.ps' 84 84 fi_ws=project_id_env+'wind_gustiness_bias.txt' … … 87 87 erai_wind=reform(ff(4,*)) 88 88 gust=reform(ff(9,*)) 89 89 ; 90 90 print, correlate(erai_wind,gust) 91 91 ; 92 92 fi_sst=project_id_env+'raw_sst_2000_2008_gustiness.txt' 93 93 res=read_ascii(fi_sst,data_start=1) 94 94 ff=res.field1 95 95 erai_sst=reform(ff(4,*)) 96 96 ; 97 97 print, correlate(erai_sst,gust) 98 98 ; 99 99 splot, erai_wind, gust, small=[2,3,1], title='a) ERAI Wind Vs Gustiness', $ 100 100 xtitle='ERAI wind', ytitle='Cronin gustiness', charsize=1.2, psym=2 , $ 101 101 xrange=[0,10], yrange=[0.5,2.5] 102 102 ab=linfit(erai_wind, gust,yfit=yfit) 103 a=float(ab(0)) 103 a=float(ab(0)) 104 104 b=float(ab(1)) 105 105 oplot, erai_wind, yfit, thick=3, color=250 … … 108 108 xyouts, 2,-0.4, 'y = -0.212379 x + 2.84459', charsize=1.2 109 109 print, a,b 110 110 ; 111 111 splot, erai_sst, gust, small=[2,3,2],/noer, title='b) ERAI SST Vs Gustiness', $ 112 112 xtitle='ERAI SST', ytitle='Cronin gustiness', charsize=1.2, psym=2 , $ 113 113 xrange=[22,32], yrange=[0.5,2.5], lct=39, xmin=1, ymin=1 114 114 ab=linfit(erai_sst, gust,yfit=yfit) 115 a=float(ab(0)) 115 a=float(ab(0)) 116 116 b=float(ab(1)) 117 117 oplot, erai_sst, yfit, thick=3, color=250 … … 120 120 xyouts, 21,-0.4, 'y = 0.175712 x -3.17303', charsize=1.2 121 121 print, a,b 122 ; 122 123 closeps 124 ; 123 125 end -
trunk/src/paper01/fig6/icoads_q2m_stats_paper.pro
r94 r97 80 80 key_portrait = 1 81 81 coefpalit=.9 82 82 ; 83 83 openps, FILENAME = project_od_env+"icoads_q2m_stats_paper.ps" 84 84 ; partie a changer 85 85 marge=[-2,-2, -4,2] 86 st=19890101 86 st=19890101 87 87 en=20091231 88 88 domdef, box 89 89 ; 90 90 file=project_id_env+'sphum_monthly_1960_2010_oafluxgrid.nc' 91 91 initncdf, file 92 92 icoads=read_ncdf("sphum", st, en , file=file,/nostr, box=box) 93 93 help, icoads 94 94 ; 95 95 file=project_id_env+'q2m_TropFlux_global_monthly_1989_2009.nc' 96 96 initncdf, file 97 97 trop=read_ncdf("q2m", st, en , file=file,/nostr, box=box) 98 98 help, trop 99 99 ; 100 100 file=project_id_env+"q2m_OAFlux_global_monthly_1989_2009.nc" 101 101 initncdf, file 102 102 oaf=read_ncdf("q2m", st, en , file=file,/nostr, box=box) 103 103 help, oaf 104 104 ; 105 105 file=project_id_env+"q2m_ERAI_global_monthly_1989_2009.nc" 106 106 initncdf, file 107 107 erai=read_ncdf("q2m", st, en , file=file,/nostr, box=box) 108 108 help, erai 109 109 ; 110 110 file=project_id_env+"q2m_NCEP2_global_monthly_1989_2009.nc" 111 111 initncdf, file 112 112 ncep2=1000*read_ncdf("q2m", st, en , file=file,/nostr, box=box) 113 113 help, ncep2 114 114 ; 115 115 file=project_id_env+"q2m_NCEP1_global_monthly_1989_2009.nc" 116 116 initncdf, file 117 117 ncep1=1000*read_ncdf("q2m", st, en , file=file,/nostr, box=box) 118 118 help, ncep1 119 120 121 si=size(trop) 119 ; 120 ; 121 si=size(trop) 122 122 nt=si(3) 123 123 ; 124 124 lat_rama=[67, 55, 55, 80.5, 80.5, 80.5, 80.5, 90, 90, 90, 90, 90, 90, 90, 95] 125 125 lon_rama=[-8, -12, -8,-8, -1.5, 0, 1.5, -1.5, 0, 1.5, 4, 8, 12, 15, -5] 126 126 ; 127 127 lat_pirata=[0, 350, 337, 325, 350, 337, 322, 328, 322, 326, 322, 337, 337, 322, 350, 322, 330] 128 128 lon_pirata=[0, 0, 0, 0, -10, 12, 12, -14, 15, -19, 20, 21, 4, 4, -6, 8, -8] 129 129 ; 130 130 lat_tao=[165, 180, 205, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, $ 131 131 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 190, 205, 220, 235, 250, 265, $ 132 132 156, 165, 180, 190, 220, 235, 250, 265] 133 133 ; 134 134 lon_tao=[-8, -8, -8, -8, -8, -8, -5, -5, -5, -5, -5, -5, -5, -5, -5, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $ 135 135 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 9, 8, 8, 8] 136 136 ; 137 137 lat=[lat_rama, lat_pirata, lat_tao] 138 138 lon=[lon_rama, lon_pirata, lon_tao] 139 140 lat_tao=lat 139 ; 140 lat_tao=lat 141 141 lon_tao=lon 142 142 nn=n_elements(lat) 143 143 ; 144 144 list=0 145 145 for n=0, nn-1 do begin 146 146 x=lat_tao(n) 147 147 y=lon_tao(n) 148 dx=abs(reform(glamt-x)) 148 dx=abs(reform(glamt-x)) 149 149 dy=abs(reform(gphit)-y) 150 150 ind=where((dx le 0.5) and (dy le 0.5)) … … 153 153 endif 154 154 endfor 155 155 ; 156 156 msk=replicate(1,nxt,nyt) 157 157 msk(list)=!Values.f_nan 158 158 ; 159 159 mask=trop*0 160 160 for jt=0,jpt-1 do begin … … 162 162 mask(*,*,jt)=t 163 163 endfor 164 164 ; 165 165 param=icoads*mask 166 trop=trop*mask 167 oaf=oaf*mask 166 trop=trop*mask 167 oaf=oaf*mask 168 168 erai=erai*mask 169 ncep2=ncep2*mask 169 ncep2=ncep2*mask 170 170 ncep1=ncep1*mask 171 172 171 ; 172 ; 173 173 ind=where(finite(param) and finite(erai) and finite(trop) and finite(oaf) and finite(ncep2) and finite(ncep1)) 174 x=param(ind) 174 x=param(ind) 175 175 y=trop(ind) 176 param=param(ind) 177 trop=trop(ind) 178 erai=erai(ind) 179 oaf=oaf(ind) 180 ncep2=ncep2(ind) 176 param=param(ind) 177 trop=trop(ind) 178 erai=erai(ind) 179 oaf=oaf(ind) 180 ncep2=ncep2(ind) 181 181 ncep1=ncep1(ind) 182 182 ; 183 183 ; 184 184 statistics, param, trop, $ … … 195 195 abs_diff=total(abs(oaf-param))/n_elements(oaf) 196 196 abs_oaf=string(abs_diff, format='(f5.2)') 197 197 ; 198 198 ; 199 199 statistics, param, erai, $ … … 203 203 abs_diff=total(abs(erai-param))/n_elements(erai) 204 204 abs_erai=string(abs_diff, format='(f5.2)') 205 205 ; 206 206 ; 207 207 statistics, param, ncep2, $ … … 211 211 abs_diff=total(abs(ncep2-param))/n_elements(ncep2) 212 212 abs_ncep2=string(abs_diff, format='(f5.2)') 213 213 ; 214 214 ; 215 215 statistics, param, ncep1, $ … … 219 219 abs_diff=total(abs(ncep1-param))/n_elements(ncep1) 220 220 abs_ncep1=string(abs_diff, format='(f5.2)') 221 222 ; 223 mio=4 224 mao=24 225 inx=1 226 nx=(mao-mio)/inx+1l 221 ; 222 ; 223 mio=4 224 mao=24 225 inx=1 226 nx=(mao-mio)/inx+1l 227 227 xx=mio+indgen(nx)*inx 228 mis=4 229 mas=24 230 iny=1 231 ny=(mas-mis)/iny+1l 228 mis=4 229 mas=24 230 iny=1 231 ny=(mas-mis)/iny+1l 232 232 yy=mis+indgen(ny)*iny 233 233 ; … … 238 238 xyouts, 10, 6, cstat_trop, charsize=1 239 239 xyouts, 10, 4, abs_trop, charsize=1 240 240 ; 241 241 ; 242 242 pdf, param,oaf,mio,mao,inx,mis,mas,iny, $ … … 246 246 xyouts, 10, 6, cstat_oaf, charsize=1 247 247 xyouts, 10, 4, abs_oaf, charsize=1 248 248 ; 249 249 ; 250 250 pdf, param,erai,mio,mao,inx,mis,mas,iny, $ … … 254 254 xyouts, 10, 6, cstat_erai, charsize=1 255 255 xyouts, 10, 4, abs_erai, charsize=1 256 256 ; 257 257 ; 258 258 pdf, param,ncep2,mio,mao,inx,mis,mas,iny, $ … … 262 262 xyouts, 10, 6, cstat_ncep2, charsize=1 263 263 xyouts, 10, 4, abs_ncep2, charsize=1 264 264 ; 265 265 ; 266 266 pdf, param,ncep1,mio,mao,inx,mis,mas,iny, $ … … 270 270 xyouts, 10, 6, cstat_ncep1, charsize=1 271 271 xyouts, 10, 4, abs_ncep1, charsize=1 272 272 ; 273 273 closeps 274 ; 274 275 return 276 ; 275 277 end -
trunk/src/paper01/fig6/icoads_sst_stats_paper.pro
r94 r97 80 80 key_portrait = 1 81 81 coefpalit=.9 82 82 ; 83 83 openps, FILENAME = project_od_env+"icoads_sst_stats_paper.ps" 84 84 ; partie a changer 85 85 marge=[-2,-2, -4,2] 86 st=19890101 86 st=19890101 87 87 en=20091231 88 88 domdef, box 89 89 ; 90 90 file=project_id_env+'sst_monthly_1960_2010_oafluxgrid.nc' 91 91 initncdf, file 92 92 icoads=read_ncdf("sst", st-1, en , file=file,/nostr, box=box) 93 93 help, icoads 94 94 ; 95 95 file=project_id_env+'sst_TropFlux_global_monthly_1989_2009.nc' 96 96 initncdf, file 97 97 trop=read_ncdf("sst", st, en , file=file,/nostr, box=box)-273.15 98 98 help, trop 99 99 ; 100 100 file=project_id_env+"sst_OAFlux_global_monthly_1989_2009.nc" 101 101 initncdf, file 102 102 oaf=read_ncdf("sst", st, en , file=file,/nostr, box=box) 103 103 help, oaf 104 104 ; 105 105 file=project_id_env+"sst_ERAI_global_monthly_1989_2009.nc" 106 106 initncdf, file 107 107 erai=read_ncdf("sst", st, en , file=file,/nostr, box=box)-273.15 108 108 help, erai 109 109 ; 110 110 file=project_id_env+"sst_NCEP2_global_monthly_1989_2009.nc" 111 111 initncdf, file 112 112 ncep2=read_ncdf("sst", st, en , file=file,/nostr, box=box)-273.15 113 113 help, ncep2 114 114 ; 115 115 file=project_id_env+'nocv2_sst_19890101_20091231_oafluxgrid.nc' 116 116 initncdf, file 117 117 noc=read_ncdf("sst", st, en , file=file,/nostr, box=box) 118 118 help, noc 119 119 ; 120 120 file=project_id_env+"sst_NCEP1_global_monthly_1989_2009.nc" 121 121 initncdf, file 122 122 ncep1=read_ncdf("sst", st, en , file=file,/nostr, box=box)-273.15 123 123 help, ncep1 124 125 126 si=size(trop) 124 ; 125 ; 126 si=size(trop) 127 127 nt=si(3) 128 128 ; 129 129 lat_rama=[67, 55, 55, 80.5, 80.5, 80.5, 80.5, 90, 90, 90, 90, 90, 90, 90, 95] 130 130 lon_rama=[-8, -12, -8,-8, -1.5, 0, 1.5, -1.5, 0, 1.5, 4, 8, 12, 15, -5] 131 131 ; 132 132 lat_pirata=[0, 350, 337, 325, 350, 337, 322, 328, 322, 326, 322, 337, 337, 322, 350, 322, 330] 133 133 lon_pirata=[0, 0, 0, 0, -10, 12, 12, -14, 15, -19, 20, 21, 4, 4, -6, 8, -8] 134 134 ; 135 135 lat_tao=[165, 180, 205, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, $ 136 136 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 190, 205, 220, 235, 250, 265, $ 137 137 156, 165, 180, 190, 220, 235, 250, 265] 138 138 ; 139 139 lon_tao=[-8, -8, -8, -8, -8, -8, -5, -5, -5, -5, -5, -5, -5, -5, -5, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $ 140 140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 9, 8, 8, 8] 141 141 ; 142 142 lat=[lat_rama, lat_pirata, lat_tao] 143 143 lon=[lon_rama, lon_pirata, lon_tao] 144 145 lat_tao=lat 144 ; 145 lat_tao=lat 146 146 lon_tao=lon 147 147 nn=n_elements(lat) 148 148 ; 149 149 list=0 150 150 for n=0, nn-1 do begin 151 151 x=lat_tao(n) 152 152 y=lon_tao(n) 153 dx=abs(reform(glamt-x)) 153 dx=abs(reform(glamt-x)) 154 154 dy=abs(reform(gphit)-y) 155 155 ind=where((dx le 0.5) and (dy le 0.5)) … … 158 158 endif 159 159 endfor 160 160 ; 161 161 msk=replicate(1,nxt,nyt) 162 162 msk(list)=!Values.f_nan 163 163 ; 164 164 mask=trop*0 165 165 for jt=0,jpt-1 do begin … … 167 167 mask(*,*,jt)=t 168 168 endfor 169 169 ; 170 170 param=icoads*mask 171 trop=trop*mask 172 oaf=oaf*mask 171 trop=trop*mask 172 oaf=oaf*mask 173 173 erai=erai*mask 174 ncep2=ncep2*mask 174 ncep2=ncep2*mask 175 175 ncep1=ncep1*mask 176 176 noc=noc*mask 177 177 ; 178 178 ind=where(finite(param) and finite(erai) and finite(trop) and finite(oaf) and finite(ncep2) and finite(ncep1)) 179 x=param(ind) 179 x=param(ind) 180 180 y=trop(ind) 181 param=param(ind) 182 trop=trop(ind) 183 erai=erai(ind) 184 oaf=oaf(ind) 185 ncep2=ncep2(ind) 181 param=param(ind) 182 trop=trop(ind) 183 erai=erai(ind) 184 oaf=oaf(ind) 185 ncep2=ncep2(ind) 186 186 ncep1=ncep1(ind) 187 187 noc=noc(ind) 188 188 ; 189 189 ; 190 190 statistics, param, trop, $ … … 194 194 abs_diff=total(abs(trop-param))/n_elements(trop) 195 195 abs_trop=string(abs_diff, format='(f5.2)') 196 196 ; 197 197 statistics, param, oaf, $ 198 198 cor, bias, std, rmsd … … 201 201 abs_diff=total(abs(oaf-param))/n_elements(oaf) 202 202 abs_oaf=string(abs_diff, format='(f5.2)') 203 203 ; 204 204 ; 205 205 statistics, param, erai, $ … … 209 209 abs_diff=total(abs(erai-param))/n_elements(erai) 210 210 abs_erai=string(abs_diff, format='(f5.2)') 211 211 ; 212 212 ; 213 213 statistics, param, ncep2, $ … … 231 231 abs_diff=total(abs(noc-param))/n_elements(noc) 232 232 abs_noc=string(abs_diff, format='(f5.2)') 233 234 ; 235 mio=15 236 mao=32 233 ; 234 ; 235 mio=15 236 mao=32 237 237 inx=1 238 nx=(mao-mio)/inx+1l 238 nx=(mao-mio)/inx+1l 239 239 xx=mio+indgen(nx)*inx 240 mis=15 241 mas=32 242 iny=1 243 ny=(mas-mis)/iny+1l 240 mis=15 241 mas=32 242 iny=1 243 ny=(mas-mis)/iny+1l 244 244 yy=mis+indgen(ny)*iny 245 xp=18 245 xp=18 246 246 yp=16.5 247 x1=15 248 x2=32 249 y1=x1 247 x1=15 248 x2=32 249 y1=x1 250 250 y2=x2 251 251 ; … … 257 257 xyouts, xp, yp, cstat_trop, charsize=1 258 258 xyouts, xp, yp-1, abs_trop, charsize=1 259 259 ; 260 260 ; 261 261 pdf, param,oaf,mio,mao,inx,mis,mas,iny, $ … … 266 266 xyouts, xp, yp, cstat_oaf, charsize=1 267 267 xyouts, xp, yp-1, abs_oaf, charsize=1 268 268 ; 269 269 ; 270 270 pdf, param,erai,mio,mao,inx,mis,mas,iny, $ … … 275 275 xyouts, xp, yp, cstat_erai, charsize=1 276 276 xyouts, xp, yp-1, abs_erai, charsize=1 277 277 ; 278 278 ; 279 279 pdf, param,ncep2,mio,mao,inx,mis,mas,iny, $ … … 284 284 xyouts, xp, yp, cstat_ncep2, charsize=1 285 285 xyouts, xp, yp-1, abs_ncep2, charsize=1 286 286 ; 287 287 ; 288 288 pdf, param,ncep1,mio,mao,inx,mis,mas,iny, $ … … 293 293 xyouts, xp, yp, cstat_ncep1, charsize=1 294 294 xyouts, xp, yp-1, abs_ncep1, charsize=1 295 295 ; 296 296 pdf, param,noc,mio,mao,inx,mis,mas,iny, $ 297 297 pdf,xx,yy … … 301 301 xyouts, xp, yp, cstat_noc, charsize=1 302 302 xyouts, xp, yp-1, abs_noc, charsize=1 303 303 ; 304 304 closeps 305 ; 305 306 end -
trunk/src/paper01/fig6/icoads_t2m_stats_paper.pro
r94 r97 81 81 key_portrait = 1 82 82 coefpalit=.9 83 83 ; 84 84 openps, FILENAME = project_od_env+"icoads_t2m_stats_paper.ps" 85 85 ; partie a changer 86 86 marge=[-2,-2, -4,2] 87 st=19890101 87 st=19890101 88 88 en=20091231 89 89 domdef, box 90 90 ; 91 91 file=project_id_env+'airt_monthly_1960_2010_oafluxgrid.nc' 92 92 initncdf, file 93 93 icoads=read_ncdf("airt", st-1, en , file=file,/nostr, box=box) 94 94 help, icoads 95 95 ; 96 96 file=project_id_env+'t2m_TropFlux_global_monthly_1989_2009.nc' 97 97 initncdf, file 98 98 trop=read_ncdf("t2m", st, en , file=file,/nostr, box=box)-273.15 99 99 help, trop 100 100 ; 101 101 file=project_id_env+"t2m_OAFlux_global_monthly_1989_2009.nc" 102 102 initncdf, file 103 103 oaf=read_ncdf("t2m", st, en , file=file,/nostr, box=box) 104 104 help, oaf 105 105 ; 106 106 file=project_id_env+"t2m_ERAI_global_monthly_1989_2009.nc" 107 107 initncdf, file 108 108 erai=read_ncdf("t2m", st, en , file=file,/nostr, box=box)-273.15 109 109 help, erai 110 110 ; 111 111 file=project_id_env+"t2m_NCEP2_global_monthly_1989_2009.nc" 112 112 initncdf, file 113 113 ncep2=read_ncdf("t2m", st, en , file=file,/nostr, box=box)-273.15 114 114 help, ncep2 115 115 ; 116 116 file=project_id_env+"t2m_NCEP1_global_monthly_1989_2009.nc" 117 117 initncdf, file 118 118 ncep1=read_ncdf("t2m", st, en , file=file,/nostr, box=box)-273.15 119 119 help, ncep1 120 121 122 si=size(trop) 120 ; 121 ; 122 si=size(trop) 123 123 nt=si(3) 124 124 ; 125 125 lat_rama=[67, 55, 55, 80.5, 80.5, 80.5, 80.5, 90, 90, 90, 90, 90, 90, 90, 95] 126 126 lon_rama=[-8, -12, -8,-8, -1.5, 0, 1.5, -1.5, 0, 1.5, 4, 8, 12, 15, -5] 127 127 ; 128 128 lat_pirata=[0, 350, 337, 325, 350, 337, 322, 328, 322, 326, 322, 337, 337, 322, 350, 322, 330] 129 129 lon_pirata=[0, 0, 0, 0, -10, 12, 12, -14, 15, -19, 20, 21, 4, 4, -6, 8, -8] 130 130 ; 131 131 lat_tao=[165, 180, 205, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, $ 132 132 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 190, 205, 220, 235, 250, 265, $ 133 133 156, 165, 180, 190, 220, 235, 250, 265] 134 134 ; 135 135 lon_tao=[-8, -8, -8, -8, -8, -8, -5, -5, -5, -5, -5, -5, -5, -5, -5, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $ 136 136 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 9, 8, 8, 8] 137 137 ; 138 138 lat=[lat_rama, lat_pirata, lat_tao] 139 139 lon=[lon_rama, lon_pirata, lon_tao] 140 141 lat_tao=lat 140 ; 141 lat_tao=lat 142 142 lon_tao=lon 143 143 nn=n_elements(lat) 144 144 ; 145 145 list=0 146 146 for n=0, nn-1 do begin 147 147 x=lat_tao(n) 148 148 y=lon_tao(n) 149 dx=abs(reform(glamt-x)) 149 dx=abs(reform(glamt-x)) 150 150 dy=abs(reform(gphit)-y) 151 151 ind=where((dx le 0.5) and (dy le 0.5)) … … 154 154 endif 155 155 endfor 156 156 ; 157 157 msk=replicate(1,nxt,nyt) 158 158 msk(list)=!Values.f_nan 159 159 ; 160 160 mask=trop*0 161 161 for jt=0,jpt-1 do begin … … 163 163 mask(*,*,jt)=t 164 164 endfor 165 165 ; 166 166 param=icoads*mask 167 trop=trop*mask 168 oaf=oaf*mask 167 trop=trop*mask 168 oaf=oaf*mask 169 169 erai=erai*mask 170 ncep2=ncep2*mask 170 ncep2=ncep2*mask 171 171 ncep1=ncep1*mask 172 173 172 ; 173 ; 174 174 ind=where(finite(param) and finite(erai) and finite(trop) and finite(oaf) and finite(ncep2) and finite(ncep1)) 175 x=param(ind) 175 x=param(ind) 176 176 y=trop(ind) 177 param=param(ind) 178 trop=trop(ind) 179 erai=erai(ind) 180 oaf=oaf(ind) 181 ncep2=ncep2(ind) 177 param=param(ind) 178 trop=trop(ind) 179 erai=erai(ind) 180 oaf=oaf(ind) 181 ncep2=ncep2(ind) 182 182 ncep1=ncep1(ind) 183 183 ; 184 184 ; 185 185 statistics, param, trop, $ … … 196 196 abs_diff=total(abs(oaf-param))/n_elements(oaf) 197 197 abs_oaf=string(abs_diff, format='(f5.2)') 198 198 ; 199 199 ; 200 200 statistics, param, erai, $ … … 204 204 abs_diff=total(abs(erai-param))/n_elements(erai) 205 205 abs_erai=string(abs_diff, format='(f5.2)') 206 206 ; 207 207 ; 208 208 statistics, param, ncep2, $ … … 212 212 abs_diff=total(abs(ncep2-param))/n_elements(ncep2) 213 213 abs_ncep2=string(abs_diff, format='(f5.2)') 214 214 ; 215 215 ; 216 216 statistics, param, ncep1, $ … … 220 220 abs_diff=total(abs(ncep1-param))/n_elements(ncep1) 221 221 abs_ncep1=string(abs_diff, format='(f5.2)') 222 223 ; 224 mio=15 225 mao=32 226 inx=1 227 nx=(mao-mio)/inx+1l 222 ; 223 ; 224 mio=15 225 mao=32 226 inx=1 227 nx=(mao-mio)/inx+1l 228 228 xx=mio+indgen(nx)*inx 229 mis=15 230 mas=32 231 iny=1 232 ny=(mas-mis)/iny+1l 229 mis=15 230 mas=32 231 iny=1 232 ny=(mas-mis)/iny+1l 233 233 yy=mis+indgen(ny)*iny 234 xp=16 234 xp=16 235 235 yp=14 236 237 x1=13 238 x2=32 239 y1=x1 236 ; 237 x1=13 238 x2=32 239 y1=x1 240 240 y2=x2 241 241 ; … … 247 247 xyouts, xp, yp, cstat_trop, charsize=1 248 248 xyouts, xp, yp-1, abs_trop, charsize=1 249 249 ; 250 250 ; 251 251 pdf, param,oaf,mio,mao,inx,mis,mas,iny, $ … … 256 256 xyouts, xp, yp, cstat_oaf, charsize=1 257 257 xyouts, xp, yp-1, abs_oaf, charsize=1 258 258 ; 259 259 ; 260 260 pdf, param,erai,mio,mao,inx,mis,mas,iny, $ … … 265 265 xyouts, xp, yp, cstat_erai, charsize=1 266 266 xyouts, xp, yp-1, abs_erai, charsize=1 267 267 ; 268 268 ; 269 269 pdf, param,ncep2,mio,mao,inx,mis,mas,iny, $ … … 274 274 xyouts, xp, yp, cstat_ncep2, charsize=1 275 275 xyouts, xp, yp-1, abs_ncep2, charsize=1 276 276 ; 277 277 ; 278 278 pdf, param,ncep1,mio,mao,inx,mis,mas,iny, $ … … 283 283 xyouts, xp, yp, cstat_ncep1, charsize=1 284 284 xyouts, xp, yp-1, abs_ncep1, charsize=1 285 285 ; 286 286 closeps 287 ; 287 288 end -
trunk/src/paper01/fig6/icoads_ws_stats_paper.pro
r94 r97 82 82 key_portrait = 1 83 83 coefpalit=.9 84 84 ; 85 85 openps, FILENAME = project_od_env+"icoads_ws_stats_paper.ps" 86 86 ; partie a changer 87 87 marge=[-2,-2, -4,2] 88 st=19890101 88 st=19890101 89 89 en=20091231 90 90 domdef, box 91 91 ; 92 92 file=project_id_env+'ws_monthly_1960_2010_oafluxgrid.nc" 93 93 initncdf, file 94 94 icoads=read_ncdf("ws", st-1, en , file=file,/nostr, box=box) 95 95 help, icoads 96 96 ; 97 97 file=project_id_env+"ws_TropFlux_global_monthly_1989_2009.nc" 98 98 initncdf, file 99 99 trop=read_ncdf("ws", st, en , file=file,/nostr, box=box) 100 100 help, trop 101 101 ; 102 102 file=project_id_env+"ws_OAFlux_global_monthly_1989_2009.nc" 103 103 initncdf, file 104 104 oaf=read_ncdf("ws", st, en , file=file,/nostr, box=box) 105 105 help, oaf 106 106 ; 107 107 file=project_id_env+"ws_ERAI_global_monthly_1989_2009.nc" 108 108 initncdf, file 109 109 erai=read_ncdf("ws", st, en , file=file,/nostr, box=box) 110 110 help, erai 111 111 ; 112 112 file=project_id_env+"ws_NCEP2_global_monthly_1989_2009.nc" 113 113 initncdf, file 114 114 ncep2=read_ncdf("wsm", st, en , file=file,/nostr, box=box) 115 115 help, ncep2 116 116 ; 117 117 file=project_id_env+"ws_NCEP1_global_monthly_1989_2009.nc" 118 118 initncdf, file 119 119 ncep1=read_ncdf("ws", st, en , file=file,/nostr, box=box) 120 120 help, ncep1 121 121 ; 122 122 file=project_id_env+'nocv2_ws_19890101_20091231_oafluxgrid.nc' 123 123 initncdf, file 124 124 noc=read_ncdf("ws", st, en , file=file,/nostr, box=box) 125 125 help, noc 126 127 si=size(trop) 126 ; 127 si=size(trop) 128 128 nt=si(3) 129 129 ; 130 130 lat_rama=[67, 55, 55, 80.5, 80.5, 80.5, 80.5, 90, 90, 90, 90, 90, 90, 90, 95] 131 131 lon_rama=[-8, -12, -8,-8, -1.5, 0, 1.5, -1.5, 0, 1.5, 4, 8, 12, 15, -5] 132 132 ; 133 133 lat_pirata=[0, 350, 337, 325, 350, 337, 322, 328, 322, 326, 322, 337, 337, 322, 350, 322, 330] 134 134 lon_pirata=[0, 0, 0, 0, -10, 12, 12, -14, 15, -19, 20, 21, 4, 4, -6, 8, -8] 135 135 ; 136 136 lat_tao=[165, 180, 205, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, $ 137 137 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 180, 190, 205, 220, 235, 250, 265, 147, 156, 165, 190, 205, 220, 235, 250, 265, $ 138 138 156, 165, 180, 190, 220, 235, 250, 265] 139 139 ; 140 140 lon_tao=[-8, -8, -8, -8, -8, -8, -5, -5, -5, -5, -5, -5, -5, -5, -5, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $ 141 141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 9, 8, 8, 8] 142 142 ; 143 143 lat=[lat_rama, lat_pirata, lat_tao] 144 144 lon=[lon_rama, lon_pirata, lon_tao] 145 146 lat_tao=lat 145 ; 146 lat_tao=lat 147 147 lon_tao=lon 148 148 nn=n_elements(lat) 149 149 ; 150 150 list=0 151 151 for n=0, nn-1 do begin 152 152 x=lat_tao(n) 153 153 y=lon_tao(n) 154 dx=abs(reform(glamt-x)) 154 dx=abs(reform(glamt-x)) 155 155 dy=abs(reform(gphit)-y) 156 156 ind=where((dx le 0.5) and (dy le 0.5)) … … 159 159 endif 160 160 endfor 161 161 ; 162 162 msk=replicate(1,nxt,nyt) 163 163 msk(list)=!Values.f_nan 164 164 ; 165 165 mask=trop*0 166 166 for jt=0,jpt-1 do begin … … 168 168 mask(*,*,jt)=t 169 169 endfor 170 170 ; 171 171 param=icoads*mask 172 trop=trop*mask 173 oaf=oaf*mask 172 trop=trop*mask 173 oaf=oaf*mask 174 174 erai=erai*mask 175 ncep2=ncep2*mask 175 ncep2=ncep2*mask 176 176 ncep1=ncep1*mask 177 177 noc=noc*mask 178 178 ; 179 179 ind=where(finite(param) and finite(noc) and finite(erai) and finite(trop) and finite(oaf) and finite(ncep2) and finite(ncep1)) 180 x=param(ind) 180 x=param(ind) 181 181 y=trop(ind) 182 param=param(ind) 183 trop=trop(ind) 184 erai=erai(ind) 185 oaf=oaf(ind) 186 ncep2=ncep2(ind) 182 param=param(ind) 183 trop=trop(ind) 184 erai=erai(ind) 185 oaf=oaf(ind) 186 ncep2=ncep2(ind) 187 187 ncep1=ncep1(ind) 188 188 noc=noc(ind) 189 189 ; 190 190 ; 191 191 statistics, param, trop, $ … … 209 209 abs_diff=total(abs(erai-param))/n_elements(erai) 210 210 abs_erai=string(abs_diff, format='(f5.2)') 211 211 ; 212 212 ; 213 213 statistics, param, ncep2, $ … … 232 232 abs_noc=string(abs_diff, format='(f5.2)') 233 233 ; 234 mio=0 235 mao=15 236 inx=1 237 nx=(mao-mio)/inx+1l 234 mio=0 235 mao=15 236 inx=1 237 nx=(mao-mio)/inx+1l 238 238 xx=mio+indgen(nx)*inx 239 mis=0 240 mas=15 241 iny=1 242 ny=(mas-mis)/iny+1l 239 mis=0 240 mas=15 241 iny=1 242 ny=(mas-mis)/iny+1l 243 243 yy=mis+indgen(ny)*iny 244 xp=4 244 xp=4 245 245 yp=13 246 x1=0 247 x2=15 248 y1=x1 246 x1=0 247 x2=15 248 y1=x1 249 249 y2=x2 250 250 ; … … 256 256 xyouts, xp, yp, cstat_trop, charsize=1 257 257 xyouts, xp, yp-1, abs_trop, charsize=1 258 258 ; 259 259 ; 260 260 pdf, param,oaf,mio,mao,inx,mis,mas,iny, $ … … 265 265 xyouts, xp, yp, cstat_oaf, charsize=1 266 266 xyouts, xp, yp-1, abs_oaf, charsize=1 267 267 ; 268 268 ; 269 269 pdf, param,erai,mio,mao,inx,mis,mas,iny, $ … … 274 274 xyouts, xp, yp, cstat_erai, charsize=1 275 275 xyouts, xp, yp-1, abs_erai, charsize=1 276 276 ; 277 277 ; 278 278 pdf, param,ncep2,mio,mao,inx,mis,mas,iny, $ … … 283 283 xyouts, xp, yp, cstat_ncep2, charsize=1 284 284 xyouts, xp, yp-1, abs_ncep2, charsize=1 285 285 ; 286 286 ; 287 287 pdf, param,ncep1,mio,mao,inx,mis,mas,iny, $ … … 300 300 xyouts, xp, yp, cstat_noc, charsize=1 301 301 xyouts, xp, yp-1, abs_noc, charsize=1 302 302 ; 303 303 closeps 304 ; 304 305 end -
trunk/src/paper01/fig6/statistics.pro
r94 r97 60 60 cor, bias, std, rmsd 61 61 @cm_project 62 ; ;mean1= mean of mooring variable std1=std of mooring variable63 ; ;mean2= mean of erai variable std2=std of erai variable64 x=moor 62 ; mean1= mean of mooring variable std1=std of mooring variable 63 ; mean2= mean of erai variable std2=std of erai variable 64 x=moor 65 65 y=erai 66 ind1=where(finite(x,/nan)) 66 ind1=where(finite(x,/nan)) 67 67 ind2=where(finite(y,/nan)) 68 68 ind=inter(ind1,ind2) 69 69 if (ind ne -1 ) then begin 70 x(ind)=!Values.f_nan 70 x(ind)=!Values.f_nan 71 71 y(ind)=!Values.f_nan 72 72 endif 73 73 ; 74 74 ind=where(finite(x)) 75 x=x(ind) 75 x=x(ind) 76 76 y=y(ind) 77 77 ; 78 78 nn=n_elements(ind) 79 79 ; 80 80 cor=correlate(x,y) 81 81 xxx=moment(x) 82 mean1=xxx(0) 82 mean1=xxx(0) 83 83 std1=sqrt(xxx(1)) 84 84 xxx=moment(y) 85 mean2=xxx(0) 85 mean2=xxx(0) 86 86 std2=sqrt(xxx(1)) 87 bias=mean2-mean1 87 bias=mean2-mean1 88 88 std=std2/std1 89 89 rmsd=sqrt(total((x-y)*(x-y))/n_elements(x)) 90 ; 90 91 end -
trunk/src/paper01/fig7/air_validation_scatter_2000_2009_basin.pro
r94 r97 90 90 reinitplt, /z,/invert 91 91 key_portrait = 1 92 92 ; 93 93 openps, FILENAME = project_od_env+'air_validation_scatter_2000_2009_'+ocean+'.ps' 94 95 ; ;Give the location of mooring for validation of basic meteorological variables96 97 94 ; 95 ; Give the location of mooring for validation of basic meteorological variables 96 ; 97 ; 98 98 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 99 99 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 106 106 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 107 107 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 108 108 ; 109 109 ocean='global' 110 110 ; 111 111 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 112 112 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e'] 113 113 ocean='IO' 114 114 ; 115 115 ;sitelist=['8s165e', '8s180w', '8s155w', '8s125w', '8s110w', '8s95w', '5s156e', '5s165e', '5s180w', '5s170w', $ 116 116 ; '5s155w', '5s140w', '5s125w', '5s110w', '5s95w', '2s156e', '2s165e', '2s180w', '2s170w', '2s155w', '2s140w', $ … … 120 120 ; '8n156e', '8n165e', '8n180w', '8n170w', '9n140w', '8n125w', '8n110w', '8n95w'] 121 121 ;ocean='Pac' 122 122 ; 123 123 ;sitelist=['0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 124 124 ; '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 125 125 ;ocean='AO' 126 126 ; 127 127 ;sitelist=['8s165e', '8s180w', '8s155w','5s156e', '5s165e', '5s180w', '5s170w','2s156e', '2s165e', '2s180w', $ 128 128 ; '2s170w','0n147e', '0n156e', '0n165e', '0n180w', '0n170w', '2n147e', '2n156e', '2n165e', '2n180w', $ … … 130 130 ; '8n125w', '8n110w', '8n95w'] 131 131 ;ocean='Pac_warmpool' 132 132 ; 133 133 ;sitelist=['8s125w', '8s110w', '8s95w','5s155w', '5s140w', '5s125w', '5s110w', '5s95w','2s155w', '2s140w', $ 134 134 ; '2s125w', '2s110w', '2s95w', '0n155w', '0n140w', '0n125w', '0n110w', '0n95w', '2n155w', '2n140w', $ 135 135 ; '2n125w', '2n110w', '2n95w', '5n155w', '5n140w', '5n125w', '5n110w', '5n95w'] 136 136 ;ocean='Pac_coldtongue' 137 137 ; 138 138 ;sitelist=['0n0e','0n35w', '4n23w', '4n38w', '8n38w'] 139 139 ;ocean='AO_warmpool' 140 140 ; 141 141 ;sitelist=['0n10w','0n23w','10s10w','12n23w','12n38w','14s32w','15n38w', '19s34w','20n38w', $ 142 142 ; '21n23w', '6s10w', '8s30w'] 143 143 ;ocean='AO_coldtongue' 144 145 nsmooth=1. ; ;statistics are with 7 day smoothed146 ; ;This program will create the following text files with statistics of respective variables144 ; 145 nsmooth=1. ; statistics are with 7 day smoothed 146 ; This program will create the following text files with statistics of respective variables 147 147 close,/all 148 148 ; 149 149 fi_air_erai=project_id_env+'air_2000_2009_erai_'+ocean+'.txt' 150 150 openw,1,fi_air_erai … … 157 157 fi_air_ncep1=project_id_env+'air_2000_2009_ncep1_'+ocean+'.txt' 158 158 openw,5,fi_air_ncep1 159 160 159 ; 160 ; 161 161 printf,1, 'x y cor bias std rmsd mean_tao' 162 162 printf,2, 'x y cor bias std rmsd mean_tao' … … 164 164 printf,4, 'x y cor bias std rmsd mean_tao' 165 165 printf,5, 'x y cor bias std rmsd mean_tao' 166 167 ; ;first reading the whole ERAI uncorrected and corrected data168 166 ; 167 ; first reading the whole ERAI uncorrected and corrected data 168 ; 169 169 file=project_id_env+'erai_t2m_19890101_20091231_oafluxgrid.nc' 170 170 initncdf, file 171 unc=read_ncdf('t2m',date1,date2,file=file,/nostr) 171 unc=read_ncdf('t2m',date1,date2,file=file,/nostr) 172 172 unc=unc-273.15 173 173 help, unc 174 174 ; 175 175 ;save, unc, cor, oaf, nce, nce1, filename="airt_unc_cor_oaf_nce_nce1_2000_2009_global.idl" 176 176 restore, file="/Users/pkb/work/MY_SAXO/airt_unc_cor_oaf_nce_nce1_2000_2009_global.idl" 177 177 help, unc, cor, oaf, nce, nce1 178 178 ; 179 179 nn=n_elements(sitelist) 180 180 for n=0, nn-1 do begin 181 182 ; ;reading data from mooring183 184 site=sitelist(n) 181 ; 182 ; reading data from mooring 183 ; 184 site=sitelist(n) 185 185 csite=site 186 186 print, csite … … 188 188 y=y_site_location(site) 189 189 if (y ge 0. and y le 30.) then y=y+360. 190 dx=0.5 191 dy=0.5 190 dx=0.5 191 dy=0.5 192 192 box=[y-dy, y+dy, x-dx, x+dx] 193 193 read_variables_v2, csite,date1,date2,nsmooth, $ 194 194 at, sw,rh,sst,wu,wv,ws,lh 195 196 197 ; air=rh_to_sphum(rh,at,1008) ; ;at -> air temperature198 air=at ; ;air -> sea surface temperature199 ; ;lh -> latent heat flux200 ; ;rh -> relative humidity201 ; ;wu,wv,ws -> wind speed202 ; ;203 204 205 ; ;extracting the corrected and uncorrected ERAI data at the locations195 ; 196 ; 197 ; air=rh_to_sphum(rh,at,1008) ; at -> air temperature 198 air=at ; air -> sea surface temperature 199 ; lh -> latent heat flux 200 ; rh -> relative humidity 201 ; wu,wv,ws -> wind speed 202 ; 203 ; 204 ; 205 ; extracting the corrected and uncorrected ERAI data at the locations 206 206 nsmooth=1. 207 207 ; 208 208 extract_flux_tropflux,unc,box, $ 209 209 tropflux 210 210 uncr=tropflux 211 211 ; 212 212 extract_flux_tropflux,cor,box, $ 213 213 tropflux 214 214 corr=tropflux 215 215 ; 216 216 extract_flux_tropflux,oaf,box, $ 217 217 tropflux 218 218 oafl=tropflux 219 219 ; 220 220 extract_flux_tropflux,nce,box, $ 221 221 tropflux 222 222 ncep=tropflux 223 223 ; 224 224 extract_flux_tropflux,nce1,box, $ 225 225 tropflux 226 226 ncep1=tropflux 227 228 229 ind=where(finite(air)) 230 air=air(ind) 231 uncr_air=uncr(ind) 227 ; 228 ; 229 ind=where(finite(air)) 230 air=air(ind) 231 uncr_air=uncr(ind) 232 232 corr_air=corr(ind) 233 oafl=oafl(ind) 234 ncep=ncep(ind) 233 oafl=oafl(ind) 234 ncep=ncep(ind) 235 235 ncep1=ncep1(ind) 236 236 mean_tao=total(air,/nan)/n_elements(ind) 237 237 ; 238 238 statistics_3var_v1, air, uncr_air, corr_air, $ 239 239 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 240 240 ; 241 241 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,f6.2)' 242 242 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,f6.2)' 243 243 ; 244 244 statistics_3var_v1, air, oafl, ncep, $ 245 245 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 246 246 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,f6.2)' 247 247 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,f6.2)' 248 248 ; 249 249 statistics_3var_v1, air, ncep1, ncep, $ 250 250 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 251 251 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,f6.2)' 252 252 ; 253 253 endfor 254 254 close,/all 255 255 ; 256 256 fi_air_erai=project_id_env+'air_2000_2009_erai_'+ocean+'.txt' 257 257 res=read_ascii(fi_air_erai,data_start=1) … … 259 259 lat=reform(ff(0,*)) 260 260 lon=reform(ff(1,*)) 261 cor_era=reform(ff(2,*)) 261 cor_era=reform(ff(2,*)) 262 262 cor_erai=total(cor_era)/n_elements(cor_era) 263 bias_era=reform(ff(3,*)) 263 bias_era=reform(ff(3,*)) 264 264 bias_erai=total(bias_era)/n_elements(bias_era) 265 std_era=reform(ff(4,*)) 265 std_era=reform(ff(4,*)) 266 266 std_erai=total(std_era)/n_elements(std_era) 267 rmsd_era=reform(ff(5,*)) 267 rmsd_era=reform(ff(5,*)) 268 268 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 269 mean_tao=reform(ff(6,*)) 269 mean_tao=reform(ff(6,*)) 270 270 mean_erai=bias_era+mean_tao 271 271 ; 272 272 print, '' 273 273 print, 'ERAI' … … 279 279 xyouts, 22.3,30.2, cstat, charsize=0.9 280 280 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 281 281 ; 282 282 oplot, [22,31], [22,31] 283 283 ab=linfit(mean_tao, mean_erai,yfit=yfit) 284 a=float(ab(0)) 284 a=float(ab(0)) 285 285 b=float(ab(1)) 286 286 oplot, mean_tao, yfit, color=250, thick=2 287 287 ; 288 288 fi_air_trop=project_id_env+'air_2000_2009_trop_'+ocean+'.txt' 289 289 res=read_ascii(fi_air_trop,data_start=1) … … 291 291 lat=reform(ff(0,*)) 292 292 lon=reform(ff(1,*)) 293 cor_tro=reform(ff(2,*)) 293 cor_tro=reform(ff(2,*)) 294 294 cor_trop=total(cor_tro)/n_elements(cor_tro) 295 bias_tro=reform(ff(3,*)) 295 bias_tro=reform(ff(3,*)) 296 296 bias_trop=total(bias_tro)/n_elements(bias_tro) 297 std_tro=reform(ff(4,*)) 297 std_tro=reform(ff(4,*)) 298 298 std_trop=total(std_tro)/n_elements(std_tro) 299 rmsd_tro=reform(ff(5,*)) 299 rmsd_tro=reform(ff(5,*)) 300 300 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 301 mean_tao=reform(ff(6,*)) 301 mean_tao=reform(ff(6,*)) 302 302 mean_trop=bias_tro+mean_tao 303 303 ; 304 304 print, '' 305 305 print, 'TropFlux' 306 306 print, cor_trop, bias_trop, std_trop, rmsd_trop 307 307 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 308 308 ; 309 309 splot, mean_tao, mean_trop, title='T2m - TAO Vs TropFlux', subtitle='', $ 310 310 charsize=1.1, xtitle='TAO T2m', ytitle='TropFlux T2m', small=[2,3,2],/noer, psym=2, $ … … 313 313 xyouts, 22.3,30.2, cstat, charsize=0.9 314 314 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 315 315 ; 316 316 ab=linfit(mean_tao, mean_trop,yfit=yfit) 317 a=float(ab(0)) 317 a=float(ab(0)) 318 318 b=float(ab(1)) 319 319 oplot, mean_tao, yfit, color=250, thick=2 320 320 ; 321 321 fi_air_oaflx=project_id_env+'air_2000_2009_oaflx_'+ocean+'.txt' 322 322 res=read_ascii(fi_air_oaflx,data_start=1) … … 324 324 lat=reform(ff(0,*)) 325 325 lon=reform(ff(1,*)) 326 cor_oaf=reform(ff(2,*)) 326 cor_oaf=reform(ff(2,*)) 327 327 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 328 bias_oaf=reform(ff(3,*)) 328 bias_oaf=reform(ff(3,*)) 329 329 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 330 std_oaf=reform(ff(4,*)) 330 std_oaf=reform(ff(4,*)) 331 331 std_oafl=total(std_oaf)/n_elements(std_oaf) 332 rmsd_oaf=reform(ff(5,*)) 332 rmsd_oaf=reform(ff(5,*)) 333 333 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 334 mean_tao=reform(ff(6,*)) 334 mean_tao=reform(ff(6,*)) 335 335 mean_oafl=bias_oaf+mean_tao 336 336 ; 337 337 print, '' 338 338 print, 'OAFlux' 339 339 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 340 340 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 341 341 ; 342 342 splot, mean_tao, mean_oafl, title='T2m - TAO Vs OAFlux', subtitle='', $ 343 343 charsize=1.1, xtitle='TAO T2m', ytitle='OAFlux T2m', small=[2,3,3],/noer, psym=2, $ … … 346 346 xyouts, 22.3,30.2, cstat, charsize=0.9 347 347 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 348 348 ; 349 349 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 350 a=float(ab(0)) 350 a=float(ab(0)) 351 351 b=float(ab(1)) 352 352 oplot, mean_tao, yfit, color=250, thick=2 353 354 355 353 ; 354 ; 355 ; 356 356 fi_air_ncep=project_id_env+'air_2000_2009_ncep2_'+ocean+'.txt' 357 357 res=read_ascii(fi_air_ncep,data_start=1) … … 359 359 lat=reform(ff(0,*)) 360 360 lon=reform(ff(1,*)) 361 cor_nce=reform(ff(2,*)) 361 cor_nce=reform(ff(2,*)) 362 362 cor_ncep=total(cor_nce)/n_elements(cor_nce) 363 bias_nce=reform(ff(3,*)) 363 bias_nce=reform(ff(3,*)) 364 364 bias_ncep=total(bias_nce)/n_elements(bias_nce) 365 std_nce=reform(ff(4,*)) 365 std_nce=reform(ff(4,*)) 366 366 std_ncep=total(std_nce)/n_elements(std_nce) 367 rmsd_nce=reform(ff(5,*)) 367 rmsd_nce=reform(ff(5,*)) 368 368 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 369 mean_tao=reform(ff(6,*)) 369 mean_tao=reform(ff(6,*)) 370 370 mean_ncep=bias_nce+mean_tao 371 371 ; 372 372 print, '' 373 373 print, 'NCEP2' 374 374 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 375 375 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 376 376 ; 377 377 splot, mean_tao, mean_ncep, title='T2m - TAO Vs NCEP2', subtitle='', $ 378 378 charsize=1.1, xtitle='TAO T2m', ytitle='NCEP2 T2m', small=[2,3,4],/noer, psym=2, $ … … 381 381 xyouts, 22.3,30.2, cstat, charsize=0.9 382 382 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 383 383 ; 384 384 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 385 a=float(ab(0)) 385 a=float(ab(0)) 386 386 b=float(ab(1)) 387 387 oplot, mean_tao, yfit, color=250, thick=2 388 388 ; 389 389 fi_air_ncep1=project_id_env+'air_2000_2009_ncep1_'+ocean+'.txt' 390 390 res=read_ascii(fi_air_ncep1,data_start=1) … … 392 392 lat=reform(ff(0,*)) 393 393 lon=reform(ff(1,*)) 394 cor_nce=reform(ff(2,*)) 394 cor_nce=reform(ff(2,*)) 395 395 cor_ncep=total(cor_nce)/n_elements(cor_nce) 396 bias_nce=reform(ff(3,*)) 396 bias_nce=reform(ff(3,*)) 397 397 bias_ncep=total(bias_nce)/n_elements(bias_nce) 398 std_nce=reform(ff(4,*)) 398 std_nce=reform(ff(4,*)) 399 399 std_ncep=total(std_nce)/n_elements(std_nce) 400 rmsd_nce=reform(ff(5,*)) 400 rmsd_nce=reform(ff(5,*)) 401 401 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 402 mean_tao=reform(ff(6,*)) 402 mean_tao=reform(ff(6,*)) 403 403 mean_ncep=bias_nce+mean_tao 404 404 ; 405 405 print, '' 406 406 print, 'NCEP1' 407 407 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 408 408 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 409 409 ; 410 410 splot, mean_tao, mean_ncep, title='T2m - TAO Vs NCEP_NCAR', subtitle='', $ 411 411 charsize=1.1, xtitle='TAO T2m', ytitle='NCEP', small=[2,3,5],/noer, psym=2, $ … … 414 414 xyouts, 22.3,30.2, cstat, charsize=0.9 415 415 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 416 416 ; 417 417 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 418 a=float(ab(0)) 418 a=float(ab(0)) 419 419 b=float(ab(1)) 420 420 oplot, mean_tao, yfit, color=250, thick=2 421 421 ; 422 422 closeps 423 423 ; 424 424 end -
trunk/src/paper01/fig7/q2m_validation_scatter_2000_2009_basin.pro
r94 r97 84 84 ; 85 85 ;- 86 86 ; 87 87 pro q2m_validation_scatter_2000_2009_basin, date1, date2 88 88 @cm_general … … 90 90 reinitplt, /z,/invert 91 91 key_portrait = 1 92 92 ; 93 93 openps, FILENAME = project_od_env+'q2m_validation_scatter_2000_2009_'+ocean+'.ps' 94 95 ; ;Give the location of mooring for validation of basic meteorological variables94 ; 95 ; Give the location of mooring for validation of basic meteorological variables 96 96 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 97 97 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 104 104 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 105 105 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 106 106 ; 107 107 ocean='global' 108 108 ; 109 109 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 110 110 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e'] 111 111 ocean='IO' 112 112 ; 113 113 sitelist=['8s165e', '8s180w', '8s155w', '8s125w', '8s110w', '8s95w', '5s156e', '5s165e', '5s180w', '5s170w', $ 114 114 '5s155w', '5s140w', '5s125w', '5s110w', '5s95w', '2s156e', '2s165e', '2s180w', '2s170w', '2s155w', '2s140w', $ … … 118 118 '8n156e', '8n165e', '8n180w', '8n170w', '9n140w', '8n125w', '8n110w', '8n95w'] 119 119 ocean='Pac' 120 120 ; 121 121 sitelist=['0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 122 122 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 123 123 ocean='AO' 124 124 ; 125 125 sitelist=['8s165e', '8s180w', '8s155w','5s156e', '5s165e', '5s180w', '5s170w','2s156e', '2s165e', '2s180w', $ 126 126 '2s170w','0n147e', '0n156e', '0n165e', '0n180w', '0n170w', '2n147e', '2n156e', '2n165e', '2n180w', $ … … 128 128 '8n125w', '8n110w', '8n95w'] 129 129 ocean='Pac_warmpool' 130 130 ; 131 131 ;sitelist=['8s125w', '8s110w', '8s95w','5s155w', '5s140w', '5s125w', '5s110w', '5s95w','2s155w', '2s140w', $ 132 132 ; '2s125w', '2s110w', '2s95w', '0n155w', '0n140w', '0n125w', '0n110w', '0n95w', '2n155w', '2n140w', $ 133 133 ; '2n125w', '2n110w', '2n95w', '5n155w', '5n140w', '5n125w', '5n110w', '5n95w'] 134 134 ;ocean='Pac_coldtongue' 135 135 ; 136 136 ;sitelist=['0n0e','0n35w', '4n23w', '4n38w', '8n38w'] 137 137 ;ocean='AO_warmpool' 138 138 ; 139 139 ;sitelist=['0n10w','0n23w','10s10w','12n23w','12n38w','14s32w','15n38w', '19s34w','20n38w', $ 140 140 ; '21n23w', '6s10w', '8s30w'] 141 141 ;ocean='AO_coldtongue' 142 143 nsmooth=1. ; ;statistics are with 7 day smoothed144 ; ;This program will create the following text files with statistics of respective variables142 ; 143 nsmooth=1. ; statistics are with 7 day smoothed 144 ; This program will create the following text files with statistics of respective variables 145 145 close,/all 146 146 ; 147 147 fi_q2m_erai=project_id_env+'q2m_2000_2009_erai_'+ocean+'.txt' 148 148 openw,1,fi_q2m_erai … … 155 155 fi_q2m_ncep1=project_id_env+'q2m_2000_2009_ncep1_'+ocean+'.txt' 156 156 openw,5,fi_q2m_ncep1 157 158 157 ; 158 ; 159 159 printf,1, 'x y cor bias std rmsd mean_tao' 160 160 printf,2, 'x y cor bias std rmsd mean_tao' … … 162 162 printf,4, 'x y cor bias std rmsd mean_tao' 163 163 printf,5, 'x y cor bias std rmsd mean_tao' 164 165 ; ;first reading the whole ERAI uncorrected and corrected data166 164 ; 165 ; first reading the whole ERAI uncorrected and corrected data 166 ; 167 167 file=project_id_env+'erai_q2m_19890101_20091231_oafluxgrid.nc' 168 168 initncdf, file 169 169 unc=read_ncdf('q2m',date1,date2,file=file,/nostr) 170 170 help, unc 171 171 ; 172 172 ;save, unc, cor, oaf, nce, nce1, filename="q2m_era_trop_oaf_nce_nce1_2000_2009_global.idl" 173 173 restore, file="/Users/pkb/work/MY_SAXO/q2m_era_trop_oaf_nce_nce1_2000_2009_global.idl" 174 174 help, unc, cor, oaf, nce, nce1 175 175 ; 176 176 nn=n_elements(sitelist) 177 177 for n=0, nn-1 do begin 178 179 ; ;reading data from mooring180 181 site=sitelist(n) 178 ; 179 ; reading data from mooring 180 ; 181 site=sitelist(n) 182 182 csite=site 183 183 print, csite … … 185 185 y=y_site_location(site) 186 186 if (y ge 0. and y le 30.) then y=y+360. 187 dx=0.5 188 dy=0.5 187 dx=0.5 188 dy=0.5 189 189 box=[y-dy, y+dy, x-dx, x+dx] 190 190 read_variables_v2, csite,date1,date2,nsmooth, $ 191 191 at, sw,rh,sst,wu,wv,ws,lh 192 193 194 q2m=rh_to_sphum(rh,at,1008) ;; at -> q2m temperature 195 ; q2m=at ;; q2m -> sea surface temperature 196 ;; lh -> latent heat flux 197 ;; rh -> relative humidity 198 ;; wu,wv,ws -> wind speed 199 ;; 200 201 202 ;; extracting the corrected and uncorrected ERAI data at the locations 192 ; 193 ; 194 q2m=rh_to_sphum(rh,at,1008) ; at -> q2m temperature 195 ; q2m=at ; q2m -> sea surface temperature 196 ; lh -> latent heat flux 197 ; rh -> relative humidity 198 ; wu,wv,ws -> wind speed 199 ; 200 ; extracting the corrected and uncorrected ERAI data at the locations 203 201 nsmooth=1. 204 202 ; 205 203 extract_flux_tropflux,unc,box, $ 206 204 tropflux 207 205 uncr=tropflux 208 206 ; 209 207 extract_flux_tropflux,cor,box, $ 210 208 tropflux 211 209 corr=tropflux 212 210 ; 213 211 extract_flux_tropflux,oaf,box, $ 214 212 tropflux 215 213 oafl=tropflux 216 214 ; 217 215 extract_flux_tropflux,nce,box, $ 218 216 tropflux 219 217 ncep=tropflux 220 218 ; 221 219 extract_flux_tropflux,nce1,box, $ 222 220 tropflux 223 221 ncep1=tropflux 224 225 ind=where(finite(q2m)) 226 q2m=q2m(ind) 227 uncr_q2m=uncr(ind) 222 ; 223 ind=where(finite(q2m)) 224 q2m=q2m(ind) 225 uncr_q2m=uncr(ind) 228 226 corr_q2m=corr(ind) 229 oafl=oafl(ind) 230 ncep=ncep(ind) 227 oafl=oafl(ind) 228 ncep=ncep(ind) 231 229 ncep1=ncep1(ind) 232 230 mean_tao=total(q2m,/nan)/n_elements(ind) 233 231 ; 234 232 statistics_3var_v1, q2m, uncr_q2m, corr_q2m, $ 235 233 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 236 234 ; 237 235 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,f6.2)' 238 236 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,f6.2)' 239 237 ; 240 238 statistics_3var_v1, q2m, oafl, ncep, $ 241 239 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 242 240 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,f6.2)' 243 241 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,f6.2)' 244 242 ; 245 243 statistics_3var_v1, q2m, ncep1, ncep, $ 246 244 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 247 245 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,f6.2)' 248 246 ; 249 247 endfor 250 248 close,/all 251 249 ; 252 250 fi_q2m_erai=project_id_env+'q2m_2000_2009_erai_'+ocean+'.txt' 253 251 res=read_ascii(fi_q2m_erai,data_start=1) … … 255 253 lat=reform(ff(0,*)) 256 254 lon=reform(ff(1,*)) 257 cor_era=reform(ff(2,*)) 255 cor_era=reform(ff(2,*)) 258 256 cor_erai=total(cor_era)/n_elements(cor_era) 259 bias_era=reform(ff(3,*)) 257 bias_era=reform(ff(3,*)) 260 258 bias_erai=total(bias_era)/n_elements(bias_era) 261 std_era=reform(ff(4,*)) 259 std_era=reform(ff(4,*)) 262 260 std_erai=total(std_era)/n_elements(std_era) 263 rmsd_era=reform(ff(5,*)) 261 rmsd_era=reform(ff(5,*)) 264 262 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 265 mean_tao=reform(ff(6,*)) 263 mean_tao=reform(ff(6,*)) 266 264 mean_erai=bias_era+mean_tao 267 265 ; 268 266 print, '' 269 267 print, 'ERAI' … … 275 273 xyouts, 12,20.2, cstat, charsize=0.9 276 274 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 277 275 ; 278 276 oplot, [11,21], [11,21] 279 277 ab=linfit(mean_tao, mean_erai,yfit=yfit) 280 a=float(ab(0)) 278 a=float(ab(0)) 281 279 b=float(ab(1)) 282 280 oplot, mean_tao, yfit, color=250, thick=2 283 281 ; 284 282 fi_q2m_trop=project_id_env+'q2m_2000_2009_trop_'+ocean+'.txt' 285 283 res=read_ascii(fi_q2m_trop,data_start=1) … … 287 285 lat=reform(ff(0,*)) 288 286 lon=reform(ff(1,*)) 289 cor_tro=reform(ff(2,*)) 287 cor_tro=reform(ff(2,*)) 290 288 cor_trop=total(cor_tro)/n_elements(cor_tro) 291 bias_tro=reform(ff(3,*)) 289 bias_tro=reform(ff(3,*)) 292 290 bias_trop=total(bias_tro)/n_elements(bias_tro) 293 std_tro=reform(ff(4,*)) 291 std_tro=reform(ff(4,*)) 294 292 std_trop=total(std_tro)/n_elements(std_tro) 295 rmsd_tro=reform(ff(5,*)) 293 rmsd_tro=reform(ff(5,*)) 296 294 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 297 mean_tao=reform(ff(6,*)) 295 mean_tao=reform(ff(6,*)) 298 296 mean_trop=bias_tro+mean_tao 299 297 ; 300 298 print, '' 301 299 print, 'TropFlux' 302 300 print, cor_trop, bias_trop, std_trop, rmsd_trop 303 301 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 304 302 ; 305 303 splot, mean_tao, mean_trop, title='Q2m - TAO Vs TropFlux', subtitle='', $ 306 304 charsize=1.1, xtitle='TAO Q2m', ytitle='TropFlux Q2m', small=[2,3,2],/noer, psym=2, $ … … 309 307 xyouts, 12,20.2, cstat, charsize=0.9 310 308 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 311 309 ; 312 310 ab=linfit(mean_tao, mean_trop,yfit=yfit) 313 a=float(ab(0)) 311 a=float(ab(0)) 314 312 b=float(ab(1)) 315 313 oplot, mean_tao, yfit, color=250, thick=2 316 314 ; 317 315 fi_q2m_oaflx=project_id_env+'q2m_2000_2009_oaflx_'+ocean+'.txt' 318 316 res=read_ascii(fi_q2m_oaflx,data_start=1) … … 320 318 lat=reform(ff(0,*)) 321 319 lon=reform(ff(1,*)) 322 cor_oaf=reform(ff(2,*)) 320 cor_oaf=reform(ff(2,*)) 323 321 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 324 bias_oaf=reform(ff(3,*)) 322 bias_oaf=reform(ff(3,*)) 325 323 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 326 std_oaf=reform(ff(4,*)) 324 std_oaf=reform(ff(4,*)) 327 325 std_oafl=total(std_oaf)/n_elements(std_oaf) 328 rmsd_oaf=reform(ff(5,*)) 326 rmsd_oaf=reform(ff(5,*)) 329 327 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 330 mean_tao=reform(ff(6,*)) 328 mean_tao=reform(ff(6,*)) 331 329 mean_oafl=bias_oaf+mean_tao 332 330 ; 333 331 print, '' 334 332 print, 'OAFlux' 335 333 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 336 334 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 337 335 ; 338 336 splot, mean_tao, mean_oafl, title='Q2m - TAO Vs OAFlux', subtitle='', $ 339 337 charsize=1.1, xtitle='TAO Q2m', ytitle='OAFlux Q2m', small=[2,3,3],/noer, psym=2, $ … … 342 340 xyouts, 12,20.2, cstat, charsize=0.9 343 341 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 344 342 ; 345 343 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 346 a=float(ab(0)) 344 a=float(ab(0)) 347 345 b=float(ab(1)) 348 346 oplot, mean_tao, yfit, color=250, thick=2 349 350 347 ; 348 ; 351 349 fi_q2m_ncep=project_id_env+'q2m_2000_2009_ncep_'+ocean+'.txt' 352 350 res=read_ascii(fi_q2m_ncep,data_start=1) … … 354 352 lat=reform(ff(0,*)) 355 353 lon=reform(ff(1,*)) 356 cor_nce=reform(ff(2,*)) 354 cor_nce=reform(ff(2,*)) 357 355 cor_ncep=total(cor_nce)/n_elements(cor_nce) 358 bias_nce=reform(ff(3,*)) 356 bias_nce=reform(ff(3,*)) 359 357 bias_ncep=total(bias_nce)/n_elements(bias_nce) 360 std_nce=reform(ff(4,*)) 358 std_nce=reform(ff(4,*)) 361 359 std_ncep=total(std_nce)/n_elements(std_nce) 362 rmsd_nce=reform(ff(5,*)) 360 rmsd_nce=reform(ff(5,*)) 363 361 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 364 mean_tao=reform(ff(6,*)) 362 mean_tao=reform(ff(6,*)) 365 363 mean_ncep=bias_nce+mean_tao 366 364 ; 367 365 print, '' 368 366 print, 'NCEP2' 369 367 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 370 368 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 371 369 ; 372 370 splot, mean_tao, mean_ncep, title='Q2m - TAO Vs NCEP2', subtitle='', $ 373 371 charsize=1.1, xtitle='TAO Q2m', ytitle='NCEP2 Q2m', small=[2,3,4],/noer, psym=2, $ … … 376 374 xyouts, 12,20.2, cstat, charsize=0.9 377 375 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 378 376 ; 379 377 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 380 a=float(ab(0)) 378 a=float(ab(0)) 381 379 b=float(ab(1)) 382 380 oplot, mean_tao, yfit, color=250, thick=2 383 381 ; 384 382 fi_q2m_ncep1=project_id_env+'q2m_2000_2009_ncep1_'+ocean+'.txt' 385 383 res=read_ascii(fi_q2m_ncep1,data_start=1) … … 387 385 lat=reform(ff(0,*)) 388 386 lon=reform(ff(1,*)) 389 cor_nce=reform(ff(2,*)) 387 cor_nce=reform(ff(2,*)) 390 388 cor_ncep=total(cor_nce)/n_elements(cor_nce) 391 bias_nce=reform(ff(3,*)) 389 bias_nce=reform(ff(3,*)) 392 390 bias_ncep=total(bias_nce)/n_elements(bias_nce) 393 std_nce=reform(ff(4,*)) 391 std_nce=reform(ff(4,*)) 394 392 std_ncep=total(std_nce)/n_elements(std_nce) 395 rmsd_nce=reform(ff(5,*)) 393 rmsd_nce=reform(ff(5,*)) 396 394 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 397 mean_tao=reform(ff(6,*)) 395 mean_tao=reform(ff(6,*)) 398 396 mean_ncep=bias_nce+mean_tao 399 397 ; 400 398 print, '' 401 399 print, 'NCEP1' 402 400 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 403 401 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 404 402 ; 405 403 splot, mean_tao, mean_ncep, title='Q2m - TAO Vs NCEP', subtitle='', $ 406 404 charsize=1.1, xtitle='TAO Q2m', ytitle='NCEP1 Q2m', small=[2,3,5],/noer, psym=2, $ … … 409 407 xyouts, 12,20.2, cstat, charsize=0.9 410 408 xyouts, 12,19.7, 'cor bias std rmsd', charsize=0.9 411 409 ; 412 410 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 413 a=float(ab(0)) 411 a=float(ab(0)) 414 412 b=float(ab(1)) 415 413 oplot, mean_tao, yfit, color=250, thick=2 416 414 ; 417 415 closeps 418 416 ; 419 417 end -
trunk/src/paper01/fig7/sst_validation_scatter_2000_2009_basin.pro
r94 r97 89 89 reinitplt, /z,/invert 90 90 key_portrait = 1 91 91 ; 92 92 openps, FILENAME = project_od_env+'sst_validation_scatter_2000_2009_'+ocean+'.ps' 93 94 ; ;Give the location of mooring for validation of basic meteorological variables93 ; 94 ; Give the location of mooring for validation of basic meteorological variables 95 95 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 96 96 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 103 103 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 104 104 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 105 105 ; 106 106 ;ocean='IO' 107 107 ;sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 108 108 ; '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e'] 109 109 ; 110 110 ocean='Pac' 111 111 sitelist=['8s165e', '8s180w', '8s155w', '8s125w', '8s110w', '8s95w', '5s156e', '5s165e', '5s180w', '5s170w', $ … … 118 118 sitelist=['0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 119 119 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 120 120 ; 121 121 nsmooth=1. 122 ; ;This program will create the following text files with statistics of respective variables122 ; This program will create the following text files with statistics of respective variables 123 123 close,/all 124 124 ; 125 125 fi_sst_erai=project_id_env+'sst_2000_2009_erai_'+ocean+'.txt' 126 126 openw,1,fi_sst_erai … … 135 135 fi_sst_ncep1=project_id_env+'sst_2000_2009_ncep1_'+ocean+'.txt' 136 136 openw,6,fi_sst_ncep1 137 138 139 137 ; 138 ; 139 ; 140 140 printf,1, 'x y cor bias std rmsd mean_tao' 141 141 printf,2, 'x y cor bias std rmsd mean_tao' … … 144 144 printf,5, 'x y cor bias std rmsd mean_tao' 145 145 printf,6, 'x y cor bias std rmsd mean_tao' 146 147 ; ;first reading the whole ERAI uncorrected and corrected data148 146 ; 147 ; first reading the whole ERAI uncorrected and corrected data 148 ; 149 149 ;save, unc, cor, oaf, nce, sst_tmi, nce1, filename="sst_era_trop_oaf_nce_tmi_2000_2009_global.idl" 150 ; ;full data from 2000-2009 period are read first, and hence the above lines are commented151 150 ; full data from 2000-2009 period are read first, and hence the above lines are commented 151 ; 152 152 restore, file="/Users/pkb/work/MY_SAXO/sst_era_trop_oaf_nce_tmi_2000_2009_global.idl" 153 153 help, unc, cor, oaf, nce, sst_tmi, nce1 154 ; ;data from 20000101, 20090931154 ; data from 20000101, 20090931 155 155 nn=n_elements(sitelist) 156 156 for n=0, nn-1 do begin 157 158 ; ;reading data from mooring159 160 site=sitelist(n) 157 ; 158 ; reading data from mooring 159 ; 160 site=sitelist(n) 161 161 csite=site 162 162 print, csite … … 164 164 y=y_site_location(site) 165 165 if (y ge 0. and y le 30.) then y=y+360. 166 dx=0.5 167 dy=0.5 166 dx=0.5 167 dy=0.5 168 168 box=[y-dy, y+dy, x-dx, x+dx] 169 169 read_variables_v2, csite,date1,date2,nsmooth, $ 170 170 at, sw,rh,sst,wu,wv,ws,lh 171 172 173 ind=where(finite(sst)) 171 ; 172 ; 173 ind=where(finite(sst)) 174 174 valid=n_elements(ind) 175 175 ; 176 176 if (valid ge 180) then begin 177 178 ; ;extracting the corrected and uncorrected ERAI data at the locations177 ; 178 ; extracting the corrected and uncorrected ERAI data at the locations 179 179 nsmooth=1. 180 180 ; 181 181 extract_flux_tropflux,unc,box, $ 182 182 tropflux 183 183 uncr=tropflux 184 184 ; 185 185 extract_flux_tropflux,cor,box, $ 186 186 tropflux 187 187 corr=tropflux 188 188 ; 189 189 extract_flux_tropflux,oaf,box, $ 190 190 tropflux 191 191 oafl=tropflux 192 192 ; 193 193 extract_flux_tropflux,nce,box, $ 194 194 tropflux 195 195 ncep=tropflux 196 196 ; 197 197 extract_flux_tropflux,sst_tmi,box, $ 198 198 tropflux 199 199 tmi=tropflux 200 200 ; 201 201 extract_flux_tropflux,nce1,box, $ 202 202 tropflux 203 203 ncep1=tropflux 204 205 206 ind=where(finite(sst)) 207 sst=sst(ind) 208 uncr_sst=uncr(ind) 204 ; 205 ; 206 ind=where(finite(sst)) 207 sst=sst(ind) 208 uncr_sst=uncr(ind) 209 209 corr_sst=corr(ind) 210 oafl=oafl(ind) 211 ncep=ncep(ind) 212 tmi=tmi(ind) 210 oafl=oafl(ind) 211 ncep=ncep(ind) 212 tmi=tmi(ind) 213 213 ncep1=ncep1(ind) 214 214 mean_tao=total(sst,/nan)/n_elements(ind) 215 215 ; 216 216 statistics_3var_v1, sst, uncr_sst, corr_sst, $ 217 217 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 218 218 ; 219 219 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,f6.2)' 220 220 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,f6.2)' 221 221 ; 222 222 statistics_3var_v1, sst, oafl, ncep, $ 223 223 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 224 224 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,f6.2)' 225 225 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,f6.2)' 226 226 ; 227 227 statistics_3var_v1, sst, tmi, ncep1, $ 228 228 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 229 229 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,f6.2)' 230 230 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,f6.2)' 231 231 ; 232 232 endif 233 233 ; 234 234 endfor 235 235 close,/all 236 236 ; 237 237 fi_sst_erai=project_id_env+'sst_2000_2009_erai_'+ocean+'.txt' 238 238 res=read_ascii(fi_sst_erai,data_start=1) … … 240 240 lat=reform(ff(0,*)) 241 241 lon=reform(ff(1,*)) 242 cor_era=reform(ff(2,*)) 242 cor_era=reform(ff(2,*)) 243 243 cor_erai=total(cor_era)/n_elements(cor_era) 244 bias_era=reform(ff(3,*)) 244 bias_era=reform(ff(3,*)) 245 245 bias_erai=total(bias_era)/n_elements(bias_era) 246 std_era=reform(ff(4,*)) 246 std_era=reform(ff(4,*)) 247 247 std_erai=total(std_era)/n_elements(std_era) 248 rmsd_era=reform(ff(5,*)) 248 rmsd_era=reform(ff(5,*)) 249 249 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 250 mean_tao=reform(ff(6,*)) 250 mean_tao=reform(ff(6,*)) 251 251 mean_erai=bias_era+mean_tao 252 252 ; 253 253 print, '' 254 254 print, 'ERAI' … … 260 260 xyouts, 22.3,30.2, cstat, charsize=0.9 261 261 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 262 262 ; 263 263 oplot, [22,31], [22,31] 264 264 ab=linfit(mean_tao, mean_erai,yfit=yfit) 265 a=float(ab(0)) 266 b=float(ab(1)) 267 oplot, mean_tao, yfit, color=250, thick=2 268 265 a=float(ab(0)) 266 b=float(ab(1)) 267 oplot, mean_tao, yfit, color=250, thick=2 268 ; 269 269 fi_sst_trop=project_id_env+'sst_2000_2009_trop_'+ocean+'.txt' 270 270 res=read_ascii(fi_sst_trop,data_start=1) … … 272 272 lat=reform(ff(0,*)) 273 273 lon=reform(ff(1,*)) 274 cor_tro=reform(ff(2,*)) 274 cor_tro=reform(ff(2,*)) 275 275 cor_trop=total(cor_tro)/n_elements(cor_tro) 276 bias_tro=reform(ff(3,*)) 276 bias_tro=reform(ff(3,*)) 277 277 bias_trop=total(bias_tro)/n_elements(bias_tro) 278 std_tro=reform(ff(4,*)) 278 std_tro=reform(ff(4,*)) 279 279 std_trop=total(std_tro)/n_elements(std_tro) 280 rmsd_tro=reform(ff(5,*)) 280 rmsd_tro=reform(ff(5,*)) 281 281 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 282 mean_tao=reform(ff(6,*)) 282 mean_tao=reform(ff(6,*)) 283 283 mean_trop=bias_tro+mean_tao 284 284 ; 285 285 print, '' 286 286 print, 'TropFlux' 287 287 print, cor_trop, bias_trop, std_trop, rmsd_trop 288 288 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 289 289 ; 290 290 splot, mean_tao, mean_trop, title='SST - TAO Vs TropFlux', subtitle='', $ 291 291 charsize=1.1, xtitle='TAO SST', ytitle='TropFlux SST', small=[2,3,2],/noer, psym=2, $ … … 294 294 xyouts, 22.3,30.2, cstat, charsize=0.9 295 295 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 296 296 ; 297 297 ab=linfit(mean_tao, mean_trop,yfit=yfit) 298 a=float(ab(0)) 299 b=float(ab(1)) 300 oplot, mean_tao, yfit, color=250, thick=2 301 298 a=float(ab(0)) 299 b=float(ab(1)) 300 oplot, mean_tao, yfit, color=250, thick=2 301 ; 302 302 fi_sst_oaflx=project_id_env+'sst_2000_2009_oaflx_'+ocean+'.txt' 303 303 res=read_ascii(fi_sst_oaflx,data_start=1) … … 305 305 lat=reform(ff(0,*)) 306 306 lon=reform(ff(1,*)) 307 cor_oaf=reform(ff(2,*)) 307 cor_oaf=reform(ff(2,*)) 308 308 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 309 bias_oaf=reform(ff(3,*)) 309 bias_oaf=reform(ff(3,*)) 310 310 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 311 std_oaf=reform(ff(4,*)) 311 std_oaf=reform(ff(4,*)) 312 312 std_oafl=total(std_oaf)/n_elements(std_oaf) 313 rmsd_oaf=reform(ff(5,*)) 313 rmsd_oaf=reform(ff(5,*)) 314 314 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 315 mean_tao=reform(ff(6,*)) 315 mean_tao=reform(ff(6,*)) 316 316 mean_oafl=bias_oaf+mean_tao 317 317 ; 318 318 print, '' 319 319 print, 'OAFlux' 320 320 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 321 321 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 322 322 ; 323 323 splot, mean_tao, mean_oafl, title='SST - TAO Vs OAFlux', subtitle='', $ 324 324 charsize=1.1, xtitle='TAO SST', ytitle='OAFlux SST', small=[2,3,3],/noer, psym=2, $ … … 327 327 xyouts, 22.3,30.2, cstat, charsize=0.9 328 328 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 329 329 ; 330 330 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 331 a=float(ab(0)) 332 b=float(ab(1)) 333 oplot, mean_tao, yfit, color=250, thick=2 334 335 336 331 a=float(ab(0)) 332 b=float(ab(1)) 333 oplot, mean_tao, yfit, color=250, thick=2 334 ; 335 ; 336 ; 337 337 fi_sst_ncep=project_id_env+'sst_2000_2009_ncep_'+ocean+'.txt' 338 338 res=read_ascii(fi_sst_ncep,data_start=1) … … 340 340 lat=reform(ff(0,*)) 341 341 lon=reform(ff(1,*)) 342 cor_nce=reform(ff(2,*)) 342 cor_nce=reform(ff(2,*)) 343 343 cor_ncep=total(cor_nce)/n_elements(cor_nce) 344 bias_nce=reform(ff(3,*)) 344 bias_nce=reform(ff(3,*)) 345 345 bias_ncep=total(bias_nce)/n_elements(bias_nce) 346 std_nce=reform(ff(4,*)) 346 std_nce=reform(ff(4,*)) 347 347 std_ncep=total(std_nce)/n_elements(std_nce) 348 rmsd_nce=reform(ff(5,*)) 348 rmsd_nce=reform(ff(5,*)) 349 349 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 350 mean_tao=reform(ff(6,*)) 350 mean_tao=reform(ff(6,*)) 351 351 mean_ncep=bias_nce+mean_tao 352 352 ; 353 353 print, '' 354 354 print, 'NCEP2' 355 355 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 356 356 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 357 357 ; 358 358 splot, mean_tao, mean_ncep, title='SST - TAO Vs NCEP2', subtitle='', $ 359 359 charsize=1.1, xtitle='TAO SST', ytitle='NCEP2 SST', small=[2,3,4],/noer, psym=2, $ … … 362 362 xyouts, 22.3,30.2, cstat, charsize=0.9 363 363 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 364 364 ; 365 365 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 366 a=float(ab(0)) 367 b=float(ab(1)) 368 oplot, mean_tao, yfit, color=250, thick=2 369 370 366 a=float(ab(0)) 367 b=float(ab(1)) 368 oplot, mean_tao, yfit, color=250, thick=2 369 ; 370 ; 371 371 fi_sst_tmi=project_id_env+'sst_2000_2009_tmi_'+ocean+'.txt' 372 372 res=read_ascii(fi_sst_tmi,data_start=1) … … 374 374 lat=reform(ff(0,*)) 375 375 lon=reform(ff(1,*)) 376 cor_tm=reform(ff(2,*)) 376 cor_tm=reform(ff(2,*)) 377 377 cor_tmi=total(cor_tm)/n_elements(cor_tm) 378 bias_tm=reform(ff(3,*)) 378 bias_tm=reform(ff(3,*)) 379 379 bias_tmi=total(bias_tm)/n_elements(bias_tm) 380 std_tm=reform(ff(4,*)) 380 std_tm=reform(ff(4,*)) 381 381 std_tmi=total(std_tm)/n_elements(std_tm) 382 rmsd_tm=reform(ff(5,*)) 382 rmsd_tm=reform(ff(5,*)) 383 383 rmsd_tmi=total(rmsd_tm)/n_elements(rmsd_tm) 384 mean_tao=reform(ff(6,*)) 384 mean_tao=reform(ff(6,*)) 385 385 mean_tmi=bias_tm+mean_tao 386 386 ; 387 387 print, '' 388 388 print, 'TMI' 389 389 print, cor_tmi, bias_tmi, std_tmi, rmsd_tmi 390 390 cstat=string(cor_tmi, bias_tmi, std_tmi, rmsd_tmi, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 391 391 ; 392 392 splot, mean_tao, mean_tmi, title='SST - TAO Vs TMI', subtitle='', $ 393 393 charsize=1.1, xtitle='TAO SST', ytitle='TMI SST', small=[2,3,5],/noer, psym=2, $ … … 396 396 xyouts, 22.3,30.2, cstat, charsize=0.9 397 397 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 398 398 ; 399 399 ab=linfit(mean_tao, mean_tmi,yfit=yfit) 400 a=float(ab(0)) 401 b=float(ab(1)) 402 oplot, mean_tao, yfit, color=250, thick=2 403 400 a=float(ab(0)) 401 b=float(ab(1)) 402 oplot, mean_tao, yfit, color=250, thick=2 403 ; 404 404 fi_sst_ncep1=project_id_env+'sst_2000_2009_ncep1_'+ocean+'.txt' 405 405 res=read_ascii(fi_sst_ncep1,data_start=1) … … 407 407 lat=reform(ff(0,*)) 408 408 lon=reform(ff(1,*)) 409 cor_nce=reform(ff(2,*)) 409 cor_nce=reform(ff(2,*)) 410 410 cor_ncep=total(cor_nce)/n_elements(cor_nce) 411 bias_nce=reform(ff(3,*)) 411 bias_nce=reform(ff(3,*)) 412 412 bias_ncep=total(bias_nce)/n_elements(bias_nce) 413 std_nce=reform(ff(4,*)) 413 std_nce=reform(ff(4,*)) 414 414 std_ncep=total(std_nce)/n_elements(std_nce) 415 rmsd_nce=reform(ff(5,*)) 415 rmsd_nce=reform(ff(5,*)) 416 416 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 417 mean_tao=reform(ff(6,*)) 417 mean_tao=reform(ff(6,*)) 418 418 mean_ncep=bias_nce+mean_tao 419 419 ; 420 420 print, '' 421 421 print, 'NCEP1' 422 422 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 423 423 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 424 424 ; 425 425 splot, mean_tao, mean_ncep, title='SST - TAO Vs NCEP_NCAR', subtitle='', $ 426 426 charsize=1.1, xtitle='TAO SST', ytitle='NCEP SST', small=[2,3,6],/noer, psym=2, $ … … 429 429 xyouts, 22.3,30.2, cstat, charsize=0.9 430 430 xyouts, 22.3,29.5, 'cor bias std rmsd', charsize=0.9 431 431 ; 432 432 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 433 a=float(ab(0)) 434 b=float(ab(1)) 435 oplot, mean_tao, yfit, color=250, thick=2 436 433 a=float(ab(0)) 434 b=float(ab(1)) 435 oplot, mean_tao, yfit, color=250, thick=2 436 ; 437 437 closeps 438 438 ; 439 439 end -
trunk/src/paper01/fig7/ws_validation_scatter_2000_2009_basin.pro
r94 r97 84 84 reinitplt, /z,/invert 85 85 key_portrait = 1 86 86 ; 87 87 openps, FILENAME = project_od_env+'ws_validation_scatter_2000_2009_'+ocean+'.ps' 88 ; ;Give the location of mooring for validation of basic meteorological variables89 88 ; Give the location of mooring for validation of basic meteorological variables 89 ; 90 90 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 91 91 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 99 99 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 100 100 ocean='global' 101 101 ; 102 102 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 103 103 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e'] 104 104 ocean='IO' 105 105 ; 106 106 sitelist=['8s165e', '8s180w', '8s155w', '8s125w', '8s110w', '8s95w', '5s156e', '5s165e', '5s180w', '5s170w', $ 107 107 '5s155w', '5s140w', '5s125w', '5s110w', '5s95w', '2s156e', '2s165e', '2s180w', '2s170w', '2s155w', '2s140w', $ … … 111 111 '8n156e', '8n165e', '8n180w', '8n170w', '9n140w', '8n125w', '8n110w', '8n95w'] 112 112 ocean='Pac' 113 113 ; 114 114 sitelist=['8s165e', '8s180w', '8s155w','5s156e', '5s165e', '5s180w', '5s170w','2s156e', '2s165e', '2s180w', $ 115 115 '2s170w','0n147e', '0n156e', '0n165e', '0n180w', '0n170w', '2n147e', '2n156e', '2n165e', '2n180w', $ … … 117 117 '8n125w', '8n110w', '8n95w'] 118 118 ocean='Pac_warmpool' 119 119 ; 120 120 sitelist=['8s125w', '8s110w', '8s95w','5s155w', '5s140w', '5s125w', '5s110w', '5s95w','2s155w', '2s140w', $ 121 121 '2s125w', '2s110w', '2s95w', '0n155w', '0n140w', '0n125w', '0n110w', '0n95w', '2n155w', '2n140w', $ 122 122 '2n125w', '2n110w', '2n95w', '5n155w', '5n140w', '5n125w', '5n110w', '5n95w'] 123 123 ocean='Pac_coldtongue' 124 125 124 ; 125 ; 126 126 ;sitelist=['0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 127 127 ; '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 128 128 ;ocean='AO' 129 129 ; 130 130 ;sitelist=['0n0e','0n35w', '4n23w', '4n38w', '8n38w'] 131 131 ;ocean='AO_warmpool' 132 132 ; 133 133 ;sitelist=['0n10w','0n23w','10s10w','12n23w','12n38w','14s32w','15n38w', '19s34w','20n38w', $ 134 134 ; '21n23w', '6s10w', '8s30w'] 135 135 ;ocean='AO_coldtongue' 136 136 ; 137 137 nsmooth=1 138 ; ;This program will create the following text files with statistics of respective variables138 ; This program will create the following text files with statistics of respective variables 139 139 close,/all 140 140 ; 141 141 fi_ws_erai=project_id_env+'ws_2000_2009_erai_'+ocean+'.txt' 142 142 openw,1,fi_ws_erai … … 151 151 fi_ws_ncep1=project_id_env+'ws_2000_2009_ncep1_'+ocean+'.txt' 152 152 openw,6,fi_ws_ncep1 153 154 153 ; 154 ; 155 155 printf,1, 'x y cor bias std rmsd mean_tao' 156 156 printf,2, 'x y cor bias std rmsd mean_tao' … … 159 159 printf,5, 'x y cor bias std rmsd mean_tao' 160 160 printf,6, 'x y cor bias std rmsd mean_tao' 161 162 ; ;first reading the whole ERAI uncorrected and corrected data163 ; ; date1=20000101164 ; ;date2=20090931165 161 ; 162 ; first reading the whole ERAI uncorrected and corrected data 163 ; date1=20000101 164 ; date2=20090931 165 ; 166 166 file=project_id_env+'erai_ws_19890101_20091231_oafluxgrid.nc' 167 167 initncdf, file … … 170 170 ;unc=sqrt(u*u+v*v) 171 171 ;help, unc 172 172 ; 173 173 ;save, unc, cor, oaf, nce, ws_tmi, nce1, filename="ws_era_trop_oaf_nce_qscat_2000_2009_global.idl" 174 174 restore, file="/Users/pkb/work/MY_SAXO/ws_era_trop_oaf_nce_qscat_2000_2009_global.idl" 175 175 help, unc, cor, oaf, nce, ws_tmi, nce1 176 176 ; 177 177 nn=n_elements(sitelist) 178 178 for n=0, nn-1 do begin 179 180 ; ;reading data from mooring181 182 site=sitelist(n) 179 ; 180 ; reading data from mooring 181 ; 182 site=sitelist(n) 183 183 csite=site 184 184 print, csite … … 186 186 y=y_site_location(site) 187 187 if (y ge 0. and y le 30.) then y=y+360. 188 dx=0.5 189 dy=0.5 188 dx=0.5 189 dy=0.5 190 190 box=[y-dy, y+dy, x-dx, x+dx] 191 191 read_variables_v2, csite,date1,date2,nsmooth, $ 192 192 at, sw,rh,sst,wu,wv,ws, lh 193 193 ; 194 194 ws=alog(10./0.000152)/alog(4./0.000152)*ws 195 196 ; ;extracting the corrected and uncorrected ERAI data at the locations195 ; 196 ; extracting the corrected and uncorrected ERAI data at the locations 197 197 nsmooth=1. 198 198 ; 199 199 extract_flux_tropflux,unc,box, $ 200 200 tropflux 201 201 uncr=tropflux 202 202 ; 203 203 extract_flux_tropflux,cor,box, $ 204 204 tropflux 205 205 corr=tropflux 206 206 ; 207 207 extract_flux_tropflux,oaf,box, $ 208 208 tropflux 209 209 oafl=tropflux 210 210 ; 211 211 extract_flux_tropflux,nce,box, $ 212 212 tropflux 213 213 ncep=tropflux 214 214 ; 215 215 extract_flux_tropflux,ws_tmi,box, $ 216 216 tropflux 217 217 tmi=tropflux 218 218 ; 219 219 extract_flux_tropflux,nce1,box, $ 220 220 tropflux 221 221 ncep1=tropflux 222 223 ind=where(finite(ws)) 224 ws=ws(ind) 225 uncr_ws=uncr(ind) 222 ; 223 ind=where(finite(ws)) 224 ws=ws(ind) 225 uncr_ws=uncr(ind) 226 226 corr_ws=corr(ind) 227 oafl=oafl(ind) 228 ncep=ncep(ind) 229 tmi=tmi(ind) 227 oafl=oafl(ind) 228 ncep=ncep(ind) 229 tmi=tmi(ind) 230 230 ncep1=ncep1(ind) 231 231 ; 232 232 mean_tao=total(ws)/n_elements(ws) 233 233 ; 234 234 statistics_3var_v1, ws, uncr_ws, corr_ws, $ 235 235 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 236 236 ; 237 237 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)' 238 238 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)' 239 239 ; 240 240 statistics_3var_v1, ws, oafl, ncep, $ 241 241 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 242 242 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)' 243 243 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)' 244 244 ; 245 245 statistics_3var_v1, ws, tmi, ncep1, $ 246 246 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 247 247 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)' 248 248 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)' 249 249 ; 250 250 endfor 251 251 close,/all … … 255 255 lat=reform(ff(0,*)) 256 256 lon=reform(ff(1,*)) 257 cor_era=reform(ff(2,*)) 257 cor_era=reform(ff(2,*)) 258 258 cor_erai=total(cor_era)/n_elements(cor_era) 259 bias_era=reform(ff(3,*)) 259 bias_era=reform(ff(3,*)) 260 260 bias_erai=total(bias_era)/n_elements(bias_era) 261 std_era=reform(ff(4,*)) 261 std_era=reform(ff(4,*)) 262 262 std_erai=total(std_era)/n_elements(std_era) 263 rmsd_era=reform(ff(5,*)) 263 rmsd_era=reform(ff(5,*)) 264 264 rmsd_erai=total(rmsd_era)/n_elements(rmsd_era) 265 mean_tao=reform(ff(6,*)) 265 mean_tao=reform(ff(6,*)) 266 266 mean_erai=bias_era+mean_tao 267 267 ; 268 268 print, '' 269 269 print, 'ERAI' … … 275 275 xyouts, 2.5,9.4, cstat, charsize=0.9 276 276 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 277 277 ; 278 278 oplot, [2,10], [2,10] 279 279 ab=linfit(mean_tao, mean_erai,yfit=yfit) 280 a=float(ab(0)) 281 b=float(ab(1)) 282 oplot, mean_tao, yfit, color=250, thick=2 283 280 a=float(ab(0)) 281 b=float(ab(1)) 282 oplot, mean_tao, yfit, color=250, thick=2 283 ; 284 284 fi_ws_trop=project_id_env+'ws_2000_2009_trop_'+ocean+'.txt' 285 285 res=read_ascii(fi_ws_trop,data_start=1) … … 287 287 lat=reform(ff(0,*)) 288 288 lon=reform(ff(1,*)) 289 cor_tro=reform(ff(2,*)) 289 cor_tro=reform(ff(2,*)) 290 290 cor_trop=total(cor_tro)/n_elements(cor_tro) 291 bias_tro=reform(ff(3,*)) 291 bias_tro=reform(ff(3,*)) 292 292 bias_trop=total(bias_tro)/n_elements(bias_tro) 293 std_tro=reform(ff(4,*)) 293 std_tro=reform(ff(4,*)) 294 294 std_trop=total(std_tro)/n_elements(std_tro) 295 rmsd_tro=reform(ff(5,*)) 295 rmsd_tro=reform(ff(5,*)) 296 296 rmsd_trop=total(rmsd_tro)/n_elements(rmsd_tro) 297 mean_tao=reform(ff(6,*)) 297 mean_tao=reform(ff(6,*)) 298 298 mean_trop=bias_tro+mean_tao 299 299 ; 300 300 print, '' 301 301 print, 'TropFlux' 302 302 print, cor_trop, bias_trop, std_trop, rmsd_trop 303 303 cstat=string(cor_trop, bias_trop, std_trop, rmsd_trop, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 304 304 ; 305 305 splot, mean_tao, mean_trop, title='WS - TAO Vs TropFlux', subtitle='', $ 306 306 charsize=1.1, xtitle='TAO WS', ytitle='TropFlux WS', small=[2,3,2],/noer, psym=2, $ … … 309 309 xyouts, 2.5,9.4, cstat, charsize=0.9 310 310 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 311 311 ; 312 312 ab=linfit(mean_tao, mean_trop,yfit=yfit) 313 a=float(ab(0)) 314 b=float(ab(1)) 315 oplot, mean_tao, yfit, color=250, thick=2 316 313 a=float(ab(0)) 314 b=float(ab(1)) 315 oplot, mean_tao, yfit, color=250, thick=2 316 ; 317 317 fi_ws_oaflx=project_id_env+'ws_2000_2009_oaflx_'+ocean+'.txt' 318 318 res=read_ascii(fi_ws_oaflx,data_start=1) … … 320 320 lat=reform(ff(0,*)) 321 321 lon=reform(ff(1,*)) 322 cor_oaf=reform(ff(2,*)) 322 cor_oaf=reform(ff(2,*)) 323 323 cor_oafl=total(cor_oaf)/n_elements(cor_oaf) 324 bias_oaf=reform(ff(3,*)) 324 bias_oaf=reform(ff(3,*)) 325 325 bias_oafl=total(bias_oaf)/n_elements(bias_oaf) 326 std_oaf=reform(ff(4,*)) 326 std_oaf=reform(ff(4,*)) 327 327 std_oafl=total(std_oaf)/n_elements(std_oaf) 328 rmsd_oaf=reform(ff(5,*)) 328 rmsd_oaf=reform(ff(5,*)) 329 329 rmsd_oafl=total(rmsd_oaf)/n_elements(rmsd_oaf) 330 mean_tao=reform(ff(6,*)) 330 mean_tao=reform(ff(6,*)) 331 331 mean_oafl=bias_oaf+mean_tao 332 332 ; 333 333 print, '' 334 334 print, 'OAFlux' 335 335 print, cor_oafl, bias_oafl, std_oafl, rmsd_oafl 336 336 cstat=string(cor_oafl, bias_oafl, std_oafl, rmsd_oafl, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 337 337 ; 338 338 splot, mean_tao, mean_oafl, title='WS - TAO Vs OAFlux', subtitle='', $ 339 339 charsize=1.1, xtitle='TAO WS', ytitle='OAFlux WS', small=[2,3,3],/noer, psym=2, $ … … 342 342 xyouts, 2.5,9.4, cstat, charsize=0.9 343 343 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 344 344 ; 345 345 ab=linfit(mean_tao, mean_oafl,yfit=yfit) 346 a=float(ab(0)) 347 b=float(ab(1)) 348 oplot, mean_tao, yfit, color=250, thick=2 349 350 351 346 a=float(ab(0)) 347 b=float(ab(1)) 348 oplot, mean_tao, yfit, color=250, thick=2 349 ; 350 ; 351 ; 352 352 fi_ws_ncep=project_id_env+'ws_2000_2009_ncep_'+ocean+'.txt' 353 353 res=read_ascii(fi_ws_ncep,data_start=1) … … 355 355 lat=reform(ff(0,*)) 356 356 lon=reform(ff(1,*)) 357 cor_nce=reform(ff(2,*)) 357 cor_nce=reform(ff(2,*)) 358 358 cor_ncep=total(cor_nce)/n_elements(cor_nce) 359 bias_nce=reform(ff(3,*)) 359 bias_nce=reform(ff(3,*)) 360 360 bias_ncep=total(bias_nce)/n_elements(bias_nce) 361 std_nce=reform(ff(4,*)) 361 std_nce=reform(ff(4,*)) 362 362 std_ncep=total(std_nce)/n_elements(std_nce) 363 rmsd_nce=reform(ff(5,*)) 363 rmsd_nce=reform(ff(5,*)) 364 364 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 365 mean_tao=reform(ff(6,*)) 365 mean_tao=reform(ff(6,*)) 366 366 mean_ncep=bias_nce+mean_tao 367 367 ; 368 368 print, '' 369 369 print, 'NCEP2' 370 370 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 371 371 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 372 372 ; 373 373 splot, mean_tao, mean_ncep, title='WS - TAO Vs NCEP2', subtitle='', $ 374 374 charsize=1.1, xtitle='TAO WS', ytitle='NCEP2 WS', small=[2,3,4],/noer, psym=2, $ … … 377 377 xyouts, 2.5,9.4, cstat, charsize=0.9 378 378 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 379 379 ; 380 380 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 381 a=float(ab(0)) 382 b=float(ab(1)) 383 oplot, mean_tao, yfit, color=250, thick=2 384 381 a=float(ab(0)) 382 b=float(ab(1)) 383 oplot, mean_tao, yfit, color=250, thick=2 384 ; 385 385 fi_ws_tmi=project_id_env+'ws_2000_2009_tmi_'+ocean+'.txt' 386 386 res=read_ascii(fi_ws_tmi,data_start=1) … … 388 388 lat=reform(ff(0,*)) 389 389 lon=reform(ff(1,*)) 390 cor_tm=reform(ff(2,*)) 390 cor_tm=reform(ff(2,*)) 391 391 cor_tmi=total(cor_tm)/n_elements(cor_tm) 392 bias_tm=reform(ff(3,*)) 392 bias_tm=reform(ff(3,*)) 393 393 bias_tmi=total(bias_tm)/n_elements(bias_tm) 394 std_tm=reform(ff(4,*)) 394 std_tm=reform(ff(4,*)) 395 395 std_tmi=total(std_tm)/n_elements(std_tm) 396 rmsd_tm=reform(ff(5,*)) 396 rmsd_tm=reform(ff(5,*)) 397 397 rmsd_tmi=total(rmsd_tm)/n_elements(rmsd_tm) 398 mean_tao=reform(ff(6,*)) 398 mean_tao=reform(ff(6,*)) 399 399 mean_tmi=bias_tm+mean_tao 400 400 ; 401 401 print, '' 402 402 print, 'Qscat' 403 403 print, cor_tmi, bias_tmi, std_tmi, rmsd_tmi 404 404 cstat=string(cor_tmi, bias_tmi, std_tmi, rmsd_tmi, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 405 405 ; 406 406 splot, mean_tao, mean_tmi, title='WS - TAO Vs Qscat', subtitle='', $ 407 407 charsize=1.1, xtitle='TAO WS', ytitle='TMI WS', small=[2,3,5],/noer, psym=2, $ … … 410 410 xyouts, 2.5,9.4, cstat, charsize=0.9 411 411 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 412 412 ; 413 413 ab=linfit(mean_tao, mean_tmi,yfit=yfit) 414 a=float(ab(0)) 415 b=float(ab(1)) 416 oplot, mean_tao, yfit, color=250, thick=2 417 418 414 a=float(ab(0)) 415 b=float(ab(1)) 416 oplot, mean_tao, yfit, color=250, thick=2 417 ; 418 ; 419 419 fi_ws_ncep1=project_id_env+'ws_2000_2009_ncep1_'+ocean+'.txt' 420 420 res=read_ascii(fi_ws_ncep1,data_start=1) … … 422 422 lat=reform(ff(0,*)) 423 423 lon=reform(ff(1,*)) 424 cor_nce=reform(ff(2,*)) 424 cor_nce=reform(ff(2,*)) 425 425 cor_ncep=total(cor_nce)/n_elements(cor_nce) 426 bias_nce=reform(ff(3,*)) 426 bias_nce=reform(ff(3,*)) 427 427 bias_ncep=total(bias_nce)/n_elements(bias_nce) 428 std_nce=reform(ff(4,*)) 428 std_nce=reform(ff(4,*)) 429 429 std_ncep=total(std_nce)/n_elements(std_nce) 430 rmsd_nce=reform(ff(5,*)) 430 rmsd_nce=reform(ff(5,*)) 431 431 rmsd_ncep=total(rmsd_nce)/n_elements(rmsd_nce) 432 mean_tao=reform(ff(6,*)) 432 mean_tao=reform(ff(6,*)) 433 433 mean_ncep=bias_nce+mean_tao 434 434 ; 435 435 print, '' 436 436 print, 'NCEP' 437 437 print, cor_ncep, bias_ncep, std_ncep, rmsd_ncep 438 438 cstat=string(cor_ncep, bias_ncep, std_ncep, rmsd_ncep, format='(f4.2,1x,f6.2,1x,f4.2,1x,f4.2)') 439 439 ; 440 440 splot, mean_tao, mean_ncep, title='WS - TAO Vs NCEP', subtitle='', $ 441 441 charsize=1.1, xtitle='TAO WS', ytitle='NCEP WS', small=[2,3,6],/noer, psym=2, $ … … 444 444 xyouts, 2.5,9.4, cstat, charsize=0.9 445 445 xyouts, 2.5,8.5, 'cor bias std rmsd', charsize=0.9 446 446 ; 447 447 ab=linfit(mean_tao, mean_ncep,yfit=yfit) 448 a=float(ab(0)) 449 b=float(ab(1)) 450 oplot, mean_tao, yfit, color=250, thick=2 451 448 a=float(ab(0)) 449 b=float(ab(1)) 450 oplot, mean_tao, yfit, color=250, thick=2 451 ; 452 452 closeps 453 453 ; 454 454 end -
trunk/src/paper01/fig8/lhf_validation_scatter_2000_2009.pro
r94 r97 93 93 reinitplt, /z,/invert 94 94 key_portrait = 1 95 95 ; 96 96 openps, FILENAME = project_od_env+'lhf_validation_scatter_2000_2009.ps' 97 98 ; ;evaluation is done for 20000101 - 20091231 period99 ; ;location of moorings100 101 97 ; 98 ; evaluation is done for 20000101 - 20091231 period 99 ; location of moorings 100 ; 101 ; 102 102 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 103 103 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 110 110 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 111 111 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 112 112 ; 113 113 ocean='global' 114 115 ; ;This program will create the following text files with statistics of respective variables114 ; 115 ; This program will create the following text files with statistics of respective variables 116 116 close,/all 117 117 ; 118 118 fi_lhf_erai=project_id_env+'lhf_2000_2009_erai_v52.txt' 119 119 openw,1,fi_lhf_erai … … 126 126 fi_lhf_ncep1=project_id_env+'lhf_2000_2009_ncep1_v52.txt' 127 127 openw,5,fi_lhf_ncep1 128 129 128 ; 129 ; 130 130 printf,1, 'x y cor bias std rmsd mean_tao' 131 131 printf,2, 'x y cor bias std rmsd mean_tao' 132 132 printf,3, 'x y cor bias std rmsd mean_tao' 133 133 printf,4, 'x y cor bias std rmsd mean_tao' 134 135 ; ;first reading the whole ERAI uncorrected and corrected data136 134 ; 135 ; first reading the whole ERAI uncorrected and corrected data 136 ; 137 137 file=project_id_env+'erai_lhf_19890101_20091231_oafluxgrid.nc' 138 138 initncdf, file 139 139 unc=read_ncdf('lhf',date1,date2,file=file,/nostr) 140 140 help, unc 141 141 ; 142 142 file=project_id_env+"TropFlux_19890101_20091231.nc" 143 143 initncdf, file … … 145 145 cor=-1*cor 146 146 help, cor 147 147 ; 148 148 file=project_id_env+'lhf_oafluxgrid_1985_2009.nc' 149 149 initncdf, file 150 150 oaf=read_ncdf("lhf", date1, date2, file=file,/nostr) 151 151 help, oaf 152 152 ; 153 153 fi=project_id_env+'lhf_ncep2_oafluxgrid_19890101_20091231.nc' 154 154 initncdf, fi 155 155 nce=read_ncdf("lhf", date1, date2, file=fi,/nostr) 156 156 help, nce 157 157 ; 158 158 file=project_id_env+'fluxe_ncep1_19890101_20091231.nc' 159 159 initncdf, file 160 160 nce1=-1*read_ncdf("lhf", date1, date2, file=file,/nostr) 161 161 help, nce1 162 162 ; 163 163 nsmooth=1. 164 164 nn=n_elements(sitelist) 165 165 for n=0, nn-1 do begin 166 167 ; ;reading data from mooring168 169 site=sitelist(n) 166 ; 167 ; reading data from mooring 168 ; 169 site=sitelist(n) 170 170 csite=site 171 171 print, csite … … 173 173 y=y_site_location(site) 174 174 if (y ge 0. and y le 30.) then y=y+360. 175 dx=0.5 176 dy=0.5 175 dx=0.5 176 dy=0.5 177 177 box=[y-dy, y+dy, x-dx, x+dx] 178 178 read_variables_v2, csite,date1,date2,nsmooth, $ 179 179 at, sw,rh,sst,wu,wv,ws,lh 180 181 lhf=lh 182 ind=where(finite(lhf)) 180 ; 181 lhf=lh 182 ind=where(finite(lhf)) 183 183 valid=n_elements(ind) 184 184 ; 185 185 if (valid ge 180. ) then begin 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 186 ; 187 extract_flux_tropflux,unc,box, $ 188 tropflux 189 uncr=tropflux 190 ; 191 extract_flux_tropflux,cor,box, $ 192 tropflux 193 corr=tropflux 194 ; 195 extract_flux_tropflux,oaf,box, $ 196 tropflux 197 oafl=tropflux 198 ; 199 extract_flux_tropflux,nce,box, $ 200 tropflux 201 ncep=tropflux 202 ; 203 203 extract_flux_tropflux,nce1,box, $ 204 204 tropflux 205 205 ncep1=tropflux 206 207 208 ind=where(finite(lhf)) 209 lhf=lhf(ind) 210 uncr_lhf=uncr(ind) 211 corr_lhf=corr(ind) 212 oafl=oafl(ind) 213 ncep=ncep(ind) 206 ; 207 ind=where(finite(lhf)) 208 lhf=lhf(ind) 209 uncr_lhf=uncr(ind) 210 corr_lhf=corr(ind) 211 oafl=oafl(ind) 212 ncep=ncep(ind) 214 213 ncep1=ncep1(ind) 215 214 mean_tao=total(lhf,/nan)/n_elements(lhf) 216 217 218 219 220 221 222 223 224 225 226 227 215 ; 216 statistics_3var_v1, lhf, uncr_lhf, corr_lhf, $ 217 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 218 ; 219 printf, 1, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 220 printf, 2, x, y, cor2, bias2, std2, rmsd2, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 221 ; 222 statistics_3var_v1, lhf, oafl, ncep, $ 223 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 224 printf, 3, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 225 printf, 4, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 226 ; 228 227 statistics_3var_v1, lhf, ncep1, ncep, $ 229 228 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 230 229 printf, 5, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 231 232 230 ; 231 ; 233 232 endif 234 233 endfor 235 234 ; 236 235 close,/all 237 236 ; 238 237 fi_lhf_erai=project_id_env+'lhf_2000_2009_erai_v52.txt' 239 238 res=read_ascii(fi_lhf_erai,data_start=1) … … 245 244 mean_tao=reform(ff(6,*)) 246 245 mean_erai=mean_tao+bias_erai 247 248 ind=where(finite(cor_erai)) 246 ; 247 ind=where(finite(cor_erai)) 249 248 cor=total(cor_erai,/nan)/n_elements(ind) 250 ind=where(finite(bias_erai)) 249 ind=where(finite(bias_erai)) 251 250 bias=total(bias_erai,/nan)/n_elements(ind) 252 ind=where(finite(rmsd_erai)) 251 ind=where(finite(rmsd_erai)) 253 252 rmsd=total(rmsd_erai,/nan)/n_elements(ind) 254 ind=where(finite(std_erai)) 253 ind=where(finite(std_erai)) 255 254 std=total(std_erai,/nan)/n_elements(ind) 256 255 ; 257 256 print, '' 258 257 print, 'ERAI' 259 258 print, cor, bias, std, rmsd 260 259 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 261 260 ; 262 261 splot, mean_tao, mean_erai, charsize=1.1, title='LHF - TAO Vs ERAI', $ 263 262 xrange=[20,200], yrange=[20,200], small=[2,3,1], psym=2 264 263 xyouts, 50,25, cstat, charsize=1. 265 264 xyouts, 50,10, 'cor bias std rmsd', charsize=1. 266 267 x=mean_tao 265 ; 266 x=mean_tao 268 267 y=mean_erai 269 268 ab=linfit(x,y,yfit=yfit) 270 a=float(ab(0)) 271 b=float(ab(1)) 269 a=float(ab(0)) 270 b=float(ab(1)) 272 271 print, a,b 273 272 oplot, x, yfit, thick=2, color=250 274 273 oplot, [20,200], [20,200] 275 274 ; 276 275 fi_lhf_trop=project_id_env+'lhf_2000_2009_trop_v52.txt' 277 276 res=read_ascii(fi_lhf_trop,data_start=1) … … 283 282 mean_tao=reform(ff(6,*)) 284 283 mean_trop=mean_tao+bias_trop 285 286 ind=where(finite(cor_trop)) 284 ; 285 ind=where(finite(cor_trop)) 287 286 cor=total(cor_trop,/nan)/n_elements(ind) 288 ind=where(finite(bias_trop)) 287 ind=where(finite(bias_trop)) 289 288 bias=total(bias_trop,/nan)/n_elements(ind) 290 ind=where(finite(rmsd_trop)) 289 ind=where(finite(rmsd_trop)) 291 290 rmsd=total(rmsd_trop,/nan)/n_elements(ind) 292 ind=where(finite(std_trop)) 291 ind=where(finite(std_trop)) 293 292 std=total(std_trop,/nan)/n_elements(ind) 294 293 ; 295 294 print, '' 296 295 print, 'TropFlux' 297 296 print, cor, bias, std, rmsd 298 297 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 299 298 ; 300 299 splot, mean_tao, mean_trop, charsize=1.1, title='LHF - TAO Vs TropFlux', $ 301 300 xrange=[20,200], yrange=[20,200], small=[2,3,2],/noer, psym=2 302 x=mean_tao 301 x=mean_tao 303 302 y=mean_trop 304 303 xyouts, 50,25, cstat, charsize=1. 305 304 xyouts, 50,10, 'cor bias std rmsd', charsize=1. 306 305 ; 307 306 ab=linfit(x,y,yfit=yfit) 308 a=float(ab(0)) 309 b=float(ab(1)) 307 a=float(ab(0)) 308 b=float(ab(1)) 310 309 print, a,b 311 310 oplot, x, yfit, thick=2, color=250 312 311 oplot, [20,200], [20,200] 313 314 312 ; 313 ; 315 314 fi_lhf_oaflx=project_id_env+'lhf_2000_2009_oaflx_v52.txt' 316 315 res=read_ascii(fi_lhf_oaflx,data_start=1) … … 322 321 mean_tao=reform(ff(6,*)) 323 322 mean_oaf=mean_tao+bias_oaf 324 325 ind=where(finite(cor_oaf)) 323 ; 324 ind=where(finite(cor_oaf)) 326 325 cor=total(cor_oaf,/nan)/n_elements(ind) 327 ind=where(finite(bias_oaf)) 326 ind=where(finite(bias_oaf)) 328 327 bias=total(bias_oaf,/nan)/n_elements(ind) 329 ind=where(finite(rmsd_oaf)) 328 ind=where(finite(rmsd_oaf)) 330 329 rmsd=total(rmsd_oaf,/nan)/n_elements(ind) 331 ind=where(finite(std_oaf)) 330 ind=where(finite(std_oaf)) 332 331 std=total(std_oaf,/nan)/n_elements(ind) 333 332 ; 334 333 print, '' 335 334 print, 'OAFlux' 336 335 print, cor, bias, std, rmsd 337 336 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 338 337 ; 339 338 splot, mean_tao, mean_oaf, charsize=1.1, title='LHF - TAO Vs OAFlux', $ 340 339 xrange=[20,200], yrange=[20,200], small=[2,3,3],/noer, psym=2 341 340 xyouts, 50,25, cstat, charsize=1. 342 341 xyouts, 50,10, 'cor bias std rmsd', charsize=1. 343 344 x=mean_tao 342 ; 343 x=mean_tao 345 344 y=mean_oaf 346 345 ab=linfit(x,y,yfit=yfit) 347 a=float(ab(0)) 348 b=float(ab(1)) 346 a=float(ab(0)) 347 b=float(ab(1)) 349 348 print, a,b 350 349 oplot, x, yfit, thick=2, color=250 351 350 oplot, [20,200], [20,200] 352 351 ; 353 352 fi_lhf_ncep=project_id_env+'lhf_2000_2009_ncep_v52.txt' 354 353 res=read_ascii(fi_lhf_ncep,data_start=1) … … 360 359 mean_tao=reform(ff(6,*)) 361 360 mean_nce=mean_tao+bias_nce 362 363 ind=where(finite(cor_nce)) 361 ; 362 ind=where(finite(cor_nce)) 364 363 cor=total(cor_nce,/nan)/n_elements(ind) 365 ind=where(finite(bias_nce)) 364 ind=where(finite(bias_nce)) 366 365 bias=total(bias_nce,/nan)/n_elements(ind) 367 ind=where(finite(rmsd_nce)) 366 ind=where(finite(rmsd_nce)) 368 367 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 369 ind=where(finite(std_nce)) 368 ind=where(finite(std_nce)) 370 369 std=total(std_nce,/nan)/n_elements(ind) 371 370 ; 372 371 print, '' 373 372 print, 'NCEP2' 374 373 print, cor, bias, std, rmsd 375 374 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 376 375 ; 377 376 splot, mean_tao, mean_nce, charsize=1.1, title='LHF - TAO Vs NCEP2', $ 378 377 xrange=[20,200], yrange=[20,200], small=[2,3,4],/noer, psym=2 379 378 xyouts, 50,25, cstat, charsize=1. 380 379 xyouts, 50,10, 'cor bias std rmsd', charsize=1. 381 382 x=mean_tao 380 ; 381 x=mean_tao 383 382 y=mean_nce 384 383 ab=linfit(x,y,yfit=yfit) 385 a=float(ab(0)) 386 b=float(ab(1)) 384 a=float(ab(0)) 385 b=float(ab(1)) 387 386 print, a,b 388 387 oplot, x, yfit, thick=2, color=250 389 388 oplot, [20,200], [20,200] 390 389 ; 391 390 fi_lhf_ncep1=project_id_env+'lhf_2000_2009_ncep1_v52.txt' 392 391 res=read_ascii(fi_lhf_ncep1,data_start=1) … … 398 397 mean_tao=reform(ff(6,*)) 399 398 mean_nce=mean_tao+bias_nce 400 401 ind=where(finite(cor_nce)) 399 ; 400 ind=where(finite(cor_nce)) 402 401 cor=total(cor_nce,/nan)/n_elements(ind) 403 ind=where(finite(bias_nce)) 402 ind=where(finite(bias_nce)) 404 403 bias=total(bias_nce,/nan)/n_elements(ind) 405 ind=where(finite(rmsd_nce)) 404 ind=where(finite(rmsd_nce)) 406 405 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 407 ind=where(finite(std_nce)) 406 ind=where(finite(std_nce)) 408 407 std=total(std_nce,/nan)/n_elements(ind) 409 408 ; 410 409 print, '' 411 410 print, 'NCEP1' 412 411 print, cor, bias, std, rmsd 413 412 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 414 413 ; 415 414 splot, mean_tao, mean_nce, charsize=1.1, title='LHF - TAO Vs NCEP1', $ 416 415 xrange=[20,200], yrange=[20,200], small=[2,3,5],/noer, psym=2 417 416 xyouts, 50,25, cstat, charsize=1. 418 417 xyouts, 50,10, 'cor bias std rmsd', charsize=1. 419 420 x=mean_tao 418 ; 419 x=mean_tao 421 420 y=mean_nce 422 421 ab=linfit(x,y,yfit=yfit) 423 a=float(ab(0)) 424 b=float(ab(1)) 422 a=float(ab(0)) 423 b=float(ab(1)) 425 424 print, a,b 426 425 oplot, x, yfit, thick=2, color=250 427 426 oplot, [20,200], [20,200] 428 427 ; 429 428 closeps 430 429 ; 431 430 end -
trunk/src/paper01/fig8/shf_validation_scatter_2000_2009.pro
r94 r97 93 93 reinitplt, /z,/invert 94 94 key_portrait = 1 95 95 ; 96 96 openps, FILENAME = project_od_env+'shf_validation_scatter_2000_2009.ps' 97 98 ; ;evaluation is done for 20000101, 20091231 period99 100 ; ;location of moorings101 97 ; 98 ; evaluation is done for 20000101, 20091231 period 99 ; 100 ; location of moorings 101 ; 102 102 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 103 103 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 110 110 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 111 111 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 112 112 ; 113 113 ocean='global' 114 114 ; 115 115 nsmooth=1. 116 ; ;This program will create the following text files with statistics of respective variables116 ; This program will create the following text files with statistics of respective variables 117 117 close,/all 118 118 ; 119 119 fi_shf_erai=project_id_env+'shf_2000_2009_erai_v52.txt' 120 120 openw,1,fi_shf_erai … … 125 125 fi_shf_ncep=project_id_env+'shf_2000_2009_ncep_v52.txt' 126 126 openw,4,fi_shf_ncep 127 127 ; 128 128 fi_shf_ncep1=project_id_env+'shf_2000_2009_ncep1_v52.txt' 129 129 openw,5,fi_shf_ncep1 130 131 130 ; 131 ; 132 132 printf,1, 'x y cor bias std rmsd mean_tao' 133 133 printf,2, 'x y cor bias std rmsd mean_tao' … … 135 135 printf,4, 'x y cor bias std rmsd mean_tao' 136 136 printf,5, 'x y cor bias std rmsd mean_tao' 137 138 ; ;first reading the whole ERAI uncorrected and corrected data139 137 ; 138 ; first reading the whole ERAI uncorrected and corrected data 139 ; 140 140 file=project_id_env+'erai_shf_19890101_20091231_oafluxgrid.nc' 141 141 initncdf, file 142 142 unc=read_ncdf('shf',date1,date2,file=file,/nostr) 143 143 help, unc 144 144 ; 145 145 file=project_id_env+'TropFlux_19890101_20091231_v51.nc' 146 146 initncdf, file … … 148 148 cor=-1*cor 149 149 help, cor 150 150 ; 151 151 file=project_id_env+'shf_oafluxgrid_1985_2009.nc' 152 152 initncdf, file 153 153 oaf=read_ncdf("shf", date1, date2, file=file,/nostr) 154 154 help, oaf 155 155 ; 156 156 fi=project_id_env+'shf_ncep2_oafluxgrid_19890101_20091231.nc' 157 157 initncdf, fi 158 158 nce=read_ncdf("shf", date1, date2, file=fi,/nostr) 159 159 help, nce 160 160 ; 161 161 file=project_id_env+'fluxe_ncep1_19890101_20091231.nc' 162 162 initncdf, file 163 163 nce1=-1*read_ncdf("shf", date1, date2, file=file,/nostr) 164 164 help, nce1 165 165 ; 166 166 nn=n_elements(sitelist) 167 167 for n=0, nn-1 do begin 168 169 ; ;reading data from mooring170 171 site=sitelist(n) 168 ; 169 ; reading data from mooring 170 ; 171 site=sitelist(n) 172 172 csite=site 173 173 print, csite … … 175 175 y=y_site_location(site) 176 176 if (y ge 0. and y le 30.) then y=y+360. 177 dx=0.5 178 dy=0.5 177 dx=0.5 178 dy=0.5 179 179 box=[y-dy, y+dy, x-dx, x+dx] 180 180 ; 181 181 read_variables_sh, csite,date1,date2,nsmooth, $ 182 182 at, sw,rh,sst,wu,wv,ws,sh 183 shf=sh 184 ind=where(finite(shf)) 183 shf=sh 184 ind=where(finite(shf)) 185 185 valid=n_elements(ind) 186 186 ; 187 187 if (valid ge 180. ) then begin 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 ind=where(finite(shf))210 shf=shf(ind)211 212 corr_shf=corr(ind)213 214 215 ncep1=ncep1(ind)216 217 218 219 220 221 222 223 224 225 226 227 228 188 ; 189 extract_flux_tropflux,unc,box, $ 190 tropflux 191 uncr=tropflux 192 ; 193 extract_flux_tropflux,cor,box, $ 194 tropflux 195 corr=tropflux 196 ; 197 extract_flux_tropflux,oaf,box, $ 198 tropflux 199 oafl=tropflux 200 ; 201 extract_flux_tropflux,nce,box, $ 202 tropflux 203 ncep=tropflux 204 ; 205 extract_flux_tropflux,nce1,box, $ 206 tropflux 207 ncep1=tropflux 208 ; 209 ind=where(finite(shf)) 210 shf=shf(ind) 211 uncr_shf=uncr(ind) 212 corr_shf=corr(ind) 213 oafl=oafl(ind) 214 ncep=ncep(ind) 215 ncep1=ncep1(ind) 216 mean_tao=total(shf,/nan)/n_elements(shf) 217 ; 218 statistics_3var_v1, shf, uncr_shf, corr_shf, $ 219 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 220 ; 221 printf, 1, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 222 printf, 2, x, y, cor2, bias2, std2, rmsd2, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 223 ; 224 statistics_3var_v1, shf, oafl, ncep, $ 225 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 226 printf, 3, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 227 printf, 4, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 228 ; 229 229 statistics_3var_v1, shf, ncep1, ncep, $ 230 230 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 231 231 printf, 5, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 232 232 ; 233 233 endif 234 234 endfor 235 235 ; 236 236 close,/all 237 237 ; 238 238 fi_shf_erai=project_id_env+'shf_2000_2009_erai_v52.txt' 239 239 res=read_ascii(fi_shf_erai,data_start=1) … … 245 245 mean_tao=reform(ff(6,*)) 246 246 mean_erai=mean_tao+bias_erai 247 248 ind=where(finite(cor_erai)) 247 ; 248 ind=where(finite(cor_erai)) 249 249 cor=total(cor_erai,/nan)/n_elements(ind) 250 ind=where(finite(bias_erai)) 250 ind=where(finite(bias_erai)) 251 251 bias=total(bias_erai,/nan)/n_elements(ind) 252 ind=where(finite(rmsd_erai)) 252 ind=where(finite(rmsd_erai)) 253 253 rmsd=total(rmsd_erai,/nan)/n_elements(ind) 254 ind=where(finite(std_erai)) 254 ind=where(finite(std_erai)) 255 255 std=total(std_erai,/nan)/n_elements(ind) 256 256 ; 257 257 print, '' 258 258 print, 'ERAI' 259 259 print, cor, bias, std, rmsd 260 260 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 261 261 ; 262 262 splot, mean_tao, mean_erai, charsize=1.1, title='SHF - TAO Vs ERAI', $ 263 263 xrange=[-5,25], yrange=[-5,25], small=[2,3,1], psym=2, xmin=1,ymin=1 264 264 xyouts, 0,-0.5, cstat, charsize=1. 265 265 xyouts, 0,-4., 'cor bias std rmsd', charsize=1. 266 267 x=mean_tao 266 ; 267 x=mean_tao 268 268 y=mean_erai 269 269 ab=linfit(x,y,yfit=yfit) 270 a=float(ab(0)) 271 b=float(ab(1)) 270 a=float(ab(0)) 271 b=float(ab(1)) 272 272 print, a,b 273 273 oplot, x, yfit, thick=2, color=250 274 274 oplot, [-5,25], [-5,25] 275 276 275 ; 276 ; 277 277 fi_shf_trop=project_id_env+'shf_2000_2009_trop_v52.txt' 278 278 res=read_ascii(fi_shf_trop,data_start=1) … … 284 284 mean_tao=reform(ff(6,*)) 285 285 mean_trop=mean_tao+bias_trop 286 287 ind=where(finite(cor_trop)) 286 ; 287 ind=where(finite(cor_trop)) 288 288 cor=total(cor_trop,/nan)/n_elements(ind) 289 ind=where(finite(bias_trop)) 289 ind=where(finite(bias_trop)) 290 290 bias=total(bias_trop,/nan)/n_elements(ind) 291 ind=where(finite(rmsd_trop)) 291 ind=where(finite(rmsd_trop)) 292 292 rmsd=total(rmsd_trop,/nan)/n_elements(ind) 293 ind=where(finite(std_trop)) 293 ind=where(finite(std_trop)) 294 294 std=total(std_trop,/nan)/n_elements(ind) 295 295 ; 296 296 print, '' 297 297 print, 'TropFlux' 298 298 print, cor, bias, std, rmsd 299 299 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 300 300 ; 301 301 splot, mean_tao, mean_trop, charsize=1.1, title='SHF - TAO Vs TropFlux', $ 302 302 xmin=1,ymin=1,xrange=[-5,25], yrange=[-5,25], small=[2,3,2],/noer, psym=2 303 303 xyouts, 0,-0.5, cstat, charsize=1. 304 304 xyouts, 0,-4., 'cor bias std rmsd', charsize=1. 305 306 x=mean_tao 305 ; 306 x=mean_tao 307 307 y=mean_trop 308 308 ab=linfit(x,y,yfit=yfit) 309 a=float(ab(0)) 310 b=float(ab(1)) 309 a=float(ab(0)) 310 b=float(ab(1)) 311 311 print, a,b 312 312 oplot, x, yfit, thick=2, color=250 313 313 oplot, [-5,25], [-5,25] 314 315 314 ; 315 ; 316 316 fi_shf_oaflx=project_id_env+'shf_2000_2009_oaflx_v52.txt' 317 317 res=read_ascii(fi_shf_oaflx,data_start=1) … … 323 323 mean_tao=reform(ff(6,*)) 324 324 mean_oaf=mean_tao+bias_oaf 325 326 ind=where(finite(cor_oaf)) 325 ; 326 ind=where(finite(cor_oaf)) 327 327 cor=total(cor_oaf,/nan)/n_elements(ind) 328 ind=where(finite(bias_oaf)) 328 ind=where(finite(bias_oaf)) 329 329 bias=total(bias_oaf,/nan)/n_elements(ind) 330 ind=where(finite(rmsd_oaf)) 330 ind=where(finite(rmsd_oaf)) 331 331 rmsd=total(rmsd_oaf,/nan)/n_elements(ind) 332 ind=where(finite(std_oaf)) 332 ind=where(finite(std_oaf)) 333 333 std=total(std_oaf,/nan)/n_elements(ind) 334 334 ; 335 335 print, '' 336 336 print, 'OAFlux' 337 337 print, cor, bias, std, rmsd 338 338 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 339 339 ; 340 340 splot, mean_tao, mean_oaf, charsize=1.1, title='SHF - TAO Vs OAFlux', $ 341 341 xmin=1,ymin=1,xrange=[-5,25], yrange=[-5,25], small=[2,3,3],/noer, psym=2 342 342 xyouts, 0,-0.5, cstat, charsize=1. 343 343 xyouts, 0,-4., 'cor bias std rmsd', charsize=1. 344 345 x=mean_tao 344 ; 345 x=mean_tao 346 346 y=mean_oaf 347 347 ab=linfit(x,y,yfit=yfit) 348 a=float(ab(0)) 349 b=float(ab(1)) 348 a=float(ab(0)) 349 b=float(ab(1)) 350 350 print, a,b 351 351 oplot, x, yfit, thick=2, color=250 352 352 oplot, [-5,25], [-5,25] 353 353 ; 354 354 fi_shf_ncep=project_id_env+'shf_2000_2009_ncep_v52.txt' 355 355 res=read_ascii(fi_shf_ncep,data_start=1) … … 361 361 mean_tao=reform(ff(6,*)) 362 362 mean_nce=mean_tao+bias_nce 363 364 ind=where(finite(cor_nce)) 363 ; 364 ind=where(finite(cor_nce)) 365 365 cor=total(cor_nce,/nan)/n_elements(ind) 366 ind=where(finite(bias_nce)) 366 ind=where(finite(bias_nce)) 367 367 bias=total(bias_nce,/nan)/n_elements(ind) 368 ind=where(finite(rmsd_nce)) 368 ind=where(finite(rmsd_nce)) 369 369 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 370 ind=where(finite(std_nce)) 370 ind=where(finite(std_nce)) 371 371 std=total(std_nce,/nan)/n_elements(ind) 372 372 ; 373 373 print, '' 374 374 print, 'NCEP2' 375 375 print, cor, bias, std, rmsd 376 376 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 377 377 ; 378 378 splot, mean_tao, mean_nce, charsize=1.1, title='SHF - TAO Vs NCEP2', $ 379 379 xmin=1,ymin=1,xrange=[-5,25], yrange=[-5,25], small=[2,3,4],/noer, psym=2 380 380 xyouts, 0,-0.5, cstat, charsize=1. 381 381 xyouts, 0,-4., 'cor bias std rmsd', charsize=1. 382 383 x=mean_tao 382 ; 383 x=mean_tao 384 384 y=mean_nce 385 385 ab=linfit(x,y,yfit=yfit) 386 a=float(ab(0)) 387 b=float(ab(1)) 386 a=float(ab(0)) 387 b=float(ab(1)) 388 388 print, a,b 389 389 oplot, x, yfit, thick=2, color=250 390 390 oplot, [-5,25], [-5,25] 391 391 ; 392 392 fi_shf_ncep1=project_id_env+'shf_2000_2009_ncep1_v52.txt' 393 393 res=read_ascii(fi_shf_ncep1,data_start=1) … … 399 399 mean_tao=reform(ff(6,*)) 400 400 mean_nce=mean_tao+bias_nce 401 401 ; 402 402 ind=where(finite(cor_nce)) 403 403 cor=total(cor_nce,/nan)/n_elements(ind) 404 ind=where(finite(bias_nce)) 404 ind=where(finite(bias_nce)) 405 405 bias=total(bias_nce,/nan)/n_elements(ind) 406 ind=where(finite(rmsd_nce)) 406 ind=where(finite(rmsd_nce)) 407 407 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 408 ind=where(finite(std_nce)) 408 ind=where(finite(std_nce)) 409 409 std=total(std_nce,/nan)/n_elements(ind) 410 410 ; 411 411 print, '' 412 412 print, 'NCEP1' 413 413 print, cor, bias, std, rmsd 414 414 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 415 415 ; 416 416 splot, mean_tao, mean_nce, charsize=1.1, title='SHF - TAO Vs NCEP1', $ 417 417 xmin=1,ymin=1,xrange=[-5,25], yrange=[-5,25], small=[2,3,5],/noer, psym=2 418 418 xyouts, 0,-0.5, cstat, charsize=1. 419 419 xyouts, 0,-4., 'cor bias std rmsd', charsize=1. 420 421 x=mean_tao 420 ; 421 x=mean_tao 422 422 y=mean_nce 423 423 ab=linfit(x,y,yfit=yfit) 424 a=float(ab(0)) 425 b=float(ab(1)) 424 a=float(ab(0)) 425 b=float(ab(1)) 426 426 print, a,b 427 427 oplot, x, yfit, thick=2, color=250 428 428 oplot, [-5,25], [-5,25] 429 429 ; 430 430 closeps 431 431 ; 432 432 end -
trunk/src/paper01/fig9/lwr_validation_scatter_2000_2007.pro
r94 r97 96 96 reinitplt, /z,/invert 97 97 key_portrait = 1 98 98 ; 99 99 openps, FILENAME = project_od_env+'lwr_validation_scatter_2000_2007.ps' 100 ; ;evaluation is done for 20000101-20071231 period101 102 ; ;location of moorings103 100 ; evaluation is done for 20000101-20071231 period 101 ; 102 ; location of moorings 103 ; 104 104 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 105 105 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 112 112 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 113 113 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 114 114 ; 115 115 sitelist=['0n110w', '0n140w', '0n165e', '0n170w', '0n23w', '0n80.5e', '0n95w', '10s10w', '12n23w', '15n38w', $ 116 116 '15n90e', '2n95w', '2s95w', '5n95w', '5s95w', '8n95w', '8s67e', '8s95w'] 117 117 ; 118 118 ocean='global' 119 120 da1=20000101 119 ; 120 da1=20000101 121 121 da2=20071231 122 122 nsmooth=1. 123 ; ;This program will create the following text files with statistics of respective variables123 ; This program will create the following text files with statistics of respective variables 124 124 close,/all 125 125 ; 126 126 fi_lwr_erai=project_id_env+'lwr_2000_2007_erai.txt' 127 127 openw,1,fi_lwr_erai … … 136 136 fi_lwr_clark=project_id_env+'lwr_2000_2007_clark.txt' 137 137 openw,6,fi_lwr_clark 138 138 ; 139 139 printf,1, 'x y cor bias std rmsd' 140 140 printf,2, 'x y cor bias std rmsd' … … 143 143 printf,5, 'x y cor bias std rmsd' 144 144 printf,6, 'x y cor bias std rmsd' 145 146 ; ;first reading the whole ERAI uncorrected and corrected data147 145 ; 146 ; first reading the whole ERAI uncorrected and corrected data 147 ; 148 148 file=project_id_env+'erai_fluxes_19930101_20090801_TROP_oafluxgrid.nc' 149 149 initncdf, file 150 150 unc=read_ncdf('lwr',date1,date2,file=file,/nostr) 151 151 help, unc 152 152 ; 153 153 file=project_id_env+'TropFlux_lwr_19890101_20091231.nc" 154 154 initncda, file 155 cor=read_ncdf('lwr',date1,date2,file=file,/nostr) 155 cor=read_ncdf('lwr',date1,date2,file=file,/nostr) 156 156 cor=-1*cor 157 157 help, cor 158 158 ; 159 159 file=project_id_env+'lwr_oafluxgrid_1985_2007.nc' 160 160 initncdf, file 161 161 oaf=read_ncdf("lwr", date1, date2, file=file,/nostr) 162 162 help, oaf 163 163 ; 164 164 fi=project_id_env+'NCEP2_flux_19890101_20090729.nc' 165 165 initncdf, fi 166 nce=read_ncdf("lwr", date1, date2, file=fi,/nostr) 167 ; ;nce=-1*nce166 nce=read_ncdf("lwr", date1, date2, file=fi,/nostr) 167 ; nce=-1*nce 168 168 help, nce 169 169 ; 170 170 file=project_id_env+'fluxe_ncep1_19890101_20091231.nc' 171 171 initncdf, file 172 172 nce1=-1*read_ncdf("lwr", date1, date2, file=file,/nostr) 173 173 help, nce1 174 174 ; 175 175 file=project_id_env+'TropFlux_19890101_20091231.nc' 176 176 initncdf, file 177 177 clark=-1*read_ncdf("lwr", date1, date2, file=file,/nostr) 178 178 help, clark 179 179 ; 180 180 nn=n_elements(sitelist) 181 181 for n=0, nn-1 do begin 182 183 ; ;reading data from mooring184 185 site=sitelist(n) 182 ; 183 ; reading data from mooring 184 ; 185 site=sitelist(n) 186 186 csite=site 187 187 print, csite … … 189 189 y=y_site_location(site) 190 190 if (y ge 0. and y le 30.) then y=y+360. 191 dx=0.5 192 dy=0.5 191 dx=0.5 192 dy=0.5 193 193 box=[y-dy, y+dy, x-dx, x+dx] 194 194 read_lw_global_v2, csite, date1, date2, box, $ 195 195 lw 196 197 lwr=lw 198 ind=where(finite(lwr)) 196 ; 197 lwr=lw 198 ind=where(finite(lwr)) 199 199 valid=n_elements(ind) 200 200 ; 201 201 if (valid ge 180. ) then begin 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 202 ; 203 extract_flux_tropflux,unc,box, $ 204 tropflux 205 uncr=tropflux 206 ; 207 extract_flux_tropflux,cor,box, $ 208 tropflux 209 corr=tropflux 210 ; 211 extract_flux_tropflux,oaf,box, $ 212 tropflux 213 oafl=tropflux 214 ; 215 extract_flux_tropflux,nce,box, $ 216 tropflux 217 ncep=tropflux 218 ; 219 219 extract_flux_tropflux,nce1,box, $ 220 220 tropflux 221 221 ncep1=tropflux 222 222 ; 223 223 extract_flux_tropflux,clark,box, $ 224 224 tropflux 225 225 clrk=tropflux 226 227 228 ind=where(finite(lwr)) 229 lwr=lwr(ind) 230 uncr_lwr=uncr(ind) 231 corr_lwr=corr(ind) 232 oafl=oafl(ind) 233 ncep=ncep(ind) 226 ; 227 ind=where(finite(lwr)) 228 lwr=lwr(ind) 229 uncr_lwr=uncr(ind) 230 corr_lwr=corr(ind) 231 oafl=oafl(ind) 232 ncep=ncep(ind) 234 233 clrk=clrk(ind) 235 234 ncep1=ncep1(ind) 236 235 mean_tao=total(lwr)/n_elements(ind) 237 238 239 240 241 242 243 244 245 246 247 248 236 ; 237 statistics_3var_v1, lwr, uncr_lwr, corr_lwr, $ 238 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 239 ; 240 printf, 1, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f6.2,3x,f4.2,3x,f5.2,3x,f6.2)' 241 printf, 2, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f6.2,3x,f4.2,3x,f5.2,3x,f6.2)' 242 ; 243 statistics_3var_v1, lwr, oafl, ncep, $ 244 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 245 printf, 3, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f6.2,3x,f4.2,3x,f5.2,3x,f6.2)' 246 printf, 4, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f6.2,3x,f4.2,3x,f5.2,3x,f6.2)' 247 ; 249 248 statistics_3var_v1, lwr, ncep1, clrk, $ 250 249 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 251 250 printf, 5, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f6.2,3x,f4.2,3x,f5.2,3x,f6.2)' 252 251 printf, 6, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f6.2,3x,f4.2,3x,f5.2,3x,f6.2)' 253 254 endif 252 ; 253 endif 255 254 endfor 256 255 close,/all 257 256 ; 258 257 fi_lwr_erai=project_id_env+'lwr_2000_2007_erai.txt' 259 258 res=read_ascii(fi_lwr_erai,data_start=1) … … 265 264 mean_tao=reform(ff(6,*)) 266 265 mean_erai=mean_tao+bias_erai 267 268 ind=where(finite(cor_erai)) 266 ; 267 ind=where(finite(cor_erai)) 269 268 cor=total(cor_erai,/nan)/n_elements(ind) 270 ind=where(finite(bias_erai)) 269 ind=where(finite(bias_erai)) 271 270 bias=total(bias_erai,/nan)/n_elements(ind) 272 ind=where(finite(rmsd_erai)) 271 ind=where(finite(rmsd_erai)) 273 272 rmsd=total(rmsd_erai,/nan)/n_elements(ind) 274 ind=where(finite(std_erai)) 273 ind=where(finite(std_erai)) 275 274 std=total(std_erai,/nan)/n_elements(ind) 276 275 ; 277 276 print, '' 278 277 print, 'ERAI' 279 278 print, cor, bias, std, rmsd 280 279 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 281 280 ; 282 281 splot, mean_tao, mean_erai, charsize=1.1, title='LWR - TAO Vs ERAI', $ 283 282 xrange=[0,100], yrange=[0,100], small=[2,3,1], psym=2, xmin=1, ymin=1 284 283 xyouts, 40,10, cstat, charsize=1. 285 284 xyouts, 40,3, 'cor bias std rmsd', charsize=1. 286 287 x=mean_tao 285 ; 286 x=mean_tao 288 287 y=mean_erai 289 288 ab=linfit(x,y,yfit=yfit) 290 a=float(ab(0)) 291 b=float(ab(1)) 292 print, a,b 293 oplot, x, yfit, thick=2, color=250 294 oplot, [0,100], [0,100] 295 289 a=float(ab(0)) 290 b=float(ab(1)) 291 print, a,b 292 oplot, x, yfit, thick=2, color=250 293 oplot, [0,100], [0,100] 294 ; 296 295 significance_test, mean_tao, mean_erai 297 296 ; 298 297 fi_lwr_trop=project_id_env+'lwr_2000_2007_trop.txt' 299 298 res=read_ascii(fi_lwr_trop,data_start=1) … … 305 304 mean_tao=reform(ff(6,*)) 306 305 mean_trop=mean_tao+bias_trop 307 308 ind=where(finite(cor_trop)) 306 ; 307 ind=where(finite(cor_trop)) 309 308 cor=total(cor_trop,/nan)/n_elements(ind) 310 ind=where(finite(bias_trop)) 309 ind=where(finite(bias_trop)) 311 310 bias=total(bias_trop,/nan)/n_elements(ind) 312 ind=where(finite(rmsd_trop)) 311 ind=where(finite(rmsd_trop)) 313 312 rmsd=total(rmsd_trop,/nan)/n_elements(ind) 314 ind=where(finite(std_trop)) 313 ind=where(finite(std_trop)) 315 314 std=total(std_trop,/nan)/n_elements(ind) 316 315 ; 317 316 print, '' 318 317 print, 'TropFlux' 319 318 print, cor, bias, std, rmsd 320 319 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 321 320 ; 322 321 splot, mean_tao, mean_trop, charsize=1.1, title='LWR - TAO Vs TropFlux', $ 323 322 xmin=1,ymin=1,xrange=[0,100], yrange=[0,100], small=[2,3,2],/noer, psym=2 324 323 xyouts, 40,10, cstat, charsize=1. 325 324 xyouts, 40,3, 'cor bias std rmsd', charsize=1. 326 327 x=mean_tao 325 ; 326 x=mean_tao 328 327 y=mean_trop 329 328 ab=linfit(x,y,yfit=yfit) 330 a=float(ab(0)) 331 b=float(ab(1)) 332 print, a,b 333 oplot, x, yfit, thick=2, color=250 334 oplot, [0,100], [0,100] 335 329 a=float(ab(0)) 330 b=float(ab(1)) 331 print, a,b 332 oplot, x, yfit, thick=2, color=250 333 oplot, [0,100], [0,100] 334 ; 336 335 significance_test, mean_tao, mean_trop 337 336 ; 338 337 fi_lwr_oaflx=project_id_env+'lwr_2000_2007_oaflx.txt' 339 338 res=read_ascii(fi_lwr_oaflx,data_start=1) … … 345 344 mean_tao=reform(ff(6,*)) 346 345 mean_oaf=mean_tao+bias_oaf 347 348 ind=where(finite(cor_oaf)) 346 ; 347 ind=where(finite(cor_oaf)) 349 348 cor=total(cor_oaf,/nan)/n_elements(ind) 350 ind=where(finite(bias_oaf)) 349 ind=where(finite(bias_oaf)) 351 350 bias=total(bias_oaf,/nan)/n_elements(ind) 352 ind=where(finite(rmsd_oaf)) 351 ind=where(finite(rmsd_oaf)) 353 352 rmsd=total(rmsd_oaf,/nan)/n_elements(ind) 354 ind=where(finite(std_oaf)) 353 ind=where(finite(std_oaf)) 355 354 std=total(std_oaf,/nan)/n_elements(ind) 356 355 ; 357 356 print, '' 358 357 print, 'OAFlux' 359 358 print, cor, bias, std, rmsd 360 359 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 361 360 ; 362 361 splot, mean_tao, mean_oaf, charsize=1.1, title='LWR - TAO Vs OAFlux', $ 363 362 xmin=1,ymin=1,xrange=[0,100], yrange=[0,100], small=[2,3,3],/noer, psym=2 364 363 xyouts, 40,10, cstat, charsize=1. 365 364 xyouts, 40,3, 'cor bias std rmsd', charsize=1. 366 367 x=mean_tao 365 ; 366 x=mean_tao 368 367 y=mean_oaf 369 368 ab=linfit(x,y,yfit=yfit) 370 a=float(ab(0)) 371 b=float(ab(1)) 372 print, a,b 373 oplot, x, yfit, thick=2, color=250 374 oplot, [0,100], [0,100] 375 369 a=float(ab(0)) 370 b=float(ab(1)) 371 print, a,b 372 oplot, x, yfit, thick=2, color=250 373 oplot, [0,100], [0,100] 374 ; 376 375 significance_test, mean_tao, mean_oaf 377 376 ; 378 377 fi_lwr_ncep=project_id_env+'lwr_2000_2007_ncep.txt' 379 378 res=read_ascii(fi_lwr_ncep,data_start=1) … … 385 384 mean_tao=reform(ff(6,*)) 386 385 mean_nce=mean_tao+bias_nce 387 388 ind=where(finite(cor_nce)) 386 ; 387 ind=where(finite(cor_nce)) 389 388 cor=total(cor_nce,/nan)/n_elements(ind) 390 ind=where(finite(bias_nce)) 389 ind=where(finite(bias_nce)) 391 390 bias=total(bias_nce,/nan)/n_elements(ind) 392 ind=where(finite(rmsd_nce)) 391 ind=where(finite(rmsd_nce)) 393 392 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 394 ind=where(finite(std_nce)) 393 ind=where(finite(std_nce)) 395 394 std=total(std_nce,/nan)/n_elements(ind) 396 395 ; 397 396 print, '' 398 397 print, 'NCEP2' 399 398 print, cor, bias, std, rmsd 400 399 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 401 400 ; 402 401 splot, mean_tao, mean_nce, charsize=1.1, title='LWR - TAO Vs NCEP2', $ 403 402 xmin=1,ymin=1,xrange=[0,100], yrange=[0,100], small=[2,3,4],/noer, psym=2 404 403 xyouts, 40,10, cstat, charsize=1. 405 404 xyouts, 40,3, 'cor bias std rmsd', charsize=1. 406 407 x=mean_tao 405 ; 406 x=mean_tao 408 407 y=mean_nce 409 408 ab=linfit(x,y,yfit=yfit) 410 a=float(ab(0)) 411 b=float(ab(1)) 412 print, a,b 413 oplot, x, yfit, thick=2, color=250 414 oplot, [0,100], [0,100] 415 409 a=float(ab(0)) 410 b=float(ab(1)) 411 print, a,b 412 oplot, x, yfit, thick=2, color=250 413 oplot, [0,100], [0,100] 414 ; 416 415 significance_test, mean_tao, mean_nce 417 416 ; 418 417 fi_lwr_ncep1=project_id_env+'lwr_2000_2007_ncep1.txt' 419 418 res=read_ascii(fi_lwr_ncep1,data_start=1) … … 425 424 mean_tao=reform(ff(6,*)) 426 425 mean_nce=mean_tao+bias_nce 427 428 ind=where(finite(cor_nce)) 426 ; 427 ind=where(finite(cor_nce)) 429 428 cor=total(cor_nce,/nan)/n_elements(ind) 430 ind=where(finite(bias_nce)) 429 ind=where(finite(bias_nce)) 431 430 bias=total(bias_nce,/nan)/n_elements(ind) 432 ind=where(finite(rmsd_nce)) 431 ind=where(finite(rmsd_nce)) 433 432 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 434 ind=where(finite(std_nce)) 433 ind=where(finite(std_nce)) 435 434 std=total(std_nce,/nan)/n_elements(ind) 436 435 ; 437 436 print, '' 438 437 print, 'NCEP1' 439 438 print, cor, bias, std, rmsd 440 439 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 441 440 ; 442 441 splot, mean_tao, mean_nce, charsize=1.1, title='LWR - TAO Vs NCEP1', $ 443 442 xmin=1,ymin=1,xrange=[0,100], yrange=[0,100], small=[2,3,5],/noer, psym=2 444 443 xyouts, 40,10, cstat, charsize=1. 445 444 xyouts, 40,3, 'cor bias std rmsd', charsize=1. 446 447 x=mean_tao 445 ; 446 x=mean_tao 448 447 y=mean_nce 449 448 ab=linfit(x,y,yfit=yfit) 450 a=float(ab(0)) 451 b=float(ab(1)) 452 print, a,b 453 oplot, x, yfit, thick=2, color=250 454 oplot, [0,100], [0,100] 455 449 a=float(ab(0)) 450 b=float(ab(1)) 451 print, a,b 452 oplot, x, yfit, thick=2, color=250 453 oplot, [0,100], [0,100] 454 ; 456 455 significance_test, mean_tao, mean_nce 457 456 ; 458 457 fi_lwr_clark=project_id_env+'lwr_2000_2007_clark.txt' 459 458 res=read_ascii(fi_lwr_clark,data_start=1) … … 465 464 mean_tao=reform(ff(6,*)) 466 465 mean_clark=mean_tao+bias_clark 467 468 ind=where(finite(cor_clark)) 466 ; 467 ind=where(finite(cor_clark)) 469 468 cor=total(cor_clark,/nan)/n_elements(ind) 470 ind=where(finite(bias_clark)) 469 ind=where(finite(bias_clark)) 471 470 bias=total(bias_clark,/nan)/n_elements(ind) 472 ind=where(finite(rmsd_clark)) 471 ind=where(finite(rmsd_clark)) 473 472 rmsd=total(rmsd_clark,/nan)/n_elements(ind) 474 473 ind=where(finite(std_clark)) 475 474 std=total(std_clark,/nan)/n_elements(ind) 476 475 ; 477 476 print, '' 478 477 print, 'CLARK LWR' 479 478 print, cor, bias, std, rmsd 480 479 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 481 480 ; 482 481 splot, mean_tao, mean_clark, charsize=1.1, title='LWR - TAO Vs CLARK', $ 483 482 xmin=1,ymin=1,xrange=[0,100], yrange=[0,100], small=[2,3,6],/noer, psym=2 484 483 xyouts, 40,10, cstat, charsize=1. 485 484 xyouts, 40,3, 'cor bias std rmsd', charsize=1. 486 487 x=mean_tao 485 ; 486 x=mean_tao 488 487 y=mean_clark 489 488 ab=linfit(x,y,yfit=yfit) 490 a=float(ab(0)) 491 b=float(ab(1)) 492 print, a,b 493 oplot, x, yfit, thick=2, color=250 494 oplot, [0,100], [0,100] 495 489 a=float(ab(0)) 490 b=float(ab(1)) 491 print, a,b 492 oplot, x, yfit, thick=2, color=250 493 oplot, [0,100], [0,100] 494 ; 496 495 significance_test, mean_tao, mean_clark 497 496 ; 498 497 closeps 499 498 ; 500 499 end -
trunk/src/paper01/fig9/swr_validation_scatter_2000_2007.pro
r94 r97 95 95 reinitplt, /z,/invert 96 96 key_portrait = 1 97 97 ; 98 98 openps, FILENAME = project_od_env+'swr_validation_scatter_2000_2007.ps' 99 100 ; ;evaluation is done for 20000101-20071231 period101 102 ; ;location of mooring103 104 99 ; 100 ; evaluation is done for 20000101-20071231 period 101 ; 102 ; location of mooring 103 ; 104 ; 105 105 sitelist=['5n165e','8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 106 106 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 113 113 '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ 114 114 '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] 115 115 ; 116 116 ocean='global' 117 118 ;da1=20000101 117 ; 118 ;da1=20000101 119 119 ;da2=20071231 120 120 nsmooth=1. 121 ; ;This program will create the following text files with statistics of respective variables121 ; This program will create the following text files with statistics of respective variables 122 122 close,/all 123 123 ; 124 124 fi_swr_erai=project_id_env+'swr_2000_2007_erai_v50.txt' 125 125 openw,1,fi_swr_erai … … 134 134 fi_swr_olr=project_id_env+'swr_2000_2007_olr_v50.txt' 135 135 openw,6,fi_swr_olr 136 137 136 ; 137 ; 138 138 printf,1, 'x y cor bias std rmsd mean_tao' 139 139 printf,2, 'x y cor bias std rmsd mean_tao' … … 142 142 printf,5, 'x y cor bias std rmsd mean_tao' 143 143 printf,6, 'x y cor bias std rmsd mean_tao' 144 145 ; ;first reading the whole ERAI uncorrected and corrected data146 144 ; 145 ; first reading the whole ERAI uncorrected and corrected data 146 ; 147 147 file=project_id_env+'erai_fluxes_20000101_20090801_TROP_oafluxgrid.nc' 148 148 initncdf, file 149 unc=read_ncdf('swr',date1,date2,file=file,/nostr) 149 unc=read_ncdf('swr',date1,date2,file=file,/nostr) 150 150 unc=-1*unc 151 151 help, unc 152 152 ; 153 153 file=project_id_env+'TropFlux_swr_19890101_20071231_DT_v51.nc' 154 154 initncdf, file 155 155 cor=read_ncdf('swr',date1,date2,file=file,/nostr) 156 156 help, cor 157 157 ; 158 158 file=project_id_env+'swr_oafluxgrid_1985_2007.nc' 159 159 initncdf, file 160 160 oaf=read_ncdf("swr", date1, date2, file=file,/nostr) 161 161 help, oaf 162 162 ; 163 163 fi=project_id_env+'swr_ncep2_oaflxgrid_19890101_20091231.nc' 164 164 initncdf, fi 165 nce=read_ncdf("swr", date1, date2, file=fi,/nostr) 165 nce=read_ncdf("swr", date1, date2, file=fi,/nostr) 166 166 nce=0.94*nce 167 167 help, nce 168 168 ; 169 169 file=project_id_env+'fluxe_ncep1_19890101_20091231.nc' 170 170 initncdf, file 171 171 nce1=read_ncdf("swr", date1, date2, file=file,/nostr) 172 172 help, nce1 173 173 ; 174 174 file=project_id_env+'TropFlux_swr_19890101_20091231_NRT_v50.nc' 175 175 initncdf, file … … 178 178 nn=n_elements(sitelist) 179 179 for n=0, nn-1 do begin 180 181 ; ;reading data from mooring182 183 site=sitelist(n) 180 ; 181 ; reading data from mooring 182 ; 183 site=sitelist(n) 184 184 csite=site 185 185 print, csite … … 187 187 y=y_site_location(site) 188 188 if (y ge 0. and y le 30.) then y=y+360. 189 dx=0.5 190 dy=0.5 189 dx=0.5 190 dy=0.5 191 191 box=[y-dy, y+dy, x-dx, x+dx] 192 192 ; 193 193 read_global_sw_v50, csite, date1, date2, box, $ 194 194 sw 195 196 swr=sw 197 ind=where(finite(swr)) 195 ; 196 swr=sw 197 ind=where(finite(swr)) 198 198 valid=n_elements(ind) 199 199 ; 200 200 if (valid ge 180. ) then begin 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 201 ; 202 extract_flux_tropflux,unc,box, $ 203 tropflux 204 uncr=tropflux 205 ; 206 extract_flux_tropflux,cor,box, $ 207 tropflux 208 corr=tropflux 209 ; 210 extract_flux_tropflux,oaf,box, $ 211 tropflux 212 oafl=tropflux 213 ; 214 extract_flux_tropflux,nce,box, $ 215 tropflux 216 ncep=tropflux 217 ; 218 218 extract_flux_tropflux,nce1,box, $ 219 219 tropflux 220 220 ncep1=tropflux 221 222 221 ; 223 222 extract_flux_tropflux,sw_olr,box, $ 224 223 tropflux 225 224 olr=tropflux 226 227 ind=where(finite(swr)) 228 swr=swr(ind) 229 uncr_swr=uncr(ind) 230 corr_swr=corr(ind) 231 oafl=oafl(ind) 225 ; 226 ind=where(finite(swr)) 227 swr=swr(ind) 228 uncr_swr=uncr(ind) 229 corr_swr=corr(ind) 230 oafl=oafl(ind) 232 231 ncep=ncep(ind) 233 ncep1=ncep1(ind) 232 ncep1=ncep1(ind) 234 233 olr_sw=olr(ind) 235 234 mean_tao=total(swr,/nan)/n_elements(swr) 236 237 238 239 240 241 242 243 244 245 246 247 235 ; 236 statistics_3var_v1, swr, uncr_swr, corr_swr, $ 237 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 238 ; 239 printf, 1, x, y, cor1, bias1, std1, rmsd1, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 240 printf, 2, x, y, cor2, bias2, std2, rmsd2, mean_tao, format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 241 ; 242 statistics_3var_v1, swr, oafl, ncep, $ 243 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 244 printf, 3, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 245 printf, 4, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 246 ; 248 247 statistics_3var_v1, swr, ncep1, olr_sw, $ 249 248 cor1, cor2, bias1, bias2, std1, std2, rmsd1, rmsd2 250 249 printf, 5, x, y, cor1, bias1, std1, rmsd1, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 251 250 printf, 6, x, y, cor2, bias2, std2, rmsd2, mean_tao,format='(f6.2, 3x, f6.2, 3x, f4.2,3x,f7.2,3x,f4.2,3x,f5.2,3x,f6.2)' 252 251 ; 253 252 endif 254 253 endfor 255 254 ; 256 255 close,/all 257 256 ; 258 257 fi_swr_erai=project_id_env+'swr_2000_2007_erai_v50.txt' 259 258 res=read_ascii(fi_swr_erai,data_start=1) … … 265 264 mean_tao=reform(ff(6,*)) 266 265 mean_erai=mean_tao+bias_erai 267 268 ind=where(finite(cor_erai)) 266 ; 267 ind=where(finite(cor_erai)) 269 268 cor=total(cor_erai,/nan)/n_elements(ind) 270 ind=where(finite(bias_erai)) 269 ind=where(finite(bias_erai)) 271 270 bias=total(bias_erai,/nan)/n_elements(ind) 272 ind=where(finite(rmsd_erai)) 271 ind=where(finite(rmsd_erai)) 273 272 rmsd=total(rmsd_erai,/nan)/n_elements(ind) 274 ind=where(finite(std_erai)) 273 ind=where(finite(std_erai)) 275 274 std=total(std_erai,/nan)/n_elements(ind) 276 275 ; 277 276 print, '' 278 277 print, 'ERAI' 279 278 print, cor, bias, std, rmsd 280 279 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 281 280 ; 282 281 splot, mean_tao, mean_erai, charsize=1.1, title='SWR - TAO Vs ERAI', $ 283 282 xrange=[100,300], yrange=[100,300], small=[2,3,1], psym=2, xmin=1, ymin=1 284 283 xyouts, 180,175, cstat, charsize=1. 285 284 xyouts, 180,160, 'cor bias std rmsd', charsize=1. 286 287 x=mean_tao 285 ; 286 x=mean_tao 288 287 y=mean_erai 289 288 ab=linfit(x,y,yfit=yfit) 290 a=float(ab(0)) 291 b=float(ab(1)) 292 print, a,b 293 oplot, x, yfit, thick=2, color=250 294 oplot, [100,300], [100,300] 295 296 289 a=float(ab(0)) 290 b=float(ab(1)) 291 print, a,b 292 oplot, x, yfit, thick=2, color=250 293 oplot, [100,300], [100,300] 294 ; 295 ; 297 296 fi_swr_trop=project_id_env+'swr_2000_2007_trop_v50.txt' 298 297 res=read_ascii(fi_swr_trop,data_start=1) … … 304 303 mean_tao=reform(ff(6,*)) 305 304 mean_trop=mean_tao+bias_trop 306 307 ind=where(finite(cor_trop)) 305 ; 306 ind=where(finite(cor_trop)) 308 307 cor=total(cor_trop,/nan)/n_elements(ind) 309 ind=where(finite(bias_trop)) 308 ind=where(finite(bias_trop)) 310 309 bias=total(bias_trop,/nan)/n_elements(ind) 311 ind=where(finite(rmsd_trop)) 310 ind=where(finite(rmsd_trop)) 312 311 rmsd=total(rmsd_trop,/nan)/n_elements(ind) 313 ind=where(finite(std_trop)) 312 ind=where(finite(std_trop)) 314 313 std=total(std_trop,/nan)/n_elements(ind) 315 314 ; 316 315 print, '' 317 316 print, 'TropFlux' 318 317 print, cor, bias, std, rmsd 319 318 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 320 319 ; 321 320 splot, mean_tao, mean_trop, charsize=1.1, title='SWR - TAO Vs TropFlux_DT', $ 322 321 xmin=1,ymin=1,xrange=[100,300], yrange=[100,300], small=[2,3,2],/noer, psym=2 323 322 xyouts, 180,175, cstat, charsize=1. 324 323 xyouts, 180,160, 'cor bias std rmsd', charsize=1. 325 326 x=mean_tao 324 ; 325 x=mean_tao 327 326 y=mean_trop 328 327 ab=linfit(x,y,yfit=yfit) 329 a=float(ab(0)) 330 b=float(ab(1)) 331 print, a,b 332 oplot, x, yfit, thick=2, color=250 333 oplot, [100,300], [100,300] 334 335 328 a=float(ab(0)) 329 b=float(ab(1)) 330 print, a,b 331 oplot, x, yfit, thick=2, color=250 332 oplot, [100,300], [100,300] 333 ; 334 ; 336 335 fi_swr_oaflx=project_id_env+'swr_2000_2007_oaflx_v50.txt' 337 336 res=read_ascii(fi_swr_oaflx,data_start=1) … … 343 342 mean_tao=reform(ff(6,*)) 344 343 mean_oaf=mean_tao+bias_oaf 345 346 ind=where(finite(cor_oaf)) 344 ; 345 ind=where(finite(cor_oaf)) 347 346 cor=total(cor_oaf,/nan)/n_elements(ind) 348 ind=where(finite(bias_oaf)) 347 ind=where(finite(bias_oaf)) 349 348 bias=total(bias_oaf,/nan)/n_elements(ind) 350 ind=where(finite(rmsd_oaf)) 349 ind=where(finite(rmsd_oaf)) 351 350 rmsd=total(rmsd_oaf,/nan)/n_elements(ind) 352 ind=where(finite(std_oaf)) 351 ind=where(finite(std_oaf)) 353 352 std=total(std_oaf,/nan)/n_elements(ind) 354 353 ; 355 354 print, '' 356 355 print, 'OAFlux' 357 356 print, cor, bias, std, rmsd 358 357 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 359 358 ; 360 359 splot, mean_tao, mean_oaf, charsize=1.1, title='SWR - TAO Vs OAFlux', $ 361 360 xmin=1,ymin=1,xrange=[100,300], yrange=[100,300], small=[2,3,3],/noer, psym=2 362 361 xyouts, 180,175, cstat, charsize=1. 363 362 xyouts, 180,160, 'cor bias std rmsd', charsize=1. 364 365 x=mean_tao 363 ; 364 x=mean_tao 366 365 y=mean_oaf 367 366 ab=linfit(x,y,yfit=yfit) 368 a=float(ab(0)) 369 b=float(ab(1)) 370 print, a,b 371 oplot, x, yfit, thick=2, color=250 372 oplot, [100,300], [100,300] 373 374 367 a=float(ab(0)) 368 b=float(ab(1)) 369 print, a,b 370 oplot, x, yfit, thick=2, color=250 371 oplot, [100,300], [100,300] 372 ; 373 ; 375 374 fi_swr_ncep=project_id_env+'swr_2000_2007_ncep_v50.txt' 376 375 res=read_ascii(fi_swr_ncep,data_start=1) … … 382 381 mean_tao=reform(ff(6,*)) 383 382 mean_nce=mean_tao+bias_nce 384 385 ind=where(finite(cor_nce)) 383 ; 384 ind=where(finite(cor_nce)) 386 385 cor=total(cor_nce,/nan)/n_elements(ind) 387 ind=where(finite(bias_nce)) 386 ind=where(finite(bias_nce)) 388 387 bias=total(bias_nce,/nan)/n_elements(ind) 389 ind=where(finite(rmsd_nce)) 388 ind=where(finite(rmsd_nce)) 390 389 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 391 ind=where(finite(std_nce)) 390 ind=where(finite(std_nce)) 392 391 std=total(std_nce,/nan)/n_elements(ind) 393 392 ; 394 393 print, '' 395 394 print, 'NCEP2' 396 395 print, cor, bias, std, rmsd 397 396 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 398 397 ; 399 398 splot, mean_tao, mean_nce, charsize=1.1, title='SWR - TAO Vs NCEP2', $ 400 399 xmin=1,ymin=1,xrange=[100,300], yrange=[100,300], small=[2,3,4],/noer, psym=2 401 400 xyouts, 180,175, cstat, charsize=1. 402 401 xyouts, 180,160, 'cor bias std rmsd', charsize=1. 403 404 x=mean_tao 402 ; 403 x=mean_tao 405 404 y=mean_nce 406 405 ab=linfit(x,y,yfit=yfit) 407 a=float(ab(0)) 408 b=float(ab(1)) 409 print, a,b 410 oplot, x, yfit, thick=2, color=250 411 oplot, [100,300], [100,300] 412 413 406 a=float(ab(0)) 407 b=float(ab(1)) 408 print, a,b 409 oplot, x, yfit, thick=2, color=250 410 oplot, [100,300], [100,300] 411 ; 412 ; 414 413 fi_swr_ncep1=project_id_env+'swr_2000_2007_ncep1_v50.txt' 415 414 res=read_ascii(fi_swr_ncep1,data_start=1) … … 421 420 mean_tao=reform(ff(6,*)) 422 421 mean_nce=mean_tao+bias_nce 423 424 ind=where(finite(cor_nce)) 422 ; 423 ind=where(finite(cor_nce)) 425 424 cor=total(cor_nce,/nan)/n_elements(ind) 426 ind=where(finite(bias_nce)) 425 ind=where(finite(bias_nce)) 427 426 bias=total(bias_nce,/nan)/n_elements(ind) 428 ind=where(finite(rmsd_nce)) 427 ind=where(finite(rmsd_nce)) 429 428 rmsd=total(rmsd_nce,/nan)/n_elements(ind) 430 ind=where(finite(std_nce)) 429 ind=where(finite(std_nce)) 431 430 std=total(std_nce,/nan)/n_elements(ind) 432 431 ; 433 432 print, '' 434 433 print, 'NCEP1' 435 434 print, cor, bias, std, rmsd 436 435 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 437 436 ; 438 437 splot, mean_tao, mean_nce, charsize=1.1, title='SWR - TAO Vs NCEP1', $ 439 438 xmin=1,ymin=1,xrange=[100,300], yrange=[100,300], small=[2,3,5],/noer, psym=2 440 439 xyouts, 180,175, cstat, charsize=1. 441 440 xyouts, 180,160, 'cor bias std rmsd', charsize=1. 442 443 x=mean_tao 441 ; 442 x=mean_tao 444 443 y=mean_nce 445 444 ab=linfit(x,y,yfit=yfit) 446 a=float(ab(0)) 447 b=float(ab(1)) 448 print, a,b 449 oplot, x, yfit, thick=2, color=250 450 oplot, [100,300], [100,300] 451 452 445 a=float(ab(0)) 446 b=float(ab(1)) 447 print, a,b 448 oplot, x, yfit, thick=2, color=250 449 oplot, [100,300], [100,300] 450 ; 451 ; 453 452 fi_swr_olr=project_id_env+'swr_2000_2007_olr_v50.txt' 454 453 res=read_ascii(fi_swr_olr,data_start=1) … … 460 459 mean_tao=reform(ff(6,*)) 461 460 mean_olr=mean_tao+bias_olr 462 463 ind=where(finite(cor_olr)) 461 ; 462 ind=where(finite(cor_olr)) 464 463 cor=total(cor_olr,/nan)/n_elements(ind) 465 ind=where(finite(bias_olr)) 464 ind=where(finite(bias_olr)) 466 465 bias=total(bias_olr,/nan)/n_elements(ind) 467 ind=where(finite(rmsd_olr)) 466 ind=where(finite(rmsd_olr)) 468 467 rmsd=total(rmsd_olr,/nan)/n_elements(ind) 469 ind=where(finite(std_olr)) 468 ind=where(finite(std_olr)) 470 469 std=total(std_olr,/nan)/n_elements(ind) 471 470 ; 472 471 print, '' 473 472 print, 'SWR_olr' 474 473 print, cor, bias, std, rmsd 475 474 cstat=string(cor, bias, std, rmsd, format='(f4.2,2x,f6.2,2x,f4.2,1x,f6.2)') 476 475 ; 477 476 splot, mean_tao, mean_olr, charsize=1.1, title='SWR - TAO Vs SWR_olr', $ 478 477 xmin=1,ymin=1,xrange=[100,300], yrange=[100,300], small=[2,3,6],/noer, psym=2 479 478 xyouts, 180,175, cstat, charsize=1. 480 479 xyouts, 180,160, 'cor bias std rmsd', charsize=1. 481 482 x=mean_tao 480 ; 481 x=mean_tao 483 482 y=mean_olr 484 483 ab=linfit(x,y,yfit=yfit) 485 a=float(ab(0)) 486 b=float(ab(1)) 487 print, a,b 488 oplot, x, yfit, thick=2, color=250 489 oplot, [100,300], [100,300] 490 491 484 a=float(ab(0)) 485 b=float(ab(1)) 486 print, a,b 487 oplot, x, yfit, thick=2, color=250 488 oplot, [100,300], [100,300] 489 ; 492 490 closeps 493 491 ; 494 492 end -
trunk/src/project_init.pro
r85 r97 66 66 ; 67 67 ;- 68 ; 68 ; 69 69 ; SAXO environment 70 70 saxo_dir_env=GETENV('SAXO_DIR') -
trunk/src/q2m_correction_ncdf.pro
r94 r97 143 143 ENDIF 144 144 ; 145 da1=19880101 145 da1=19880101 146 146 da2=20101231 147 147 ; … … 172 172 q2m=read_ncdf('q2m',da1,da2,file=fullfilename,/nostr) 173 173 help, q2m 174 174 ; 175 175 q2m_mean=grossemoyenne(q2m,'t',/nan) 176 176 help, q2m_mean 177 178 tt=time 177 ; 178 tt=time 179 179 jpt=n_elements(time) 180 180 caldat, time,mon,day,yea 181 181 q2m_m=q2m*0. 182 182 ; 183 183 for jt=0,jpt-1 do begin 184 184 jtt=(time(jt)-julday(1,1,yea(jt))) < 364 … … 187 187 endfor 188 188 help, q2m_m 189 189 ; 190 190 q2m_ano=q2m-q2m_m 191 192 ; ;correction for mean based on scatter193 ;q2m_m=q2m_m+0.815445 ; ;(2000-2008)194 q2m_m=q2m_m+0.792717 ; ;(2000-2009)191 ; 192 ; correction for mean based on scatter 193 ;q2m_m=q2m_m+0.815445 ; (2000-2008) 194 q2m_m=q2m_m+0.792717 ; (2000-2009) 195 195 help, q2m_ano 196 197 ; ;applying the correction for variability based on the scatter198 ;q2m_ano=q2m_ano*(1/0.919333) ; ;(2000-2008)199 q2m_ano=q2m_ano*(1/0.924674) ; ;(2000-2009)200 196 ; 197 ; applying the correction for variability based on the scatter 198 ;q2m_ano=q2m_ano*(1/0.919333) ; (2000-2008) 199 q2m_ano=q2m_ano*(1/0.924674) ; (2000-2009) 200 ; 201 201 q2m_new=q2m_m+q2m_ano 202 202 help, q2m_new 203 203 ; 204 204 ;writing field 205 205 lat=reform(gphit(0,0:jpj-1)) 206 206 lon=reform(glamt(0:jpi-1,0)) 207 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 207 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 208 208 jpt=n_elements(time) 209 209 ; 210 210 cda0=string(jul2date(time(0)),format='(i8.8)') 211 211 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 212 213 time=time-julday(1,1,1950) 212 ; 213 time=time-julday(1,1,1950) 214 214 jpt=n_elements(time) 215 215 ; 216 216 ncfile='!' + fullfilename_out 217 217 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 220 220 q2m_attr={units:'g/kg',missing_value:1.e20,long_name:'Specific humidity at 2m height',short_name:'q2m',axis:'TYX'} 221 221 globattr={source:'Basic data obtained from ERAI. Mean correction for bias and correction for variability are applied',timerange:cda0+' - '+cda1} 222 222 ; 223 223 ncfields = 'q2m[longitude,latitude,time]=q2m_new:q2m_attr; ' $ 224 224 + 'longitude[]=lon:lon_attr; ' $ … … 226 226 + 'time[*time]=time:time_attr ' $ 227 227 + ' @ globattr' 228 228 ; 229 229 @ncdf_quickwrite 230 230 ; 231 231 end -
trunk/src/rh_to_spechum.pro
r80 r97 58 58 ;- 59 59 function rh_to_spechum, rh,ta,P 60 60 ; 61 61 rhf=rh/100. 62 62 qw=qsat(ta,P)/1000. 63 63 ; 64 64 ; Air specific humidity (g/kg) 65 65 q=(rhf*qw)/(1.-qw*(1-rhf))*1e3 66 66 ; 67 67 return, q 68 68 ; 69 69 end -
trunk/src/sst_correction_ncdf.pro
r94 r97 136 136 ; time[7089]=21334 137 137 ; time[7090]=21335 138 138 ; 139 139 ; coding rules 140 140 ; … … 213 213 ENDIF 214 214 ; 215 da1=19880101 215 da1=19880101 216 216 da2=20091231 217 217 ; … … 240 240 ; 241 241 initncdf, fullfilename 242 sst=read_ncdf('sst',da1,da2,file=fullfilename,/nostr) 242 sst=read_ncdf('sst',da1,da2,file=fullfilename,/nostr) 243 243 sst=sst-273.15 244 244 help, sst 245 245 ; 246 246 sst_mean=grossemoyenne(sst,'t',/nan) 247 247 help, sst_mean 248 249 tt=time 248 ; 249 tt=time 250 250 jpt=n_elements(time) 251 251 caldat, time,mon,day,yea … … 255 255 ; 256 256 sst_m=sst*0. 257 257 ; 258 258 for jt=0,jpt-1 do begin 259 259 jtt=(time(jt)-julday(1,1,yea(jt))) < 364 … … 262 262 endfor 263 263 help, sst_m 264 264 ; 265 265 sst_ano=sst-sst_m 266 267 ; ;correction for mean based on scatter268 ;sst_m=sst_m+0.0521111 ; ;(2000-2008)269 sst_m=sst_m+0.0533692 ; ;(2000-2009)270 266 ; 267 ; correction for mean based on scatter 268 ;sst_m=sst_m+0.0521111 ; (2000-2008) 269 sst_m=sst_m+0.0533692 ; (2000-2009) 270 ; 271 271 help, sst_ano 272 273 ; ;applying the correction for varyability based on the scatter274 ;sst_ano=sst_ano*(1/0.989889) ; ;(2000-2008)275 sst_ano=sst_ano*(1/0.986196) ; ;(2000-2009)276 272 ; 273 ; applying the correction for varyability based on the scatter 274 ;sst_ano=sst_ano*(1/0.989889) ; (2000-2008) 275 sst_ano=sst_ano*(1/0.986196) ; (2000-2009) 276 ; 277 277 sst_new=sst_m+sst_ano+273.15 278 278 help, sst_new 279 279 ; 280 280 ;writing field 281 281 lat=reform(gphit(0,0:jpj-1)) 282 282 lon=reform(glamt(0:jpi-1,0)) 283 time=timegen(7670, units='days', start=julday(1,1,1989)) 283 time=timegen(7670, units='days', start=julday(1,1,1989)) 284 284 jpt=n_elements(time) 285 285 ; 286 286 cda0=string(jul2date(time(0)),format='(i8.8)') 287 287 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 288 289 time=time-julday(1,1,1950) 288 ; 289 time=time-julday(1,1,1950) 290 290 jpt=n_elements(time) 291 291 ; 292 292 ncfile='!' + fullfilename_out 293 293 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 296 296 sst_attr={units:'degK',missing_value:1.e20,long_name:'Sea Surface Temperature',short_name:'sst',axis:'TYX'} 297 297 globattr={source:'Basic data obtained from ERAI. Bias and variability correction are applied',timerange:cda0+' - '+cda1} 298 298 ; 299 299 ncfields = 'sst[longitude,latitude,time]=sst_new:sst_attr; ' $ 300 300 + 'longitude[]=lon:lon_attr; ' $ … … 302 302 + 'time[*time]=time:time_attr ' $ 303 303 + ' @ globattr' 304 304 ; 305 305 @ncdf_quickwrite 306 306 ; 307 307 end -
trunk/src/t2m_correction_ncdf.pro
r92 r97 78 78 ; note .5 in time value ... is this correct ? do others files 79 79 ; present the same feature ?:: 80 : 80 ; 81 81 ; $ ncks -v time -d time,0,1 /usr/work/incas/fplod/tropflux_d/TropFlux_t2m_19890101_20091231.nc 82 82 ; time: type NC_DOUBLE, 1 dimension, 3 attributes, chunked? no, compressed? no, packed? no, ID = 3 … … 255 255 t2m_mean=grossemoyenne(t2m,'t',/nan) 256 256 help, t2m_mean 257 257 ; 258 258 t2m_m=t2m*0. 259 259 bias_cor=t2m*0. 260 261 ; ; line fit -> -0.0755589x + 1.71090 ;; (2000-2008)262 ; ; line fit -> -0.0741607x + 1.67601 ;; (2000-2009)263 260 ; 261 ; line fit -> -0.0755589x + 1.71090 ; (2000-2008) 262 ; line fit -> -0.0741607x + 1.67601 ; (2000-2009) 263 ; 264 264 for jt=0,jptin-1 do begin 265 265 caldat, julday(01, 01, 1957,timein[jt]),mon,day,yea … … 268 268 t=reform(t2m_mean(*,*)) 269 269 t2m_m(*,*,jt)=t 270 bias_cor(*,*,jt)=(((t-22.6)*0.4004896/(28-22.6)) > 0.) <0.4 ; ;(2000-2009)270 bias_cor(*,*,jt)=(((t-22.6)*0.4004896/(28-22.6)) > 0.) <0.4 ; (2000-2009) 271 271 endfor 272 272 help, t2m_m,bias_cor 273 273 ; 274 274 t2m_ano=t2m-t2m_m 275 276 ; ;correction for mean based on scatter277 275 ; 276 ; correction for mean based on scatter 277 ; 278 278 help, t2m_ano 279 280 ; ;applying the correction for varyability based on the scatter281 ;t2m_ano=t2m_ano*(1/0.916484) ; ;(2000-2008)282 t2m_ano=t2m_ano*(1/0.918085) ; ;(2000-2009)283 284 ; ;applying the correction for varyability based on the scatter279 ; 280 ; applying the correction for varyability based on the scatter 281 ;t2m_ano=t2m_ano*(1/0.916484) ; (2000-2008) 282 t2m_ano=t2m_ano*(1/0.918085) ; (2000-2009) 283 ; 284 ; applying the correction for varyability based on the scatter 285 285 t2m_m=t2m_m+bias_cor 286 286 ; 287 287 t2m_new=t2m_m+t2m_ano+273.15 288 288 help, t2m_new 289 289 ; 290 290 ;writing field 291 291 lat=reform(gphit(0,0:jpj-1)) … … 293 293 cda0=string(da1) 294 294 cda1=string(da2) 295 295 ; 296 296 % conversion for hours since 19570101 to days from 19500101 297 297 time=julday(01, 01, 1957,timein)-julday(1,1,1950) 298 298 jpt=n_elements(time) 299 299 ; 300 300 ncfile='!' + fullfilename_out 301 301 ; 302 302 ncdf_getatt, fullfilename_t2_uncor, 'longitude', units=units 303 303 ncdf_getatt, fullfilename_t2_uncor, 'longitude', long_name=long_name … … 306 306 ncdf_getatt, fullfilename_t2_uncor, 'latitude', long_name=long_name 307 307 lat_attr={units:units, long_name:long_name} 308 308 ; 309 309 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:'1950-JAN-01 00:00:00'} 310 310 ; 311 311 ncdf_getatt, fullfilename_t2_uncor, 't2m', units=units 312 312 ncdf_getatt, fullfilename_t2_uncor, 't2m', long_name=long_name 313 313 t2m_attr={units:units,missing_value:1.e20,long_name:long_name,short_name:'t2m',axis:'TYX'} 314 314 globattr={source:'Basic data obtained from ERAI. Mean correction for air temperautre bias and correction for variability are applied',timerange:cda0+' - '+cda1} 315 315 ; 316 316 ncfields = 't2m[longitude,latitude,time]=t2m_new:t2m_attr; ' $ 317 317 + 'longitude[]=lon:lon_attr; ' $ … … 319 319 + 'time[*time]=time:time_attr ' $ 320 320 + ' @ globattr' 321 321 ; 322 322 @ncdf_quickwrite 323 323 ; 324 324 end -
trunk/src/time_axe_modif_TropFlux.pro
r91 r97 46 46 ; 20c3m_erai_t2_TROP_1989_2009.nc 47 47 ; 48 ; no change off attributs : wrong info vs data on time 48 ; no change off attributs : wrong info vs data on time 49 49 ; 50 50 ; EVOLUTIONS … … 69 69 ;- 70 70 pro time_axe_modif_TropFlux 71 71 ; 72 72 dir_out='/Users/pkb/data/TropFlux/' 73 73 ;dir_out='/Users/pkb/data/heat_budget/oscar_global/global/' … … 82 82 ;file='TropFlux_t2m_19890101_20091231_v50.nc' 83 83 fic=dir_out+file 84 84 ; 85 85 print, '' 86 86 print, 'File in : ',fic 87 87 print, ' ' 88 88 ; 89 89 ; 90 90 ; opening the file to modify the time axis … … 99 99 varid=ncdf_varid(cdfid,'time') 100 100 ;varid=ncdf_varid(cdfid,'tt') 101 102 101 ; 103 102 ; 103 ; 104 104 ncdf_control, cdfid ,/endef 105 105 ntt=n_elements(tt) 106 106 ttt=(julday(01, 01, 1989,12)-julday(01, 01, 1950,0))+findgen(ntt) 107 107 ; 108 108 NCDF_VARPUT, cdfid, 'time', ttt 109 109 ;NCDF_VARPUT, cdfid, 'tt', ttt 110 110 NCDF_CLOSE, cdfid 111 111 ; 112 112 END -
trunk/src/time_axe_modif_tropflux_1d_1989_2010.pro
r83 r97 64 64 ;- 65 65 pro time_axe_modif_tropflux_1d_1989_2010 66 66 ; 67 67 dir_out="/Volumes/PAYASAM/TropFlux/ERA_C_1989_2010/" 68 68 ; 69 69 file="ws_tropflux_1d_1989_2010.nc" 70 70 ; 71 71 fic=dir_out+file 72 72 ; 73 73 print, '' 74 74 print, 'File in : ',fic 75 75 print, ' ' 76 76 ; 77 77 ; 78 78 ; opening the file to modify the time axis … … 80 80 ; 81 81 cdfid=NCDF_OPEN(fic,/write) 82 82 ; 83 83 ;cdfid=NCDF_OPEN(fic,/write) 84 84 NCDF_VARGET, cdfid, 'time', tt 85 85 ;NCDF_VARGET, cdfid, 'tt', tt 86 86 ; 87 87 ncdf_control, cdfid ,/REDEF ; put in define mode 88 88 ; … … 91 91 varid=ncdf_varid(cdfid,'time') 92 92 ;varid=ncdf_varid(cdfid,'tt') 93 94 93 ; 95 94 ; 95 ; 96 96 ncdf_control, cdfid ,/endef 97 97 ntt=n_elements(tt) 98 98 ; 99 99 ttt=(julday(01, 01, 1989)-julday(01, 01, 1950,0))+findgen(ntt) 100 100 ; 101 101 NCDF_VARPUT, cdfid, 'time', ttt 102 102 ;NCDF_VARPUT, cdfid, 'tt', ttt 103 103 ; 104 104 NCDF_CLOSE, cdfid 105 105 ; 106 106 END -
trunk/src/ws_correction_ncdf.pro
r94 r97 94 94 ; * complete description 95 95 ; * remove v20 in output filename 96 96 ; 97 97 ; - fplod 20101215T115916Z aedon.locean-ipsl.upmc.fr (Darwin) 98 98 ; … … 146 146 ENDIF 147 147 ; 148 da1=19880101 148 da1=19880101 149 149 da2=20101231 150 150 ; … … 176 176 v=read_ncdf('v10',da1,da2,file=fullfilename,/nostr) 177 177 w=sqrt(u*u+v*v) 178 178 ; 179 179 help, w 180 180 ; 181 181 w_mean=grossemoyenne(w,'t',/nan) 182 182 help, w_mean 183 184 tt=time 183 ; 184 tt=time 185 185 jpt=n_elements(time) 186 186 caldat, time,mon,day,yea 187 187 w_m=w*0. 188 188 ; 189 189 for jt=0,jpt-1 do begin 190 190 jtt=(time(jt)-julday(1,1,yea(jt))) < 364 … … 193 193 endfor 194 194 help, w_m 195 195 ; 196 196 w_ano=w-w_m 197 198 ; ;correction for mean based on scatter199 ;w_m=w_m+0.282667 ; ;(2000-2008)200 w_m=w_m+0.276739 ; ;(2000-2009)201 197 ; 198 ; correction for mean based on scatter 199 ;w_m=w_m+0.282667 ; (2000-2008) 200 w_m=w_m+0.276739 ; (2000-2009) 201 ; 202 202 help, w_ano 203 204 ; ;applying the correction for varyability based on the scatter205 ;w_ano=w_ano*(1/0.897667) ; ;(2000-2008)206 w_ano=w_ano*(1/0.903587) ; ;(2000-2009)207 203 ; 204 ; applying the correction for varyability based on the scatter 205 ;w_ano=w_ano*(1/0.897667) ; (2000-2008) 206 w_ano=w_ano*(1/0.903587) ; (2000-2009) 207 ; 208 208 w_new=w_m+w_ano 209 209 help, w_new 210 210 ; 211 211 ;writing field 212 212 lat=reform(gphit(0,0:jpj-1)) 213 213 lon=reform(glamt(0:jpi-1,0)) 214 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 214 time=timegen(7670, units='days', start=julday(1,1,1989,0)) 215 215 jpt=n_elements(time) 216 216 ; 217 217 cda0=string(jul2date(time(0)),format='(i8.8)') 218 218 cda1=string(jul2date(time(jpt-1)),format='(i8.8)') 219 220 time=time-julday(1,1,1950) 219 ; 220 time=time-julday(1,1,1950) 221 221 jpt=n_elements(time) 222 222 ; 223 223 ncfile='!' + fullfilename_out 224 224 lon_attr={units:'degrees_east',long_name:'Longitude'} … … 227 227 w_attr={units:'m/s',missing_value:1.e20,long_name:'mean wind speed',short_name:'w',axis:'TYX'} 228 228 globattr={source:'Basic data obtained from ERAI. Bias and variability correction are applied',timerange:cda0+' - '+cda1} 229 229 ; 230 230 ncfields = 'ws[longitude,latitude,time]=w_new:w_attr; ' $ 231 231 + 'longitude[]=lon:lon_attr; ' $ … … 233 233 + 'time[*time]=time:time_attr ' $ 234 234 + ' @ globattr' 235 235 ; 236 236 @ncdf_quickwrite 237 237 ; 238 238 end -
trunk/src/ws_tropflux_1d_to_1m_ncdf.pro
r95 r97 153 153 en=20101231 154 154 ws=read_ncdf("ws", st, en, file=fullfilename,/nostr) 155 155 ; 156 156 help, ws 157 157 ; 158 158 tt=time 159 159 ; 160 ; ;Monthly data160 ; Monthly data 161 161 ; 162 162 jpt=22*12. … … 164 164 caldat, tt,m,d,y 165 165 caldat, time, mon,day,yea 166 166 ; 167 167 wsm=fltarr(nxt,nyt,jpt) 168 168 ; 169 169 for jt=0,jpt-1 do begin 170 170 ; 171 171 ind=where((m eq mon(jt)) and (y eq yea(jt))) 172 172 wsm(*,*,jt)=total(ws(*,*,ind),3)/n_elements(ind) 173 173 ; 174 174 endfor 175 176 175 ; 176 ; 177 177 ;----------------------------------------------------------------------------- 178 178 cda0=string(jul2date(time(0)),format='(i8.8)') … … 181 181 xlon=reform(glamt(firstxt:lastxt,0)) 182 182 ylat=reform(gphit(0,firstyt:lastyt)) 183 183 ; 184 184 ncfile='!' + fullfilename_out 185 185 ; 186 186 lon_attr={units:'degrees_east',long_name:'Longitude'} 187 187 lat_attr={units:'degrees_north',long_name:'Latitude'} 188 188 ; 189 189 time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:'1950-JAN-01 00:00:00'} 190 190 ws_attr={units:'m/s',missing_value:1.e20,long_name:'Mean wind speed at 10m height',short_name:'ws',axis:'TYX'} 191 191 ; 192 192 creation_date=string(jul2date(SYSTIME( /JULIAN , /UTC )), format='(I8)') 193 193 ; 194 194 globattr={Source:'TropFlux - Air-Sea Fluxes for the Global Tropics' $ 195 195 , Methodology:'Praveen Kumar et al., Clim. Dyn 2011' $ … … 198 198 , Creation_date:creation_date $ 199 199 , Website:'http://www.locean-ipsl.upmc.fr/tropflux/'} 200 201 200 ; 201 ; 202 202 ncfields = 'ws[longitude,latitude,time]=wsm:ws_attr; ' $ 203 203 + 'longitude[]=xlon:lon_attr; ' $ … … 205 205 + 'time[*time]=time:time_attr ' $ 206 206 + ' @ globattr' 207 207 ; 208 208 @ncdf_quickwrite 209 210 return 211 209 ; 212 210 end
Note: See TracChangeset
for help on using the changeset viewer.