[Dart-dev] [4927] DART/trunk/filter: Update some currently unused subroutines which had errors.

nancy at ucar.edu nancy at ucar.edu
Tue May 31 14:36:51 MDT 2011


Revision: 4927
Author:   nancy
Date:     2011-05-31 14:36:51 -0600 (Tue, 31 May 2011)
Log Message:
-----------
Update some currently unused subroutines which had errors.
(they are expected to be used in a future update of filter).

Modified Paths:
--------------
    DART/trunk/filter/filter.dopplerfold.f90
    DART/trunk/filter/filter.f90

-------------- next part --------------
Modified: DART/trunk/filter/filter.dopplerfold.f90
===================================================================
--- DART/trunk/filter/filter.dopplerfold.f90	2011-05-31 19:58:32 UTC (rev 4926)
+++ DART/trunk/filter/filter.dopplerfold.f90	2011-05-31 20:36:51 UTC (rev 4927)
@@ -21,7 +21,7 @@
                                  set_qc_meta_data, get_expected_obs, get_first_obs,          &
                                  get_obs_time_range, delete_obs_from_seq, delete_seq_head,   &
                                  delete_seq_tail, replace_obs_values, replace_qc,            &
-                                 destroy_obs_sequence
+                                 destroy_obs_sequence, get_qc_meta_data
 use obs_def_mod,          only : obs_def_type, get_obs_def_error_variance, get_obs_def_time
 use time_manager_mod,     only : time_type, get_time, set_time, operator(/=), operator(>),   &
                                  operator(-), print_time
@@ -1009,6 +1009,28 @@
 
 !-------------------------------------------------------------------------
 
+function get_obs_prior_index(seq)
+
+type(obs_sequence_type), intent(in) :: seq
+integer                             :: get_obs_prior_index
+
+integer :: i
+
+! Determine which copy in sequence has prior mean, if any.
+!--------
+do i = 1, get_num_copies(seq)
+   get_obs_prior_index = i
+   ! Need to look for 'prior mean'
+   if(index(get_copy_meta_data(seq, i), 'prior ensemble mean') > 0) return
+end do
+! Falling of end means 'prior mean' not found; not fatal!
+
+get_obs_prior_index = -1
+
+end function get_obs_prior_index
+
+!-------------------------------------------------------------------------
+
 function get_obs_qc_index(seq)
 
 type(obs_sequence_type), intent(in) :: seq
@@ -1025,10 +1047,12 @@
 do i = 1, get_num_qc(seq)
    get_obs_qc_index = i
    ! Need to look for 'QC' or 'qc'
-   if(index(get_copy_meta_data(seq, i), 'QC') > 0) return
-   if(index(get_copy_meta_data(seq, i), 'qc') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'QC') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'qc') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'Quality Control') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'QUALITY CONTROL') > 0) return
 end do
-! Falling off end means 'QC' or 'qc' not found; not fatal!
+! Falling off end means 'QC' string not found; not fatal!
 
 get_obs_qc_index = -1
 
@@ -1048,7 +1072,7 @@
 do i = 1, get_num_qc(seq)
    get_obs_dartqc_index = i
    ! Need to look for 'DART quality control'
-   if(index(get_copy_meta_data(seq, i), 'DART quality control') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'DART quality control') > 0) return
 end do
 ! Falling off end means 'DART quality control' not found; not fatal!
 

Modified: DART/trunk/filter/filter.f90
===================================================================
--- DART/trunk/filter/filter.f90	2011-05-31 19:58:32 UTC (rev 4926)
+++ DART/trunk/filter/filter.f90	2011-05-31 20:36:51 UTC (rev 4927)
@@ -21,7 +21,7 @@
                                  set_qc_meta_data, get_expected_obs, get_first_obs,          &
                                  get_obs_time_range, delete_obs_from_seq, delete_seq_head,   &
                                  delete_seq_tail, replace_obs_values, replace_qc,            &
-                                 destroy_obs_sequence
+                                 destroy_obs_sequence, get_qc_meta_data
 use obs_def_mod,          only : obs_def_type, get_obs_def_error_variance, get_obs_def_time
 use time_manager_mod,     only : time_type, get_time, set_time, operator(/=), operator(>),   &
                                  operator(-), print_time
@@ -1003,6 +1003,28 @@
 
 !-------------------------------------------------------------------------
 
+function get_obs_prior_index(seq)
+
+type(obs_sequence_type), intent(in) :: seq
+integer                             :: get_obs_prior_index
+
+integer :: i
+
+! Determine which copy in sequence has prior mean, if any.
+!--------
+do i = 1, get_num_copies(seq)
+   get_obs_prior_index = i
+   ! Need to look for 'prior mean'
+   if(index(get_copy_meta_data(seq, i), 'prior ensemble mean') > 0) return
+end do
+! Falling of end means 'prior mean' not found; not fatal!
+
+get_obs_prior_index = -1
+
+end function get_obs_prior_index
+
+!-------------------------------------------------------------------------
+
 function get_obs_qc_index(seq)
 
 type(obs_sequence_type), intent(in) :: seq
@@ -1019,10 +1041,12 @@
 do i = 1, get_num_qc(seq)
    get_obs_qc_index = i
    ! Need to look for 'QC' or 'qc'
-   if(index(get_copy_meta_data(seq, i), 'QC') > 0) return
-   if(index(get_copy_meta_data(seq, i), 'qc') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'QC') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'qc') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'Quality Control') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'QUALITY CONTROL') > 0) return
 end do
-! Falling off end means 'QC' or 'qc' not found; not fatal!
+! Falling off end means 'QC' string not found; not fatal!
 
 get_obs_qc_index = -1
 
@@ -1042,7 +1066,7 @@
 do i = 1, get_num_qc(seq)
    get_obs_dartqc_index = i
    ! Need to look for 'DART quality control'
-   if(index(get_copy_meta_data(seq, i), 'DART quality control') > 0) return
+   if(index(get_qc_meta_data(seq, i), 'DART quality control') > 0) return
 end do
 ! Falling off end means 'DART quality control' not found; not fatal!
 


More information about the Dart-dev mailing list