[Dart-dev] [5598] DART/branches/development/observations/MADIS: Add checks to be sure the dewpoint temperature is not

nancy at ucar.edu nancy at ucar.edu
Tue Mar 13 14:59:52 MDT 2012


Revision: 5598
Author:   nancy
Date:     2012-03-13 14:59:52 -0600 (Tue, 13 Mar 2012)
Log Message:
-----------
Add checks to be sure the dewpoint temperature is not
larger than the standard temperature.  if it is more than
a degree larger, toss the observation.  if it's just slightly
larger, set the temps equal and continue.

Modified Paths:
--------------
    DART/branches/development/observations/MADIS/convert_madis_acars.f90
    DART/branches/development/observations/MADIS/convert_madis_marine.f90
    DART/branches/development/observations/MADIS/convert_madis_mesonet.f90
    DART/branches/development/observations/MADIS/convert_madis_metar.f90
    DART/branches/development/observations/MADIS/convert_madis_profiler.f90
    DART/branches/development/observations/MADIS/convert_madis_rawin.f90

-------------- next part --------------
Modified: DART/branches/development/observations/MADIS/convert_madis_acars.f90
===================================================================
--- DART/branches/development/observations/MADIS/convert_madis_acars.f90	2012-03-13 20:58:11 UTC (rev 5597)
+++ DART/branches/development/observations/MADIS/convert_madis_acars.f90	2012-03-13 20:59:52 UTC (rev 5598)
@@ -244,6 +244,15 @@
        tdew(n) /= tdew_miss .and. qc_tdew(n) == 0 .and. &
        relh(n) /= relh_miss .and. qc_relh(n) == 0  ) then
 
+       ! before we start computing things based on the dewpoint,
+       ! 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)
+       endif
+
       ! add specific humidity to obs_seq
       if ( include_specific_humidity ) then
 
@@ -305,8 +314,10 @@
          endif
       endif
   
-  endif  ! quality control/missing check on tair, tdew, and relh
+  endif     ! quality control/missing check on tair, tdew, and relh
 
+100 continue
+
   nused = nused + 1
   latu(nused) =  lat(n)
   lonu(nused) =  lon(n)

Modified: DART/branches/development/observations/MADIS/convert_madis_marine.f90
===================================================================
--- DART/branches/development/observations/MADIS/convert_madis_marine.f90	2012-03-13 20:58:11 UTC (rev 5597)
+++ DART/branches/development/observations/MADIS/convert_madis_marine.f90	2012-03-13 20:59:52 UTC (rev 5598)
@@ -302,6 +302,15 @@
   if ( tair(n) /= tair_miss .and. qc_tair(n) == 0 .and. &
        tdew(n) /= tdew_miss .and. qc_tdew(n) == 0  ) then
 
+       ! before we start computing things based on the dewpoint,
+       ! 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)
+       endif
+
     ! add specific humidity to obs_seq
     if ( include_specific_humidity .and. &
          sfcp(n) /= sfcp_miss .and. qc_sfcp(n) == 0 ) then
@@ -374,6 +383,8 @@
 
   endif  ! quality control/missing check on tair, tdew
 
+100 continue
+
   nused = nused + 1
   latu(nused) =  lat(n)
   lonu(nused) =  lon(n)

Modified: DART/branches/development/observations/MADIS/convert_madis_mesonet.f90
===================================================================
--- DART/branches/development/observations/MADIS/convert_madis_mesonet.f90	2012-03-13 20:58:11 UTC (rev 5597)
+++ DART/branches/development/observations/MADIS/convert_madis_mesonet.f90	2012-03-13 20:59:52 UTC (rev 5598)
@@ -261,6 +261,15 @@
   if ( tair(n) /= tair_miss .and. qc_tair(n) == 0 .and. &
        tdew(n) /= tdew_miss .and. qc_tdew(n) == 0  ) then
 
+    ! before we start computing things based on the dewpoint,
+    ! 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)
+    endif
+
     ! add specific humidity to obs_seq
     if ( include_specific_humidity .and. &
          alti(n) /= alti_miss .and. qc_alti(n) == 0 ) then
@@ -327,6 +336,8 @@
 
   endif  ! quality control/missing check on tair, tdew
 
+100 continue
+
   nused = nused + 1
   latu(nused) =  lat(n)
   lonu(nused) =  lon(n)

Modified: DART/branches/development/observations/MADIS/convert_madis_metar.f90
===================================================================
--- DART/branches/development/observations/MADIS/convert_madis_metar.f90	2012-03-13 20:58:11 UTC (rev 5597)
+++ DART/branches/development/observations/MADIS/convert_madis_metar.f90	2012-03-13 20:59:52 UTC (rev 5598)
@@ -263,6 +263,15 @@
   if ( tair(n) /= tair_miss .and. qc_tair(n) == 0 .and. &
        tdew(n) /= tdew_miss .and. qc_tdew(n) == 0  ) then
 
+    ! before we start computing things based on the dewpoint,
+    ! 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)
+    endif
+
     ! add specific humidity to obs_seq
     if ( include_specific_humidity .and. &
          alti(n) /= alti_miss .and. qc_alti(n) == 0 ) then
@@ -329,6 +338,8 @@
 
   endif  ! quality control/missing check on tair, tdew
 
+100 continue
+
   nused = nused + 1
   latu(nused) =  lat(n)
   lonu(nused) =  lon(n)

Modified: DART/branches/development/observations/MADIS/convert_madis_profiler.f90
===================================================================
--- DART/branches/development/observations/MADIS/convert_madis_profiler.f90	2012-03-13 20:58:11 UTC (rev 5597)
+++ DART/branches/development/observations/MADIS/convert_madis_profiler.f90	2012-03-13 20:59:52 UTC (rev 5598)
@@ -25,7 +25,7 @@
 !     increasing times)    nancy collins,  ncar/image   11 march 2010
 !     
 !     keep original obs times, make source for all converters as similar
-!     as possbile.   nancy collins,  ncar/image   26 march 2010
+!     as possible.   nancy collins,  ncar/image   26 march 2010
 !
 !     adapted June 2011, nancy collins, ncar/image, Glen Romine ncar/mmm
 !     - split from the satwind version

Modified: DART/branches/development/observations/MADIS/convert_madis_rawin.f90
===================================================================
--- DART/branches/development/observations/MADIS/convert_madis_rawin.f90	2012-03-13 20:58:11 UTC (rev 5597)
+++ DART/branches/development/observations/MADIS/convert_madis_rawin.f90	2012-03-13 20:59:52 UTC (rev 5598)
@@ -310,6 +310,15 @@
       if ( tair(k) /= tair_miss .and. qc_tair(k) == 0 .and. &
            tdew(k) /= tdew_miss .and. qc_tdew(k) == 0  ) then
   
+        ! before we start computing things based on the dewpoint,
+        ! 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)
+        endif
+
         ! tdew is the dewpoint depression
         dptk = tair(k) - tdew(k)
   
@@ -376,6 +385,8 @@
     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 )
 
@@ -422,6 +433,15 @@
       if ( tair(k) /= tair_miss .and. qc_tair(k) == 0 .and. &
            tdew(k) /= tdew_miss .and. qc_tdew(k) == 0  ) then
 
+        ! before we start computing things based on the dewpoint,
+        ! 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)
+        endif
+
         ! tdew is the dewpoint depression
         dptk = tair(k) - tdew(k)
 
@@ -489,6 +509,8 @@
 
   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