- Timestamp:
- 12/15/11 15:07:54 (12 years ago)
- Location:
- trunk/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/extract_amsua.pro
r466 r467 93 93 ; ========== 94 94 ; 95 ; lelod 20111215 96 ; tests de fonctionnement effectues: la correction nadir est 97 ;correctement implementee 98 ; l'interpolation de la fauchee fonctionne 99 ; mais attention test sur la longitude code en dur: 100 ; pbs avec les fauchees qui traversent le meridien 180deg!!!! 101 ; l'interpolation ajoute des points parasites dans la zone... 95 102 ; $Id$ 96 103 ; … … 192 199 ; TODO 193 200 ; ==== 201 ; 202 ; traiter les longitudes autour de 180 degres (passage de 180 a -180) 203 ; interpolswath ne gere pas cette situation 194 204 ; 195 205 ; comprendre les points bizarres autour de -40,30 visibles avec l'exemple … … 265 275 openr, lun_a, list_filea, /get_lun 266 276 filea='' 267 nlist= 1277 nlist=0 268 278 ilist=0 269 ; while (not eof(lun_a)) do begin270 279 loadct,39 271 280 numwindow=1 272 281 ;while ilist le nlist do begin 273 282 while (not eof(lun_a)) do begin 274 283 ilist=ilist+1 275 284 onefile = '' … … 370 379 ; colscale[j]=(tb[j]-min(tb))*255/(max(tb)-min(tb)) 371 380 ;endfor 372 ;plots,lolo,lala,psym=5,symsize= 2,color=colscale381 ;plots,lolo,lala,psym=5,symsize=1,color=colscale 373 382 ;numwindow=numwindow+1 374 383 … … 376 385 ; reguliere dans la fauchee 377 386 ; et selection de la zone conservee 378 ;tek_color 379 ;resol=1 387 ; attention test sur la longitude code en dur: 388 ; pbs avec les fauchees qui traversent le meridien 180deg!!!! 389 ; l'interpolation ajoute des points parasites dans la zone... 380 390 nbgrid=0 391 cont=0L 381 392 for i=0L,n_scan-1L do begin 382 393 tb=ch_nadir[*,i] … … 384 395 lat=amalat[*,i] 385 396 mask=landseamask[*,i] 386 nbgrid1=nbgrid 387 interpolswath,tb,lat,lon,mask,resol,nbgrid,tbgrid,latgrid,longrid,maskgrid 388 if i eq 0L then begin 389 fovgrid=indgen(nbgrid)+1 390 endif 391 ;ind=where(tbgrid gt tbmin and tbgrid lt tbmax,nbon) 392 ; if (nbon ne 0) then begin 393 longit=longrid 394 latit=latgrid 395 ; oplot,longit,latit,psym=3,color=0 396 ; endif else begin 397 ; print,'pas de point valable dans la fauchee' 398 ; endelse 397 ind=where(tb gt 0 and lon gt -60 and lon lt 100,nbon) 398 if nbon eq nbpix then begin 399 cont=cont+1L 400 nbgrid1=nbgrid 401 interpolswath,tb,lat,lon,mask,resol,nbgrid,tbgrid,latgrid,longrid,maskgrid 402 if cont eq 1L then begin 403 fovgrid=indgen(nbgrid)+1 404 endif 405 ;longit=longrid 406 ;latit=latgrid 407 ;oplot,longit,latit,psym=3,color=0 399 408 400 409 ; selection des taches au sol situees dans la zone d'interet 401 zone=where((longrid ge lon_min) and (longrid le lon_max) $ 402 and (latgrid ge lat_min) and (latgrid le lat_max) and (tbgrid gt tbmin), npt) 403 if npt ne 0 then begin 404 if (n_elements(chint) EQ 0) then begin 405 timeint=replicate(tt[i],npt) 406 chint=tbgrid[zone] 407 latint=latgrid[zone] 408 lonint=longrid[zone] 409 fovint=fovgrid[zone] 410 maskint=maskgrid[zone] 410 zone=where((longrid ge lon_min) and (longrid le lon_max) $ 411 and (latgrid ge lat_min) and (latgrid le lat_max) and (tbgrid gt tbmin), npt) 412 if npt ne 0 then begin 413 if (n_elements(chint) EQ 0) then begin 414 timeint=replicate(tt[i],npt) 415 chint=tbgrid[zone] 416 latint=latgrid[zone] 417 lonint=longrid[zone] 418 fovint=fovgrid[zone] 419 maskint=maskgrid[zone] 420 endif else begin 421 chint=[chint,tbgrid[zone]] 422 latint=[latint,latgrid[zone]] 423 lonint=[lonint,longrid[zone]] 424 fovint=[fovint,fovgrid[zone]] 425 maskint=[maskint,maskgrid[zone]] 426 timeint=[timeint,replicate(tt[i],npt)] 427 endelse 411 428 endif else begin 412 chint=[chint,tbgrid[zone]] 413 latint=[latint,latgrid[zone]] 414 lonint=[lonint,longrid[zone]] 415 fovint=[fovint,fovgrid[zone]] 416 maskint=[maskint,maskgrid[zone]] 417 timeint=[timeint,replicate(tt[i],npt)] 429 print, 'www : aucun point dans la zone' 418 430 endelse 419 431 endif else begin 420 print, 'www : aucun point dans la zone'432 print,'fauchee incomplete',nbon 421 433 endelse 422 434 … … 485 497 plot,lonint,latint,xrange=[lon_min,lon_max],yrange=[lat_min,lat_max],xstyle=1,ystyle=1,/nodata 486 498 ind=where(maskint eq 1) 487 oplot,lonint[ind],latint[ind],psym=1499 ;oplot,lonint[ind],latint[ind],psym=1 488 500 jnd=where(chint gt tbmin and chint lt tbmax) 489 501 tb=chint[jnd] -
trunk/src/interpolswath.pro
r466 r467 40 40 ; * minimal rest header 41 41 ; 42 ; TO DO 43 ; ===== 44 ; regler le pb des longitudes autour de 180 degres 45 ; l'interpolation ne les gere pas et cree des points dans la zone AMMA... 42 46 ;- 43 47 pro interpolswath, tb, latlu, lonlu, masklu, resol, nbgrid, tbint, latgrid, longrid, mask … … 70 74 ;print,pixatot 71 75 ;window,1 72 ;ploterr,ifov,fova,pixatot76 ;ploterr,ifov,fova,pixatot 73 77 74 78 distmax=-min(fova)+max(fova)+max(pixa) … … 79 83 if (dmax/delta-fix(dmax/delta) le 0.5) then ndemigrid=ndemigrid-1 80 84 nbgrid=ndemigrid*2 81 print,'nb pts',nbgrid, ' dmax',dmax85 ;print,'nb pts',nbgrid, ' dmax',dmax 82 86 83 87 grid2=indgen(ndemigrid)*delta+fova[nnadir] … … 116 120 longrid=interpol(lonlu,fova,grid) 117 121 122 ind=where(longrid gt 35 and longrid lt 45 and latgrid gt 10 and latgrid lt 25,nbind) 123 if nbind ne 0 then begin 124 ; print,'longitude intiniale',lonlu 125 ; print,'long. interpolee',longrid 126 endif 118 127 ;print,tbint 119 128 end
Note: See TracChangeset
for help on using the changeset viewer.