IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39108 for trunk


Ignore:
Timestamp:
Nov 11, 2015, 3:22:40 PM (11 years ago)
Author:
eugene
Message:

R5,R6,R7 need to filter out nan lensing values

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/dvolens/src/update_objects_catalog.c

    r38153 r39108  
    1313  int Nsecfilt = GetPhotcodeNsecfilt ();
    1414 
    15   float *Mxx_obj = NULL;
    16   float *Mxy_obj = NULL;
    17   float *Myy_obj = NULL;
    18 
    19   ALLOCATE (Mxx_obj, float, Nsecfilt);
    20   ALLOCATE (Mxy_obj, float, Nsecfilt);
    21   ALLOCATE (Myy_obj, float, Nsecfilt);
     15  ALLOCATE_PTR (Mxx_obj, float, Nsecfilt);
     16  ALLOCATE_PTR (Mxy_obj, float, Nsecfilt);
     17  ALLOCATE_PTR (Myy_obj, float, Nsecfilt);
     18
     19  ALLOCATE_PTR (N5, int, Nsecfilt);
     20  ALLOCATE_PTR (N6, int, Nsecfilt);
     21  ALLOCATE_PTR (N7, int, Nsecfilt);
    2222
    2323  // I think we have already allocated lensobj
     
    4242      Mxy_obj[j] = 0.0;
    4343      Myy_obj[j] = 0.0;
     44
     45      N5[j] = 0;
     46      N6[j] = 0;
     47      N7[j] = 0;
    4448    }
    4549
     
    151155      // Fcal * lensing->F_ApR5 is in Jy
    152156
    153       lensobj[Nsec]. F_ApR5 +=    Fcal * lensing-> F_ApR5;
    154       lensobj[Nsec].dF_ApR5 += SQ(Fcal * lensing->dF_ApR5);
    155       lensobj[Nsec].sF_ApR5 += SQ(Fcal * lensing->sF_ApR5);
    156       lensobj[Nsec].fF_ApR5 +=           lensing->fF_ApR5;
    157 
    158       lensobj[Nsec]. F_ApR6 +=    Fcal * lensing-> F_ApR6;
    159       lensobj[Nsec].dF_ApR6 += SQ(Fcal * lensing->dF_ApR6);
    160       lensobj[Nsec].sF_ApR6 += SQ(Fcal * lensing->sF_ApR6);
    161       lensobj[Nsec].fF_ApR6 +=           lensing->fF_ApR6;
    162 
    163       lensobj[Nsec]. F_ApR7 +=    Fcal * lensing-> F_ApR7;
    164       lensobj[Nsec].dF_ApR7 += SQ(Fcal * lensing->dF_ApR7);
    165       lensobj[Nsec].sF_ApR7 += SQ(Fcal * lensing->sF_ApR7);
    166       lensobj[Nsec].fF_ApR7 +=           lensing->fF_ApR7;
     157      if (isfinite(lensing-> F_ApR5)) {
     158        lensobj[Nsec]. F_ApR5 +=    Fcal * lensing-> F_ApR5;
     159        lensobj[Nsec].dF_ApR5 += SQ(Fcal * lensing->dF_ApR5);
     160        lensobj[Nsec].sF_ApR5 += SQ(Fcal * lensing->sF_ApR5);
     161        lensobj[Nsec].fF_ApR5 +=           lensing->fF_ApR5;
     162        N5[Nsec] ++;
     163      }
     164
     165      if (isfinite(lensing-> F_ApR6)) {
     166        lensobj[Nsec]. F_ApR6 +=    Fcal * lensing-> F_ApR6;
     167        lensobj[Nsec].dF_ApR6 += SQ(Fcal * lensing->dF_ApR6);
     168        lensobj[Nsec].sF_ApR6 += SQ(Fcal * lensing->sF_ApR6);
     169        lensobj[Nsec].fF_ApR6 +=           lensing->fF_ApR6;
     170        N6[Nsec] ++;
     171      }
     172
     173      if (isfinite(lensing-> F_ApR7)) {
     174        lensobj[Nsec]. F_ApR7 +=    Fcal * lensing-> F_ApR7;
     175        lensobj[Nsec].dF_ApR7 += SQ(Fcal * lensing->dF_ApR7);
     176        lensobj[Nsec].sF_ApR7 += SQ(Fcal * lensing->sF_ApR7);
     177        lensobj[Nsec].fF_ApR7 +=           lensing->fF_ApR7;
     178        N7[Nsec] ++;
     179        // fprintf (stderr, "%f %f %f %f\n", lensing-> F_ApR7, lensing->dF_ApR7, lensing->sF_ApR7, lensing->fF_ApR7);
     180        // fprintf (stderr, "%f %f %f %f : %d\n", lensobj[Nsec].F_ApR7, lensobj[Nsec].dF_ApR7, lensobj[Nsec].sF_ApR7, lensobj[Nsec].fF_ApR7, N7[Nsec]);
     181      }
    167182
    168183      lensobj[Nsec].Nmeas   ++;
     
    199214      lensobj[j]. E2_sh_psf /= Nmeas;
    200215
    201       lensobj[j]. F_ApR5 /= Nmeas;
    202       lensobj[j].dF_ApR5 /= Nmeas;
    203       lensobj[j].sF_ApR5 /= Nmeas;
    204       lensobj[j].fF_ApR5 /= Nmeas;
    205 
    206       lensobj[j]. F_ApR6 /= Nmeas;
    207       lensobj[j].dF_ApR6 /= Nmeas;
    208       lensobj[j].sF_ApR6 /= Nmeas;
    209       lensobj[j].fF_ApR6 /= Nmeas;
    210 
    211       lensobj[j]. F_ApR7 /= Nmeas;
    212       lensobj[j].dF_ApR7 /= Nmeas;
    213       lensobj[j].sF_ApR7 /= Nmeas;
    214       lensobj[j].fF_ApR7 /= Nmeas;
     216      if (N5[j]) {
     217        lensobj[j]. F_ApR5 /= (float) N5[j];
     218        lensobj[j].dF_ApR5 /= (float) N5[j];
     219        lensobj[j].sF_ApR5 /= (float) N5[j];
     220        lensobj[j].fF_ApR5 /= (float) N5[j];
     221      } else {
     222        lensobj[j]. F_ApR5 = NAN;
     223        lensobj[j].dF_ApR5 = NAN;
     224        lensobj[j].sF_ApR5 = NAN;
     225        lensobj[j].fF_ApR5 = NAN;
     226      }
     227
     228      if (N6[j]) {
     229        lensobj[j]. F_ApR6 /= (float) N6[j];
     230        lensobj[j].dF_ApR6 /= (float) N6[j];
     231        lensobj[j].sF_ApR6 /= (float) N6[j];
     232        lensobj[j].fF_ApR6 /= (float) N6[j];
     233      } else {
     234        lensobj[j]. F_ApR6 = NAN;
     235        lensobj[j].dF_ApR6 = NAN;
     236        lensobj[j].sF_ApR6 = NAN;
     237        lensobj[j].fF_ApR6 = NAN;
     238      }
     239
     240      if (N7[j]) {
     241        lensobj[j]. F_ApR7 /= (float) N7[j];
     242        lensobj[j].dF_ApR7 /= (float) N7[j];
     243        lensobj[j].sF_ApR7 /= (float) N7[j];
     244        lensobj[j].fF_ApR7 /= (float) N7[j];
     245      } else {
     246        lensobj[j]. F_ApR7 = NAN;
     247        lensobj[j].dF_ApR7 = NAN;
     248        lensobj[j].sF_ApR7 = NAN;
     249        lensobj[j].fF_ApR7 = NAN;
     250      }
    215251
    216252      lensobj[j].dF_ApR5 = sqrt(lensobj[j].dF_ApR5);
Note: See TracChangeset for help on using the changeset viewer.