[Cosmic_announce] Bug found and fixed in COSMIC ionospheric products

Doug Hunt dhunt at ucar.edu
Fri Mar 20 09:54:24 MDT 2009


Hi Stig:  How are things in Denmark?

We do plan on reprocessing atec, makeLeoDCB 
and updateTEC as well.  I attach the current list of cosmic mission 
post-processing steps.  I've put a * next to those steps we plan on 
redoing.  We are *not* planning on redoing the orbit or occ table steps 
since that would entail a complete reprocessing including atmospheric 
profiles, which we are not ready for.

This bug affects podGps files (low rate POD antenna data) by 
introducing phase jumps.  It only affects those satellites in which all 
POD/ionosphere functions were moved to one POD antenna by the 
firmware change we had last year.  The problem is that when only one POD 
antenna is used, two separate tracks can be scheduled for the same antenna 
and the same PRN.  This my software did not know how to handle--the old 
version just sorted the observations by antenna, PRN and time, which 
resulted in occasional jumps between different tracks.

It turns out that the Bernese software used to filter the podGps files 
before orbit processing was good at removing/fixing these jumps, so the 
orbit quality was barely affected.

On a separate note, I'm making progress in processing METOP/GRAS data 
here--I had a nice visit with Christian Marquardt in which he installed 
some of his code for the complex process of generating phase and amplitude 
from the raw GRAS data.  I'm now reworking some of his python code in 
perl/PDL for use in CDAAC.  With any luck we should be able to process 
these data in a few months.

Regards,

   Doug

dhunt at ucar.edu
Software Engineer IV
UCAR - COSMIC, Tel. (303) 497-2611

On Fri, 20 Mar 2009, Stig Syndergaard wrote:

> Hi Doug,
>
> Is it all ionospheric data that is affected?
> I'm curious if the bug was already at the level of bnx files, then it would 
> have implications on podObs, podTec, and leoDcb as well. If so, do you plan 
> to reprocess those too?
>
> Regards,
> -Stig
>
> Doug Hunt wrote:
>> Dear COSMIC connoisseurs:
>> 
>> A bug has been discovered in COSMIC ionPhs and ionPrf files on CDAAC.
>> For certain satellites and days, ionPhs and ionPrf profiles are scrambled,
>> showing many abrupt jumps.
>> 
>> This problem occurs for COSMIC satellites which have SNR problems on one
>> of the POD (Precise Orbit Determination) zenith-mounted antennas.  These
>> satellites have had the failing antenna turned off and thus have only one
>> POD antenna for tracking ionospheric occultations.  A bug in CDAAC
>> software improperly mixed data from duplicate tracks on the single POD
>> antenna.
>> 
>> A software patch was applied on day 2009.076 to fix this bug in the
>> real-time COSMIC processing.  We will fix the problem in the
>> post-processed data and send out a separate announcement when this is
>> complete.
>> 
>> Thanks to Qian Wu (NCAR HAO) and Woo-Kyoung Lee (HAO and KASI, Korea) for
>> finding this problem.
>> 
>> Regards,
>>
>>    Doug Hunt
>> 
>> dhunt at ucar.edu
>> Software Engineer IV
>> UCAR - COSMIC, Tel. (303) 497-2611
>> _______________________________________________
>> Cosmic_announce mailing list
>> Cosmic_announce at ucar.edu
>> http://mailman.ucar.edu/mailman/listinfo/cosmic_announce
>> 
>
> -- 
> __________________________________________________________________
> Stig Syndergaard, PhD
> Danish Meteorological Institute              Phone: +45 39 157 408
> Lyngbyvej 100                                  Fax: +45 39 157 460
> DK-2100 Copenhagen                              E-mail: ssy at dmi.dk
> __________________________________________________________________
>
-------------- next part --------------
Listing of Config.pm steps:
1: gpsOrb5PP.pl $1                                    (igsOrb_.*)                    gpsPod gpsClk brnPol comClk --alldays --if=(DATE>=2007.001)
2: gpsOrb5PP.pl $1 --rel                              (codOrb_.*)                    gpsPod gpsClk brnPol comClk --alldays --if=(DATE<2006.309)
3: gpsOrb5PP.pl $1                                    (codOrb_.*)                    gpsPod gpsClk brnPol comClk --alldays --if=(DATE>=2006.309&&DATE<=2006.365)
*4: cosmicPPsetup.pl DATERANGE MISSION                 nofile                         cosPst               
*5: cosmicPPpart1.pl $1 MISSION                        (cosLv0_.*)                               --addendday --alldays
*6: cosmicPPpart2.pl $1 MISSION                        (cosPst_.*)                    goxSOH opnGps leoAtt podGps lev1St tipBin scnRaw --alldays 
7: updateLeoAtt.pl $1 MISSION                         (leoAtt_.*)                               --alldays 
8: readCosmicOcct.pl $1 MISSION                       (goxSOH_.*)                               --alldays 
*9: bnx2LEOrnx.pl $1                                   (podGps_.*)                    podObs     --alldays 
10: doleoO.pl $1                                       (podGps_.*)                    doleoO     --alldays 
11: leoOrb5.pl $1 --rel --pltres --parmsfile=leoOrb5.parms2 (doleoO_.*)                    leoOrb leoPod --alldays --if=(DATE<2006.309)
12: leoOrb5.pl $1 --pltres --parmsfile=leoOrb5.parms2  (doleoO_.*)                    leoOrb leoPod --alldays --if=(DATE>=2006.309)
13: tipRadiance.pl $1 --parmsfile=parms4 --calfile=tipCal_2007.243_nml (tipBin_(\d\d\d\d\.\d\d\d\.\d\d\d\.01).*) tipLv1     --alldays 
14: s4index.pl $1 --parmsfile=s4.parms2                (scnRaw_(\d\d\d\d\.\d\d\d\.\d\d\d\.\d\d).*) scnLv1               
*15: atec.pl $1 --nodb --parmsfile=edit.parms11 --calfile=mulCal_2006.285.$3.$4_nc (podObs_(\d\d\d\d\.\d\d\d\.(\d\d\d)\.\d\d)\.(00|01).*) podTec
*16: makeLeoDcb.pl DATERANGE MISSION --order=1 --parmsfile=dcb.parms4 nofile                         leoDcb               
*17: updateTEC.pl DATERANGE MISSION --prefix=podTec --byday nofile                         podTec               
18: createOccTableGaps.pl $1 --nofid                   (leoOrb_.*)                    occTab     --alldays 
19: createIonOccObjs.pl $1,$DEP[0]                     (occTab_(.*?)_.*)              ionObj     --alldays 
*20: processOcc5OPN.pl $1 --rel --parmsfile=processOcc5.parms2 (ionObj_.*)                    ionPhs     --if=(DATE<2006.309)
*21: processOcc5OPN.pl $1 --parmsfile=processOcc5.parms2 (ionObj_.*)                    ionPhs     --if=(DATE>=2006.309)
*22: gmrion.pl $1 --parmsfile=parms8                    (ionPhs_.*)                    ionPrf               
*23: isond12db.pl DATERANGE MISSION                     nofile                                              
*24: isondeStats.pl DATERANGE MISSION                   nofile                                              
2A5: createAtmOccObjs.pl $1,$DEP[0] --nofid             (occTab_(.*?)_.*)              atmObj     --alldays 
26: processOcc5OPN.pl $1 --rel --parmsfile=processOcc5.parms8 (atmObj_.*)                    atmPhs     --if=(DATE<2006.309)
27: processOcc5OPN.pl $1 --parmsfile=processOcc5.parms8 (atmObj_.*)                    atmPhs     --if=(DATE>=2006.309)
28: getBits.pl $1                                      (atmPhs_.*)                    gpsBit               
29: roam.pl $DEP[0],$1 --parmsfile=parms40             (gpsBit_(.*?)_.*)              atmPrf               
30: roamQc.pl $1 --nonidelta                           (atmPrf_.*)                    atmPrf               
31: makeAncPrfEcm.pl $1                                (atmPrf_.*)                    ecmPrf               
32: makeEchPrf.pl $1                                   (atmPrf_.*)                    echPrf               
33: makeNcpPrf.pl $1                                   (atmPrf_.*)                    ncpPrf               
34: makeGfsPrf.pl $1                                   (atmPrf_.*)                    gfsPrf               
35: makeSonPrf1.pl $1                                  (atmPrf_.*)                    sonPrf               
36: var1d.pl $1,$DEP[0] --parmsfile=config8.nml        (ecmPrf_(.*?)_.*)              wetPrf               
37: makeBfrPrf.pl $1                                   (wetPrf_.*)                    bfrPrf               
*38: dailyDbDump.pl DATERANGE MISSION                   nofile                         dbdump               
39: failureReport.pl DATERANGE MISSION                 nofile                                              


More information about the Cosmic_announce mailing list