Changeset 563


Ignore:
Timestamp:
05/29/12 10:15:03 (12 years ago)
Author:
lelod
Message:

modifs chaine

Location:
trunk/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/correc_amsu.pro

    r553 r563  
    66; ============ 
    77; 
    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 
    99; DESCRIPTION 
    1010; =========== 
    1111; 
    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) 
    1415; 
    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 
    1817; 
    1918 
     
    3433;    latmin=-5. 
    3534;    latmax=20. 
     35;    surf="m" 
    3636 
    3737;    cresamsu,numch, yyyyb, mmb, ddb $ 
    3838;            , yyyye, mme, dde $ 
    39 ;            , lonmin, lonmax, latmin, latmax 
     39;            , lonmin, lonmax, latmin, latmax,surf 
    4040;  
    4141; 
     
    5757; 
    5858 
    59 pro correc_amsu, numch, yyyyb, mmb, ddb, yyyye, mme, dde, lonmin, lonmax, latmin, latmax 
     59pro correc_amsu, numch, yyyyb, mmb, ddb, yyyye, mme, dde, lonmin, lonmax, latmin, latmax,surf 
    6060 
    6161compile_opt idl2, strictarrsubs 
     
    6868; 
    6969nparam = N_PARAMS() 
    70 IF (nparam NE 11) THEN BEGIN 
     70IF (nparam NE 12) THEN BEGIN 
    7171    ras = report(['Incorrect number of arguments.' $ 
    7272          + '!C' $ 
     
    7777tbmin=100 
    7878tbmax=350 
    79  
     79isurf=1 
     80if surf eq 'm' then isurf=0 
    8081prefix=numch 
    8182look = 'filename' 
     
    145146               if nfovorb eq nfov then begin 
    146147                  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)  
    148149                     if (nifov ne 0) then begin  
    149150                        sumtb[ifov]=sumtb[ifov]+total(tb[ind]) 
     
    169170sigtb=sqrt((vartb-kont*moytb*moytb)/kont) 
    170171print,'moytb',moytb 
     172fic_correc=project_id_env+'/AMSU/AMSU'+numch+'_correcbis_'+surf+'.dat' 
     173openw,1,fic_correc 
     174printf,1,moytb[*],format='(46(f6.2,1X))' 
     175 
    171176window,0 
    172177plot,fovv,moytb,psym=7,xstyle=1,ystyle=1,yrange=[min(moytb)-max(sigtb),max(moytb)+max(sigtb)] 
  • trunk/src/cresamsu.pro

    r557 r563  
    102102; ========== 
    103103; 
     104;  lelod, fin mai 2012 
     105;  ajout de correction supplementaire pour ameliorer les champs 
     106; lecture et application de la correction avant interpolation 
    104107;  $Id:  
    105108; 
     
    330333 
    331334fovmax=46 
    332 openr,1,project_id_env+'AMSU/AMSU'+numch+'_correcbis.dat' 
     335openr,1,project_id_env+'AMSU/AMSU'+numch+'_correcbis_t_MJJAS2006.dat' 
    333336moytb=fltarr(fovmax) 
    334337readf,1,moytb,format='(46(f6.2,1X))' 
     338close,1 
    335339moytbliss=smooth(moytb,5) 
    336 correction=moytbliss-mean(moytbliss[21:30]) 
     340correction_t=moytbliss-mean(moytbliss[21:30]) 
    337341;print, correction 
     342openr,2,project_id_env+'AMSU/AMSU'+numch+'_correcbis_m_MJJAS2006.dat' 
     343moytb=fltarr(fovmax) 
     344readf,2,moytb,format='(46(f6.2,1X))' 
     345close,2 
     346close,/all 
     347moytbliss=smooth(moytb,5) 
     348correction_m=moytbliss-mean(moytbliss[22:23]) 
    338349 
    339350 
     
    386397         print,'fauchee',min(fov),max(fov) 
    387398         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) 
    389400            if nbfov ne 0 then begin 
    390                tb1[ind]=tbinit[ind] ;-correction[ifov] 
     401               tb1[ind]=tbinit[ind] -correction_t[ifov] 
    391402            endif 
    392403         endfor 
    393404         ind=where(fov eq 1,smallfov) 
    394405         if smallfov ne 0 then begin 
    395             tb1[ind]=tbinit[ind] ;-correction[0] 
     406            tb1[ind]=tbinit[ind] -correction_t[0] 
    396407         endif 
    397408         ind=where(fov ge fovmax,bigfov) 
    398409         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] 
    400421         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 
    401428;         print,'effet de la correction' 
    402429;         print,'moyenne, min, max',mean(tb1-tbinit),min(tb1-tbinit),max(tb1-tbinit) 
  • trunk/src/extract_amsua.pro

    r560 r563  
    304304s = size(SCOPE_TRACEBACK(/STRUCTURE),/DIMENSION) 
    305305routine = (SCOPE_TRACEBACK(/STRUCTURE))[s-1].Routine 
    306 ; 
     306key_performance=0 
     307 
    307308if key_performance EQ 1 THEN BEGIN 
    308309    time1 = SYSTIME(1) 
     
    366367   na_fov=na[1]                 ; nb points dans la fauchee 
    367368   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 
    369371                                ; nb pixels dans la fauchee AMSUA 
    370372   fov=indgen(nbpix) 
     
    419421; 
    420422; 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 
    422428         if nosat eq 16 then isat=1 
    423429         if nosat eq 18 then isat=2 
     
    468474                   + string(SYSTIME(1)-time1,format='(F12.6)')]) 
    469475        ENDIF 
    470         moych=fltarr(nbpix) 
    471 nfov=nbpix 
    472  
    473 moytb=fltarr(nfov) 
    474 sigtb=fltarr(nfov) 
    475 for ifov=0,nfov-1 do begin  
    476    ind=where(landseamask[ifov,*] eq 1 ,nifov)  
    477       moytb[ifov]=mean(ch_nadir[ifov,ind])  
    478       sigtb[ifov]=stdev(ch_nadir[ifov,ind])  
    479    endfor  
    480 window,2 
    481 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+sigtb 
     476        ; 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 
    484490 
    485491 
Note: See TracChangeset for help on using the changeset viewer.