ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/JSOC/proj/sharp/apps/update_sharp_keys.c
(Generate patch)

Comparing proj/sharp/apps/update_sharp_keys.c (file contents):
Revision 1.14 by mbobra, Wed Mar 4 04:45:11 2015 UTC vs.
Revision 1.15 by mbobra, Wed Mar 11 22:18:05 2015 UTC

# Line 222 | Line 222 | int DoIt(void)
222          int epszflag    = (strstr(keylist,"EPSZ")    != NULL);
223          int debugflag   = (strstr(debug,"debug")     != NULL);
224  
225 <    
226 <        for (irec=0;irec<nrecs;irec++)
227 <        {
228 <
229 <
230 <        DRMS_Record_t *sharpinrec = sharpinrecset->records[irec];
231 <        DRMS_Record_t *sharpceainrec = sharpceainrecset->records[irec];
225 >        DRMS_Record_t *sharpinrec = sharpinrecset->records[0];
226 >        DRMS_Record_t *sharpceainrec = sharpceainrecset->records[0];
227          DRMS_Segment_t *inseg = drms_segment_lookup(sharpceainrec, "Br");
228          int nx = inseg->axis[0];
229          int ny = inseg->axis[1];
230          int nxny = nx * ny;
231          int dims[2] = {nx, ny};
232 <
232 >
233          // Temp arrays  
234          float *bh      = (float *) (malloc(nxny * sizeof(float)));
235          float *bt      = (float *) (malloc(nxny * sizeof(float)));
# Line 259 | Line 254 | int DoIt(void)
254          float *jz_smooth = (float *) (malloc(nxny * sizeof(float)));
255          float *err_term1   = (float *) (calloc(nxny, sizeof(float)));
256          float *err_term2   = (float *) (calloc(nxny, sizeof(float)));
257 <        float *err_termA   = (float *) (calloc(nxny, sizeof(float)));
258 <        float *err_termB   = (float *) (calloc(nxny, sizeof(float)));
259 <        float *err_termAt  = (float *) (calloc(nxny, sizeof(float)));
260 <        float *err_termBt  = (float *) (calloc(nxny, sizeof(float)));
261 <        float *err_termAh  = (float *) (calloc(nxny, sizeof(float)));
262 <        float *err_termBh  = (float *) (calloc(nxny, sizeof(float)));
263 <  
257 >        float *fx = (float *) (malloc(nxny * sizeof(float)));
258 >        float *fy = (float *) (malloc(nxny * sizeof(float)));
259 >        float *fz = (float *) (malloc(nxny * sizeof(float)));
260 >
261 >        for (irec=0;irec<nrecs;irec++)
262 >        {
263 >
264 >        //DRMS_Record_t *sharpinrec = sharpinrecset->records[irec];
265 >        DRMS_Record_t *sharpceainrec = sharpceainrecset->records[irec];
266 >        DRMS_Segment_t *inseg = drms_segment_lookup(sharpceainrec, "Br");
267 >
268          // ephemeris variables
269          float  cdelt1_orig, cdelt1, dsun_obs, imcrpix1, imcrpix2, crpix1, crpix2;
270          double rsun_ref, rsun_obs;
# Line 290 | Line 289 | int DoIt(void)
289          float UNIX_epoch = -220924792.000;      
290          sprint_time(timebuf, (double)time(NULL) + UNIX_epoch, "ISO", 0);
291          sprintf(historyofthemodule,"The following keywords were re-computed on %s: %s.",timebuf,keylist);
292 <        printf("historyofthemodule=%s\n",historyofthemodule);
292 >        //printf("historyofthemodule=%s\n",historyofthemodule);
293          history0    = drms_getkey_string(sharpinrec, "HISTORY", &status);
294          strcat(historyofthemodule,"\n");
295          strcat(historyofthemodule,history0);
# Line 324 | Line 323 | int DoIt(void)
323          float *pmap    = (float *)malloc(nxp*nyp*sizeof(float));
324          float *p1pad   = (float *)malloc(nxp*nyp*sizeof(float));
325          float *pmapn   = (float *)malloc(nx1*ny1*sizeof(float));
327
328        // define some arrays for the lorentz force calculation
329        float *fx = (float *) (malloc(nxny * sizeof(float)));
330        float *fy = (float *) (malloc(nxny * sizeof(float)));
331        float *fz = (float *) (malloc(nxny * sizeof(float)));
326      
327             // Get emphemeris
328             sharpinrec    = sharpinrecset->records[irec];
# Line 510 | Line 504 | int DoIt(void)
504  
505                // Then take the derivative of Bt
506                if (computeBtotalderivative(bt, dims, &mean_derivative_btotal, mask, bitmask, derx_bt, dery_bt, bt_err,
507 <                                          &mean_derivative_btotal_err, err_termAt, err_termBt))
507 >                                          &mean_derivative_btotal_err, err_term1, err_term2))
508                {
509                   mean_derivative_btotal     = DRMS_MISSING_FLOAT;
510                   mean_derivative_btotal_err = DRMS_MISSING_FLOAT;
# Line 533 | Line 527 | int DoIt(void)
527                computeBh(bx_err, by_err, bh_err, bx, by, bz, bh, dims, &mean_hf, mask, bitmask);
528  
529                // Then take the derivative of Bh
530 <              if (computeBhderivative(bh, bh_err, dims, &mean_derivative_bh, &mean_derivative_bh_err, mask, bitmask, derx_bh, dery_bh, err_termAh, err_termBh))
530 >              if (computeBhderivative(bh, bh_err, dims, &mean_derivative_bh, &mean_derivative_bh_err, mask, bitmask, derx_bh, dery_bh, err_term1, err_term2))
531                {
532                   mean_derivative_bh       = DRMS_MISSING_FLOAT;
533                   mean_derivative_bh_err   = DRMS_MISSING_FLOAT;
# Line 553 | Line 547 | int DoIt(void)
547             if (meangbzflag)
548             {
549                // Compute Bz derivative
550 <              if (computeBzderivative(bz, bz_err, dims, &mean_derivative_bz, &mean_derivative_bz_err, mask, bitmask, derx_bz, dery_bz, err_termA, err_termB))
550 >              if (computeBzderivative(bz, bz_err, dims, &mean_derivative_bz, &mean_derivative_bz_err, mask, bitmask, derx_bz, dery_bz, err_term1, err_term2))
551                {
552                   mean_derivative_bz     = DRMS_MISSING_FLOAT;
553                   mean_derivative_bz_err = DRMS_MISSING_FLOAT;
# Line 759 | Line 753 | int DoIt(void)
753  
754             /******************************* END FLAGS **********************************/
755  
756 <
757 <           drms_free_array(bitmaskArray);              
758 <           drms_free_array(maskArray);
759 <           drms_free_array(bxArray);          
760 <           drms_free_array(byArray);
761 <           drms_free_array(bzArray);
762 <           drms_free_array(bx_errArray);          
763 <           drms_free_array(by_errArray);
764 <           drms_free_array(bz_errArray);
771 <           drms_free_array(losArray);
772 <
773 <        // free the arrays that are related to the lorentz calculation
774 <        free(fx); free(fy); free(fz);
775 <        //used for select calculations
776 <        free(bh); free(bt); free(jz);
777 <        free(bpx); free(bpy); free(bpz);
778 <        free(derx); free(dery);  
779 <        free(derx_bt); free(dery_bt);  
780 <        free(derx_bz); free(dery_bz);    
781 <        free(derx_bh); free(dery_bh);
782 <        free(bt_err); free(bh_err);  free(jz_err);
783 <        free(jz_err_squared); free(jz_rms_err);
756 >        drms_free_array(bitmaskArray);          
757 >        drms_free_array(maskArray);
758 >        drms_free_array(bxArray);          
759 >        drms_free_array(byArray);
760 >        drms_free_array(bzArray);
761 >        drms_free_array(bx_errArray);          
762 >        drms_free_array(by_errArray);
763 >        drms_free_array(bz_errArray);
764 >        drms_free_array(losArray);
765          free(cvsinfoall);
785        free(jz_err_squared_smooth);
786        free(jz_smooth);
766  
767          free(rim);
768          free(p1p0);
# Line 792 | Line 771 | int DoIt(void)
771          free(p1n);
772          free(p1);
773          free(pmap);
774 <        free(p1pad);
774 >        free(p1pad);
775          free(pmapn);
776  
798        // free the arrays that are related to the numerical derivatives
799        free(err_term2);
800        free(err_term1);
801        free(err_termB);
802        free(err_termA);
803        free(err_termBt);
804        free(err_termAt);
805        free(err_termBh);
806        free(err_termAh);
807
777          } //endfor
778  
779 +        free(fx); free(fy); free(fz);
780 +        free(bh); free(bt); free(jz);
781 +        free(bpx); free(bpy); free(bpz);
782 +        free(derx); free(dery);  
783 +        free(derx_bt); free(dery_bt);  
784 +        free(derx_bz); free(dery_bz);    
785 +        free(derx_bh); free(dery_bh);
786 +        free(bt_err); free(bh_err);  free(jz_err);
787 +        free(jz_err_squared); free(jz_rms_err);
788 +        free(jz_err_squared_smooth);
789 +        free(jz_smooth);
790 +        free(err_term2);
791 +        free(err_term1);
792          drms_close_records(sharpinrecset, DRMS_FREE_RECORD);
793          drms_close_records(sharpceainrecset, DRMS_FREE_RECORD);
794  
# Line 814 | Line 796 | int DoIt(void)
796          drms_close_records(sharpceaoutrecset, DRMS_INSERT_RECORD);
797  
798          printf("Success=%d\n",sameflag);
799 +
800   return 0;    
801 +
802   }       // DoIt

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines