Developers' Weekly Progress Reports
[#status_arta Art's] BR [#status_jennifer Jennifer's] BR [#status_jim jim's] BR [#status_karen Karen's] BR [#status_phil Phil's] BR [#status_tim Tim's]
Art's archive
- 03-06-2008
- 02-28-2008
- drms_open_records() was returning ‘series not found’. This was due to DSDS records that were missing keyword and file data. A series got created (on the fly) from a record with a double keyword. Then later, DRMS was using a DSDS record to fill-in a DRMS record. However, that DSDS record’s keyword data was missing (represented as an empty string). So, the series was expecting a double keyword, but in fact DRMS was trying to set that double keyword with an empty string. And you can’t do that. The fix was to 1) resolve the situation where DSDS keyword types conflict across records by making the keyword type STRING; and 2) when opening DSDS data, do not use records that have no data file. When that happens, the keyword values are all empty strings.
- There was duplicate code in dsds.c (libdsds.so). A correction was in one copy of the code, but not the other. Factored out into functions and had calling functions use those new functions.
- Fixed the MANPATH issue for JSOC users. Modified .setJSOCenv and .setJSOCuser_env to set the MANPATH environment variable. We no longer rely upon MAN finding the manpath based upon $PATH entries (which is specific to linux).
- Put all of Carl’s level-0 HK tabular data files into our new CVS tree (TBL_JSOC). Some files went into CVS, some went into /surge (temporary dayflies), and some when into /home/production/lev0.
- Created new CVS modules for level 0 processing. ‘cvs co LEV0TBLS’ will put all these files in $CVSROOT/TBL_JSOC. This is largely for examining/changing files outside of production. ‘cvs co PROD_LEV0TBLS’ from /home/production/ will put these files into /home/production/lev0. This latter command is what production needs to do.
- Tracked down problems in the production build of LC jsoc (Jeneen saw that some MDI ingestion code hadn’t been running since December). Somebody changed a bunch of files, and then didn’t check them in. And they changed them in a way that made the build break. I tracked down which changes we wanted to keep, and which we wanted to discard. Re-built LC jsoc.
- Synchronized change to LC (lower-case) jsoc with changes to UC JSOC in preparation for a JSOC release that has SUMS/LEV0 code in it.
- Various smaller investigations/help for others – make issues, the MDI-code/endian issue.
- Met with Tim H. regarding next step of cfitsio integration. Decided to have Tim integrate his code into CVS, in $JSOCROOT/base/libs/fitsiowrap. I’ll work on the make files. Then we work together on modifying drms_segment.c to use his library. We won’t touch drms_fits.c. Goal is to be able to use his new library to read fits that currently reside in SUMS.
- Worked on tracking down problem in latest build. Was due to integration from LC jsoc to UC JSOC of a double-free bug in sum_open.c. Karen came up with a fix – waiting for Jim to bless it. The original bug is still in LC jsoc.
- Modified jsoc_sync.pl and jsoc_update.pl to use a file "modulespec.txt" that lists CVS modules to 'track'. If this optional file exists, then CVS will always operate only on those modules. Currently we have JSOC, DRMS, LEV0TBLS, PROD_LEV0TBLS, and EGSE. Created a script, /home/jsoc/checkoutJSOC.pl, that takes 'DRMS' or 'JSOC' as a parameter. This script will check out either the base for full set of code files, and then create the modulespec.txt file for you (which you can subsequently modify).
- Meet with Jim to finalize latest JSOC release. Need to convert all hard-coded paths to the newest locations.
- Meetings – JSOC, Lev0, Tim H., data export, Aloise.
Jennifer's archive
Karen's archive
Phil's archive
Tim's archive
- Read drms_fits.c to see how to pass parameters to/from cfitsio. A great portion drms_fits.c maybe no longer needed, so we will try to call cfitsio.c directly drms_segment.c.
- Met with Art to for cvs checkin location. Art will create the make file for cfitsio for different types of builds.
- Note: The C library from HEASARC called "fitsio", cfitsio is our wrapper.
- We decide to remove a small header at the beginning of the data block, containing the basic info (naxis, naxes, bitpix,...) These info will be made available by caller function.
- Try to combine writing and compressing to file into one step for efficiency.
Jim's archive
test