[Dart-dev] [4329] DART/trunk/observations/MADIS: Make the limits on good obs consistent across all converters

nancy at ucar.edu nancy at ucar.edu
Fri Mar 26 16:05:59 MDT 2010


Revision: 4329
Author:   nancy
Date:     2010-03-26 16:05:59 -0600 (Fri, 26 Mar 2010)
Log Message:
-----------
Make the limits on good obs consistent across all converters
for specific/relative humidity, and dewpoint.

Modified Paths:
--------------
    DART/trunk/observations/MADIS/convert_madis_acars.f90
    DART/trunk/observations/MADIS/convert_madis_marine.f90
    DART/trunk/observations/MADIS/convert_madis_mesonet.f90
    DART/trunk/observations/MADIS/convert_madis_metar.f90
    DART/trunk/observations/MADIS/convert_madis_rawin.f90

-------------- next part --------------
Modified: DART/trunk/observations/MADIS/convert_madis_acars.f90
===================================================================
--- DART/trunk/observations/MADIS/convert_madis_acars.f90	2010-03-26 21:32:33 UTC (rev 4328)
+++ DART/trunk/observations/MADIS/convert_madis_acars.f90	2010-03-26 22:05:59 UTC (rev 4329)
@@ -261,7 +261,8 @@
          endif
          oerr = max(qerr * qsat, 0.0001_r8)
   
-         if ( abs(qobs) < 0.1_r8 .and. qerr /= missing_r8 ) then
+         if ( qobs >  0.0_r8  .and. &
+              qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
   
             call create_3d_obs(lat(n), lon(n), pres, VERTISPRESSURE, qobs, &
                                ACARS_SPECIFIC_HUMIDITY, oerr, oday, osec, qc, obs)
@@ -282,9 +283,13 @@
             oerr = acars_rel_hum_error(pres * 0.01_r8, tair(n), relh(n))
          endif
   
-         call create_3d_obs(lat(n), lon(n), pres, VERTISPRESSURE, relh(n), &
-                            ACARS_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
-         call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+         if ( relh(n) >  0.0_r8 .and. &
+              relh(n) <= 1.5_r8 .and. oerr /= missing_r8 ) then
+
+           call create_3d_obs(lat(n), lon(n), pres, VERTISPRESSURE, relh(n), &
+                              ACARS_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
+           call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+         endif
   
       endif
   
@@ -293,10 +298,14 @@
   
          oerr = dewpt_error_from_rh_and_temp(tair(n), relh(n))
   
-         call create_3d_obs(lat(n), lon(n), pres, VERTISPRESSURE, tdew(n), &
-                            ACARS_DEWPOINT, oerr, oday, osec, qc, obs)
-         call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+         if ( relh(n) >  0.0_r8 .and. &
+              relh(n) <= 1.5_r8 .and. oerr /= missing_r8 ) then
+
+           call create_3d_obs(lat(n), lon(n), pres, VERTISPRESSURE, tdew(n), &
+                              ACARS_DEWPOINT, oerr, oday, osec, qc, obs)
+           call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
   
+         endif
       endif
   
   endif  ! quality control/missing check on tair, tdew, and relh

Modified: DART/trunk/observations/MADIS/convert_madis_marine.f90
===================================================================
--- DART/trunk/observations/MADIS/convert_madis_marine.f90	2010-03-26 21:32:33 UTC (rev 4328)
+++ DART/trunk/observations/MADIS/convert_madis_marine.f90	2010-03-26 22:05:59 UTC (rev 4329)
@@ -324,7 +324,8 @@
       endif
       oerr = max(qerr * qsat, 0.0001_r8)
   
-      if ( qobs >= 0.0_r8 .and. qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
+      if ( qobs >  0.0_r8  .and. &
+           qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
   
         call create_3d_obs(lat(n), lon(n), def_elev, VERTISSURFACE, qobs, &
                            MARINE_SFC_SPECIFIC_HUMIDITY, oerr, oday, osec, qc, obs)
@@ -348,10 +349,14 @@
         endif
       endif
   
-      call create_3d_obs(lat(n), lon(n), def_elev, VERTISSURFACE, rh, &
-                         MARINE_SFC_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
-      call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+      if ( rh >  0.0_r8 .and. &
+           rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+
+        call create_3d_obs(lat(n), lon(n), def_elev, VERTISSURFACE, rh, &
+                           MARINE_SFC_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
+        call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
   
+      endif
     endif
   
     ! add dew-point temperature data to obs_seq
@@ -360,10 +365,14 @@
       rh = temp_and_dewpoint_to_rh(tair(n), tdew(n))
       oerr = dewpt_error_from_rh_and_temp(tair(n), rh)
   
-      call create_3d_obs(lat(n), lon(n), def_elev, VERTISSURFACE, tdew(n), &
-                         MARINE_SFC_DEWPOINT, oerr, oday, osec, qc, obs)
-      call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+      if ( rh >  0.0_r8 .and. &
+           rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+
+        call create_3d_obs(lat(n), lon(n), def_elev, VERTISSURFACE, tdew(n), &
+                           MARINE_SFC_DEWPOINT, oerr, oday, osec, qc, obs)
+        call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
   
+      endif
     endif
 
   endif  ! quality control/missing check on tair, tdew

Modified: DART/trunk/observations/MADIS/convert_madis_mesonet.f90
===================================================================
--- DART/trunk/observations/MADIS/convert_madis_mesonet.f90	2010-03-26 21:32:33 UTC (rev 4328)
+++ DART/trunk/observations/MADIS/convert_madis_mesonet.f90	2010-03-26 22:05:59 UTC (rev 4329)
@@ -277,7 +277,8 @@
       endif
       oerr = max(qerr * qsat, 0.0001_r8)
   
-      if ( qobs > 0.0_r8 .and. qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
+      if ( qobs >  0.0_r8  .and. &
+           qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
   
         call create_3d_obs(lat(n), lon(n), elev(n), VERTISSURFACE, qobs, &
                            LAND_SFC_SPECIFIC_HUMIDITY, oerr, oday, osec, qc, obs)
@@ -297,7 +298,8 @@
         oerr = land_rel_hum_error(pres, tair(n), rh)    
       endif
   
-      if ( rh > 0.0_r8 .and. rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+      if ( rh >  0.0_r8 .and. &
+           rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
   
         call create_3d_obs(lat(n), lon(n), elev(n), VERTISSURFACE, rh, &
                            LAND_SFC_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
@@ -313,7 +315,8 @@
       rh = temp_and_dewpoint_to_rh(tair(n), tdew(n))
       oerr = dewpt_error_from_rh_and_temp(tair(n), rh)
   
-      if ( rh > 0.0_r8 .and. rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+      if ( rh >  0.0_r8 .and. &
+           rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
   
         call create_3d_obs(lat(n), lon(n), elev(n), VERTISSURFACE, tdew(n), &
                            LAND_SFC_DEWPOINT, oerr, oday, osec, qc, obs)

Modified: DART/trunk/observations/MADIS/convert_madis_metar.f90
===================================================================
--- DART/trunk/observations/MADIS/convert_madis_metar.f90	2010-03-26 21:32:33 UTC (rev 4328)
+++ DART/trunk/observations/MADIS/convert_madis_metar.f90	2010-03-26 22:05:59 UTC (rev 4329)
@@ -280,7 +280,8 @@
       endif
       oerr = max(qerr * qsat, 0.0001_r8)
   
-      if ( qobs > 0.0_r8 .and. qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
+      if ( qobs >  0.0_r8  .and. &
+           qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
   
         call create_3d_obs(lat(n), lon(n), elev(n), VERTISSURFACE, qobs, &
                            METAR_SPECIFIC_HUMIDITY_2_METER, oerr, oday, osec, qc, obs)
@@ -300,7 +301,8 @@
         oerr = land_rel_hum_error(pres, tair(n), rh)    
       endif
   
-      if ( rh > 0.0_r8 .and. rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+      if ( rh >  0.0_r8 .and. &
+           rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
   
         call create_3d_obs(lat(n), lon(n), elev(n), VERTISSURFACE, rh, &
                            METAR_RELATIVE_HUMIDITY_2_METER, oerr, oday, osec, qc, obs)
@@ -316,7 +318,8 @@
       rh = temp_and_dewpoint_to_rh(tair(n), tdew(n))
       oerr = dewpt_error_from_rh_and_temp(tair(n), rh)
   
-      if ( rh > 0.0_r8 .and. rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+      if ( rh >  0.0_r8 .and. &
+           rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
   
         call create_3d_obs(lat(n), lon(n), elev(n), VERTISSURFACE, tdew(n), &
                            METAR_DEWPOINT_2_METER, oerr, oday, osec, qc, obs)

Modified: DART/trunk/observations/MADIS/convert_madis_rawin.f90
===================================================================
--- DART/trunk/observations/MADIS/convert_madis_rawin.f90	2010-03-26 21:32:33 UTC (rev 4328)
+++ DART/trunk/observations/MADIS/convert_madis_rawin.f90	2010-03-26 22:05:59 UTC (rev 4329)
@@ -325,7 +325,8 @@
         endif
         oerr = max(qerr * qsat, 0.0001_r8)
   
-        if ( qobs > 0.0_r8 .and. qobs <= 0.070_r8 .and. qerr /= missing_r8 ) then
+        if ( qobs >  0.0_r8  .and. &
+             qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
   
           call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, qobs, &
                              RADIOSONDE_SPECIFIC_HUMIDITY, oerr, oday, osec, qc, obs)
@@ -344,10 +345,14 @@
           oerr = rawin_rel_hum_error(pres(k), tair(k), rh)
         endif
   
-        call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, rh, &
-                           RADIOSONDE_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
-        call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+        if ( rh >  0.0_r8 .and. &
+             rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
 
+          call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, rh, &
+                             RADIOSONDE_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
+          call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+        endif
+
       endif
   
       if ( include_dewpoint ) then
@@ -355,10 +360,15 @@
         rh = temp_and_dewpoint_to_rh(tair(k), dptk)
         oerr = dewpt_error_from_rh_and_temp(tair(k), rh)
   
-        call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, dptk, &
-                           RADIOSONDE_DEWPOINT, oerr, oday, osec, qc, obs)
-        call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+        if ( rh >  0.0_r8 .and. &
+             rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
 
+          call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, dptk, &
+                             RADIOSONDE_DEWPOINT, oerr, oday, osec, qc, obs)
+          call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+
+        endif
+
       endif
 
     endif  ! quality control/missing check on tair, tdew
@@ -425,7 +435,8 @@
             qerr = rawin_rel_hum_error(pres(k), tair(k), qobs / qsat)
           endif
           oerr = max(qerr * qsat, 0.0001_r8)
-          if ( qobs > 0.0_r8 .and. qobs <= 0.070_r8 .and. qerr /= missing_r8 ) then
+          if ( qobs >  0.0_r8  .and. &
+               qobs <= 0.07_r8 .and. qerr /= missing_r8 ) then
   
             call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, qobs, &
                                RADIOSONDE_SPECIFIC_HUMIDITY, oerr, oday, osec, qc, obs)
@@ -444,10 +455,15 @@
             oerr = rawin_rel_hum_error(pres(k), tair(k), rh)
           endif
           
-          call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, rh, &
-                             RADIOSONDE_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
-          call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+          if ( rh >  0.0_r8 .and. &
+               rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+
+            call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, rh, &
+                               RADIOSONDE_RELATIVE_HUMIDITY, oerr, oday, osec, qc, obs)
+            call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
   
+          endif
+
         endif
   
         if ( include_dewpoint ) then
@@ -455,10 +471,15 @@
           rh = temp_and_dewpoint_to_rh(tair(k), dptk)
           oerr = dewpt_error_from_rh_and_temp(tair(k), rh)
   
-          call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, dptk, &
-                             RADIOSONDE_DEWPOINT, oerr, oday, osec, qc, obs)
-          call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
+          if ( rh >  0.0_r8 .and. &
+               rh <= 1.5_r8 .and. oerr /= missing_r8 ) then
+
+            call create_3d_obs(lat, lon, prespa, VERTISPRESSURE, dptk, &
+                               RADIOSONDE_DEWPOINT, oerr, oday, osec, qc, obs)
+            call add_obs_to_seq(obs_seq, obs, time_obs, prev_obs, prev_time, first_obs)
   
+          endif
+
         endif
 
       endif  ! quality control/missing check on tair and tdew


More information about the Dart-dev mailing list