Changeset 203
- Timestamp:
- 06/05/08 13:33:04
- Files:
-
- scout/trunk/cdl_0master.pl (modified) (14 diffs)
- scout/trunk/cdl_fixed_point.pl (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
scout/trunk/cdl_0master.pl
r201 r203 229 229 #DWR v1.1.0.0 6/2/2008 230 230 #Added use of $iLastNTimeStamps. 231 $iLastNTimeStamps = 4; 232 # fixed_point_1($this_station_id_top_ts, $FileCreationOption, $strObsKMLDir, $iLastNTimeStamps ); 231 #fixed_point_1($this_station_id_top_ts, $FileCreationOption, $strObsKMLDir, $iLastNTimeStamps ); 233 232 fixed_point($this_station_id_top_ts, $FileCreationOption, $strObsKMLDir, $iLastNTimeStamps ); 234 233 } … … 1909 1908 if( length( $strUnits ) == 0 ) 1910 1909 { 1911 $strUnits = $sea_surface_temperature[$i]{'units'}; 1910 #DWR v1.1.0.0 1911 #Make sure we don't have any unprintable characters. 1912 $strUnits = obsKMLSubRoutines::CleanString( $sea_surface_temperature[$i]{'units'} ); 1912 1913 } 1913 1914 obsKMLSubRoutines::KMLAddObsToHash( 'water_temperature', … … 2033 2034 if( length( $strUnits ) == 0 ) 2034 2035 { 2035 $strUnits = $sea_bottom_temperature[$i]{'units'}; 2036 #DWR v1.1.0.0 2037 #Make sure we don't have any unprintable characters. 2038 $strUnits = obsKMLSubRoutines::CleanString( $sea_bottom_temperature[$i]{'units'} ); 2036 2039 } 2037 2040 obsKMLSubRoutines::KMLAddObsToHash( 'water_temperature', … … 2121 2124 for my $i (0..$#air_temperature) 2122 2125 { 2123 for my $j ($iStartingNdx..$# air_temperature) #DWR v1.1.0.0 Starting index now set to $iStartingNdx2126 for my $j ($iStartingNdx..$#this_air_temperature_data) #DWR v1.1.0.0 Starting index now set to $iStartingNdx 2124 2127 #for my $j (0..$#air_temperature) 2125 2128 { … … 2146 2149 if( length( $strUnits ) == 0 ) 2147 2150 { 2148 $strUnits = $air_temperature[$i]{'units'}; 2151 #DWR v1.1.0.0 2152 #Make sure we don't have any unprintable characters. 2153 $strUnits = obsKMLSubRoutines::CleanString( $air_temperature[$i]{'units'} ); 2154 2149 2155 } 2150 2156 obsKMLSubRoutines::KMLAddObsToHash( 'air_temperature', … … 2338 2344 if( length( $strUnits ) == 0 ) 2339 2345 { 2340 $strUnits = $wind_speed[$i]{'units'}; 2346 #DWR v1.1.0.0 2347 #Make sure we don't have any unprintable characters. 2348 $strUnits = obsKMLSubRoutines::CleanString( $wind_speed[$i]{'units'} ); 2349 2341 2350 } 2342 2351 2343 2352 obsKMLSubRoutines::KMLAddObsToHash( 'wind_speed', 2344 $KMLTimeStamp[$ j],2353 $KMLTimeStamp[$k], 2345 2354 $WindSpdDataVal, 2346 2355 1, … … 2353 2362 if( length( $strUnits ) == 0 ) 2354 2363 { 2355 $strUnits = $wind_from_direction[$i]{'units'}; 2364 #DWR v1.1.0.0 2365 #Make sure we don't have any unprintable characters. 2366 $strUnits = obsKMLSubRoutines::CleanString( $wind_from_direction[$i]{'units'} ); 2356 2367 } 2357 2368 obsKMLSubRoutines::KMLAddObsToHash( 'wind_from_direction', 2358 $KMLTimeStamp[$ j],2369 $KMLTimeStamp[$k], 2359 2370 $WindDirDataVal, 2360 2371 1, … … 2367 2378 if( length( $strUnits ) == 0 ) 2368 2379 { 2369 $strUnits = $wind_gust[$i]{'units'}; 2380 #DWR v1.1.0.0 2381 #Make sure we don't have any unprintable characters. 2382 $strUnits = obsKMLSubRoutines::CleanString( $wind_gust[$i]{'units'} ); 2370 2383 } 2371 2384 obsKMLSubRoutines::KMLAddObsToHash( 'wind_gust', 2372 $KMLTimeStamp[$ j],2385 $KMLTimeStamp[$k], 2373 2386 $WindGstDataVal, 2374 2387 1, … … 2480 2493 if( length( $strUnits ) == 0 ) 2481 2494 { 2482 $strUnits = $air_pressure[$i]{'units'}; 2495 #DWR v1.1.0.0 2496 #Make sure we don't have any unprintable characters. 2497 $strUnits = obsKMLSubRoutines::CleanString( $air_pressure[$i]{'units'} ); 2483 2498 } 2484 2499 obsKMLSubRoutines::KMLAddObsToHash( 'air_pressure', … … 2595 2610 if( length( $strUnits ) == 0 ) 2596 2611 { 2597 $strUnits = $salinity[$i]{'units'}; 2612 #DWR v1.1.0.0 2613 #Make sure we don't have any unprintable characters. 2614 $strUnits = obsKMLSubRoutines::CleanString( $salinity[$i]{'units'} ); 2598 2615 } 2599 2616 … … 2747 2764 if( length( $strUnits ) == 0 ) 2748 2765 { 2749 $strUnits = $sea_surface_eastward_current[$i]{'units'}; 2766 #DWR v1.1.0.0 2767 #Make sure we don't have any unprintable characters. 2768 $strUnits = obsKMLSubRoutines::CleanString( $sea_surface_eastward_current[$i]{'units'} ); 2750 2769 } 2751 2770 2752 2771 obsKMLSubRoutines::KMLAddObsToHash( 'eastward_current', 2753 $KMLTimeStamp[$ j],2772 $KMLTimeStamp[$k], 2754 2773 $ECurrentDataVal, 2755 2774 1, … … 2762 2781 if( length( $strUnits ) == 0 ) 2763 2782 { 2764 $strUnits = $sea_surface_northward_current[$i]{'units'}; 2783 #DWR v1.1.0.0 2784 #Make sure we don't have any unprintable characters. 2785 $strUnits = obsKMLSubRoutines::CleanString( $sea_surface_northward_current[$i]{'units'} ); 2765 2786 } 2766 2787 obsKMLSubRoutines::KMLAddObsToHash( 'northward_current', 2767 $KMLTimeStamp[$ j],2788 $KMLTimeStamp[$k], 2768 2789 $NCurrentDataVal, 2769 2790 1, … … 2866 2887 } 2867 2888 print WAVE_SQLFILE "\n"; 2868 #DWR 4/3/2008 2869 my $strUnits; 2870 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $dominant_wave_period[$i]{'units'}, $XMLControlFile ); 2871 if( length( $strUnits ) == 0 ) 2872 { 2873 $strUnits = $dominant_wave_period[$i]{'units'}; 2874 } 2875 2876 obsKMLSubRoutines::KMLAddObsToHash( 'dominant_wave_period', 2877 $KMLTimeStamp[$j], 2878 $DomWaveDataVal, 2879 1, 2880 $strPlatformID, 2881 $Height, 2882 $strUnits, 2883 $rObsHash ); 2884 $strUnits = ''; 2885 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $significant_wave_height[$i]{'units'}, $XMLControlFile ); 2886 if( length( $strUnits ) == 0 ) 2887 { 2888 $strUnits = $significant_wave_height[$i]{'units'}; 2889 } 2890 obsKMLSubRoutines::KMLAddObsToHash( 'significant_wave_height', 2891 $KMLTimeStamp[$j], 2892 $SigWaveHgtDataVal, 2893 1, 2894 $strPlatformID, 2895 $Height, 2896 $strUnits, 2897 $rObsHash ); 2898 2899 } 2900 close(WAVE_SQLFILE); 2889 close(WAVE_SQLFILE); 2890 } 2901 2891 } 2902 2892 #DWR 4/5/2008 … … 2926 2916 $Height = sprintf("%.2f",$significant_wave_height[$i]{'height'}); 2927 2917 } 2928 print WAVE_SQLFILE ','.'\''.$height_var{'positive'}.'\''; 2929 if ($significant_wave_height[$i]{'data'}[$j] == $missing_value_value 2930 || $significant_wave_height[$i]{'data'}[$j] == $Fill_value_value 2931 || $significant_wave_height[$i]{'data'}[$j] == '') 2918 if ($significant_wave_height[$i]{'data'}[$j] != $missing_value_value 2919 && $significant_wave_height[$i]{'data'}[$j] != $Fill_value_value 2920 && $significant_wave_height[$i]{'data'}[$j] != '') 2932 2921 { 2933 2922 $SigWaveHgtDataVal = sprintf("%.2f",$significant_wave_height[$i]{'data'}[$j]); 2934 2923 } 2935 if ($dominant_wave_period[$i]{'data'}[$j] == $missing_value_value2936 || $dominant_wave_period[$i]{'data'}[$j] == $Fill_value_value2937 || $dominant_wave_period[$i]{'data'}[$j] == '')2924 if ($dominant_wave_period[$i]{'data'}[$j] != $missing_value_value 2925 && $dominant_wave_period[$i]{'data'}[$j] != $Fill_value_value 2926 && $dominant_wave_period[$i]{'data'}[$j] != '') 2938 2927 { 2939 2928 $DomWaveDataVal = sprintf("%.2f",$dominant_wave_period[$i]{'data'}[$j]); 2940 2929 } 2941 2930 } 2942 } 2943 my $strUnits; 2944 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $dominant_wave_period[$i]{'units'}, $XMLControlFile ); 2945 if( length( $strUnits ) == 0 ) 2946 { 2947 $strUnits = $dominant_wave_period[$i]{'units'}; 2948 } 2949 2950 obsKMLSubRoutines::KMLAddObsToHash( 'dominant_wave_period', 2951 $KMLTimeStamp[$j], 2952 $DomWaveDataVal, 2953 1, 2954 $strPlatformID, 2955 $Height, 2956 $strUnits, 2957 $rObsHash ); 2958 $strUnits = ''; 2959 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $significant_wave_height[$i]{'units'}, $XMLControlFile ); 2960 if( length( $strUnits ) == 0 ) 2961 { 2962 $strUnits = $significant_wave_height[$i]{'units'}; 2963 } 2964 obsKMLSubRoutines::KMLAddObsToHash( 'significant_wave_height', 2965 $KMLTimeStamp[$j], 2966 $SigWaveHgtDataVal, 2967 1, 2968 $strPlatformID, 2969 $Height, 2970 $strUnits, 2971 $rObsHash ); 2972 2931 my $strUnits; 2932 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $dominant_wave_period[$i]{'units'}, $XMLControlFile ); 2933 if( length( $strUnits ) == 0 ) 2934 { 2935 $strUnits = obsKMLSubRoutines::CleanString( $dominant_wave_period[$i]{'units'} ); 2936 } 2937 2938 obsKMLSubRoutines::KMLAddObsToHash( 'dominant_wave_period', 2939 $KMLTimeStamp[$j], 2940 $DomWaveDataVal, 2941 1, 2942 $strPlatformID, 2943 $Height, 2944 $strUnits, 2945 $rObsHash ); 2946 $strUnits = ''; 2947 $strUnits = obsKMLSubRoutines::CleanString( obsKMLSubRoutines::UnitsStringConversion( $significant_wave_height[$i]{'units'}, $XMLControlFile ) ); 2948 if( length( $strUnits ) == 0 ) 2949 { 2950 $strUnits = $significant_wave_height[$i]{'units'}; 2951 } 2952 obsKMLSubRoutines::KMLAddObsToHash( 'significant_wave_height', 2953 $KMLTimeStamp[$j], 2954 $SigWaveHgtDataVal, 2955 1, 2956 $strPlatformID, 2957 $Height, 2958 $strUnits, 2959 $rObsHash ); 2960 } 2973 2961 } 2974 2962 } scout/trunk/cdl_fixed_point.pl
r201 r203 9 9 my $iLastNTimeStamps = $_[3]; 10 10 11 #print( "fixed_point::args: this_station_id_top_ts: $this_station_id_top_ts FileCreationOptions: $FileCreationOptions strObsKMLFilePath: $strObsKMLFilePath iLastNTimeStamps: $iLastNTimeStamps\n");11 print( "fixed_point::args: this_station_id_top_ts: $this_station_id_top_ts FileCreationOptions: $FileCreationOptions strObsKMLFilePath: $strObsKMLFilePath iLastNTimeStamps: $iLastNTimeStamps\n"); 12 12 my $bWriteSQLFiles = 1; 13 13 my $bWriteobsKMLFile = 0; … … 397 397 #will get us to the first of the N time stamps. 398 398 my $iTimeCnt = @time_values; 399 print( "iTimeCnt: $iTimeCnt iLastNTimeStamps: $iLastNTimeStamps\n" ); 399 400 if( $iTimeCnt > $iLastNTimeStamps ) 400 401 { … … 1661 1662 if( length( $strUnits ) == 0 ) 1662 1663 { 1663 $strUnits = $sea_surface_temperature[$i]{'units'}; 1664 #DWR v1.1.0.0 1665 #Make sure we don't have any unprintable characters. 1666 $strUnits = obsKMLSubRoutines::CleanString( $sea_surface_temperature[$i]{'units'} ); 1664 1667 } 1665 1668 obsKMLSubRoutines::KMLAddObsToHash( 'water_temperature', … … 1785 1788 if( length( $strUnits ) == 0 ) 1786 1789 { 1787 $strUnits = $sea_bottom_temperature[$i]{'units'}; 1790 #DWR v1.1.0.0 1791 #Make sure we don't have any unprintable characters. 1792 $strUnits = obsKMLSubRoutines::CleanString( $sea_bottom_temperature[$i]{'units'} ); 1788 1793 } 1789 1794 obsKMLSubRoutines::KMLAddObsToHash( 'water_temperature', … … 1873 1878 for my $i (0..$#air_temperature) 1874 1879 { 1875 for my $j ($iStartingNdx..$# air_temperature) #DWR v1.1.0.0 Starting index now set to $iStartingNdx1880 for my $j ($iStartingNdx..$#this_air_temperature_data) #DWR v1.1.0.0 Starting index now set to $iStartingNdx 1876 1881 #for my $j (0..$#air_temperature) 1877 1882 { … … 1898 1903 if( length( $strUnits ) == 0 ) 1899 1904 { 1900 $strUnits = $air_temperature[$i]{'units'}; 1905 #DWR v1.1.0.0 1906 #Make sure we don't have any unprintable characters. 1907 $strUnits = obsKMLSubRoutines::CleanString( $air_temperature[$i]{'units'} ); 1908 1901 1909 } 1902 1910 obsKMLSubRoutines::KMLAddObsToHash( 'air_temperature', … … 2090 2098 if( length( $strUnits ) == 0 ) 2091 2099 { 2092 $strUnits = $wind_speed[$i]{'units'}; 2100 #DWR v1.1.0.0 2101 #Make sure we don't have any unprintable characters. 2102 $strUnits = obsKMLSubRoutines::CleanString( $wind_speed[$i]{'units'} ); 2103 2093 2104 } 2094 2105 2095 2106 obsKMLSubRoutines::KMLAddObsToHash( 'wind_speed', 2096 $KMLTimeStamp[$ j],2107 $KMLTimeStamp[$k], 2097 2108 $WindSpdDataVal, 2098 2109 1, … … 2105 2116 if( length( $strUnits ) == 0 ) 2106 2117 { 2107 $strUnits = $wind_from_direction[$i]{'units'}; 2118 #DWR v1.1.0.0 2119 #Make sure we don't have any unprintable characters. 2120 $strUnits = obsKMLSubRoutines::CleanString( $wind_from_direction[$i]{'units'} ); 2108 2121 } 2109 2122 obsKMLSubRoutines::KMLAddObsToHash( 'wind_from_direction', 2110 $KMLTimeStamp[$ j],2123 $KMLTimeStamp[$k], 2111 2124 $WindDirDataVal, 2112 2125 1, … … 2119 2132 if( length( $strUnits ) == 0 ) 2120 2133 { 2121 $strUnits = $wind_gust[$i]{'units'}; 2134 #DWR v1.1.0.0 2135 #Make sure we don't have any unprintable characters. 2136 $strUnits = obsKMLSubRoutines::CleanString( $wind_gust[$i]{'units'} ); 2122 2137 } 2123 2138 obsKMLSubRoutines::KMLAddObsToHash( 'wind_gust', 2124 $KMLTimeStamp[$ j],2139 $KMLTimeStamp[$k], 2125 2140 $WindGstDataVal, 2126 2141 1, … … 2232 2247 if( length( $strUnits ) == 0 ) 2233 2248 { 2234 $strUnits = $air_pressure[$i]{'units'}; 2249 #DWR v1.1.0.0 2250 #Make sure we don't have any unprintable characters. 2251 $strUnits = obsKMLSubRoutines::CleanString( $air_pressure[$i]{'units'} ); 2235 2252 } 2236 2253 obsKMLSubRoutines::KMLAddObsToHash( 'air_pressure', … … 2347 2364 if( length( $strUnits ) == 0 ) 2348 2365 { 2349 $strUnits = $salinity[$i]{'units'}; 2366 #DWR v1.1.0.0 2367 #Make sure we don't have any unprintable characters. 2368 $strUnits = obsKMLSubRoutines::CleanString( $salinity[$i]{'units'} ); 2350 2369 } 2351 2370 … … 2499 2518 if( length( $strUnits ) == 0 ) 2500 2519 { 2501 $strUnits = $sea_surface_eastward_current[$i]{'units'}; 2520 #DWR v1.1.0.0 2521 #Make sure we don't have any unprintable characters. 2522 $strUnits = obsKMLSubRoutines::CleanString( $sea_surface_eastward_current[$i]{'units'} ); 2502 2523 } 2503 2524 2504 2525 obsKMLSubRoutines::KMLAddObsToHash( 'eastward_current', 2505 $KMLTimeStamp[$ j],2526 $KMLTimeStamp[$k], 2506 2527 $ECurrentDataVal, 2507 2528 1, … … 2514 2535 if( length( $strUnits ) == 0 ) 2515 2536 { 2516 $strUnits = $sea_surface_northward_current[$i]{'units'}; 2537 #DWR v1.1.0.0 2538 #Make sure we don't have any unprintable characters. 2539 $strUnits = obsKMLSubRoutines::CleanString( $sea_surface_northward_current[$i]{'units'} ); 2517 2540 } 2518 2541 obsKMLSubRoutines::KMLAddObsToHash( 'northward_current', 2519 $KMLTimeStamp[$ j],2542 $KMLTimeStamp[$k], 2520 2543 $NCurrentDataVal, 2521 2544 1, … … 2618 2641 } 2619 2642 print WAVE_SQLFILE "\n"; 2620 #DWR 4/3/2008 2621 my $strUnits; 2622 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $dominant_wave_period[$i]{'units'}, $XMLControlFile ); 2623 if( length( $strUnits ) == 0 ) 2624 { 2625 $strUnits = $dominant_wave_period[$i]{'units'}; 2626 } 2627 2628 obsKMLSubRoutines::KMLAddObsToHash( 'dominant_wave_period', 2629 $KMLTimeStamp[$j], 2630 $DomWaveDataVal, 2631 1, 2632 $strPlatformID, 2633 $Height, 2634 $strUnits, 2635 $rObsHash ); 2636 $strUnits = ''; 2637 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $significant_wave_height[$i]{'units'}, $XMLControlFile ); 2638 if( length( $strUnits ) == 0 ) 2639 { 2640 $strUnits = $significant_wave_height[$i]{'units'}; 2641 } 2642 obsKMLSubRoutines::KMLAddObsToHash( 'significant_wave_height', 2643 $KMLTimeStamp[$j], 2644 $SigWaveHgtDataVal, 2645 1, 2646 $strPlatformID, 2647 $Height, 2648 $strUnits, 2649 $rObsHash ); 2650 2651 } 2652 close(WAVE_SQLFILE); 2643 close(WAVE_SQLFILE); 2644 } 2653 2645 } 2654 2646 #DWR 4/5/2008 … … 2678 2670 $Height = sprintf("%.2f",$significant_wave_height[$i]{'height'}); 2679 2671 } 2680 print WAVE_SQLFILE ','.'\''.$height_var{'positive'}.'\''; 2681 if ($significant_wave_height[$i]{'data'}[$j] == $missing_value_value 2682 || $significant_wave_height[$i]{'data'}[$j] == $Fill_value_value 2683 || $significant_wave_height[$i]{'data'}[$j] == '') 2672 if ($significant_wave_height[$i]{'data'}[$j] != $missing_value_value 2673 && $significant_wave_height[$i]{'data'}[$j] != $Fill_value_value 2674 && $significant_wave_height[$i]{'data'}[$j] != '') 2684 2675 { 2685 2676 $SigWaveHgtDataVal = sprintf("%.2f",$significant_wave_height[$i]{'data'}[$j]); 2686 2677 } 2687 if ($dominant_wave_period[$i]{'data'}[$j] == $missing_value_value2688 || $dominant_wave_period[$i]{'data'}[$j] == $Fill_value_value2689 || $dominant_wave_period[$i]{'data'}[$j] == '')2678 if ($dominant_wave_period[$i]{'data'}[$j] != $missing_value_value 2679 && $dominant_wave_period[$i]{'data'}[$j] != $Fill_value_value 2680 && $dominant_wave_period[$i]{'data'}[$j] != '') 2690 2681 { 2691 2682 $DomWaveDataVal = sprintf("%.2f",$dominant_wave_period[$i]{'data'}[$j]); 2692 2683 } 2693 2684 } 2694 } 2695 my $strUnits; 2696 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $dominant_wave_period[$i]{'units'}, $XMLControlFile ); 2697 if( length( $strUnits ) == 0 ) 2698 { 2699 $strUnits = $dominant_wave_period[$i]{'units'}; 2700 } 2701 2702 obsKMLSubRoutines::KMLAddObsToHash( 'dominant_wave_period', 2703 $KMLTimeStamp[$j], 2704 $DomWaveDataVal, 2705 1, 2706 $strPlatformID, 2707 $Height, 2708 $strUnits, 2709 $rObsHash ); 2710 $strUnits = ''; 2711 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $significant_wave_height[$i]{'units'}, $XMLControlFile ); 2712 if( length( $strUnits ) == 0 ) 2713 { 2714 $strUnits = $significant_wave_height[$i]{'units'}; 2715 } 2716 obsKMLSubRoutines::KMLAddObsToHash( 'significant_wave_height', 2717 $KMLTimeStamp[$j], 2718 $SigWaveHgtDataVal, 2719 1, 2720 $strPlatformID, 2721 $Height, 2722 $strUnits, 2723 $rObsHash ); 2724 2685 my $strUnits; 2686 $strUnits = obsKMLSubRoutines::UnitsStringConversion( $dominant_wave_period[$i]{'units'}, $XMLControlFile ); 2687 if( length( $strUnits ) == 0 ) 2688 { 2689 $strUnits = obsKMLSubRoutines::CleanString( $dominant_wave_period[$i]{'units'} ); 2690 } 2691 2692 obsKMLSubRoutines::KMLAddObsToHash( 'dominant_wave_period', 2693 $KMLTimeStamp[$j], 2694 $DomWaveDataVal, 2695 1, 2696 $strPlatformID, 2697 $Height, 2698 $strUnits, 2699 $rObsHash ); 2700 $strUnits = ''; 2701 $strUnits = obsKMLSubRoutines::CleanString( obsKMLSubRoutines::UnitsStringConversion( $significant_wave_height[$i]{'units'}, $XMLControlFile ) ); 2702 if( length( $strUnits ) == 0 ) 2703 { 2704 $strUnits = $significant_wave_height[$i]{'units'}; 2705 } 2706 obsKMLSubRoutines::KMLAddObsToHash( 'significant_wave_height', 2707 $KMLTimeStamp[$j], 2708 $SigWaveHgtDataVal, 2709 1, 2710 $strPlatformID, 2711 $Height, 2712 $strUnits, 2713 $rObsHash ); 2714 } 2725 2715 } 2726 2716 }
