Changeset 46 for trunk/src/paper01/fig7


Ignore:
Timestamp:
04/20/11 16:45:53 (13 years ago)
Author:
pinsard
Message:

going on consolidation of paper01 materials

Location:
trunk/src/paper01/fig7
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/paper01/fig7/air_validation_scatter_2000_2009_basin.pro

    r43 r46  
    11;+ 
    2 ; .. _air_validation_scatter_2000_2009.pro 
    3 ; 
    4 ; ==================================== 
    5 ; air_validation_scatter_2000_2009.pro 
    6 ; ==================================== 
     2; .. _air_validation_scatter_2000_2009_basin.pro: 
     3; 
     4; ========================================== 
     5; air_validation_scatter_2000_2009_basin.pro 
     6; ========================================== 
     7; 
    78; DESCRIPTION 
    89; =========== 
    910; 
     11; .. graphviz:: 
     12; 
     13;    digraph air_validation_scatter_2000_2009_basin { 
     14;       graph [ 
     15;       rankdir="LR", 
     16;       ] 
     17;       air_erai [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/air_2000_2009_erai_*.txt"]; 
     18;       air_tropflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/air_2000_2009_trop_*.txt"]; 
     19;       air_oaflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/air_2000_2009_oaflx_*.txt"]; 
     20;       air_ncep2 [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/air_2000_2009_ncep2_*.txt"]; 
     21;       air_ncep1 [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/air_2000_2009_ncep1_*.txt"]; 
     22;       t2m_erai [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_t2m_19890101_20091231_oafluxgrid.nc"]; 
     23; 
     24;       figure [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/air_validation_scatter_2000_2009_basin.ps"]; 
     25; 
     26;       air_validation_scatter_2000_2009_basin [shape=box, 
     27;       fontname=Courier, 
     28;       color=blue, 
     29;       URL="http://forge.ipsl.jussieu.fr/tropflux/broairer/trunk/src/paper01/fig7/air_validation_scatter_2000_2009_basin.pro", 
     30;       label="${TROPFLUX}/src/paper01/fig7/air_validation_scatter_2000_2009_basin.pro"]; 
     31; 
     32;       {air_tropflux t2m_erai} -> {air_validation_scatter_2000_2009_basin} -> {air_oaflux air_erai air_ncep2 air_ncep1 figure} 
     33;    } 
     34; 
    1035; SEE ALSO 
    1136; ======== 
    1237; 
    1338; :ref:`tropflux_profile.sh` 
     39; :ref:`tropflux_init.pro` 
     40; :ref:`cm_tropflux.pro` 
     41; 
     42; :func:`x_site_location` 
     43; :func:`y_site_location` 
     44; 
     45; :ref:`read_variables_v2.pro` 
     46; :ref:`statistics_3var_v1.pro` 
    1447; 
    1548; EXAMPLES 
     
    1952; 
    2053;  IDL> @tropflux_init 
    21 ;  IDL> .r read_era_total 
    22 ;  IDL> .r read_variables_v2 
    23 ;  IDL> .r read_era_box 
    24 ;  IDL> date1=++ 
    25 ;  IDL> date2=++ 
    26 ;  IDL> air_validation_scatter_2000_2009, date1, date2 
     54;  IDL> date1=19890101L 
     55;  IDL> date2=20091231L 
     56;  IDL> air_validation_scatter_2000_2009_basin, date1, date2 
     57; 
     58; TODO 
     59; ==== 
     60; 
     61; make it work on cratos : pb restore 
     62; 
     63; ++ mooring data in graphviz 
     64; 
     65; coding rules 
     66; 
     67; get rid of spwan 
     68; 
     69; complete description 
     70; 
     71; handle IO error 
    2772; 
    2873; EVOLUTIONS 
     
    3176; $Id$ 
    3277; 
     78; - fplod 20110420T093206Z aedon.locean-ipsl.upmc.fr (Darwin) 
     79; 
     80;   * remove hard coding path 
     81;   * add graphviz 
     82;   * externalize functions 
     83;   * change name of procedure according to filename 
     84; 
    3385; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) 
    3486; 
     
    3688; 
    3789;- 
    38 pro air_validation_scatter_2000_2009,date1,date2 
    39 @common 
    40  
     90pro air_validation_scatter_2000_2009_basin, date1, date2 
     91@cm_general 
     92@cm_tropflux 
    4193reinitplt, /z,/invert 
    4294key_portrait = 1 
     
    98150close,/all 
    99151 
    100 fi_air_erai='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_erai_'+ocean+'.txt' 
     152fi_air_erai=tropflux_id_env+'air_2000_2009_erai_'+ocean+'.txt' 
    101153openw,1,fi_air_erai 
    102 fi_air_trop='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_trop_'+ocean+'.txt' 
     154fi_air_trop=tropflux_id_env+'air_2000_2009_trop_'+ocean+'.txt' 
    103155openw,2,fi_air_trop 
    104 fi_air_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_oaflx_'+ocean+'.txt' 
     156fi_air_oaflx=tropflux_id_env+'air_2000_2009_oaflx_'+ocean+'.txt' 
    105157openw,3,fi_air_oaflx 
    106 fi_air_ncep2='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep2_'+ocean+'.txt' 
     158fi_air_ncep2=tropflux_id_env+'air_2000_2009_ncep2_'+ocean+'.txt' 
    107159openw,4,fi_air_ncep2 
    108 fi_air_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep1_'+ocean+'.txt' 
     160fi_air_ncep1=tropflux_id_env+'air_2000_2009_ncep1_'+ocean+'.txt' 
    109161openw,5,fi_air_ncep1 
    110162 
     
    118170;; first reading the whole ERAI uncorrected and corrected data 
    119171 
    120 file='/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_t2m_19890101_20091231_oafluxgrid.nc' 
     172file=tropflux_id_env+'erai_t2m_19890101_20091231_oafluxgrid.nc' 
    121173initncdf, file 
    122174unc=read_ncdf('t2m',date1,date2,file=file,/nostr) & unc=unc-273.15 
    123175help, unc 
    124176 
    125 ;file='/Volumes/Iomega_HDD/TropFlux/input_cor/full_cor/TropFlux_t2m_19890101_20091231_v3.nc' 
    126 ;file="/Users/pkb/data/TropFlux/TropFlux_t2m_19890101_20091231_v50.nc" 
    127 ;initncdf, file 
    128 ;cor=read_ncdf('t2m',date1,date2,file=file,/nostr) & cor=cor-273.15 
    129 ;help, cor 
    130  
    131 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc' 
    132 ;initncdf, file 
    133 ;oaf=read_ncdf("air", date1, date2, file=file,/nostr) 
    134 ;help, oaf 
    135  
    136 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/air_2m_ncep2_oafluxgrid_19890101_20091231.nc' 
    137 ;initncdf, fi 
    138 ;nce=read_ncdf("air", date1-1, date2, file=fi,/nostr) 
    139 ;nce=nce-273.15 
    140 ;help, nce 
    141  
    142 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/t2m_ncep1_19890101_20091231.nc' 
    143 ;initncdf, file 
    144 ;nce1=read_ncdf("t2m", date1, date2, file=file,/nostr) 
    145 ;nce1=nce1-273.15 
    146 ;help, nce1 
    147  
    148177;save, unc, cor, oaf, nce, nce1, filename="airt_unc_cor_oaf_nce_nce1_2000_2009_global.idl" 
    149178restore, file="/Users/pkb/work/MY_SAXO/airt_unc_cor_oaf_nce_nce1_2000_2009_global.idl" 
     
    151180 
    152181nn=n_elements(sitelist) 
    153 date1=date1 
    154 date2=date2 
    155182for n=0, nn-1 do begin 
    156183 
     
    221248close,/all 
    222249 
    223 fi_air_erai='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_erai_'+ocean+'.txt' 
     250fi_air_erai=tropflux_id_env+'air_2000_2009_erai_'+ocean+'.txt' 
    224251res=read_ascii(fi_air_erai,data_start=1) 
    225252ff=res.field1 
     
    247274oplot, mean_tao, yfit, color=250, thick=2 
    248275 
    249 fi_air_trop='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_trop_'+ocean+'.txt' 
     276fi_air_trop=tropflux_id_env+'air_2000_2009_trop_'+ocean+'.txt' 
    250277res=read_ascii(fi_air_trop,data_start=1) 
    251278ff=res.field1 
     
    274301oplot, mean_tao, yfit, color=250, thick=2 
    275302 
    276 fi_air_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_oaflx_'+ocean+'.txt' 
     303fi_air_oaflx=tropflux_id_env+'air_2000_2009_oaflx_'+ocean+'.txt' 
    277304res=read_ascii(fi_air_oaflx,data_start=1) 
    278305ff=res.field1 
     
    303330 
    304331 
    305 fi_air_ncep='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep2_'+ocean+'.txt' 
     332fi_air_ncep=tropflux_id_env+'air_2000_2009_ncep2_'+ocean+'.txt' 
    306333res=read_ascii(fi_air_ncep,data_start=1) 
    307334ff=res.field1 
     
    330357oplot, mean_tao, yfit, color=250, thick=2 
    331358 
    332 fi_air_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep1_'+ocean+'.txt' 
     359fi_air_ncep1=tropflux_id_env+'air_2000_2009_ncep1_'+ocean+'.txt' 
    333360res=read_ascii(fi_air_ncep1,data_start=1) 
    334361ff=res.field1 
     
    359386closeps 
    360387 
    361 fig='air_validation_scatter_2000_2009_'+ocean+'.ps' 
    362 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 
    363 spawn, 'gv '+cpsdir+fig 
    364 return 
     388fig=tropflux_od_env+'air_validation_scatter_2000_2009_'+ocean+'.ps' 
     389spawn, 'mv '+psdir+'idl.ps '+fig 
     390spawn, 'gv '+fig 
    365391end 
    366 function x_site_location, site 
    367     n1=strpos(site, 's') 
    368 if (n1 gt -1) then begin 
    369     ns=-1. 
    370     x=strmid(site, 0, n1) 
    371     x=float(x)*ns 
    372 endif else begin 
    373     n1=strpos(site, 'n') 
    374     x=strmid(site, 0, n1) 
    375     ny=1. 
    376     x=float(x)*ny 
    377 endelse 
    378 return, float(x) 
    379 end 
    380 function y_site_location, site 
    381     n1=strpos(site, 'e') 
    382 if (n1 gt -1) then begin 
    383     n=strpos(site, 's') 
    384     if (n gt -1) then begin 
    385         y=strmid(site, n+1, n1-n-1) 
    386     endif else begin 
    387         n=strpos(site, 'n') 
    388         y=strmid(site, n+1, n1-n-1) 
    389     endelse 
    390  
    391 endif else begin 
    392     n1=strpos(site, 'w') 
    393     n=strpos(site, 's') 
    394     if (n gt -1) then begin 
    395         y=strmid(site, n+1, n1-n-1) 
    396         y=180+(180-float(y)) 
    397     endif else begin 
    398         n=strpos(site, 'n') 
    399         y=strmid(site, n+1, n1-n-1) 
    400         y=180+(180-float(y)) 
    401    endelse 
    402 endelse 
    403 return,float(y) 
    404 end 
  • trunk/src/paper01/fig7/q2m_validation_scatter_2000_2009_basin.pro

    r43 r46  
    11;+ 
    2 ; .. _q2m_validation_scatter_2000_2009_basin.pro 
     2; .. _q2m_validation_scatter_2000_2009_basin.pro: 
    33; 
    44; ========================================== 
     
    99; =========== 
    1010; 
     11; .. graphviz:: 
     12; 
     13;    digraph q2m_validation_scatter_2000_2009_basin { 
     14;       graph [ 
     15;       rankdir="LR", 
     16;       ] 
     17;       q2m_erai [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/q2m_2000_2009_erai_*.txt"]; 
     18;       q2m_erai_2 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_q2m_19890101_20091231_oafluxgrid.nc"]; 
     19;       q2m_tropflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/q2m_2000_2009_trop_*.txt"]; 
     20;       q2m_oaflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/q2m_2000_2009_oaflx_*.txt"]; 
     21;       q2m_ncep [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/q2m_2000_2009_ncep_*.txt"]; 
     22;       q2m_ncep1 [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/q2m_2000_2009_ncep1_*.txt"]; 
     23; 
     24;       figure [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/q2m_validation_scatter_2000_2009_basin.ps"]; 
     25; 
     26;       q2m_validation_scatter_2000_2009_basin [shape=box, 
     27;       fontname=Courier, 
     28;       color=blue, 
     29;       URL="http://forge.ipsl.jussieu.fr/tropflux/broq2mer/trunk/src/paper01/fig7/q2m_validation_scatter_2000_2009_basin.pro", 
     30;       label="${TROPFLUX}/src/paper01/fig7/q2m_validation_scatter_2000_2009_basin.pro"]; 
     31; 
     32;       {q2m_erai q2m_erai_2} -> {q2m_validation_scatter_2000_2009_basin} -> {q2m_tropflux q2m_oafluxq2m_ncep q2m_ncep1 figure} 
     33;    } 
     34; 
    1135; SEE ALSO 
    1236; ======== 
    1337; 
    1438; :ref:`tropflux_profile.sh` 
     39; :ref:`tropflux_init.pro` 
     40; :ref:`cm_tropflux.pro` 
     41; 
     42; :func:`x_site_location` 
     43; :func:`y_site_location` 
     44; 
     45; :ref:`read_variables_v2.pro` 
     46; :ref:`statistics_3var_v1.pro` 
    1547; 
    1648; EXAMPLES 
     
    2052; 
    2153;  IDL> @tropflux_init 
    22 ;  IDL> date1=++ 
    23 ;  IDL> date2=++ 
     54;  IDL> date1=19890101L 
     55;  IDL> date2=20091231L 
    2456;  IDL> q2m_validation_scatter_2000_2009_basin, date1, date2 
     57; 
     58; TODO 
     59; ==== 
     60; 
     61; make it work on cratos : pb restore 
     62; 
     63; ++ mooring data in graphviz 
     64; 
     65; coding rules 
     66; 
     67; get rid of spwan 
     68; 
     69; complete description 
     70; 
     71; handle IO error 
    2572; 
    2673; EVOLUTIONS 
     
    2976; $Id$ 
    3077; 
     78; - fplod 20110420T101050Z aedon.locean-ipsl.upmc.fr (Darwin) 
     79; 
     80;   * remove hard coding path 
     81;   * add graphviz 
     82;   * externalize functions 
     83; 
    3184; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) 
    3285; 
     
    3689 
    3790pro q2m_validation_scatter_2000_2009_basin, date1, date2 
    38 @common 
    39  
     91@cm_general 
     92@cm_tropflux 
    4093reinitplt, /z,/invert 
    4194key_portrait = 1 
    4295 
    4396openps, FILENAME = 'idl.ps' 
    44 ;; Before running this program, you have to compile the following subrutines 
    45 ;;   1.  .r read_era_total 
    46 ;;   2.  .r read_variables_v2 
    47 ;;   3.  .r read_era_box 
    4897 
    4998;; Give the location of mooring for validation of basic meteorological variables 
    50  
    51  
    5299sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 
    53100           '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ 
     
    101148close,/all 
    102149 
    103 fi_q2m_erai='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_erai_'+ocean+'.txt' 
     150fi_q2m_erai=tropflux_id_env+'q2m_2000_2009_erai_'+ocean+'.txt' 
    104151openw,1,fi_q2m_erai 
    105 fi_q2m_trop='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_trop_'+ocean+'.txt' 
     152fi_q2m_trop=tropflux_id_env+'q2m_2000_2009_trop_'+ocean+'.txt' 
    106153openw,2,fi_q2m_trop 
    107 fi_q2m_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_oaflx_'+ocean+'.txt' 
     154fi_q2m_oaflx=tropflux_id_env+'q2m_2000_2009_oaflx_'+ocean+'.txt' 
    108155openw,3,fi_q2m_oaflx 
    109 fi_q2m_ncep='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep_'+ocean+'.txt' 
     156fi_q2m_ncep=tropflux_id_env+'q2m_2000_2009_ncep_'+ocean+'.txt' 
    110157openw,4,fi_q2m_ncep 
    111 fi_q2m_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep1_'+ocean+'.txt' 
     158fi_q2m_ncep1=tropflux_id_env+'q2m_2000_2009_ncep1_'+ocean+'.txt' 
    112159openw,5,fi_q2m_ncep1 
    113160 
     
    121168;; first reading the whole ERAI uncorrected and corrected data 
    122169 
    123 file='/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_q2m_19890101_20091231_oafluxgrid.nc' 
     170file=tropflux_id_env+'erai_q2m_19890101_20091231_oafluxgrid.nc' 
    124171initncdf, file 
    125172unc=read_ncdf('q2m',date1,date2,file=file,/nostr) 
    126173help, unc 
    127174 
    128 ;file='/Volumes/Iomega_HDD/TropFlux/input_cor/full_cor/TropFlux_q2m_19890101_20091231_v20.nc' 
    129 ;initncdf, file 
    130 ;cor=read_ncdf('q2m',date1,date2,file=file,/nostr) 
    131 ;help, cor 
    132  
    133 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc' 
    134 ;initncdf, file 
    135 ;oaf=read_ncdf("sphum", date1, date2, file=file,/nostr) 
    136 ;help, oaf 
    137  
    138 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/sphum_ncep2_oafluxgrid_19890101_20091231.nc' 
    139 ;initncdf, fi 
    140 ;nce=read_ncdf("shum", date1-1, date2, file=fi,/nostr) 
    141 ;nce=nce*1000 
    142 ;help, nce 
    143  
    144 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/q2m_ncep1_19890101_20091231.nc' 
    145 ;initncdf, file 
    146 ;nce1=read_ncdf("q2m", date1, date2, file=file,/nostr) 
    147 ;nce1=nce1*1000 
    148 ;help, nce1 
    149  
    150175;save, unc, cor, oaf, nce, nce1, filename="q2m_era_trop_oaf_nce_nce1_2000_2009_global.idl" 
    151176restore, file="/Users/pkb/work/MY_SAXO/q2m_era_trop_oaf_nce_nce1_2000_2009_global.idl" 
     
    153178 
    154179nn=n_elements(sitelist) 
    155 date1=date1 
    156 date2=date2 
    157180for n=0, nn-1 do begin 
    158181 
     
    222245close,/all 
    223246 
    224 fi_q2m_erai='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_erai_'+ocean+'.txt' 
     247fi_q2m_erai=tropflux_id_env+'q2m_2000_2009_erai_'+ocean+'.txt' 
    225248res=read_ascii(fi_q2m_erai,data_start=1) 
    226249ff=res.field1 
     
    248271oplot, mean_tao, yfit, color=250, thick=2 
    249272 
    250 fi_q2m_trop='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_trop_'+ocean+'.txt' 
     273fi_q2m_trop=tropflux_id_env+'q2m_2000_2009_trop_'+ocean+'.txt' 
    251274res=read_ascii(fi_q2m_trop,data_start=1) 
    252275ff=res.field1 
     
    275298oplot, mean_tao, yfit, color=250, thick=2 
    276299 
    277 fi_q2m_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_oaflx_'+ocean+'.txt' 
     300fi_q2m_oaflx=tropflux_id_env+'q2m_2000_2009_oaflx_'+ocean+'.txt' 
    278301res=read_ascii(fi_q2m_oaflx,data_start=1) 
    279302ff=res.field1 
     
    303326 
    304327 
    305 fi_q2m_ncep='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep_'+ocean+'.txt' 
     328fi_q2m_ncep=tropflux_id_env+'q2m_2000_2009_ncep_'+ocean+'.txt' 
    306329res=read_ascii(fi_q2m_ncep,data_start=1) 
    307330ff=res.field1 
     
    330353oplot, mean_tao, yfit, color=250, thick=2 
    331354 
    332 fi_q2m_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep1_'+ocean+'.txt' 
     355fi_q2m_ncep1=tropflux_id_env+'q2m_2000_2009_ncep1_'+ocean+'.txt' 
    333356res=read_ascii(fi_q2m_ncep1,data_start=1) 
    334357ff=res.field1 
     
    359382closeps 
    360383 
    361 fig='q2m_validation_scatter_2000_2009_'+ocean+'.ps' 
    362 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 
    363 spawn, 'gv '+cpsdir+fig 
    364 return 
     384fig=tropflux_od_env+'q2m_validation_scatter_2000_2009_'+ocean+'.ps' 
     385spawn, 'mv '+psdir+'idl.ps '+fig 
     386spawn, 'gv '+fig 
    365387end 
    366 function x_site_location, site 
    367     n1=strpos(site, 's') 
    368 if (n1 gt -1) then begin 
    369     ns=-1. 
    370     x=strmid(site, 0, n1) 
    371     x=float(x)*ns 
    372 endif else begin 
    373     n1=strpos(site, 'n') 
    374     x=strmid(site, 0, n1) 
    375     ny=1. 
    376     x=float(x)*ny 
    377 endelse 
    378 return, float(x) 
    379 end 
    380 function y_site_location, site 
    381     n1=strpos(site, 'e') 
    382 if (n1 gt -1) then begin 
    383     n=strpos(site, 's') 
    384     if (n gt -1) then begin 
    385         y=strmid(site, n+1, n1-n-1) 
    386     endif else begin 
    387         n=strpos(site, 'n') 
    388         y=strmid(site, n+1, n1-n-1) 
    389     endelse 
    390  
    391 endif else begin 
    392     n1=strpos(site, 'w') 
    393     n=strpos(site, 's') 
    394     if (n gt -1) then begin 
    395         y=strmid(site, n+1, n1-n-1) 
    396         y=180+(180-float(y)) 
    397     endif else begin 
    398         n=strpos(site, 'n') 
    399         y=strmid(site, n+1, n1-n-1) 
    400         y=180+(180-float(y)) 
    401    endelse 
    402 endelse 
    403 return,float(y) 
    404 end 
  • trunk/src/paper01/fig7/sst_validation_scatter_2000_2009_basin.pro

    r43 r46  
    11;+ 
    2 ; .. _sst_validation_scatter_2000_2009_basin.pro 
     2; .. _sst_validation_scatter_2000_2009_basin.pro: 
    33; 
    44; ========================================== 
     
    99; =========== 
    1010; 
     11; .. graphviz:: 
     12; 
     13;    digraph sst_validation_scatter_2000_2009_basin { 
     14;       graph [ 
     15;       rankdir="LR", 
     16;       ] 
     17;       sst_erai [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/sst_2000_2009_erai_*.txt"]; 
     18;       sst_tropflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/sst_2000_2009_trop_*.txt"]; 
     19;       sst_oaflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/sst_2000_2009_oaflx_*.txt"]; 
     20;       sst_ncep [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/sst_2000_2009_ncep_*.txt"]; 
     21;       sst_ncep1 [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/sst_2000_2009_ncep1_*.txt"]; 
     22;       sst_tmi [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/sst_2000_2009_tmi_*.txt"]; 
     23; 
     24;       figure [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/sst_validation_scatter_2000_2009_basin.ps"]; 
     25; 
     26;       sst_validation_scatter_2000_2009_basin [shape=box, 
     27;       fontname=Courier, 
     28;       color=blue, 
     29;       URL="http://forge.ipsl.jussieu.fr/tropflux/brosster/trunk/src/paper01/fig7/sst_validation_scatter_2000_2009_basin.pro", 
     30;       label="${TROPFLUX}/src/paper01/fig7/sst_validation_scatter_2000_2009_basin.pro"]; 
     31; 
     32;       {sst_erai} -> {sst_validation_scatter_2000_2009_basin} -> {sst_tropflux sst_oaflux sst_ncep sst_ncep1 figure} 
     33;    } 
     34; 
    1135; SEE ALSO 
    1236; ======== 
    1337; 
    1438; :ref:`tropflux_profile.sh` 
     39; :ref:`tropflux_init.pro` 
     40; :ref:`cm_tropflux.pro` 
     41; 
     42; :func:`x_site_location` 
     43; :func:`y_site_location` 
     44; 
     45; :ref:`read_variables_v2.pro` 
     46; :ref:`statistics_3var_v1.pro` 
    1547; 
    1648; EXAMPLES 
     
    2052; 
    2153;  IDL> @tropflux_init 
    22 ;  IDL> date1=++ 
    23 ;  IDL> date2=++ 
     54;  IDL> date1=19890101L 
     55;  IDL> date2=20091231L 
    2456;  IDL> sst_validation_scatter_2000_2009_basin, date1, date2 
    2557; 
     58; TODO 
     59; ==== 
     60; 
     61; make it work on cratos : pb restore 
     62; 
     63; ++ mooring data in graphviz 
     64; 
     65; coding rules 
     66; 
     67; get rid of spwan 
     68; 
     69; complete description 
     70; 
     71; handle IO error 
    2672; 
    2773; EVOLUTIONS 
     
    3076; $Id$ 
    3177; 
     78; - fplod 20110420T101535Z aedon.locean-ipsl.upmc.fr (Darwin) 
     79; 
     80;   * remove hard coding path 
     81;   * add graphviz 
     82;   * externalize functions 
     83; 
    3284; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) 
    3385; 
     
    3587; 
    3688;- 
    37 pro sst_validation_scatter_2000_2009_basin,date1,date2 
    38 @common 
    39  
     89pro sst_validation_scatter_2000_2009_basin, date1, date2 
     90@cm_general 
     91@cm_tropflux 
    4092reinitplt, /z,/invert 
    4193key_portrait = 1 
    4294 
    4395openps, FILENAME = 'idl.ps' 
    44 ;; Before running this program, you have to compile the following subrutines 
    45 ;;   1.  .r read_era_total 
    46 ;;   2.  .r read_variables_v2 
    47 ;;   3.  .r read_era_box 
    4896 
    4997;; Give the location of mooring for validation of basic meteorological variables 
    50  
    51  
    5298sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 
    5399           '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ 
     
    80126close,/all 
    81127 
    82 fi_sst_erai='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_erai_'+ocean+'.txt' 
     128fi_sst_erai=tropflux_id_env+'sst_2000_2009_erai_'+ocean+'.txt' 
    83129openw,1,fi_sst_erai 
    84 fi_sst_trop='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_trop_'+ocean+'.txt' 
     130fi_sst_trop=tropflux_id_env+'sst_2000_2009_trop_'+ocean+'.txt' 
    85131openw,2,fi_sst_trop 
    86 fi_sst_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_oaflx_'+ocean+'.txt' 
     132fi_sst_oaflx=tropflux_id_env+'sst_2000_2009_oaflx_'+ocean+'.txt' 
    87133openw,3,fi_sst_oaflx 
    88 fi_sst_ncep='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep_'+ocean+'.txt' 
     134fi_sst_ncep=tropflux_id_env+'sst_2000_2009_ncep_'+ocean+'.txt' 
    89135openw,4,fi_sst_ncep 
    90 fi_sst_tmi='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_tmi_'+ocean+'.txt' 
     136fi_sst_tmi=tropflux_id_env+'sst_2000_2009_tmi_'+ocean+'.txt' 
    91137openw,5,fi_sst_tmi 
    92 fi_sst_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep1_'+ocean+'.txt' 
     138fi_sst_ncep1=tropflux_id_env+'sst_2000_2009_ncep1_'+ocean+'.txt' 
    93139openw,6,fi_sst_ncep1 
    94140 
     
    104150;; first reading the whole ERAI uncorrected and corrected data 
    105151 
    106 ;file='/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_sst_19890101_20091231_oafluxgrid.nc' 
    107 ;initncdf, file 
    108 ;unc=read_ncdf('sst',date1,date2,file=file,/nostr) & unc=unc-273.15 
    109 ;help, unc 
    110  
    111 ;file='/Volumes/Iomega_HDD/TropFlux/input_cor/full_cor/TropFlux_sst_19890101_20091231_v20.nc' 
    112 ;initncdf, file 
    113 ;cor=read_ncdf('sst',date1,date2,file=file,/nostr) & cor=cor-273.15 
    114 ;help, cor 
    115  
    116 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc' 
    117 ;initncdf, file 
    118 ;oaf=read_ncdf("sst", date1, date2, file=file,/nostr) 
    119 ;help, oaf 
    120  
    121 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/sst_ncep2_oafluxgrid_19890101_20091231.nc' 
    122 ;initncdf, fi 
    123 ;nce=read_ncdf("sst", date1-1, date2, file=fi,/nostr) 
    124 ;nce=nce-273.15 
    125 ;help, nce 
    126  
    127 ;fi='/Volumes/Iomega_HDD/work/flux_reconstruction/gridded_data/tmi_OI_oafluxgrid_30N30S.nc' 
    128 ;initncdf, fi 
    129 ;sst_tmi=read_ncdf("sst", date1, date2, file=fi,/nostr) 
    130 ;help, sst_tmi 
    131  
    132 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/sst_ncep1_19890101_20091231.nc' 
    133 ;initncdf, file 
    134 ;nce1=read_ncdf("sst", date1, date2, file=file,/nostr) 
    135 ;nce1=nce1-273.15 
    136 ;help, nce1 
    137  
    138152;save, unc, cor, oaf, nce, sst_tmi, nce1, filename="sst_era_trop_oaf_nce_tmi_2000_2009_global.idl" 
    139153;; full data from 2000-2009 period are read first, and hence the above lines are commented 
     
    143157;; data from 20000101, 20090931 
    144158nn=n_elements(sitelist) 
    145 date1=date1 
    146 date2=date2 
    147159for n=0, nn-1 do begin 
    148160 
     
    216228close,/all 
    217229 
    218 fi_sst_erai='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_erai_'+ocean+'.txt' 
     230fi_sst_erai=tropflux_id_env+'sst_2000_2009_erai_'+ocean+'.txt' 
    219231res=read_ascii(fi_sst_erai,data_start=1) 
    220232ff=res.field1 
     
    242254oplot, mean_tao, yfit, color=250, thick=2 
    243255 
    244 fi_sst_trop='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_trop_'+ocean+'.txt' 
     256fi_sst_trop=tropflux_id_env+'sst_2000_2009_trop_'+ocean+'.txt' 
    245257res=read_ascii(fi_sst_trop,data_start=1) 
    246258ff=res.field1 
     
    269281oplot, mean_tao, yfit, color=250, thick=2 
    270282 
    271 fi_sst_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_oaflx_'+ocean+'.txt' 
     283fi_sst_oaflx=tropflux_id_env+'sst_2000_2009_oaflx_'+ocean+'.txt' 
    272284res=read_ascii(fi_sst_oaflx,data_start=1) 
    273285ff=res.field1 
     
    298310 
    299311 
    300 fi_sst_ncep='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep_'+ocean+'.txt' 
     312fi_sst_ncep=tropflux_id_env+'sst_2000_2009_ncep_'+ocean+'.txt' 
    301313res=read_ascii(fi_sst_ncep,data_start=1) 
    302314ff=res.field1 
     
    326338 
    327339 
    328 fi_sst_tmi='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_tmi_'+ocean+'.txt' 
     340fi_sst_tmi=tropflux_id_env+'sst_2000_2009_tmi_'+ocean+'.txt' 
    329341res=read_ascii(fi_sst_tmi,data_start=1) 
    330342ff=res.field1 
     
    353365oplot, mean_tao, yfit, color=250, thick=2 
    354366 
    355 fi_sst_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep1_'+ocean+'.txt' 
     367fi_sst_ncep1=tropflux_id_env+'sst_2000_2009_ncep1_'+ocean+'.txt' 
    356368res=read_ascii(fi_sst_ncep1,data_start=1) 
    357369ff=res.field1 
     
    382394closeps 
    383395 
    384 fig='sst_validation_scatter_2000_2009_'+ocean+'.ps' 
    385 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 
    386 spawn, 'gv '+cpsdir+fig 
    387 return 
     396fig=tropflux_od_env+'sst_validation_scatter_2000_2009_'+ocean+'.ps' 
     397spawn, 'mv '+psdir+'idl.ps '+fig 
     398spawn, 'gv '+fig 
    388399end 
    389 function x_site_location, site 
    390     n1=strpos(site, 's') 
    391 if (n1 gt -1) then begin 
    392     ns=-1. 
    393     x=strmid(site, 0, n1) 
    394     x=float(x)*ns 
    395 endif else begin 
    396     n1=strpos(site, 'n') 
    397     x=strmid(site, 0, n1) 
    398     ny=1. 
    399     x=float(x)*ny 
    400 endelse 
    401 return, float(x) 
    402 end 
    403 function y_site_location, site 
    404     n1=strpos(site, 'e') 
    405 if (n1 gt -1) then begin 
    406     n=strpos(site, 's') 
    407     if (n gt -1) then begin 
    408         y=strmid(site, n+1, n1-n-1) 
    409     endif else begin 
    410         n=strpos(site, 'n') 
    411         y=strmid(site, n+1, n1-n-1) 
    412     endelse 
    413  
    414 endif else begin 
    415     n1=strpos(site, 'w') 
    416     n=strpos(site, 's') 
    417     if (n gt -1) then begin 
    418         y=strmid(site, n+1, n1-n-1) 
    419         y=180+(180-float(y)) 
    420     endif else begin 
    421         n=strpos(site, 'n') 
    422         y=strmid(site, n+1, n1-n-1) 
    423         y=180+(180-float(y)) 
    424    endelse 
    425 endelse 
    426 return,float(y) 
    427 end 
  • trunk/src/paper01/fig7/ws_validation_scatter_2000_2009_basin.pro

    r43 r46  
    11;+ 
    22; 
    3 ; .. _ws_validation_scatter_2000_2009_basin.pro 
     3; .. _ws_validation_scatter_2000_2009_basin.pro: 
    44; 
    55; ========================================= 
     
    1010; =========== 
    1111; 
     12; .. graphviz:: 
     13; 
     14;    digraph ws_validation_scatter_2000_2009_basin { 
     15;       graph [ 
     16;       rankdir="LR", 
     17;       ] 
     18;       ws_erai [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/ws_2000_2009_erai_*.txt"]; 
     19;       ws_tropflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/ws_2000_2009_trop_*.txt"]; 
     20;       ws_oaflux [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/ws_2000_2009_oaflx_*.txt"]; 
     21;       ws_ncep [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/ws_2000_2009_ncep_*.txt"]; 
     22;       ws_ncep1 [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/ws_2000_2009_ncep1_*.txt"]; 
     23;       ws_tmi [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/ws_2000_2009_tmi_*.txt"]; 
     24; 
     25;       figure [shape=ellipse,fontname=Courier,label="${TROPFLUX_OD}/ws_validation_scatter_2000_2009_basin.ps"]; 
     26; 
     27;       ws_validation_scatter_2000_2009_basin [shape=box, 
     28;       fontname=Courier, 
     29;       color=blue, 
     30;       URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/paper01/fig7/ws_validation_scatter_2000_2009_basin.pro", 
     31;       label="${TROPFLUX}/src/paper01/fig7/ws_validation_scatter_2000_2009_basin.pro"]; 
     32; 
     33;       {ws_erai} -> {ws_validation_scatter_2000_2009_basin} -> {ws_tropflux ws_oaflux ws_ncep ws_ncep1 ws_tmi figure} 
     34;    } 
     35; 
    1236; SEE ALSO 
    1337; ======== 
    1438; 
    1539; :ref:`tropflux_profile.sh` 
     40; :ref:`tropflux_init.pro` 
     41; :ref:`cm_tropflux.pro` 
     42; 
     43; :func:`x_site_location` 
     44; :func:`y_site_location` 
     45; 
     46; :ref:`read_variables_v2.pro` 
     47; :ref:`statistics_3var_v1.pro` 
    1648; 
    1749; EXAMPLES 
     
    2153; 
    2254;  IDL> @tropflux_init 
    23 ;  IDL> date1=++ 
    24 ;  IDL> date2=++ 
     55;  IDL> date1=19890101L 
     56;  IDL> date2=20091231L 
    2557;  IDL> ws_validation_scatter_2000_2009_basin, date1, date2 
     58; 
     59; TODO 
     60; ==== 
     61; 
     62; make it work on cratos : pb restore, missing data 
     63; 
     64; ++ mooring data in graphviz 
     65; 
     66; coding rules 
     67; 
     68; get rid of spwan 
     69; 
     70; complete description 
     71; 
     72; handle IO error 
    2673; 
    2774; EVOLUTIONS 
     
    3683;- 
    3784pro ws_validation_scatter_2000_2009_basin,date1,date2 
    38 @common 
    39  
     85@cm_general 
     86@cm_tropflux 
    4087reinitplt, /z,/invert 
    4188key_portrait = 1 
    4289 
    4390openps, FILENAME = 'idl.ps' 
    44 ;; Before running this program, you have to compile the following subrutines 
    45 ;;   1.  .r read_era_total 
    46 ;;   2.  .r read_variables_v2 
    47 ;;   3.  .r read_era_box 
    48  
    4991;; Give the location of mooring for validation of basic meteorological variables 
    5092 
     
    101143close,/all 
    102144 
    103 fi_ws_erai='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_erai_'+ocean+'.txt' 
     145fi_ws_erai=tropflux_id_env+'ws_2000_2009_erai_'+ocean+'.txt' 
    104146openw,1,fi_ws_erai 
    105 fi_ws_trop='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_trop_'+ocean+'.txt' 
     147fi_ws_trop=tropflux_id_env+'ws_2000_2009_trop_'+ocean+'.txt' 
    106148openw,2,fi_ws_trop 
    107 fi_ws_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_oaflx_'+ocean+'.txt' 
     149fi_ws_oaflx=tropflux_id_env+'ws_2000_2009_oaflx_'+ocean+'.txt' 
    108150openw,3,fi_ws_oaflx 
    109 fi_ws_ncep='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep_'+ocean+'.txt' 
     151fi_ws_ncep=tropflux_id_env+'ws_2000_2009_ncep_'+ocean+'.txt' 
    110152openw,4,fi_ws_ncep 
    111 fi_ws_tmi='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_tmi_'+ocean+'.txt' 
     153fi_ws_tmi=tropflux_id_env+'ws_2000_2009_tmi_'+ocean+'.txt' 
    112154openw,5,fi_ws_tmi 
    113 fi_ws_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep1_'+ocean+'.txt' 
     155fi_ws_ncep1=tropflux_id_env+'ws_2000_2009_ncep1_'+ocean+'.txt' 
    114156openw,6,fi_ws_ncep1 
    115157 
     
    125167;; date1=20000101 & date2=20090931 
    126168 
    127 file='/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_ws_19890101_20091231_oafluxgrid.nc' 
     169file=tropflux_id_env+'erai_ws_19890101_20091231_oafluxgrid.nc' 
    128170initncdf, file 
    129171u=read_ncdf('u10',date1,date2,file=file,/nostr) 
     
    132174;help, unc 
    133175 
    134 ;file='/Volumes/Iomega_HDD/TropFlux/input_cor/full_cor/TropFlux_ws_19890101_20091231_v20.nc' 
    135 ;initncdf, file 
    136 ;cor=read_ncdf('ws',date1,date2,file=file,/nostr) 
    137 ;help, cor 
    138  
    139 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc' 
    140 ;initncdf, file 
    141 ;oaf=read_ncdf("wind", date1, date2, file=file,/nostr) 
    142 ;help, oaf 
    143  
    144 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/uwind_ncep2_oafluxgrid_19890101_20091231.nc' 
    145 ;initncdf, fi 
    146 ;u=read_ncdf("u", date1-1, date2, file=fi,/nostr) 
    147 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/vwind_ncep2_oafluxgrid_19890101_20091231.nc' 
    148 ;initncdf, fi 
    149 ;v=read_ncdf("v", date1-1, date2, file=fi,/nostr) 
    150 ;nce=sqrt(u*u+v*v) 
    151 ;help, nce 
    152  
    153 ;dir='/Volumes/Iomega_HDD/work/flux_reconstruction/gridded_data/' 
    154 ;fi=dir+'zonal_wind_speed_oafluxgrid_30N30S.nc' 
    155 ;initncdf, fi 
    156 ;u=read_ncdf("u", date1, date2, file=fi,/nostr) 
    157 ;fi=dir+'meridional_wind_speed_oafluxgrid_30N30S.nc' 
    158 ;initncdf, fi 
    159 ;v=read_ncdf("v", date1, date2, file=fi,/nostr) 
    160 ;ws_tmi=sqrt(u*u+v*v) 
    161 ;help, ws_tmi 
    162  
    163 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/wind_ncep1_19890101_20091231.nc' 
    164 ;initncdf, file 
    165 ;u=read_ncdf("u", date1, date2, file=file,/nostr) 
    166 ;v=read_ncdf("v", date1, date2, file=file,/nostr) 
    167 ;nce1=sqrt(u*u+v*v) 
    168 ;help, nce1 
    169  
    170176;save, unc, cor, oaf, nce, ws_tmi, nce1, filename="ws_era_trop_oaf_nce_qscat_2000_2009_global.idl" 
    171177restore, file="/Users/pkb/work/MY_SAXO/ws_era_trop_oaf_nce_qscat_2000_2009_global.idl" 
     
    173179 
    174180nn=n_elements(sitelist) 
    175 date1=date1 
    176 date2=date2 
    177181for n=0, nn-1 do begin 
    178182 
     
    240244endfor 
    241245close,/all 
    242 fi_ws_erai='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_erai_'+ocean+'.txt' 
     246fi_ws_erai=tropflux_id_env+'ws_2000_2009_erai_'+ocean+'.txt' 
    243247res=read_ascii(fi_ws_erai,data_start=1) 
    244248ff=res.field1 
     
    266270oplot, mean_tao, yfit, color=250, thick=2 
    267271 
    268 fi_ws_trop='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_trop_'+ocean+'.txt' 
     272fi_ws_trop=tropflux_id_env+'ws_2000_2009_trop_'+ocean+'.txt' 
    269273res=read_ascii(fi_ws_trop,data_start=1) 
    270274ff=res.field1 
     
    293297oplot, mean_tao, yfit, color=250, thick=2 
    294298 
    295 fi_ws_oaflx='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_oaflx_'+ocean+'.txt' 
     299fi_ws_oaflx=tropflux_id_env+'ws_2000_2009_oaflx_'+ocean+'.txt' 
    296300res=read_ascii(fi_ws_oaflx,data_start=1) 
    297301ff=res.field1 
     
    322326 
    323327 
    324 fi_ws_ncep='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep_'+ocean+'.txt' 
     328fi_ws_ncep=tropflux_id_env+'ws_2000_2009_ncep_'+ocean+'.txt' 
    325329res=read_ascii(fi_ws_ncep,data_start=1) 
    326330ff=res.field1 
     
    349353oplot, mean_tao, yfit, color=250, thick=2 
    350354 
    351 fi_ws_tmi='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_tmi_'+ocean+'.txt' 
     355fi_ws_tmi=tropflux_id_env+'ws_2000_2009_tmi_'+ocean+'.txt' 
    352356res=read_ascii(fi_ws_tmi,data_start=1) 
    353357ff=res.field1 
     
    377381 
    378382 
    379 fi_ws_ncep1='/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep1_'+ocean+'.txt' 
     383fi_ws_ncep1=tropflux_id_env+'ws_2000_2009_ncep1_'+ocean+'.txt' 
    380384res=read_ascii(fi_ws_ncep1,data_start=1) 
    381385ff=res.field1 
     
    406410closeps 
    407411 
    408 fig='ws_validation_scatter_2000_2009_'+ocean+'.ps' 
    409 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 
    410 spawn, 'gv '+cpsdir+fig 
    411 return 
     412fig=tropflux_od_env+'ws_validation_scatter_2000_2009_'+ocean+'.ps' 
     413spawn, 'mv '+psdir+'idl.ps '+fig 
     414spawn, 'gv '+fig 
    412415end 
    413 function x_site_location, site 
    414     n1=strpos(site, 's') 
    415 if (n1 gt -1) then begin 
    416     ns=-1. 
    417     x=strmid(site, 0, n1) 
    418     x=float(x)*ns 
    419 endif else begin 
    420     n1=strpos(site, 'n') 
    421     x=strmid(site, 0, n1) 
    422     ny=1. 
    423     x=float(x)*ny 
    424 endelse 
    425 return, float(x) 
    426 end 
    427 function y_site_location, site 
    428     n1=strpos(site, 'e') 
    429 if (n1 gt -1) then begin 
    430     n=strpos(site, 's') 
    431     if (n gt -1) then begin 
    432         y=strmid(site, n+1, n1-n-1) 
    433     endif else begin 
    434         n=strpos(site, 'n') 
    435         y=strmid(site, n+1, n1-n-1) 
    436     endelse 
    437  
    438 endif else begin 
    439     n1=strpos(site, 'w') 
    440     n=strpos(site, 's') 
    441     if (n gt -1) then begin 
    442         y=strmid(site, n+1, n1-n-1) 
    443         y=180+(180-float(y)) 
    444     endif else begin 
    445         n=strpos(site, 'n') 
    446         y=strmid(site, n+1, n1-n-1) 
    447         y=180+(180-float(y)) 
    448    endelse 
    449 endelse 
    450 return,float(y) 
    451 end 
Note: See TracChangeset for help on using the changeset viewer.