[Dart-dev] [3426] DART/trunk/ncep_obs/prep_bufr/src:
Corrects a serious bug in the 03Z version;
restores code that adds 24 hours to
nancy at ucar.edu
nancy at ucar.edu
Wed Jun 11 16:13:55 MDT 2008
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/dart-dev/attachments/20080611/872c2465/attachment.html
-------------- next part --------------
Modified: DART/trunk/ncep_obs/prep_bufr/src/prepbufr.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/src/prepbufr.f 2008-06-09 14:32:17 UTC (rev 3425)
+++ DART/trunk/ncep_obs/prep_bufr/src/prepbufr.f 2008-06-11 22:13:55 UTC (rev 3426)
@@ -55,9 +55,14 @@
+ 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65 /
CHARACTER*6 filo ( NFILO )
+C original list:
+ / 'ADPUPA', 'AIRCAR', 'AIRCFT', 'SATWND', 'PROFLR',
+ 'VADWND', 'SATBOG', 'SATEMP', 'ADPSFC', 'SFCSHP',
+ 'SFCBOG', 'SPSSMI', 'SYNDAT', 'ERS1DA', 'GOESND' /
+C updated list if you want to handle quikscat winds.
+C + / 'ADPUPA', 'AIRCAR', 'AIRCFT', 'SATWND', 'PROFLR',
+C + 'VADWND', 'SATEMP', 'ADPSFC', 'SFCSHP', 'SFCBOG',
+C + 'SPSSMI', 'SYNDAT', 'ERS1DA', 'GOESND', 'QKSWND'/
dimension tdata(8), udata(8), vdata(8), qdata(8), pdata(8)
integer :: wtype, ptype, qtype, ttype
@@ -193,9 +198,7 @@
END DO
c check the observation time, skip if outside obs. window
-c THE ONLY DIFFERENCE BETWEEN THE 03Z VERSION AND THE ORIGINAL
-c IS THE TEST FOR hour01 .gt. obs_win (03Z file) vs
-c abs(time0) .gt. obs_win (plain version) in 4 (four) PLACES BELOW.
+c the prepbufr_03Z.f version tests hour01, this one tests abs(time0)
c----------------------------------------------------------------------
IF ( ( .not. found ) .and. ( ierrpb .eq. 0 ) ) THEN
if ( debug ) print*, 'record found w/no label match, val was: ',
Modified: DART/trunk/ncep_obs/prep_bufr/src/prepbufr_03Z.f
===================================================================
--- DART/trunk/ncep_obs/prep_bufr/src/prepbufr_03Z.f 2008-06-09 14:32:17 UTC (rev 3425)
+++ DART/trunk/ncep_obs/prep_bufr/src/prepbufr_03Z.f 2008-06-11 22:13:55 UTC (rev 3426)
@@ -55,9 +55,14 @@
+ 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65 /
CHARACTER*6 filo ( NFILO )
+C original list:
+ / 'ADPUPA', 'AIRCAR', 'AIRCFT', 'SATWND', 'PROFLR',
+ 'VADWND', 'SATBOG', 'SATEMP', 'ADPSFC', 'SFCSHP',
+ 'SFCBOG', 'SPSSMI', 'SYNDAT', 'ERS1DA', 'GOESND' /
+C updated list if you want to handle quikscat winds.
+C + / 'ADPUPA', 'AIRCAR', 'AIRCFT', 'SATWND', 'PROFLR',
+C + 'VADWND', 'SATEMP', 'ADPSFC', 'SFCSHP', 'SFCBOG',
+C + 'SPSSMI', 'SYNDAT', 'ERS1DA', 'GOESND', 'QKSWND'/
dimension tdata(8), udata(8), vdata(8), qdata(8), pdata(8)
integer :: wtype, ptype, qtype, ttype
@@ -193,9 +198,7 @@
END DO
c check the observation time, skip if outside obs. window
-c THE ONLY DIFFERENCE BETWEEN THE 03Z VERSION AND THE ORIGINAL
-c IS THE TEST FOR hour01 .gt. obs_win (03Z file) vs
-c abs(time0) .gt. obs_win (plain version) in 4 (four) PLACES BELOW.
+c the prepbufr.f version tests abs(time0), this one tests hour01
c----------------------------------------------------------------------
IF ( ( .not. found ) .and. ( ierrpb .eq. 0 ) ) THEN
if ( debug ) print*, 'record found w/no label match, val was: ',
@@ -401,6 +404,21 @@
if(vqm .eq. 0) voe = voe*0.9
if(vqm .eq. 3) voe = voe*1.2
+c----------------------------------------------------------------------
+c this version of the code only selects observations at 3Z, and
+c adds 24 hours to the time. this is the critical difference
+c between this file and prepbufr.f. it is intended to be run only
+c on bufr files marked 06Z (which contain data from 3Z to 9Z) to
+c allow obs_seq files from 03:01Z to 03:00Z+1day to be created.
+
+ if( abs(hour01 - 3.0) .gt. 0.001) go to 200
+ tdata(8) = hour01 + 24.0
+ pdata(8) = hour01 + 24.0
+ qdata(8) = hour01 + 24.0
+ udata(8) = hour01 + 24.0 !! time
+ vdata(8) = hour01 + 24.0
+
+
c write out temperature observation from ADPUPA, AIRCAR, AIRCFT
c----------------------------------------------------------------------
if (subset(1:6).eq.'ADPUPA' .or. subset(1:6).eq.'AIRCAR' .or.
More information about the Dart-dev
mailing list