Changeset 563
- Timestamp:
- 05/29/12 10:15:03 (12 years ago)
- Location:
- trunk/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/correc_amsu.pro
r553 r563 6 6 ; ============ 7 7 ; 8 ; correc_amsu,numch, yyyyb, mmb, ddb, yyyye, mme, dde, lonmin, lonmax, latmin, latmax 8 ; correc_amsu,numch, yyyyb, mmb, ddb, yyyye, mme, dde, lonmin, lonmax, latmin, latmax,surf 9 9 ; DESCRIPTION 10 10 ; =========== 11 11 ; 12 ; programme d'interpolation avec algorithme de Cressmann'ajustement 13 ;des donnees nadir (en complément de la correction de FK) 12 ; programme calculant une correction additionnelle 13 ; des donnees nadir (en complément de la correction de FK) sur terre ou 14 ; mer (surf = 0) 14 15 ; 15 ;; grille de sortie en long / lat 16 ; recoit en entree les jours de l'annee jdeb et jfin 17 ;correspondant au debut et la fin du mois 16 ; recoit en entree les dates de debut et fin, la zone et surf 18 17 ; 19 18 … … 34 33 ; latmin=-5. 35 34 ; latmax=20. 35 ; surf="m" 36 36 37 37 ; cresamsu,numch, yyyyb, mmb, ddb $ 38 38 ; , yyyye, mme, dde $ 39 ; , lonmin, lonmax, latmin, latmax 39 ; , lonmin, lonmax, latmin, latmax,surf 40 40 ; 41 41 ; … … 57 57 ; 58 58 59 pro correc_amsu, numch, yyyyb, mmb, ddb, yyyye, mme, dde, lonmin, lonmax, latmin, latmax 59 pro correc_amsu, numch, yyyyb, mmb, ddb, yyyye, mme, dde, lonmin, lonmax, latmin, latmax,surf 60 60 61 61 compile_opt idl2, strictarrsubs … … 68 68 ; 69 69 nparam = N_PARAMS() 70 IF (nparam NE 1 1) THEN BEGIN70 IF (nparam NE 12) THEN BEGIN 71 71 ras = report(['Incorrect number of arguments.' $ 72 72 + '!C' $ … … 77 77 tbmin=100 78 78 tbmax=350 79 79 isurf=1 80 if surf eq 'm' then isurf=0 80 81 prefix=numch 81 82 look = 'filename' … … 145 146 if nfovorb eq nfov then begin 146 147 for ifov=0,nfov-1 do begin 147 ind=where(fovo eq ifov+1 and masko eq 1,nifov)148 ind=where(fovo eq ifov+1 and masko eq isurf ,nifov) 148 149 if (nifov ne 0) then begin 149 150 sumtb[ifov]=sumtb[ifov]+total(tb[ind]) … … 169 170 sigtb=sqrt((vartb-kont*moytb*moytb)/kont) 170 171 print,'moytb',moytb 172 fic_correc=project_id_env+'/AMSU/AMSU'+numch+'_correcbis_'+surf+'.dat' 173 openw,1,fic_correc 174 printf,1,moytb[*],format='(46(f6.2,1X))' 175 171 176 window,0 172 177 plot,fovv,moytb,psym=7,xstyle=1,ystyle=1,yrange=[min(moytb)-max(sigtb),max(moytb)+max(sigtb)] -
trunk/src/cresamsu.pro
r557 r563 102 102 ; ========== 103 103 ; 104 ; lelod, fin mai 2012 105 ; ajout de correction supplementaire pour ameliorer les champs 106 ; lecture et application de la correction avant interpolation 104 107 ; $Id: 105 108 ; … … 330 333 331 334 fovmax=46 332 openr,1,project_id_env+'AMSU/AMSU'+numch+'_correcbis .dat'335 openr,1,project_id_env+'AMSU/AMSU'+numch+'_correcbis_t_MJJAS2006.dat' 333 336 moytb=fltarr(fovmax) 334 337 readf,1,moytb,format='(46(f6.2,1X))' 338 close,1 335 339 moytbliss=smooth(moytb,5) 336 correction =moytbliss-mean(moytbliss[21:30])340 correction_t=moytbliss-mean(moytbliss[21:30]) 337 341 ;print, correction 342 openr,2,project_id_env+'AMSU/AMSU'+numch+'_correcbis_m_MJJAS2006.dat' 343 moytb=fltarr(fovmax) 344 readf,2,moytb,format='(46(f6.2,1X))' 345 close,2 346 close,/all 347 moytbliss=smooth(moytb,5) 348 correction_m=moytbliss-mean(moytbliss[22:23]) 338 349 339 350 … … 386 397 print,'fauchee',min(fov),max(fov) 387 398 for ifov=min(fov)+1,fovmax-1 do begin 388 ind=where(fov eq ifov ,nbfov)399 ind=where(fov eq ifov and mask eq 1,nbfov) 389 400 if nbfov ne 0 then begin 390 tb1[ind]=tbinit[ind] ;-correction[ifov]401 tb1[ind]=tbinit[ind] -correction_t[ifov] 391 402 endif 392 403 endfor 393 404 ind=where(fov eq 1,smallfov) 394 405 if smallfov ne 0 then begin 395 tb1[ind]=tbinit[ind] ;-correction[0]406 tb1[ind]=tbinit[ind] -correction_t[0] 396 407 endif 397 408 ind=where(fov ge fovmax,bigfov) 398 409 if bigfov ne 0 then begin 399 tb1[ind]=tbinit[ind] ;-correction[fovmax-1] 410 tb1[ind]=tbinit[ind] -correction_t[fovmax-1] 411 endif 412 for ifov=min(fov)+1,fovmax-1 do begin 413 ind=where(fov eq ifov and mask eq 0,nbfov) 414 if nbfov ne 0 then begin 415 tb1[ind]=tbinit[ind] -correction_m[ifov] 416 endif 417 endfor 418 ind=where(fov eq 1,smallfov) 419 if smallfov ne 0 then begin 420 tb1[ind]=tbinit[ind] -correction_m[0] 400 421 endif 422 ind=where(fov ge fovmax,bigfov) 423 if bigfov ne 0 then begin 424 tb1[ind]=tbinit[ind] -correction_m[fovmax-1] 425 endif 426 427 401 428 ; print,'effet de la correction' 402 429 ; print,'moyenne, min, max',mean(tb1-tbinit),min(tb1-tbinit),max(tb1-tbinit) -
trunk/src/extract_amsua.pro
r560 r563 304 304 s = size(SCOPE_TRACEBACK(/STRUCTURE),/DIMENSION) 305 305 routine = (SCOPE_TRACEBACK(/STRUCTURE))[s-1].Routine 306 ; 306 key_performance=0 307 307 308 if key_performance EQ 1 THEN BEGIN 308 309 time1 = SYSTIME(1) … … 366 367 na_fov=na[1] ; nb points dans la fauchee 367 368 nbpix= na_fov 368 nosat=ama_head.h_satid 369 nosat=ama_head.h_satid ; numero du satellite NOAA (15 a 19) 370 print,'NUMERO DU SATLLITE ',nosat 369 371 ; nb pixels dans la fauchee AMSUA 370 372 fov=indgen(nbpix) … … 419 421 ; 420 422 ; correction nadir des donnees 421 if nosat eq 15 then isat=0 423 isat=0 424 if nosat eq 15 then begin 425 isat=0 426 print,'no satellite',nosat, isat 427 endif 422 428 if nosat eq 16 then isat=1 423 429 if nosat eq 18 then isat=2 … … 468 474 + string(SYSTIME(1)-time1,format='(F12.6)')]) 469 475 ENDIF 470 moych=fltarr(nbpix)471 nfov=nbpix472 473 moytb=fltarr(nfov)474 sigtb=fltarr(nfov)475 for ifov=0,nfov-1 do begin476 ind=where(landseamask[ifov,*] eq 1 ,nifov)477 moytb[ifov]=mean(ch_nadir[ifov,ind])478 sigtb[ifov]=stdev(ch_nadir[ifov,ind])479 endfor480 window,2481 plot,indgen(nfov)+1,moytb,psym=7,xstyle=1,ystyle=1,yrange=[min(moytb)-max(sigtb),max(moytb)+max(sigtb)]482 483 errplot,moytb-sigtb,moytb+sigtb476 ; moych=fltarr(nbpix) 477 ;nfov=nbpix 478 479 ;moytb=fltarr(nfov) 480 ;sigtb=fltarr(nfov) 481 ;for ifov=0,nfov-1 do begin 482 ; ind=where(landseamask[ifov,*] eq 1 ,nifov) 483 ; moytb[ifov]=mean(ch_nadir[ifov,ind]) 484 ; sigtb[ifov]=stdev(ch_nadir[ifov,ind]) 485 ; endfor 486 ;window,2 487 ;plot,indgen(nfov)+1,moytb,psym=7,xstyle=1,ystyle=1,yrange=[min(moytb)-max(sigtb),max(moytb)+max(sigtb)] 488 489 ;errplot,moytb-sigtb,moytb+sigtb 484 490 485 491
Note: See TracChangeset
for help on using the changeset viewer.