[Dart-dev] [5709] DART/trunk/observations/NCEP/ascii_to_obs/real_obs_mod.f90: bug fix from ryan.

nancy at ucar.edu nancy at ucar.edu
Thu Apr 26 13:33:18 MDT 2012


Revision: 5709
Author:   nancy
Date:     2012-04-26 13:33:18 -0600 (Thu, 26 Apr 2012)
Log Message:
-----------
bug fix from ryan.  options were added to the name list
to selectively include dew point and rh obs, but the code
was still skipping them because it was missing the lines
that tested for and included them.

Modified Paths:
--------------
    DART/trunk/observations/NCEP/ascii_to_obs/real_obs_mod.f90

-------------- next part --------------
Modified: DART/trunk/observations/NCEP/ascii_to_obs/real_obs_mod.f90
===================================================================
--- DART/trunk/observations/NCEP/ascii_to_obs/real_obs_mod.f90	2012-04-18 22:12:04 UTC (rev 5708)
+++ DART/trunk/observations/NCEP/ascii_to_obs/real_obs_mod.f90	2012-04-26 19:33:18 UTC (rev 5709)
@@ -286,12 +286,12 @@
 
    if(obs_prof == 5) then
      if ( zob2 == 0.0_r8 .and. inc_specific_humidity ) then
-    obs_kind_gen = KIND_SPECIFIC_HUMIDITY
-    if(obstype == 120 .or. obstype == 132) obs_kind = RADIOSONDE_SPECIFIC_HUMIDITY
+       obs_kind_gen = KIND_SPECIFIC_HUMIDITY
+       if(obstype == 120 .or. obstype == 132) obs_kind = RADIOSONDE_SPECIFIC_HUMIDITY
        if(obstype == 130 .or. obstype == 131) obs_kind = AIRCRAFT_SPECIFIC_HUMIDITY
        if(obstype == 133                    ) obs_kind = ACARS_SPECIFIC_HUMIDITY
-    if(obstype == 180 .or. obstype == 182) obs_kind = MARINE_SFC_SPECIFIC_HUMIDITY
-    if(obstype == 181 .or. obstype == 183) obs_kind = LAND_SFC_SPECIFIC_HUMIDITY
+       if(obstype == 180 .or. obstype == 182) obs_kind = MARINE_SFC_SPECIFIC_HUMIDITY
+       if(obstype == 181 .or. obstype == 183) obs_kind = LAND_SFC_SPECIFIC_HUMIDITY
      else if ( zob2 == 1.0_r8 .and. inc_relative_humidity ) then
        obs_kind_gen = KIND_RELATIVE_HUMIDITY
        if(obstype == 120 .or. obstype == 132) obs_kind = RADIOSONDE_RELATIVE_HUMIDITY
@@ -308,40 +308,40 @@
        if(obstype == 181 .or. obstype == 183) obs_kind = LAND_SFC_DEWPOINT
      endif
    endif
-    
+
    if(obs_prof == 3) then
-    obs_kind_gen = KIND_SURFACE_PRESSURE
-    if(obstype == 120                    ) obs_kind = RADIOSONDE_SURFACE_ALTIMETER
-    if(obstype == 180 .or. obstype == 182) obs_kind = MARINE_SFC_ALTIMETER
-    if(obstype == 181                    ) obs_kind = LAND_SFC_ALTIMETER
+     obs_kind_gen = KIND_SURFACE_PRESSURE
+     if(obstype == 120                    ) obs_kind = RADIOSONDE_SURFACE_ALTIMETER
+     if(obstype == 180 .or. obstype == 182) obs_kind = MARINE_SFC_ALTIMETER
+     if(obstype == 181                    ) obs_kind = LAND_SFC_ALTIMETER
    endif
 
    if(obs_prof == 2) then
-    obs_kind_gen = KIND_U_WIND_COMPONENT
-    if(obstype == 220 .or. obstype == 232) obs_kind = RADIOSONDE_U_WIND_COMPONENT
-    if(obstype == 221                    ) obs_kind = RADIOSONDE_U_WIND_COMPONENT
-    if(obstype == 230 .or. obstype == 231) obs_kind = AIRCRAFT_U_WIND_COMPONENT
-    if(obstype == 233                    ) obs_kind = ACARS_U_WIND_COMPONENT
-    if(obstype == 242 .or. obstype == 243) obs_kind = SAT_U_WIND_COMPONENT
-    if(obstype == 245 .or. obstype == 246) obs_kind = SAT_U_WIND_COMPONENT
-    if(obstype == 252 .or. obstype == 253) obs_kind = SAT_U_WIND_COMPONENT
-    if(obstype == 255                    ) obs_kind = SAT_U_WIND_COMPONENT
-    if(obstype == 280 .or. obstype == 282) obs_kind = MARINE_SFC_U_WIND_COMPONENT
-    if(obstype == 281 .or. obstype == 284) obs_kind = LAND_SFC_U_WIND_COMPONENT
+     obs_kind_gen = KIND_U_WIND_COMPONENT
+     if(obstype == 220 .or. obstype == 232) obs_kind = RADIOSONDE_U_WIND_COMPONENT
+     if(obstype == 221                    ) obs_kind = RADIOSONDE_U_WIND_COMPONENT
+     if(obstype == 230 .or. obstype == 231) obs_kind = AIRCRAFT_U_WIND_COMPONENT
+     if(obstype == 233                    ) obs_kind = ACARS_U_WIND_COMPONENT
+     if(obstype == 242 .or. obstype == 243) obs_kind = SAT_U_WIND_COMPONENT
+     if(obstype == 245 .or. obstype == 246) obs_kind = SAT_U_WIND_COMPONENT
+     if(obstype == 252 .or. obstype == 253) obs_kind = SAT_U_WIND_COMPONENT
+     if(obstype == 255                    ) obs_kind = SAT_U_WIND_COMPONENT
+     if(obstype == 280 .or. obstype == 282) obs_kind = MARINE_SFC_U_WIND_COMPONENT
+     if(obstype == 281 .or. obstype == 284) obs_kind = LAND_SFC_U_WIND_COMPONENT
    endif
 
    if(obs_prof == 9) then
-    obs_kind_gen = KIND_V_WIND_COMPONENT
-    if(obstype == 220 .or. obstype == 232) obs_kind = RADIOSONDE_V_WIND_COMPONENT
-    if(obstype == 221                    ) obs_kind = RADIOSONDE_V_WIND_COMPONENT
-    if(obstype == 230 .or. obstype == 231) obs_kind = AIRCRAFT_V_WIND_COMPONENT
-    if(obstype == 233                    ) obs_kind = ACARS_V_WIND_COMPONENT
-    if(obstype == 242 .or. obstype == 243) obs_kind = SAT_V_WIND_COMPONENT
-    if(obstype == 245 .or. obstype == 246) obs_kind = SAT_V_WIND_COMPONENT
-    if(obstype == 252 .or. obstype == 253) obs_kind = SAT_V_WIND_COMPONENT
-    if(obstype == 255                    ) obs_kind = SAT_V_WIND_COMPONENT
-    if(obstype == 280 .or. obstype == 282) obs_kind = MARINE_SFC_V_WIND_COMPONENT
-    if(obstype == 281 .or. obstype == 284) obs_kind = LAND_SFC_V_WIND_COMPONENT
+     obs_kind_gen = KIND_V_WIND_COMPONENT
+     if(obstype == 220 .or. obstype == 232) obs_kind = RADIOSONDE_V_WIND_COMPONENT
+     if(obstype == 221                    ) obs_kind = RADIOSONDE_V_WIND_COMPONENT
+     if(obstype == 230 .or. obstype == 231) obs_kind = AIRCRAFT_V_WIND_COMPONENT
+     if(obstype == 233                    ) obs_kind = ACARS_V_WIND_COMPONENT
+     if(obstype == 242 .or. obstype == 243) obs_kind = SAT_V_WIND_COMPONENT
+     if(obstype == 245 .or. obstype == 246) obs_kind = SAT_V_WIND_COMPONENT
+     if(obstype == 252 .or. obstype == 253) obs_kind = SAT_V_WIND_COMPONENT
+     if(obstype == 255                    ) obs_kind = SAT_V_WIND_COMPONENT
+     if(obstype == 280 .or. obstype == 282) obs_kind = MARINE_SFC_V_WIND_COMPONENT
+     if(obstype == 281 .or. obstype == 284) obs_kind = LAND_SFC_V_WIND_COMPONENT
    endif
 
    if (obs_kind < 0) then
@@ -376,16 +376,18 @@
           (SATWND .and. (subset =='SATWND'))       ) then
 
          ! then select the obs kind requested
-         if( (obs_T  .and. (obs_kind_gen == KIND_TEMPERATURE ))      .or. &
-             (obs_U  .and. (obs_kind_gen == KIND_U_WIND_COMPONENT )) .or. &
-             (obs_V  .and. (obs_kind_gen == KIND_V_WIND_COMPONENT )) .or. &
-             (obs_PS .and. (obs_kind_gen == KIND_SURFACE_PRESSURE))  .or. &
-             (obs_QV .and. (obs_kind_gen == KIND_SPECIFIC_HUMIDITY))      ) then
+         if( (obs_T                 .and. (obs_kind_gen == KIND_TEMPERATURE ))      .or. &
+             (obs_U                 .and. (obs_kind_gen == KIND_U_WIND_COMPONENT )) .or. &
+             (obs_V                 .and. (obs_kind_gen == KIND_V_WIND_COMPONENT )) .or. &
+             (obs_PS                .and. (obs_kind_gen == KIND_SURFACE_PRESSURE))  .or. &
+             (obs_QV                .and. (obs_kind_gen == KIND_SPECIFIC_HUMIDITY)) .or. &
+             (inc_relative_humidity .and. (obs_kind_gen == KIND_RELATIVE_HUMIDITY)) .or. &
+             (inc_dewpoint          .and. (obs_kind_gen == KIND_DEWPOINT)) ) then
              pass = .false.
          endif
 
       endif
-     
+
       ! if pass is still true, we want to ignore this obs.
       if(pass) then
          iskip(fail_notwanted) = iskip(fail_notwanted) + 1
@@ -414,7 +416,7 @@
       print*, 'Max limit for observation count reached.  Increase value in namelist'
       stop
    endif
-   
+
    ! set vertical coordinate for upper-air observations
    if (subset == 'AIRCAR' .or. subset == 'AIRCFT' .or. &
        subset == 'SATWND' .or. subset == 'ADPUPA' ) then


More information about the Dart-dev mailing list