Changeset 455 for trunk


Ignore:
Timestamp:
12/11/11 21:53:53 (12 years ago)
Author:
lelod
Message:

MAJ interpolcarrec

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/interpol_correc.pro

    r453 r455  
    110110; 
    111111@cm_project 
    112  
     112; mettre au carre!!!!!!!!! 
     113nomcanal=canal(0) 
     114numcanal=str2num(canal,1) 
    113115 
    114116pixelsize,pixatot,pixbtot,alongatot,alongbtot 
    115117 
    116  
    117 fovb=fltarr(45) 
    118 fova=fltarr(15) 
    119 alongb=fltarr(45) 
    120 alongab=alongbtot[45:89] ; verifier l'intervalle!!!!! 
    121 pixb=pixbtot[45:89] 
    122 alonga=alongatot[15:29] 
    123 pixa=pixatot[15:29] 
    124  
    125 ;ifov nadir : diametre 
     118; parametres AMSU et calcul de la fauchee 
     119nfova=30 
     120nfovb=90 
     121ndfova=nfova/2 
     122ndfovb=nfovb/2 
     123fovb=fltarr(ndfovb) 
     124fova=fltarr(ndfova) 
     125alongb=fltarr(ndfovb) 
     126alongab=alongbtot[ndfovb:nfovb-1] ; verifier l'intervalle!!!!! 
     127pixb=pixbtot[ndfovb:nfovb] 
     128alonga=alongatot[ndfova:nfova] 
     129pixa=pixatot[ndfova:nfova] 
     130;ifov nadir : diametre (km) 
    126131ifova=48.05 & ifovb=16 
    127  
    128132; position dans la fauchee: premier point au nadir a ifov/2 
    129133; 
    130134coefb=0.8 
    131135fovb(0)=ifovb/2. 
    132 for i=1,44 do fovb(i)=fovb(i-1)+coefb*(pixb(i)/2 +pixb(i)/2) 
    133 fov_b=fltarr(45) 
     136for i=1,ndfovb-1 do fovb(i)=fovb(i-1)+coefb*(pixb(i-1)/2 +pixb(i)/2) 
     137fov_b=fltarr(ndfovb) 
    134138;fov_b(44)=fovb(0) 
    135139;for i=0,43 do  fov_b(43-i)=fov_b(44-i)+coefb*(pixb(43-i)/2 +pixb(44-i)/2) 
    136 for i=0,44 do fov_b(i)=-fovb(44-i) 
    137  
     140for i=0,ndfovb-1 do fov_b(i)=-fovb(ndfovb-1-i) 
    138141; zone pixel : ellipse de grand axe pixb et petit axe alongb 
    139142; 
    140  
    141143coefa=1 
    142144fova(0)=ifova/2. 
    143 for i=1,14 do fova(i)=fova(i-1)+coefa*(pixa(i)/2 +pixa(i)/2) 
    144 fov_a=fltarr(15) 
     145for i=1,ndfova-1 do fova(i)=fova(i-1)+coefa*(pixa(i-1)/2 +pixa(i)/2) ; verifier!!! 
     146fov_a=fltarr(ndfova) 
    145147;fov_a(14)=fova(0) 
    146148;for i=0,13 do fov_a(13-i)=fov_a(14-i)+coefa*(pixa(13-i)/2 +pixa(14-i)/2) 
    147 for i=0,14 do fov_a(i)=-fova(14-i) 
    148  
    149 ;lecture des fichiers de correction amsub 
     149for i=0,ndfova-1 do fov_a(i)=-fova(ndfova-1-i) 
     150 
     151 
    150152path=project_id_env 
    151153; lecture des fichiers d'ajustement au nadir pour AMSUA et B 
    152 cor_landa=project_id_env+'AMSU/CORR_LAND_AMSUA_JUIL2006.DAT' 
    153 cor_seaa=project_id_env+'AMSU/CORR_SEA_AMSUA_JUIL2006.DAT' 
    154 cor_la=fltarr(9,30) 
    155 cor_sa=fltarr(9,30) 
    156 openr, lun1,cor_landa, /get_lun 
    157 for i=0, 8 do begin 
    158     readf, lun1, t1,t2,t3,t4,t5,$ 
    159       t6,t7,t8,t9,t10,$ 
    160       t11,t12,t13,t14,t15,$ 
    161       t16,t17,t18,t19,t20,$ 
    162       t21,t22,t23,t24,t25,$ 
    163       t26,t27,t28,t29,t30 
    164  
    165     a=[t1,t2,t3,t4,t5,$ 
    166        t6,t7,t8,t9,t10,$ 
    167        t11,t12,t13,t14,t15,$ 
    168        t16,t17,t18,t19,t20,$ 
    169        t21,t22,t23,t24,t25,$ 
    170        t26,t27,t28,t29,t30] 
    171  
    172     cor_la[i,*]=a 
    173 endfor 
    174 free_lun, lun1 
    175 openr, lun1,cor_seaa, /get_lun 
    176 for i=0, 8 do begin 
    177     readf, lun1, t1,t2,t3,t4,t5,$ 
    178       t6,t7,t8,t9,t10,$ 
    179       t11,t12,t13,t14,t15,$ 
    180       t16,t17,t18,t19,t20,$ 
    181       t21,t22,t23,t24,t25,$ 
    182       t26,t27,t28,t29,t30 
    183  
    184     a=[t1,t2,t3,t4,t5,$ 
    185        t6,t7,t8,t9,t10,$ 
    186        t11,t12,t13,t14,t15,$ 
    187        t16,t17,t18,t19,t20,$ 
    188        t21,t22,t23,t24,t25,$ 
    189        t26,t27,t28,t29,t30] 
    190     cor_sa[i,*]=a 
    191 endfor 
    192 free_lun, lun1 
    193  
    194 cor_landb=path+'AMSU/CORR_LAND_AMSUB_JUIL2006.DAT' 
    195 cor_seab=path+'AMSU/CORR_SEA_AMSUB_JUIL2006.DAT' 
    196     cor_lb=fltarr(5,90) 
    197     cor_sb=fltarr(5,90) 
    198     openr, lun1,cor_landb, /get_lun 
    199     for i=0, 4 do begin 
    200         readf, lun1, t1,t2,t3,t4,t5,$ 
    201           t6,t7,t8,t9,t10,$ 
    202           t11,t12,t13,t14,t15,$ 
    203           t16,t17,t18,t19,t20,$ 
    204           t21,t22,t23,t24,t25,$ 
    205           t26,t27,t28,t29,t30 
    206  
    207         a=[t1,t2,t3,t4,t5,$ 
    208            t6,t7,t8,t9,t10,$ 
    209            t11,t12,t13,t14,t15,$ 
    210            t16,t17,t18,t19,t20,$ 
    211        t21,t22,t23,t24,t25,$ 
    212        t26,t27,t28,t29,t30] 
    213      ;interpolation 
    214         cor_lb(i,45:89)=interpol(a(15:29),fova,fovb,/spline) 
    215         cor_lb(i,0:44)=interpol(a(0:14),fov_a,fov_b,/spline) 
    216 ;print,'i',i,a 
    217 ;print,cor_lb(i,*) 
    218     endfor 
    219     free_lun, lun1 
    220     openr, lun1,cor_seab, /get_lun 
    221     for i=0, 4 do begin 
    222         readf, lun1, t1,t2,t3,t4,t5,$ 
    223           t6,t7,t8,t9,t10,$ 
    224           t11,t12,t13,t14,t15,$ 
    225           t16,t17,t18,t19,t20,$ 
    226           t21,t22,t23,t24,t25,$ 
    227           t26,t27,t28,t29,t30 
    228  
    229         a=[t1,t2,t3,t4,t5,$ 
    230            t6,t7,t8,t9,t10,$ 
    231            t11,t12,t13,t14,t15,$ 
    232            t16,t17,t18,t19,t20,$ 
    233            t21,t22,t23,t24,t25,$ 
    234            t26,t27,t28,t29,t30] 
    235         ;interpolation 
    236         cor_sb(i,45:89)=interpol(a(15:29),fova,fovb,/spline) 
    237         cor_sb(i,0:44)=interpol(a(0:14),fov_a,fov_b,/spline) 
    238 ;print,'i',i,a 
    239 ;print,cor_sb(i,*) 
    240     endfor 
    241     free_lun, lun1 
     154; cas amsua 
     155if nomcanal eq 'a' then begin 
     156   cor_landa=project_id_env+'AMSU/CORR_LAND_AMSUA_JUIL2006.DAT' 
     157   cor_seaa=project_id_env+'AMSU/CORR_SEA_AMSUA_JUIL2006.DAT' 
     158   cor_l=fltarr(nfova) 
     159   cor_s=fltarr(nfova) 
     160   openr, lun1,cor_landa, /get_lun 
     161   for i=0, numcanal-1 do begin 
     162      readf, lun1, t1,t2,t3,t4,t5,$ 
     163             t6,t7,t8,t9,t10,$ 
     164             t11,t12,t13,t14,t15,$ 
     165             t16,t17,t18,t19,t20,$ 
     166             t21,t22,t23,t24,t25,$ 
     167             t26,t27,t28,t29,t30 
     168 
     169      a=[t1,t2,t3,t4,t5,$ 
     170         t6,t7,t8,t9,t10,$ 
     171         t11,t12,t13,t14,t15,$ 
     172         t16,t17,t18,t19,t20,$ 
     173         t21,t22,t23,t24,t25,$ 
     174         t26,t27,t28,t29,t30] 
     175   endfor 
     176   cor_l=a    ; normalement le dernier canal lu 
     177   free_lun, lun1 
     178   openr, lun1,cor_seaa, /get_lun 
     179   for i=0, numcanal-1 do begin 
     180      readf, lun1, t1,t2,t3,t4,t5,$ 
     181             t6,t7,t8,t9,t10,$ 
     182             t11,t12,t13,t14,t15,$ 
     183             t16,t17,t18,t19,t20,$ 
     184             t21,t22,t23,t24,t25,$ 
     185             t26,t27,t28,t29,t30 
     186 
     187      a=[t1,t2,t3,t4,t5,$ 
     188         t6,t7,t8,t9,t10,$ 
     189         t11,t12,t13,t14,t15,$ 
     190         t16,t17,t18,t19,t20,$ 
     191         t21,t22,t23,t24,t25,$ 
     192         t26,t27,t28,t29,t30] 
     193   endfor 
     194   free_lun, lun1 
     195   cor_s=a    ; normalement le dernier canal lu 
     196endif 
     197 
     198;cas amsub 
     199if nomcanal eq 'b' then begin 
     200   cor_landb=path+'AMSU/CORR_LAND_AMSUB_JUIL2006.DAT' 
     201   cor_seab=path+'AMSU/CORR_SEA_AMSUB_JUIL2006.DAT' 
     202   cor_l=fltarr(nfovb) 
     203   cor_s=fltarr(nfovb) 
     204   openr, lun1,cor_landb, /get_lun 
     205   for i=0, numcanal-1 do begin 
     206      readf, lun1, t1,t2,t3,t4,t5,$ 
     207             t6,t7,t8,t9,t10,$ 
     208             t11,t12,t13,t14,t15,$ 
     209             t16,t17,t18,t19,t20,$ 
     210             t21,t22,t23,t24,t25,$ 
     211             t26,t27,t28,t29,t30 
     212 
     213      a=[t1,t2,t3,t4,t5,$ 
     214         t6,t7,t8,t9,t10,$ 
     215         t11,t12,t13,t14,t15,$ 
     216         t16,t17,t18,t19,t20,$ 
     217         t21,t22,t23,t24,t25,$ 
     218         t26,t27,t28,t29,t30] 
     219   endfor 
     220                       ;interpolation 
     221   cor_l[ndfovb:nfovb-1]=interpol(a[ndfova:nfova-1],fova,fovb,/spline) 
     222   cor_l[0:ndfovb-1]=interpol(a[0:ndfova-1],fov_a,fov_b,/spline) 
     223 
     224   free_lun, lun1 
     225   openr, lun1,cor_seab, /get_lun 
     226   for i=0, numcanal-1 do begin 
     227      readf, lun1, t1,t2,t3,t4,t5,$ 
     228             t6,t7,t8,t9,t10,$ 
     229             t11,t12,t13,t14,t15,$ 
     230             t16,t17,t18,t19,t20,$ 
     231             t21,t22,t23,t24,t25,$ 
     232             t26,t27,t28,t29,t30 
     233      a=[t1,t2,t3,t4,t5,$ 
     234         t6,t7,t8,t9,t10,$ 
     235         t11,t12,t13,t14,t15,$ 
     236         t16,t17,t18,t19,t20,$ 
     237         t21,t22,t23,t24,t25,$ 
     238         t26,t27,t28,t29,t30] 
     239   endfor 
     240                       ;interpolation 
     241   cor_s[ndfovb:nfovb]=interpol(a[ndfova:nfova-1],fova,fovb,/spline) 
     242   cor_s[0:ndfovb-1]=interpol(a[0:ndfova-1],fov_a,fov_b,/spline) 
     243   free_lun, lun1 
     244endif 
    242245 
    243246end 
Note: See TracChangeset for help on using the changeset viewer.