diff --git a/utils/obsproc/Ghrsst2Ioda.h b/utils/obsproc/Ghrsst2Ioda.h index ff1db7ff6..7f0082da8 100644 --- a/utils/obsproc/Ghrsst2Ioda.h +++ b/utils/obsproc/Ghrsst2Ioda.h @@ -184,7 +184,8 @@ namespace gdasapp { } } // Calculate the average and store datetime - int64_t seconds_s = static_cast(sum / count); + // Replace the seconds_s to 0 when count is zero + int64_t seconds_s = count != 0 ? static_cast(sum / count) : 0; // number of obs after subsampling int nobs = sst_s.size() * sst_s[0].size(); @@ -220,7 +221,7 @@ namespace gdasapp { // Basic QC Eigen::Array boundsCheck = - (iodaVars.obsVal_ > sstMin && iodaVars.obsVal_ < sstMax); + (iodaVars.obsVal_ > sstMin && iodaVars.obsVal_ < sstMax && iodaVars.datetime_ > 0.0); iodaVars.trim(boundsCheck); return iodaVars; diff --git a/utils/test/prepdata.sh b/utils/test/prepdata.sh index b7ca4a96e..d7c917e93 100755 --- a/utils/test/prepdata.sh +++ b/utils/test/prepdata.sh @@ -27,7 +27,7 @@ cdl2nc4 sss_smap_1.nc4 ${project_source_dir}/testdata/sss_smap_1.cdl cdl2nc4 sss_smap_2.nc4 ${project_source_dir}/testdata/sss_smap_2.cdl cdl2nc4 sss_smos_1.nc4 ${project_source_dir}/testdata/sss_smos_1.cdl cdl2nc4 sss_smos_2.nc4 ${project_source_dir}/testdata/sss_smos_2.cdl -cdl2nc4 ghrsst_sst_mb_202107010000.nc4 ${project_source_dir}/testdata/ghrsst_sst_mb_202107010000.cdl -cdl2nc4 ghrsst_sst_mb_202107010100.nc4 ${project_source_dir}/testdata/ghrsst_sst_mb_202107010100.cdl +cdl2nc4 ghrsst_sst_ma_202103241540.nc4 ${project_source_dir}/testdata/ghrsst_sst_ma_202103241540.cdl +cdl2nc4 ghrsst_sst_ma_202103241550.nc4 ${project_source_dir}/testdata/ghrsst_sst_ma_202103241550.cdl cdl2nc4 viirs_aod_1.nc4 ${project_source_dir}/testdata/viirs_aod_1.cdl cdl2nc4 viirs_aod_2.nc4 ${project_source_dir}/testdata/viirs_aod_2.cdl diff --git a/utils/test/testdata/ghrsst_sst_mb_202107010100.cdl b/utils/test/testdata/ghrsst_sst_ma_202103241540.cdl similarity index 68% rename from utils/test/testdata/ghrsst_sst_mb_202107010100.cdl rename to utils/test/testdata/ghrsst_sst_ma_202103241540.cdl index 870c185e9..04c28ce5c 100644 --- a/utils/test/testdata/ghrsst_sst_mb_202107010100.cdl +++ b/utils/test/testdata/ghrsst_sst_ma_202103241540.cdl @@ -1,8 +1,8 @@ -netcdf sst_MB_202107010100 { +netcdf ghrsst_sst_ma_202103241540 { dimensions: time = 1 ; - lat = 6 ; - lon = 11 ; + lat = 5 ; + lon = 10 ; variables: int crs ; crs:grid_mapping_name = "latitude_longitude" ; @@ -153,29 +153,29 @@ variables: :creator_email = "Alex.Ignatov@noaa.gov" ; :creator_name = "Alex Ignatov" ; :creator_url = "http://www.star.nesdis.noaa.gov" ; - :date_created = "20210701T021440Z" ; + :date_created = "20210324T180341Z" ; :easternmost_longitude = -179.98f ; :file_quality_level = 2 ; :gds_version_id = "02.0" ; :geospatial_lat_max = 89.f ; - :geospatial_lat_min = 52.9f ; + :geospatial_lat_min = 55.78f ; :geospatial_lat_resolution = 0.02f ; :geospatial_lat_units = "degrees_north" ; :geospatial_lon_max = -179.98f ; :geospatial_lon_min = -180.f ; :geospatial_lon_resolution = 0.02f ; :geospatial_lon_units = "degrees_east" ; - :history = "Thu Oct 5 16:24:08 2023: ncks -d lon,16555,16565 -d lat,1664,1669 /scratch1/NCEPDEV/stmp4/Shastri.Paturi/forAndrew/gdas.20210701/00/sst/20210701010000-OSPO-L3U_GHRSST-SSTsubskin-AVHRRF_MB-ACSPO_V2.70-v02.0-fv01.0.nc sst_MB_202107010100.nc\nCreated by the L2P-to-L3U conversion tool, which was developed and provided by NOAA/NESDIS/STAR and CCNY. The version is 4.1.5" ; - :id = "AVHRRF_MB-OSPO-L3U-v2.7" ; + :history = "Thu Mar 28 17:03:57 2024: ncks -d lon,11826,11835 -d lat,602,606 /scratch1/NCEPDEV/global/glopara/data/experimental_obs/gdas.20210324/18/ocean/sst/20210324154000-OSPO-L3U_GHRSST-SSTsubskin-AVHRRF_MA-ACSPO_V2.70-v02.0-fv01.0.nc ghrsst_sst_ma_202103241540.nc\nCreated by the L2P-to-L3U conversion tool, which was developed and provided by NOAA/NESDIS/STAR and CCNY. The version is 4.1.5" ; + :id = "AVHRRF_MA-OSPO-L3U-v2.7" ; :institution = "NOAA/NESDIS/OSPO" ; :keywords = "Oceans > Ocean Temperature > Sea Surface Temperature" ; :keywords_vocabulary = "NASA Global Change Master Directory (GCMD) Science Keywords" ; :license = "GHRSST protocol describes data use as free and open" ; - :metadata_link = "http://podaac.jpl.nasa.gov/ws/metadata/dataset/?format=iso&shortName=AVHRRF_MB-OSPO-L2P-v2.7" ; + :metadata_link = "http://podaac.jpl.nasa.gov/ws/metadata/dataset/?format=iso&shortName=AVHRRF_MA-OSPO-L2P-v2.7" ; :naming_authority = "org.ghrsst" ; :netcdf_version_id = "4.5.0 of Jul 23 2018 18:00:31 $" ; :northernmost_latitude = 89.f ; - :platform = "MetOpB" ; + :platform = "MetOpA" ; :processing_level = "L3U" ; :product_version = "L2P algorithm V2.70; L3U algorithm V4.1.5" ; :project = "Group for High Resolution Sea Surface Temperature" ; @@ -184,113 +184,103 @@ variables: :publisher_url = "http://www.ghrsst.org" ; :references = "Data convention: GHRSST Data Specification (GDS) v2.0. Algorithms: ACSPO-AVHRR ATBD (NOAA/NESDIS/OSPO)" ; :sensor = "AVHRR" ; - :source = "l2p_source : 20210701010000-OSPO-L2P_GHRSST-SSTsubskin-AVHRRF_MB-ACSPO_V2.70-v02.0-fv01.0.nc" ; - :southernmost_latitude = 52.9f ; + :source = "l2p_source : 20210324154000-OSPO-L2P_GHRSST-SSTsubskin-AVHRRF_MA-ACSPO_V2.70-v02.0-fv01.0.nc" ; + :southernmost_latitude = 55.78f ; :spatial_resolution = "0.02 deg" ; :standard_name_vocabulary = "CF Standard Name Table (v26, 08 November 2013)" ; - :start_time = "20210701T010000Z" ; - :stop_time = "20210701T010959Z" ; + :start_time = "20210324T154000Z" ; + :stop_time = "20210324T154959Z" ; :summary = "Sea surface temperature retrievals produced by NOAA/NESDIS/OSPO office from AVHRR sensor" ; - :time_coverage_end = "20210701T010959Z" ; - :time_coverage_start = "20210701T010000Z" ; + :time_coverage_end = "20210324T154959Z" ; + :time_coverage_start = "20210324T154000Z" ; :title = "AVHRR L3U SST" ; - :uuid = "02508803-88b0-49c3-8a26-5a4a0f33099a" ; + :uuid = "3a3ffd4f-5384-44c1-900a-d584809ad036" ; :westernmost_longitude = -180.f ; - :sst_luts = "LUT_AVHRRF_MB_L2P_DEPTH_DAY_V01.01_20180507.txt, LUT_AVHRRF_MB_L2P_SKIN_DAYNIGHT_V01.00_20180408.txt, LUT_AVHRRF_MB_L2P_DEPTH_NIGHT_V01.01_20180507.txt, LUT_AVHRRF_MB_L2P_SKIN_NIGHT_V01.00_20180408.txt" ; - :geospatial_bounds = "POLYGON(( 114.037 60.830, -12.301 83.131, -127.738 67.699, 160.334 52.991, 114.037 60.830))" ; + :sst_luts = "LUT_AVHRRF_MA_L2P_DEPTH_DAY_V01.01_20180507.txt, LUT_AVHRRF_MA_L2P_SKIN_DAYNIGHT_V01.00_20180408.txt, LUT_AVHRRF_MA_L2P_DEPTH_NIGHT_V01.01_20180507.txt, LUT_AVHRRF_MA_L2P_SKIN_NIGHT_V01.00_20180408.txt" ; + :geospatial_bounds = "POLYGON((-142.547 80.308, 81.237 63.979, 30.820 55.879, -46.576 66.947, -142.547 80.308))" ; :row_start = 50 ; - :row_count = 1804 ; + :row_count = 1660 ; :col_start = 0 ; :col_count = 18000 ; - :NCO = "netCDF Operators version 4.9.3 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco)" ; + :NCO = "netCDF Operators version 5.0.6 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco)" ; data: crs = 0 ; dt_analysis = - 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, - 7, 7, 8, 8, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 7, 7, 7, 8, 8, 7, 7, 8, 8, - 8, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 7, 7, 8, 8, 9, 8, 8, 8 ; + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, _, _, + 1, 1, 1, 1, 1, 1, _, _, _, _, + 1, 1, 1, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; l2p_flags = - 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, - 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, - 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, - 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, - 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, - 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608, 4608 ; + 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, + 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 18432, 18432, + 2048, 2048, 2048, 2048, 2048, 2048, 18432, 18432, 18432, 18432, + 2048, 2048, 2048, 18432, 18432, 18432, 18432, 18432, 18432, 18432, + 18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432 ; - lat = 56.71, 56.69, 56.67, 56.65, 56.63, 56.61 ; + lat = 77.95, 77.93, 77.91, 77.89, 77.87 ; - lon = 151.11, 151.13, 151.15, 151.17, 151.19, 151.21, 151.23, 151.25, - 151.27, 151.29, 151.31 ; + lon = 56.52999, 56.55, 56.57, 56.59, 56.60999, 56.62999, 56.64999, 56.66999, + 56.68999, 56.71 ; or_number_of_pixels = - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 ; + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, _, _, + 11, 11, 11, 11, 11, 11, _, _, _, _, + 11, 11, 11, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; quality_level = - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 ; + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, + 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, + 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; satellite_zenith_angle = - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46 ; + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, _, _, + 43, 43, 43, 43, 43, 43, _, _, _, _, + 43, 43, 43, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sea_surface_temperature = - 982, 981, 981, 979, 975, 972, 968, 964, 961, 958, 958, - 982, 981, 979, 977, 973, 972, 968, 966, 962, 960, 959, - 982, 980, 974, 969, 969, 970, 969, 966, 962, 961, 959, - 982, 979, 972, 970, 970, 971, 969, 963, 961, 960, 960, - 974, 972, 969, 967, 968, 969, 970, 967, 962, 961, 961, - 970, 970, 968, 966, 965, 968, 968, 969, 965, 963, 960 ; + -168, -168, -168, -168, -168, -168, -168, -168, -168, -168, + -169, -169, -169, -169, -169, -168, -168, -168, _, _, + -169, -169, -169, -169, -169, -169, _, _, _, _, + -169, -169, -169, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sses_bias = - 83, 82, 80, 79, 78, 77, 77, 76, 74, 73, 73, - 81, 80, 79, 79, 78, 77, 77, 75, 74, 73, 72, - 78, 78, 78, 78, 78, 76, 75, 74, 74, 73, 73, - 77, 78, 78, 77, 76, 75, 74, 73, 74, 74, 74, - 78, 78, 78, 76, 75, 74, 74, 75, 74, 75, 75, - 77, 78, 77, 75, 74, 75, 76, 76, 77, 77, 76 ; + 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, + 29, 29, 29, 29, 29, 29, 29, 29, _, _, + 29, 29, 29, 29, 29, 29, _, _, _, _, + 29, 29, 28, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sses_standard_deviation = - -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, - -42, -41, -40, -39, -39, -39, -39, -39, -39, -39, -39, - -44, -41, -39, -39, -39, -40, -41, -41, -40, -39, -39, - -41, -40, -39, -39, -40, -40, -40, -40, -40, -41, -41, - -40, -39, -39, -42, -43, -45, -44, -41, -39, -40, -42 ; + -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, + -58, -58, -58, -58, -58, -58, -58, -58, _, _, + -58, -58, -58, -58, -58, -58, _, _, _, _, + -58, -58, -58, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sst_dtime = - 2382, 2382, 2381, 2381, 2381, 2380, 2380, 2380, 2379, 2379, 2378, - 2383, 2383, 2382, 2382, 2382, 2381, 2381, 2381, 2380, 2380, 2380, - 2384, 2384, 2384, 2383, 2383, 2383, 2382, 2382, 2382, 2381, 2381, - 2386, 2385, 2385, 2384, 2384, 2384, 2383, 2383, 2383, 2382, 2382, - 2387, 2386, 2386, 2386, 2385, 2385, 2384, 2384, 2384, 2384, 2383, - 2388, 2388, 2387, 2387, 2386, 2386, 2386, 2385, 2385, 2385, 2384 ; + 986, 986, 986, 986, 987, 987, 987, 987, 987, 987, + 985, 985, 985, 985, 985, 985, 986, 986, _, _, + 985, 985, 984, 984, 984, 984, _, _, _, _, + 984, 984, 984, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; - time = 1277946000 ; + time = 1269445200 ; wind_speed = - 43, 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, - 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, - 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, - 45, 45, 45, 45, 45, 46, 46, 46, 47, 47, 47, - 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, - 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48 ; + 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, + 55, 56, 56, 56, 56, 56, 56, 56, _, _, + 55, 55, 55, 55, 55, 55, _, _, _, _, + 55, 55, 55, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; } diff --git a/utils/test/testdata/ghrsst_sst_mb_202107010000.cdl b/utils/test/testdata/ghrsst_sst_ma_202103241550.cdl similarity index 66% rename from utils/test/testdata/ghrsst_sst_mb_202107010000.cdl rename to utils/test/testdata/ghrsst_sst_ma_202103241550.cdl index 783904f9f..450f721c5 100644 --- a/utils/test/testdata/ghrsst_sst_mb_202107010000.cdl +++ b/utils/test/testdata/ghrsst_sst_ma_202103241550.cdl @@ -1,8 +1,8 @@ -netcdf sst_MB_202107010000 { +netcdf ghrsst_sst_ma_202103241550 { dimensions: time = 1 ; - lat = 6 ; - lon = 11 ; + lat = 5 ; + lon = 10 ; variables: int crs ; crs:grid_mapping_name = "latitude_longitude" ; @@ -153,29 +153,29 @@ variables: :creator_email = "Alex.Ignatov@noaa.gov" ; :creator_name = "Alex Ignatov" ; :creator_url = "http://www.star.nesdis.noaa.gov" ; - :date_created = "20210701T013122Z" ; - :easternmost_longitude = -179.98f ; + :date_created = "20210324T180747Z" ; + :easternmost_longitude = -46.26001f ; :file_quality_level = 2 ; :gds_version_id = "02.0" ; - :geospatial_lat_max = -45.44f ; - :geospatial_lat_min = -87.f ; + :geospatial_lat_max = 81.38f ; + :geospatial_lat_min = 40.46f ; :geospatial_lat_resolution = 0.02f ; :geospatial_lat_units = "degrees_north" ; - :geospatial_lon_max = -179.98f ; - :geospatial_lon_min = -180.f ; + :geospatial_lon_max = -46.26001f ; + :geospatial_lon_min = -142.84f ; :geospatial_lon_resolution = 0.02f ; :geospatial_lon_units = "degrees_east" ; - :history = "Thu Oct 5 16:24:06 2023: ncks -d lon,15575,15585 -d lat,7270,7275 /scratch1/NCEPDEV/stmp4/Shastri.Paturi/forAndrew/gdas.20210701/00/sst/20210701000000-OSPO-L3U_GHRSST-SSTsubskin-AVHRRF_MB-ACSPO_V2.70-v02.0-fv01.0.nc sst_MB_202107010000.nc\nCreated by the L2P-to-L3U conversion tool, which was developed and provided by NOAA/NESDIS/STAR and CCNY. The version is 4.1.5" ; - :id = "AVHRRF_MB-OSPO-L3U-v2.7" ; + :history = "Thu Mar 28 17:06:08 2024: ncks -d lon,11826,11835 -d lat,602,606 /scratch1/NCEPDEV/global/glopara/data/experimental_obs/gdas.20210324/18/ocean/sst/20210324155000-OSPO-L3U_GHRSST-SSTsubskin-AVHRRF_MA-ACSPO_V2.70-v02.0-fv01.0.nc ghrsst_sst_ma_202103241550.nc\nCreated by the L2P-to-L3U conversion tool, which was developed and provided by NOAA/NESDIS/STAR and CCNY. The version is 4.1.5" ; + :id = "AVHRRF_MA-OSPO-L3U-v2.7" ; :institution = "NOAA/NESDIS/OSPO" ; :keywords = "Oceans > Ocean Temperature > Sea Surface Temperature" ; :keywords_vocabulary = "NASA Global Change Master Directory (GCMD) Science Keywords" ; :license = "GHRSST protocol describes data use as free and open" ; - :metadata_link = "http://podaac.jpl.nasa.gov/ws/metadata/dataset/?format=iso&shortName=AVHRRF_MB-OSPO-L2P-v2.7" ; + :metadata_link = "http://podaac.jpl.nasa.gov/ws/metadata/dataset/?format=iso&shortName=AVHRRF_MA-OSPO-L2P-v2.7" ; :naming_authority = "org.ghrsst" ; :netcdf_version_id = "4.5.0 of Jul 23 2018 18:00:31 $" ; - :northernmost_latitude = -45.44f ; - :platform = "MetOpB" ; + :northernmost_latitude = 81.38f ; + :platform = "MetOpA" ; :processing_level = "L3U" ; :product_version = "L2P algorithm V2.70; L3U algorithm V4.1.5" ; :project = "Group for High Resolution Sea Surface Temperature" ; @@ -184,113 +184,103 @@ variables: :publisher_url = "http://www.ghrsst.org" ; :references = "Data convention: GHRSST Data Specification (GDS) v2.0. Algorithms: ACSPO-AVHRR ATBD (NOAA/NESDIS/OSPO)" ; :sensor = "AVHRR" ; - :source = "l2p_source : 20210701000000-OSPO-L2P_GHRSST-SSTsubskin-AVHRRF_MB-ACSPO_V2.70-v02.0-fv01.0.nc" ; - :southernmost_latitude = -87.f ; + :source = "l2p_source : 20210324155000-OSPO-L2P_GHRSST-SSTsubskin-AVHRRF_MA-ACSPO_V2.70-v02.0-fv01.0.nc" ; + :southernmost_latitude = 40.46f ; :spatial_resolution = "0.02 deg" ; :standard_name_vocabulary = "CF Standard Name Table (v26, 08 November 2013)" ; - :start_time = "20210701T000000Z" ; - :stop_time = "20210701T000959Z" ; + :start_time = "20210324T155000Z" ; + :stop_time = "20210324T155959Z" ; :summary = "Sea surface temperature retrievals produced by NOAA/NESDIS/OSPO office from AVHRR sensor" ; - :time_coverage_end = "20210701T000959Z" ; - :time_coverage_start = "20210701T000000Z" ; + :time_coverage_end = "20210324T155959Z" ; + :time_coverage_start = "20210324T155000Z" ; :title = "AVHRR L3U SST" ; - :uuid = "2b7fc1f5-6c67-462d-b9c5-b9e9a22b2a33" ; - :westernmost_longitude = -180.f ; - :sst_luts = "LUT_AVHRRF_MB_L2P_DEPTH_DAY_V01.01_20180507.txt, LUT_AVHRRF_MB_L2P_SKIN_DAYNIGHT_V01.00_20180408.txt, LUT_AVHRRF_MB_L2P_DEPTH_NIGHT_V01.01_20180507.txt, LUT_AVHRRF_MB_L2P_SKIN_NIGHT_V01.00_20180408.txt" ; - :geospatial_bounds = "POLYGON(( 58.354 -67.757, 113.644 -45.517, 152.834 -52.600, -163.078 -84.514, 58.354 -67.757))" ; - :row_start = 6772 ; - :row_count = 2077 ; - :col_start = 0 ; - :col_count = 18000 ; - :NCO = "netCDF Operators version 4.9.3 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco)" ; + :uuid = "a974c50a-64de-4678-b8f9-00d0faf39a62" ; + :westernmost_longitude = -142.84f ; + :sst_luts = "LUT_AVHRRF_MA_L2P_DEPTH_DAY_V01.01_20180507.txt, LUT_AVHRRF_MA_L2P_SKIN_DAYNIGHT_V01.00_20180408.txt, LUT_AVHRRF_MA_L2P_DEPTH_NIGHT_V01.01_20180507.txt, LUT_AVHRRF_MA_L2P_SKIN_NIGHT_V01.00_20180408.txt" ; + :geospatial_bounds = "POLYGON((-125.945 46.879, -142.521 80.299, -46.600 66.944, -91.299 40.553, -125.945 46.879))" ; + :row_start = 431 ; + :row_count = 2045 ; + :col_start = 1858 ; + :col_count = 4828 ; + :NCO = "netCDF Operators version 5.0.6 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco)" ; data: crs = 0 ; dt_analysis = - 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, - 5, 6, 6, 6, 5, 4, 3, 3, 3, 3, 3, - 6, 6, 6, 5, 5, 5, 4, 4, 3, 3, 3, - 6, 6, 6, 5, 5, 5, 4, 4, 4, 4, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; l2p_flags = - 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, - 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, - 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, - 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, - 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, - 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560, 2560 ; + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; - lat = -55.41, -55.43, -55.45, -55.47, -55.49, -55.51 ; + lat = 77.95, 77.93, 77.91, 77.89, 77.87 ; - lon = 131.51, 131.53, 131.55, 131.57, 131.59, 131.61, 131.63, 131.65, - 131.67, 131.69, 131.71 ; + lon = 56.52999, 56.55, 56.57, 56.59, 56.60999, 56.62999, 56.64999, 56.66999, + 56.68999, 56.71 ; or_number_of_pixels = - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; quality_level = - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; satellite_zenith_angle = - -9, -9, -9, -9, -10, -10, -10, -10, -10, -10, -10, - -9, -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, - -9, -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, - -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, - -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, - -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sea_surface_temperature = - 374, 377, 378, 377, 379, 378, 371, 368, 369, 369, 369, - 383, 389, 391, 389, 383, 379, 371, 366, 367, 370, 368, - 391, 392, 390, 388, 388, 383, 377, 374, 374, 372, 371, - 388, 388, 390, 384, 384, 382, 380, 382, 382, 381, 383, - 382, 382, 383, 387, 386, 387, 388, 388, 388, 391, 392, - 383, 389, 390, 391, 392, 392, 391, 389, 391, 391, 390 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sses_bias = - 9, 10, 10, 9, 9, 9, 8, 8, 7, 7, 6, - 10, 11, 11, 11, 10, 10, 9, 8, 8, 8, 7, - 12, 11, 11, 11, 11, 10, 10, 9, 9, 8, 7, - 11, 11, 10, 11, 11, 11, 10, 10, 10, 9, 9, - 12, 11, 11, 11, 11, 12, 12, 11, 11, 10, 10, - 12, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sses_standard_deviation = - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; sst_dtime = - 307, 307, 306, 306, 306, 306, 306, 306, 306, 305, 305, - 308, 308, 308, 307, 307, 307, 307, 307, 307, 307, 306, - 309, 309, 309, 309, 309, 308, 308, 308, 308, 307, 307, - 311, 311, 310, 310, 310, 310, 309, 309, 309, 309, 309, - 312, 312, 311, 311, 311, 311, 311, 311, 310, 310, 310, - 313, 313, 313, 313, 312, 312, 312, 312, 312, 311, 311 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; - time = 1277942400 ; + time = 1269445800 ; wind_speed = - 52, 51, 51, 51, 51, 51, 51, 51, 51, 50, 50, - 52, 52, 52, 51, 51, 51, 51, 51, 51, 51, 51, - 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51, - 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, - 53, 53, 52, 52, 52, 52, 52, 52, 52, 51, 51, - 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51 ; + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _, + _, _, _, _, _, _, _, _, _, _ ; } diff --git a/utils/test/testinput/gdas_ghrsst2ioda.yaml b/utils/test/testinput/gdas_ghrsst2ioda.yaml index a02938d5c..951471ae5 100644 --- a/utils/test/testinput/gdas_ghrsst2ioda.yaml +++ b/utils/test/testinput/gdas_ghrsst2ioda.yaml @@ -1,19 +1,19 @@ provider: GHRSST -window begin: 2021-06-30T21:00:00Z -window end: 2021-07-01T03:00:00Z +window begin: 2021-03-24T15:00:00Z +window end: 2021-03-24T21:00:00Z binning: stride: 2 min number of obs: 1 bounds: min: -3.0 max: 50.0 -output file: ghrsst_sst_mb_20210701.ioda.nc +output file: ghrsst_sst_ma_20210324.ioda.nc #ocean basin: RECCAP2_region_masks_all_v20221025.nc input files: -- ghrsst_sst_mb_202107010000.nc4 -- ghrsst_sst_mb_202107010100.nc4 +- ghrsst_sst_ma_202103241540.nc4 +- ghrsst_sst_ma_202103241550.nc4 test: - reference filename: testref/ghrsst2ioda.test - test output filename: testoutput/ghrsst2ioda.test - float relative tolerance: 1e-6 + reference filename: testref/ghrsst2ioda.test + test output filename: testoutput/ghrsst2ioda.test + float relative tolerance: 1e-6 diff --git a/utils/test/testref/ghrsst2ioda.test b/utils/test/testref/ghrsst2ioda.test index 7c9678918..75a0764e4 100644 --- a/utils/test/testref/ghrsst2ioda.test +++ b/utils/test/testref/ghrsst2ioda.test @@ -1,26 +1,26 @@ -Reading: [ghrsst_sst_mb_202107010000.nc4,ghrsst_sst_mb_202107010100.nc4] +Reading: [ghrsst_sst_ma_202103241540.nc4,ghrsst_sst_ma_202103241550.nc4] seconds since 1981-01-01T00:00:00Z obsVal: - Min: 3.558 - Max: 8.5635 - Sum: 218.297 + Min: -2.154 + Max: -2.128 + Sum: -17.1652 obsError: - Min: 0.32 - Max: 0.61 - Sum: 16.5825 + Min: 0.42 + Max: 0.42 + Sum: 3.36 preQc: Min: 0 Max: 0 Sum: 0 longitude: - Min: 131.52 - Max: 151.31 - Sum: 5091.06 -latitude: - Min: -55.5 + Min: 56.54 Max: 56.7 - Sum: 21.6 + Sum: 452.837 +latitude: + Min: 77.9 + Max: 77.95 + Sum: 623.423 datetime: - Min: 1277943187 - Max: 1277946538 - Sum: 46006015050 + Min: 1269445063 + Max: 1269445063 + Sum: 10155560504