version 1.9, 2014/06/06 19:04:51
|
version 1.10, 2014/06/09 21:07:41
|
|
|
* of update_sharp_keys.c. HISTORY will include a human-readable sentence about which | * of update_sharp_keys.c. HISTORY will include a human-readable sentence about which |
* keywords were updated. | * keywords were updated. |
* | * |
|
* N.B.: This module calculates the keyword specified in keylist and then does a |
|
* drms_copykeys() to copy over all the remaining keywords. However, if [1] a keyword |
|
* does not exist in the .jsd files of the input series, and [2] said keyword X is not |
|
* specified in keylist, then [3] drms_copykeys() will copy DRMS_MISSING_VALUE into |
|
* keyword X for all the output series. |
|
* |
* This module does not produce segments. | * This module does not produce segments. |
* | * |
* INPUTS : -- DRMS SHARP series | * INPUTS : -- DRMS SHARP series |
|
|
int ny = inseg->axis[1]; | int ny = inseg->axis[1]; |
int nxny = nx * ny; | int nxny = nx * ny; |
int dims[2] = {nx, ny}; | int dims[2] = {nx, ny}; |
|
//int nx = (inseg->axis[0])+1; |
|
//int ny = (inseg->axis[1])+1; |
|
//int nxny = nx * ny; |
|
//int dims[2] = {nx, ny}; |
| |
// Temp arrays | // Temp arrays |
float *bh = (float *) (malloc(nxny * sizeof(float))); | float *bh = (float *) (malloc(nxny * sizeof(float))); |
|
|
int nxp = nx1+40; | int nxp = nx1+40; |
int nyp = ny1+40; | int nyp = ny1+40; |
| |
|
// check to make sure that the dimensions passed into fsample() are adequate |
if (nx1 > floor((nx-1)/scale + 1) ) | if (nx1 > floor((nx-1)/scale + 1) ) |
DIE("X-dimension of output array in fsample() is too large."); | DIE("X-dimension of output array in fsample() is too large."); |
if (ny1 > floor((ny-1)/scale + 1) ) | if (ny1 > floor((ny-1)/scale + 1) ) |
|
|
float *fy = (float *) (malloc(nxny * sizeof(float))); | float *fy = (float *) (malloc(nxny * sizeof(float))); |
float *fz = (float *) (malloc(nxny * sizeof(float))); | float *fz = (float *) (malloc(nxny * sizeof(float))); |
| |
|
|
for (irec=0;irec<nrecs;irec++) | for (irec=0;irec<nrecs;irec++) |
{ | { |
|
|
|
DRMS_Record_t *sharpceainrec = sharpceainrecset->records[irec]; |
|
DRMS_Segment_t *inseg = drms_segment_lookup(sharpceainrec, "Br"); |
|
int nxtest = inseg->axis[0]; |
|
int nytest = inseg->axis[1]; |
|
|
|
// Check to make sure that nx x ny are constant for this harpnum |
|
if (nx != nxtest || ny!= nytest) |
|
DIE("CEA series does not have constant dimensions for this HARPNUM."); |
|
|
// Get emphemeris | // Get emphemeris |
sharpinrec = sharpinrecset->records[irec]; | sharpinrec = sharpinrecset->records[irec]; |
sharpceainrec = sharpceainrecset->records[irec]; | sharpceainrec = sharpceainrecset->records[irec]; |
|
|
| |
/******************************* END FLAGS **********************************/ | /******************************* END FLAGS **********************************/ |
| |
|
|
drms_free_array(bitmaskArray); | drms_free_array(bitmaskArray); |
drms_free_array(maskArray); | drms_free_array(maskArray); |
drms_free_array(bxArray); | drms_free_array(bxArray); |
|
|
drms_free_array(by_errArray); | drms_free_array(by_errArray); |
drms_free_array(bz_errArray); | drms_free_array(bz_errArray); |
drms_free_array(losArray); | drms_free_array(losArray); |
|
|
} //endfor | } //endfor |
| |
drms_close_records(sharpinrecset, DRMS_FREE_RECORD); | drms_close_records(sharpinrecset, DRMS_FREE_RECORD); |