[Dart-dev] [5599] DART/branches/development/observations/MADIS/convert_madis_rawin.f90 : fix cut and paste error - in the rawin converter only, the loop counter

nancy at ucar.edu nancy at ucar.edu
Thu Mar 15 13:42:29 MDT 2012


Revision: 5599
Author:   nancy
Date:     2012-03-15 13:42:29 -0600 (Thu, 15 Mar 2012)
Log Message:
-----------
fix cut and paste error - in the rawin converter only, the loop counter
is k, not n.  also, the continue lines to skip the body of the loop if
the dewpoint temps are bad were misplaced.

Modified Paths:
--------------
    DART/branches/development/observations/MADIS/convert_madis_rawin.f90

-------------- next part --------------
Modified: DART/branches/development/observations/MADIS/convert_madis_rawin.f90
===================================================================
--- DART/branches/development/observations/MADIS/convert_madis_rawin.f90	2012-03-13 20:59:52 UTC (rev 5598)
+++ DART/branches/development/observations/MADIS/convert_madis_rawin.f90	2012-03-15 19:42:29 UTC (rev 5599)
@@ -314,13 +314,16 @@
         ! make sure it isn't larger than the air temp.  if it is
         ! more than a degree larger, skip it completely.  if it is
         ! less, set them equal and continue.
-        if (tdew(n) > tair(n)) then
-           if (tdew(n) > tair(n) + 1.0_r8) goto 100
-           tdew(n) = tair(n)
+        if (tdew(k) > tair(k)) then
+ print *, 'mand dew case', k, tdew(k), tair(k)
+ print *, 'lat/lon/pres ', lat, lon, prespa
+           if (tdew(k) > tair(k) + 1.0_r8) goto 100
+           tdew(k) = tair(k)
         endif
 
         ! tdew is the dewpoint depression
         dptk = tair(k) - tdew(k)
+ if (dptk <= 0.0) print *, dptk
   
         if ( include_specific_humidity ) then
   
@@ -381,11 +384,13 @@
   
       endif  ! quality control/missing check on tair, tdew
   
+100 continue
+
     end do
+
     deallocate(pres, wdir, wspd, tair, tdew, qc_pres, qc_wdir, qc_wspd, qc_tair, qc_tdew)
   endif
 
-100 continue
 
   !  If desired, read the significant-level temperature data, write to obs_seq
   call getvar_int_1d_1val(ncid, "numSigT", n, nsig )
@@ -437,13 +442,15 @@
         ! make sure it isn't larger than the air temp.  if it is
         ! more than a degree larger, skip it completely.  if it is
         ! less, set them equal and continue.
-        if (tdew(n) > tair(n)) then
-           if (tdew(n) > tair(n) + 1.0_r8) goto 200
-           tdew(n) = tair(n)
+        if (tdew(k) > tair(k)) then
+ print *, 'sign dew case', k, tdew(k), tair(k)
+           if (tdew(k) > tair(k) + 1.0_r8) goto 200
+           tdew(k) = tair(k)
         endif
 
         ! tdew is the dewpoint depression
         dptk = tair(k) - tdew(k)
+ if (dptk <= 0.0) print *, dptk
 
         if ( include_specific_humidity ) then
 
@@ -504,12 +511,13 @@
 
       endif  ! quality control/missing check on tair and tdew
 
+200 continue
+
     end do
     deallocate(pres, tair, tdew, qc_pres, qc_tair, qc_tdew)
 
   endif
 
-200 continue
 
   !  If desired, read the significant-level wind data, write to obs_seq
   call getvar_int_1d_1val(ncid, "numSigW", n, nsig )


More information about the Dart-dev mailing list