;+ ; .. _fig2_timeline_diagram.pro: ; ; ========================= ; fig2_timeline_diagram.pro ; ========================= ; ; DESCRIPTION ; =========== ; ; Figure of ; ++ ; is saved in ; :file:`${PROJECT_OD}/fig2_timeline_diagram.ps`. ; ; .. graphviz:: ; ; digraph fig2_timeline_diagram { ; ; qlat [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/qlat*_dy.cdf"]; ; lwnet [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/lwnet*_dy.cdf"]; ; swnet [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/swnet*_dy.cdf"]; ; ; fig2_timeline_diagram [shape=box, ; fontname=Courier, ; color=blue, ; URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/paper01/fig2/fig2_timeline_diagram.pro", ; label="${TROPFLUX}/src/paper01/fig2/fig2_timeline_diagram.pro"]; ; ; figure [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/fig2_timeline_diagram.ps"]; ; ; {qlat lwnet swnet} -> {fig2_timeline_diagram} -> {figure} ; } ; ; SEE ALSO ; ======== ; ; :ref:`project_profile.sh` ; :ref:`project_init.pro` ; ; :ref:`read_lh.pro` ; :ref:`read_lw.pro` ; :ref:`read_sw.pro` ; ; :func:`x_site_location` ; :func:`y_site_location` ; ; EXAMPLES ; ======== ; ; :: ; ; fig2_timeline_diagram ; ; TODO ; ==== ; ; make it work on cratos and loholt1:: ; ; % Error: ; % the vector size (7670) is incompatible ; % with the domain dimensions ; % [jpi/nx, jpj/ny, jpk/nz, jpt] = [1/1, 1/1, 1/1, 1] ; ; missing cdf files : where are they coming from ; ; coding rules ; ; complete description ; ; handle IO error ; ; EVOLUTIONS ; ========== ; ; $Id$ ; ; $URL$ ; ; - fplod 20110817T104854Z aedon.locean-ipsl.upmc.fr (Darwin) ; ; * get rid of spawn ; ; - fplod 20110412T084618Z aedon.locean-ipsl.upmc.fr (Darwin) ; ; * remove hard coding path ; * add graphviz ; * externalize function ; ; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) ; ; * minimal header ; ;- pro fig2_timeline_diagram ; @cm_4cal @cm_4data @cm_4mesh @cm_4data @cm_project ; reinitplt, /z,/invert key_portrait = 1 coefpalit=.9 ; openps, FILENAME = project_od_env + 'fig2_timeline_diagram.ps' ; ; site locations sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ '8s165e', '8s180w', '8s155w', '8s125w', '8s110w', '8s95w', '5s156e', '5s165e', '5s180w', '5s170w', $ '5s155w', '5s140w', '5s125w', '5s110w', '5s95w', '2s156e', '2s165e', '2s180w', '2s170w', '2s155w', '2s140w', $ '2s125w', '2s110w', '2s95w', '0n147e', '0n156e', '0n165e', '0n180w', '0n170w', '0n155w', '0n140w', '0n125w', $ '0n110w', '0n95w', '2n147e', '2n156e', '2n165e', '2n180w', '2n170w', '2n155w', '2n140w', '2n125w', '2n110w', $ '2n95w', '5n147e', '5n156e', '5n165e', '5n170w', '5n155w', '5n140w', '5n125w', '5n110w', '5n95w', $ '8n156e', '8n165e', '8n180w', '8n170w', '9n140w', '8n125w', '8n110w', '8n95w', $ '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] ; nn=n_elements(sitelist) date1=19890101 date2=20091231 ; no_obs_lh=findgen(7670.)*0. no_obs_lw=findgen(7670.)*0. no_obs_sw=findgen(7670.)*0. ; for n=0, nn-1 do begin ; ; reading data from mooring ; site=sitelist(n) csite=site print, csite x=x_site_location(site) y=y_site_location(site) if (y ge 0. and y le 30.) then y=y+360. dx=0.5 dy=0.5 box=[y-dy, y+dy, x-dx, x+dx] ; nsmooth=1. print, csite print, date1 print, date2 read_lh, csite, date1, date2, nsmooth, lh ; ind=where(finite(lh)) lh[ind]=1. ind=where(finite(lh,/nan)) lh[ind]=0. no_obs_lh=no_obs_lh+lh ; endfor ; sitelist=['5n165e','8s67e','12s55e', '8s55e', '8s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ '8s165e', '8s125w', '8s110w', '8s95w', '5s156e', '5s165e', '5s180w', '5s170w', $ '5s155w', '5s140w', '5s125w', '5s110w', '5s95w', '2s156e', '2s165e', '2s180w', '2s170w', '2s155w', '2s140w', $ '2s125w', '2s110w', '2s95w', '0n147e', '0n156e', '0n165e', '0n180w', '0n170w', '0n155w', '0n140w', '0n125w', $ '0n110w', '0n95w', '2n147e', '2n156e', '2n165e', '2n180w', '2n170w', '2n155w', '2n140w', '2n125w', '2n110w', $ '2n95w', '5n147e', '5n156e', '5n170w', '5n155w', '5n140w', '5n125w', '5n110w', '5n95w', $ '8n156e', '8n165e', '8n180w', '8n170w', '9n140w', '8n125w', '8n110w', '8n95w', $ '0n0e', '0n10w', '0n23w', '0n35w', '10s10w', '12n23w', '12n38w', '14s32w', '15n38w', '19s34w', '20n38w', $ '21n23w', '4n23w', '4n38w', '6s10w', '8n38w', '8s30w'] ; nn=n_elements(sitelist) ; for n=0, nn-1 do begin ; ; reading data from mooring ; site=sitelist(n) csite=site print, csite x=x_site_location(site) y=y_site_location(site) if (y ge 0. and y le 30.) then y=y+360. dx=0.5 dy=0.5 box=[y-dy, y+dy, x-dx, x+dx] ; nsmooth=1. read_sw, csite, date1, date2, box, sw swr=sw ind=where(finite(swr)) valid=n_elements(ind) if (valid ge 10) then begin ind=where(finite(sw)) sw[ind]=1. ind=where(finite(sw,/nan)) sw[ind]=0. no_obs_sw=no_obs_sw+sw endif endfor help, no_obs_sw ; sitelist=['0n110w', '0n140w', '0n165e', '0n170w', '0n23w', '0n80.5e', '0n95w', '10s10w', '12n23w', '15n38w', $ '15n90e', '2n95w', '2s95w', '5n95w', '5s95w', '8n95w', '8s67e', '8s95w'] ; nn=n_elements(sitelist) ; for n=0, nn-1 do begin ; ; reading data from mooring ; site=sitelist(n) csite=site print, csite x=x_site_location(site) y=y_site_location(site) if (y ge 0. and y le 30.) then y=y+360. dx=0.5 dy=0.5 box=[y-dy, y+dy, x-dx, x+dx] ; nsmooth=1. read_lw, csite, date1, date2, box, lw lwr=lw ind=where(finite(lwr)) valid=n_elements(ind) if (valid ge 10) then begin ind=where(finite(lw)) lw[ind]=1. ind=where(finite(lw,/nan)) lw[ind]=0. no_obs_lw=no_obs_lw+lw endif ; endfor ; help,no_obs_lw pltt, no_obs_lh, "t", small=[1,3,1],/rempl,0,80, $ title='No of valid observations for turbulent flux validation', charsize=1., $ ytitle="No. of observations",subtitle='black(turbulent), red(SWR), blue(LWR)' pltt, no_obs_sw, "t",/ov1d, color=250 pltt, no_obs_lw, "t",/ov1d, color=50 pltt, no_obs_lh, "t",/ov1d ; closeps ; end