Changeset 46 for trunk/src/paper01/fig7
- Timestamp:
- 04/20/11 16:45:53 (13 years ago)
- 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 1 1 ;+ 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 ; 7 8 ; DESCRIPTION 8 9 ; =========== 9 10 ; 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 ; 10 35 ; SEE ALSO 11 36 ; ======== 12 37 ; 13 38 ; :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` 14 47 ; 15 48 ; EXAMPLES … … 19 52 ; 20 53 ; 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 27 72 ; 28 73 ; EVOLUTIONS … … 31 76 ; $Id$ 32 77 ; 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 ; 33 85 ; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) 34 86 ; … … 36 88 ; 37 89 ;- 38 pro air_validation_scatter_2000_2009 ,date1,date239 @c ommon40 90 pro air_validation_scatter_2000_2009_basin, date1, date2 91 @cm_general 92 @cm_tropflux 41 93 reinitplt, /z,/invert 42 94 key_portrait = 1 … … 98 150 close,/all 99 151 100 fi_air_erai= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_erai_'+ocean+'.txt'152 fi_air_erai=tropflux_id_env+'air_2000_2009_erai_'+ocean+'.txt' 101 153 openw,1,fi_air_erai 102 fi_air_trop= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_trop_'+ocean+'.txt'154 fi_air_trop=tropflux_id_env+'air_2000_2009_trop_'+ocean+'.txt' 103 155 openw,2,fi_air_trop 104 fi_air_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_oaflx_'+ocean+'.txt'156 fi_air_oaflx=tropflux_id_env+'air_2000_2009_oaflx_'+ocean+'.txt' 105 157 openw,3,fi_air_oaflx 106 fi_air_ncep2= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep2_'+ocean+'.txt'158 fi_air_ncep2=tropflux_id_env+'air_2000_2009_ncep2_'+ocean+'.txt' 107 159 openw,4,fi_air_ncep2 108 fi_air_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep1_'+ocean+'.txt'160 fi_air_ncep1=tropflux_id_env+'air_2000_2009_ncep1_'+ocean+'.txt' 109 161 openw,5,fi_air_ncep1 110 162 … … 118 170 ;; first reading the whole ERAI uncorrected and corrected data 119 171 120 file= '/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_t2m_19890101_20091231_oafluxgrid.nc'172 file=tropflux_id_env+'erai_t2m_19890101_20091231_oafluxgrid.nc' 121 173 initncdf, file 122 174 unc=read_ncdf('t2m',date1,date2,file=file,/nostr) & unc=unc-273.15 123 175 help, unc 124 176 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, file128 ;cor=read_ncdf('t2m',date1,date2,file=file,/nostr) & cor=cor-273.15129 ;help, cor130 131 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc'132 ;initncdf, file133 ;oaf=read_ncdf("air", date1, date2, file=file,/nostr)134 ;help, oaf135 136 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/air_2m_ncep2_oafluxgrid_19890101_20091231.nc'137 ;initncdf, fi138 ;nce=read_ncdf("air", date1-1, date2, file=fi,/nostr)139 ;nce=nce-273.15140 ;help, nce141 142 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/t2m_ncep1_19890101_20091231.nc'143 ;initncdf, file144 ;nce1=read_ncdf("t2m", date1, date2, file=file,/nostr)145 ;nce1=nce1-273.15146 ;help, nce1147 148 177 ;save, unc, cor, oaf, nce, nce1, filename="airt_unc_cor_oaf_nce_nce1_2000_2009_global.idl" 149 178 restore, file="/Users/pkb/work/MY_SAXO/airt_unc_cor_oaf_nce_nce1_2000_2009_global.idl" … … 151 180 152 181 nn=n_elements(sitelist) 153 date1=date1154 date2=date2155 182 for n=0, nn-1 do begin 156 183 … … 221 248 close,/all 222 249 223 fi_air_erai= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_erai_'+ocean+'.txt'250 fi_air_erai=tropflux_id_env+'air_2000_2009_erai_'+ocean+'.txt' 224 251 res=read_ascii(fi_air_erai,data_start=1) 225 252 ff=res.field1 … … 247 274 oplot, mean_tao, yfit, color=250, thick=2 248 275 249 fi_air_trop= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_trop_'+ocean+'.txt'276 fi_air_trop=tropflux_id_env+'air_2000_2009_trop_'+ocean+'.txt' 250 277 res=read_ascii(fi_air_trop,data_start=1) 251 278 ff=res.field1 … … 274 301 oplot, mean_tao, yfit, color=250, thick=2 275 302 276 fi_air_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_oaflx_'+ocean+'.txt'303 fi_air_oaflx=tropflux_id_env+'air_2000_2009_oaflx_'+ocean+'.txt' 277 304 res=read_ascii(fi_air_oaflx,data_start=1) 278 305 ff=res.field1 … … 303 330 304 331 305 fi_air_ncep= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep2_'+ocean+'.txt'332 fi_air_ncep=tropflux_id_env+'air_2000_2009_ncep2_'+ocean+'.txt' 306 333 res=read_ascii(fi_air_ncep,data_start=1) 307 334 ff=res.field1 … … 330 357 oplot, mean_tao, yfit, color=250, thick=2 331 358 332 fi_air_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/air_2000_2009_ncep1_'+ocean+'.txt'359 fi_air_ncep1=tropflux_id_env+'air_2000_2009_ncep1_'+ocean+'.txt' 333 360 res=read_ascii(fi_air_ncep1,data_start=1) 334 361 ff=res.field1 … … 359 386 closeps 360 387 361 fig='air_validation_scatter_2000_2009_'+ocean+'.ps' 362 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 363 spawn, 'gv '+cpsdir+fig 364 return 388 fig=tropflux_od_env+'air_validation_scatter_2000_2009_'+ocean+'.ps' 389 spawn, 'mv '+psdir+'idl.ps '+fig 390 spawn, 'gv '+fig 365 391 end 366 function x_site_location, site367 n1=strpos(site, 's')368 if (n1 gt -1) then begin369 ns=-1.370 x=strmid(site, 0, n1)371 x=float(x)*ns372 endif else begin373 n1=strpos(site, 'n')374 x=strmid(site, 0, n1)375 ny=1.376 x=float(x)*ny377 endelse378 return, float(x)379 end380 function y_site_location, site381 n1=strpos(site, 'e')382 if (n1 gt -1) then begin383 n=strpos(site, 's')384 if (n gt -1) then begin385 y=strmid(site, n+1, n1-n-1)386 endif else begin387 n=strpos(site, 'n')388 y=strmid(site, n+1, n1-n-1)389 endelse390 391 endif else begin392 n1=strpos(site, 'w')393 n=strpos(site, 's')394 if (n gt -1) then begin395 y=strmid(site, n+1, n1-n-1)396 y=180+(180-float(y))397 endif else begin398 n=strpos(site, 'n')399 y=strmid(site, n+1, n1-n-1)400 y=180+(180-float(y))401 endelse402 endelse403 return,float(y)404 end -
trunk/src/paper01/fig7/q2m_validation_scatter_2000_2009_basin.pro
r43 r46 1 1 ;+ 2 ; .. _q2m_validation_scatter_2000_2009_basin.pro 2 ; .. _q2m_validation_scatter_2000_2009_basin.pro: 3 3 ; 4 4 ; ========================================== … … 9 9 ; =========== 10 10 ; 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 ; 11 35 ; SEE ALSO 12 36 ; ======== 13 37 ; 14 38 ; :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` 15 47 ; 16 48 ; EXAMPLES … … 20 52 ; 21 53 ; IDL> @tropflux_init 22 ; IDL> date1= ++23 ; IDL> date2= ++54 ; IDL> date1=19890101L 55 ; IDL> date2=20091231L 24 56 ; 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 25 72 ; 26 73 ; EVOLUTIONS … … 29 76 ; $Id$ 30 77 ; 78 ; - fplod 20110420T101050Z aedon.locean-ipsl.upmc.fr (Darwin) 79 ; 80 ; * remove hard coding path 81 ; * add graphviz 82 ; * externalize functions 83 ; 31 84 ; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) 32 85 ; … … 36 89 37 90 pro q2m_validation_scatter_2000_2009_basin, date1, date2 38 @c ommon39 91 @cm_general 92 @cm_tropflux 40 93 reinitplt, /z,/invert 41 94 key_portrait = 1 42 95 43 96 openps, FILENAME = 'idl.ps' 44 ;; Before running this program, you have to compile the following subrutines45 ;; 1. .r read_era_total46 ;; 2. .r read_variables_v247 ;; 3. .r read_era_box48 97 49 98 ;; Give the location of mooring for validation of basic meteorological variables 50 51 52 99 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 53 100 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 101 148 close,/all 102 149 103 fi_q2m_erai= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_erai_'+ocean+'.txt'150 fi_q2m_erai=tropflux_id_env+'q2m_2000_2009_erai_'+ocean+'.txt' 104 151 openw,1,fi_q2m_erai 105 fi_q2m_trop= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_trop_'+ocean+'.txt'152 fi_q2m_trop=tropflux_id_env+'q2m_2000_2009_trop_'+ocean+'.txt' 106 153 openw,2,fi_q2m_trop 107 fi_q2m_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_oaflx_'+ocean+'.txt'154 fi_q2m_oaflx=tropflux_id_env+'q2m_2000_2009_oaflx_'+ocean+'.txt' 108 155 openw,3,fi_q2m_oaflx 109 fi_q2m_ncep= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep_'+ocean+'.txt'156 fi_q2m_ncep=tropflux_id_env+'q2m_2000_2009_ncep_'+ocean+'.txt' 110 157 openw,4,fi_q2m_ncep 111 fi_q2m_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep1_'+ocean+'.txt'158 fi_q2m_ncep1=tropflux_id_env+'q2m_2000_2009_ncep1_'+ocean+'.txt' 112 159 openw,5,fi_q2m_ncep1 113 160 … … 121 168 ;; first reading the whole ERAI uncorrected and corrected data 122 169 123 file= '/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_q2m_19890101_20091231_oafluxgrid.nc'170 file=tropflux_id_env+'erai_q2m_19890101_20091231_oafluxgrid.nc' 124 171 initncdf, file 125 172 unc=read_ncdf('q2m',date1,date2,file=file,/nostr) 126 173 help, unc 127 174 128 ;file='/Volumes/Iomega_HDD/TropFlux/input_cor/full_cor/TropFlux_q2m_19890101_20091231_v20.nc'129 ;initncdf, file130 ;cor=read_ncdf('q2m',date1,date2,file=file,/nostr)131 ;help, cor132 133 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc'134 ;initncdf, file135 ;oaf=read_ncdf("sphum", date1, date2, file=file,/nostr)136 ;help, oaf137 138 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/sphum_ncep2_oafluxgrid_19890101_20091231.nc'139 ;initncdf, fi140 ;nce=read_ncdf("shum", date1-1, date2, file=fi,/nostr)141 ;nce=nce*1000142 ;help, nce143 144 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/q2m_ncep1_19890101_20091231.nc'145 ;initncdf, file146 ;nce1=read_ncdf("q2m", date1, date2, file=file,/nostr)147 ;nce1=nce1*1000148 ;help, nce1149 150 175 ;save, unc, cor, oaf, nce, nce1, filename="q2m_era_trop_oaf_nce_nce1_2000_2009_global.idl" 151 176 restore, file="/Users/pkb/work/MY_SAXO/q2m_era_trop_oaf_nce_nce1_2000_2009_global.idl" … … 153 178 154 179 nn=n_elements(sitelist) 155 date1=date1156 date2=date2157 180 for n=0, nn-1 do begin 158 181 … … 222 245 close,/all 223 246 224 fi_q2m_erai= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_erai_'+ocean+'.txt'247 fi_q2m_erai=tropflux_id_env+'q2m_2000_2009_erai_'+ocean+'.txt' 225 248 res=read_ascii(fi_q2m_erai,data_start=1) 226 249 ff=res.field1 … … 248 271 oplot, mean_tao, yfit, color=250, thick=2 249 272 250 fi_q2m_trop= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_trop_'+ocean+'.txt'273 fi_q2m_trop=tropflux_id_env+'q2m_2000_2009_trop_'+ocean+'.txt' 251 274 res=read_ascii(fi_q2m_trop,data_start=1) 252 275 ff=res.field1 … … 275 298 oplot, mean_tao, yfit, color=250, thick=2 276 299 277 fi_q2m_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_oaflx_'+ocean+'.txt'300 fi_q2m_oaflx=tropflux_id_env+'q2m_2000_2009_oaflx_'+ocean+'.txt' 278 301 res=read_ascii(fi_q2m_oaflx,data_start=1) 279 302 ff=res.field1 … … 303 326 304 327 305 fi_q2m_ncep= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep_'+ocean+'.txt'328 fi_q2m_ncep=tropflux_id_env+'q2m_2000_2009_ncep_'+ocean+'.txt' 306 329 res=read_ascii(fi_q2m_ncep,data_start=1) 307 330 ff=res.field1 … … 330 353 oplot, mean_tao, yfit, color=250, thick=2 331 354 332 fi_q2m_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/q2m_2000_2009_ncep1_'+ocean+'.txt'355 fi_q2m_ncep1=tropflux_id_env+'q2m_2000_2009_ncep1_'+ocean+'.txt' 333 356 res=read_ascii(fi_q2m_ncep1,data_start=1) 334 357 ff=res.field1 … … 359 382 closeps 360 383 361 fig='q2m_validation_scatter_2000_2009_'+ocean+'.ps' 362 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 363 spawn, 'gv '+cpsdir+fig 364 return 384 fig=tropflux_od_env+'q2m_validation_scatter_2000_2009_'+ocean+'.ps' 385 spawn, 'mv '+psdir+'idl.ps '+fig 386 spawn, 'gv '+fig 365 387 end 366 function x_site_location, site367 n1=strpos(site, 's')368 if (n1 gt -1) then begin369 ns=-1.370 x=strmid(site, 0, n1)371 x=float(x)*ns372 endif else begin373 n1=strpos(site, 'n')374 x=strmid(site, 0, n1)375 ny=1.376 x=float(x)*ny377 endelse378 return, float(x)379 end380 function y_site_location, site381 n1=strpos(site, 'e')382 if (n1 gt -1) then begin383 n=strpos(site, 's')384 if (n gt -1) then begin385 y=strmid(site, n+1, n1-n-1)386 endif else begin387 n=strpos(site, 'n')388 y=strmid(site, n+1, n1-n-1)389 endelse390 391 endif else begin392 n1=strpos(site, 'w')393 n=strpos(site, 's')394 if (n gt -1) then begin395 y=strmid(site, n+1, n1-n-1)396 y=180+(180-float(y))397 endif else begin398 n=strpos(site, 'n')399 y=strmid(site, n+1, n1-n-1)400 y=180+(180-float(y))401 endelse402 endelse403 return,float(y)404 end -
trunk/src/paper01/fig7/sst_validation_scatter_2000_2009_basin.pro
r43 r46 1 1 ;+ 2 ; .. _sst_validation_scatter_2000_2009_basin.pro 2 ; .. _sst_validation_scatter_2000_2009_basin.pro: 3 3 ; 4 4 ; ========================================== … … 9 9 ; =========== 10 10 ; 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 ; 11 35 ; SEE ALSO 12 36 ; ======== 13 37 ; 14 38 ; :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` 15 47 ; 16 48 ; EXAMPLES … … 20 52 ; 21 53 ; IDL> @tropflux_init 22 ; IDL> date1= ++23 ; IDL> date2= ++54 ; IDL> date1=19890101L 55 ; IDL> date2=20091231L 24 56 ; IDL> sst_validation_scatter_2000_2009_basin, date1, date2 25 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 26 72 ; 27 73 ; EVOLUTIONS … … 30 76 ; $Id$ 31 77 ; 78 ; - fplod 20110420T101535Z aedon.locean-ipsl.upmc.fr (Darwin) 79 ; 80 ; * remove hard coding path 81 ; * add graphviz 82 ; * externalize functions 83 ; 32 84 ; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) 33 85 ; … … 35 87 ; 36 88 ;- 37 pro sst_validation_scatter_2000_2009_basin, date1,date238 @c ommon39 89 pro sst_validation_scatter_2000_2009_basin, date1, date2 90 @cm_general 91 @cm_tropflux 40 92 reinitplt, /z,/invert 41 93 key_portrait = 1 42 94 43 95 openps, FILENAME = 'idl.ps' 44 ;; Before running this program, you have to compile the following subrutines45 ;; 1. .r read_era_total46 ;; 2. .r read_variables_v247 ;; 3. .r read_era_box48 96 49 97 ;; Give the location of mooring for validation of basic meteorological variables 50 51 52 98 sitelist=['8s67e','12s55e', '8s55e', '8s80.5e', '1.5s80.5e', '0n80.5e', '1.5n80.5e', '1.5s90e', $ 53 99 '0n90e', '1.5n90e', '4n90e','8n90e','12n90e', '15n90e', '5s95e', $ … … 80 126 close,/all 81 127 82 fi_sst_erai= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_erai_'+ocean+'.txt'128 fi_sst_erai=tropflux_id_env+'sst_2000_2009_erai_'+ocean+'.txt' 83 129 openw,1,fi_sst_erai 84 fi_sst_trop= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_trop_'+ocean+'.txt'130 fi_sst_trop=tropflux_id_env+'sst_2000_2009_trop_'+ocean+'.txt' 85 131 openw,2,fi_sst_trop 86 fi_sst_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_oaflx_'+ocean+'.txt'132 fi_sst_oaflx=tropflux_id_env+'sst_2000_2009_oaflx_'+ocean+'.txt' 87 133 openw,3,fi_sst_oaflx 88 fi_sst_ncep= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep_'+ocean+'.txt'134 fi_sst_ncep=tropflux_id_env+'sst_2000_2009_ncep_'+ocean+'.txt' 89 135 openw,4,fi_sst_ncep 90 fi_sst_tmi= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_tmi_'+ocean+'.txt'136 fi_sst_tmi=tropflux_id_env+'sst_2000_2009_tmi_'+ocean+'.txt' 91 137 openw,5,fi_sst_tmi 92 fi_sst_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep1_'+ocean+'.txt'138 fi_sst_ncep1=tropflux_id_env+'sst_2000_2009_ncep1_'+ocean+'.txt' 93 139 openw,6,fi_sst_ncep1 94 140 … … 104 150 ;; first reading the whole ERAI uncorrected and corrected data 105 151 106 ;file='/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_sst_19890101_20091231_oafluxgrid.nc'107 ;initncdf, file108 ;unc=read_ncdf('sst',date1,date2,file=file,/nostr) & unc=unc-273.15109 ;help, unc110 111 ;file='/Volumes/Iomega_HDD/TropFlux/input_cor/full_cor/TropFlux_sst_19890101_20091231_v20.nc'112 ;initncdf, file113 ;cor=read_ncdf('sst',date1,date2,file=file,/nostr) & cor=cor-273.15114 ;help, cor115 116 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc'117 ;initncdf, file118 ;oaf=read_ncdf("sst", date1, date2, file=file,/nostr)119 ;help, oaf120 121 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/sst_ncep2_oafluxgrid_19890101_20091231.nc'122 ;initncdf, fi123 ;nce=read_ncdf("sst", date1-1, date2, file=fi,/nostr)124 ;nce=nce-273.15125 ;help, nce126 127 ;fi='/Volumes/Iomega_HDD/work/flux_reconstruction/gridded_data/tmi_OI_oafluxgrid_30N30S.nc'128 ;initncdf, fi129 ;sst_tmi=read_ncdf("sst", date1, date2, file=fi,/nostr)130 ;help, sst_tmi131 132 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/sst_ncep1_19890101_20091231.nc'133 ;initncdf, file134 ;nce1=read_ncdf("sst", date1, date2, file=file,/nostr)135 ;nce1=nce1-273.15136 ;help, nce1137 138 152 ;save, unc, cor, oaf, nce, sst_tmi, nce1, filename="sst_era_trop_oaf_nce_tmi_2000_2009_global.idl" 139 153 ;; full data from 2000-2009 period are read first, and hence the above lines are commented … … 143 157 ;; data from 20000101, 20090931 144 158 nn=n_elements(sitelist) 145 date1=date1146 date2=date2147 159 for n=0, nn-1 do begin 148 160 … … 216 228 close,/all 217 229 218 fi_sst_erai= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_erai_'+ocean+'.txt'230 fi_sst_erai=tropflux_id_env+'sst_2000_2009_erai_'+ocean+'.txt' 219 231 res=read_ascii(fi_sst_erai,data_start=1) 220 232 ff=res.field1 … … 242 254 oplot, mean_tao, yfit, color=250, thick=2 243 255 244 fi_sst_trop= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_trop_'+ocean+'.txt'256 fi_sst_trop=tropflux_id_env+'sst_2000_2009_trop_'+ocean+'.txt' 245 257 res=read_ascii(fi_sst_trop,data_start=1) 246 258 ff=res.field1 … … 269 281 oplot, mean_tao, yfit, color=250, thick=2 270 282 271 fi_sst_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_oaflx_'+ocean+'.txt'283 fi_sst_oaflx=tropflux_id_env+'sst_2000_2009_oaflx_'+ocean+'.txt' 272 284 res=read_ascii(fi_sst_oaflx,data_start=1) 273 285 ff=res.field1 … … 298 310 299 311 300 fi_sst_ncep= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep_'+ocean+'.txt'312 fi_sst_ncep=tropflux_id_env+'sst_2000_2009_ncep_'+ocean+'.txt' 301 313 res=read_ascii(fi_sst_ncep,data_start=1) 302 314 ff=res.field1 … … 326 338 327 339 328 fi_sst_tmi= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_tmi_'+ocean+'.txt'340 fi_sst_tmi=tropflux_id_env+'sst_2000_2009_tmi_'+ocean+'.txt' 329 341 res=read_ascii(fi_sst_tmi,data_start=1) 330 342 ff=res.field1 … … 353 365 oplot, mean_tao, yfit, color=250, thick=2 354 366 355 fi_sst_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/sst_2000_2009_ncep1_'+ocean+'.txt'367 fi_sst_ncep1=tropflux_id_env+'sst_2000_2009_ncep1_'+ocean+'.txt' 356 368 res=read_ascii(fi_sst_ncep1,data_start=1) 357 369 ff=res.field1 … … 382 394 closeps 383 395 384 fig='sst_validation_scatter_2000_2009_'+ocean+'.ps' 385 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 386 spawn, 'gv '+cpsdir+fig 387 return 396 fig=tropflux_od_env+'sst_validation_scatter_2000_2009_'+ocean+'.ps' 397 spawn, 'mv '+psdir+'idl.ps '+fig 398 spawn, 'gv '+fig 388 399 end 389 function x_site_location, site390 n1=strpos(site, 's')391 if (n1 gt -1) then begin392 ns=-1.393 x=strmid(site, 0, n1)394 x=float(x)*ns395 endif else begin396 n1=strpos(site, 'n')397 x=strmid(site, 0, n1)398 ny=1.399 x=float(x)*ny400 endelse401 return, float(x)402 end403 function y_site_location, site404 n1=strpos(site, 'e')405 if (n1 gt -1) then begin406 n=strpos(site, 's')407 if (n gt -1) then begin408 y=strmid(site, n+1, n1-n-1)409 endif else begin410 n=strpos(site, 'n')411 y=strmid(site, n+1, n1-n-1)412 endelse413 414 endif else begin415 n1=strpos(site, 'w')416 n=strpos(site, 's')417 if (n gt -1) then begin418 y=strmid(site, n+1, n1-n-1)419 y=180+(180-float(y))420 endif else begin421 n=strpos(site, 'n')422 y=strmid(site, n+1, n1-n-1)423 y=180+(180-float(y))424 endelse425 endelse426 return,float(y)427 end -
trunk/src/paper01/fig7/ws_validation_scatter_2000_2009_basin.pro
r43 r46 1 1 ;+ 2 2 ; 3 ; .. _ws_validation_scatter_2000_2009_basin.pro 3 ; .. _ws_validation_scatter_2000_2009_basin.pro: 4 4 ; 5 5 ; ========================================= … … 10 10 ; =========== 11 11 ; 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 ; 12 36 ; SEE ALSO 13 37 ; ======== 14 38 ; 15 39 ; :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` 16 48 ; 17 49 ; EXAMPLES … … 21 53 ; 22 54 ; IDL> @tropflux_init 23 ; IDL> date1= ++24 ; IDL> date2= ++55 ; IDL> date1=19890101L 56 ; IDL> date2=20091231L 25 57 ; 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 26 73 ; 27 74 ; EVOLUTIONS … … 36 83 ;- 37 84 pro ws_validation_scatter_2000_2009_basin,date1,date2 38 @c ommon39 85 @cm_general 86 @cm_tropflux 40 87 reinitplt, /z,/invert 41 88 key_portrait = 1 42 89 43 90 openps, FILENAME = 'idl.ps' 44 ;; Before running this program, you have to compile the following subrutines45 ;; 1. .r read_era_total46 ;; 2. .r read_variables_v247 ;; 3. .r read_era_box48 49 91 ;; Give the location of mooring for validation of basic meteorological variables 50 92 … … 101 143 close,/all 102 144 103 fi_ws_erai= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_erai_'+ocean+'.txt'145 fi_ws_erai=tropflux_id_env+'ws_2000_2009_erai_'+ocean+'.txt' 104 146 openw,1,fi_ws_erai 105 fi_ws_trop= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_trop_'+ocean+'.txt'147 fi_ws_trop=tropflux_id_env+'ws_2000_2009_trop_'+ocean+'.txt' 106 148 openw,2,fi_ws_trop 107 fi_ws_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_oaflx_'+ocean+'.txt'149 fi_ws_oaflx=tropflux_id_env+'ws_2000_2009_oaflx_'+ocean+'.txt' 108 150 openw,3,fi_ws_oaflx 109 fi_ws_ncep= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep_'+ocean+'.txt'151 fi_ws_ncep=tropflux_id_env+'ws_2000_2009_ncep_'+ocean+'.txt' 110 152 openw,4,fi_ws_ncep 111 fi_ws_tmi= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_tmi_'+ocean+'.txt'153 fi_ws_tmi=tropflux_id_env+'ws_2000_2009_tmi_'+ocean+'.txt' 112 154 openw,5,fi_ws_tmi 113 fi_ws_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep1_'+ocean+'.txt'155 fi_ws_ncep1=tropflux_id_env+'ws_2000_2009_ncep1_'+ocean+'.txt' 114 156 openw,6,fi_ws_ncep1 115 157 … … 125 167 ;; date1=20000101 & date2=20090931 126 168 127 file= '/Volumes/Iomega_HDD/TropFlux/input_uncor/erai_ws_19890101_20091231_oafluxgrid.nc'169 file=tropflux_id_env+'erai_ws_19890101_20091231_oafluxgrid.nc' 128 170 initncdf, file 129 171 u=read_ncdf('u10',date1,date2,file=file,/nostr) … … 132 174 ;help, unc 133 175 134 ;file='/Volumes/Iomega_HDD/TropFlux/input_cor/full_cor/TropFlux_ws_19890101_20091231_v20.nc'135 ;initncdf, file136 ;cor=read_ncdf('ws',date1,date2,file=file,/nostr)137 ;help, cor138 139 ;file='/Volumes/Iomega_HDD/work/flux_reconstruction/OAFLX_GRID/OAFlux_basic_variables_1985_2009.nc'140 ;initncdf, file141 ;oaf=read_ncdf("wind", date1, date2, file=file,/nostr)142 ;help, oaf143 144 ;fi='/Volumes/Iomega_HDD/flux_reconstruction/ncep2/uwind_ncep2_oafluxgrid_19890101_20091231.nc'145 ;initncdf, fi146 ;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, fi149 ;v=read_ncdf("v", date1-1, date2, file=fi,/nostr)150 ;nce=sqrt(u*u+v*v)151 ;help, nce152 153 ;dir='/Volumes/Iomega_HDD/work/flux_reconstruction/gridded_data/'154 ;fi=dir+'zonal_wind_speed_oafluxgrid_30N30S.nc'155 ;initncdf, fi156 ;u=read_ncdf("u", date1, date2, file=fi,/nostr)157 ;fi=dir+'meridional_wind_speed_oafluxgrid_30N30S.nc'158 ;initncdf, fi159 ;v=read_ncdf("v", date1, date2, file=fi,/nostr)160 ;ws_tmi=sqrt(u*u+v*v)161 ;help, ws_tmi162 163 ;file='/Volumes/Iomega_HDD/flux_reconstruction/ncep/wind_ncep1_19890101_20091231.nc'164 ;initncdf, file165 ;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, nce1169 170 176 ;save, unc, cor, oaf, nce, ws_tmi, nce1, filename="ws_era_trop_oaf_nce_qscat_2000_2009_global.idl" 171 177 restore, file="/Users/pkb/work/MY_SAXO/ws_era_trop_oaf_nce_qscat_2000_2009_global.idl" … … 173 179 174 180 nn=n_elements(sitelist) 175 date1=date1176 date2=date2177 181 for n=0, nn-1 do begin 178 182 … … 240 244 endfor 241 245 close,/all 242 fi_ws_erai= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_erai_'+ocean+'.txt'246 fi_ws_erai=tropflux_id_env+'ws_2000_2009_erai_'+ocean+'.txt' 243 247 res=read_ascii(fi_ws_erai,data_start=1) 244 248 ff=res.field1 … … 266 270 oplot, mean_tao, yfit, color=250, thick=2 267 271 268 fi_ws_trop= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_trop_'+ocean+'.txt'272 fi_ws_trop=tropflux_id_env+'ws_2000_2009_trop_'+ocean+'.txt' 269 273 res=read_ascii(fi_ws_trop,data_start=1) 270 274 ff=res.field1 … … 293 297 oplot, mean_tao, yfit, color=250, thick=2 294 298 295 fi_ws_oaflx= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_oaflx_'+ocean+'.txt'299 fi_ws_oaflx=tropflux_id_env+'ws_2000_2009_oaflx_'+ocean+'.txt' 296 300 res=read_ascii(fi_ws_oaflx,data_start=1) 297 301 ff=res.field1 … … 322 326 323 327 324 fi_ws_ncep= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep_'+ocean+'.txt'328 fi_ws_ncep=tropflux_id_env+'ws_2000_2009_ncep_'+ocean+'.txt' 325 329 res=read_ascii(fi_ws_ncep,data_start=1) 326 330 ff=res.field1 … … 349 353 oplot, mean_tao, yfit, color=250, thick=2 350 354 351 fi_ws_tmi= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_tmi_'+ocean+'.txt'355 fi_ws_tmi=tropflux_id_env+'ws_2000_2009_tmi_'+ocean+'.txt' 352 356 res=read_ascii(fi_ws_tmi,data_start=1) 353 357 ff=res.field1 … … 377 381 378 382 379 fi_ws_ncep1= '/Users/pkb/work/MY_SAXO/flux_automat/ws_2000_2009_ncep1_'+ocean+'.txt'383 fi_ws_ncep1=tropflux_id_env+'ws_2000_2009_ncep1_'+ocean+'.txt' 380 384 res=read_ascii(fi_ws_ncep1,data_start=1) 381 385 ff=res.field1 … … 406 410 closeps 407 411 408 fig='ws_validation_scatter_2000_2009_'+ocean+'.ps' 409 spawn, 'mv '+psdir+'idl.ps '+cpsdir+fig 410 spawn, 'gv '+cpsdir+fig 411 return 412 fig=tropflux_od_env+'ws_validation_scatter_2000_2009_'+ocean+'.ps' 413 spawn, 'mv '+psdir+'idl.ps '+fig 414 spawn, 'gv '+fig 412 415 end 413 function x_site_location, site414 n1=strpos(site, 's')415 if (n1 gt -1) then begin416 ns=-1.417 x=strmid(site, 0, n1)418 x=float(x)*ns419 endif else begin420 n1=strpos(site, 'n')421 x=strmid(site, 0, n1)422 ny=1.423 x=float(x)*ny424 endelse425 return, float(x)426 end427 function y_site_location, site428 n1=strpos(site, 'e')429 if (n1 gt -1) then begin430 n=strpos(site, 's')431 if (n gt -1) then begin432 y=strmid(site, n+1, n1-n-1)433 endif else begin434 n=strpos(site, 'n')435 y=strmid(site, n+1, n1-n-1)436 endelse437 438 endif else begin439 n1=strpos(site, 'w')440 n=strpos(site, 's')441 if (n gt -1) then begin442 y=strmid(site, n+1, n1-n-1)443 y=180+(180-float(y))444 endif else begin445 n=strpos(site, 'n')446 y=strmid(site, n+1, n1-n-1)447 y=180+(180-float(y))448 endelse449 endelse450 return,float(y)451 end
Note: See TracChangeset
for help on using the changeset viewer.