From 15472cf5bd135c8da9e4a053ecd2c9b9c9564159 Mon Sep 17 00:00:00 2001
From: Lionel GUEZ <guez@lmd.ens.fr>
Date: Mon, 1 Oct 2018 13:58:57 +0200
Subject: [PATCH] Add test of local_extrema with global data.

---
 Tests/Input/h_2006_01_01_coarse.nc  | Bin 0 -> 5452 bytes
 Tests/test_good_contour.f           |   4 +++-
 Tests/test_mean_speed.f             |   4 +++-
 Tests/test_spherical_polygon_area.f |  13 ++++---------
 Tests/tests.json                    |  14 +++++++++++---
 5 files changed, 21 insertions(+), 14 deletions(-)
 create mode 100644 Tests/Input/h_2006_01_01_coarse.nc

diff --git a/Tests/Input/h_2006_01_01_coarse.nc b/Tests/Input/h_2006_01_01_coarse.nc
new file mode 100644
index 0000000000000000000000000000000000000000..f9ee03442f6afe46ec66c447622a1197ca0c8202
GIT binary patch
literal 5452
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

literal 0
HcmV?d00001

diff --git a/Tests/test_good_contour.f b/Tests/test_good_contour.f
index 02d8b386..0805d353 100644
--- a/Tests/test_good_contour.f
+++ b/Tests/test_good_contour.f
@@ -1,7 +1,7 @@
 program test_good_contour
 
+  ! Libraries:
   use contour_531, only: polyline
-  use good_contour_m, only: good_contour
   use jumble, only: new_unit, count_lines
   use netcdf, only: nf90_nowrite
   use netcdf95, only: nf95_open, nf95_inquire_dimension, nf95_get_var, &
@@ -10,6 +10,8 @@ program test_good_contour
   use shapelib, only: shpt_polygon, shpfileobject, ftdouble, shpclose
   use shapelib_03, only: shp_create_03, dbf_add_field_03, &
        shp_append_object_03, dbf_write_attribute_03
+  
+  use good_contour_m, only: good_contour
 
   implicit none
 
diff --git a/Tests/test_mean_speed.f b/Tests/test_mean_speed.f
index 22b2c64b..e454a400 100644
--- a/Tests/test_mean_speed.f
+++ b/Tests/test_mean_speed.f
@@ -2,14 +2,16 @@ program test_mean_speed
 
   use, intrinsic:: ISO_FORTRAN_ENV
 
+  ! Libraries:
   use contour_531, only: polyline
-  use mean_speed_m, only: mean_speed
   use netcdf, only: nf90_nowrite
   use netcdf95, only: nf95_open, nf95_close, nf95_inq_varid, nf95_get_var, &
        find_coord, nf95_inquire_dimension
   use nr_util, only: pi
   use shapelib, only: shpclose, shpfileobject, shpobject
   use shapelib_03, only: shp_open_03, shp_read_object_03
+  
+  use mean_speed_m, only: mean_speed
 
   implicit none
 
diff --git a/Tests/test_spherical_polygon_area.f b/Tests/test_spherical_polygon_area.f
index 3c338753..b44b3996 100644
--- a/Tests/test_spherical_polygon_area.f
+++ b/Tests/test_spherical_polygon_area.f
@@ -1,14 +1,11 @@
 program test_spherical_polygon_area
 
-  use, intrinsic:: ISO_C_BINDING
-
   ! Libraries:
   use gpc_f, only: polygon, shpobj2pol
   use jumble, only: get_command_arg_dyn
   use nr_util, only: deg_to_rad
-  use shapelib, only: shpfileobject, shpobject, shpclose, shpdestroyobject, &
-       shpgetinfo
-  use shapelib_03, only: shp_open_03, shp_read_object_03
+  use shapelib, only: shpfileobject, shpobject, shpclose, shpdestroyobject
+  use shapelib_03, only: shp_open_03, shp_read_object_03, shp_get_info_03
   
   use spherical_polygon_area_m, only: spherical_polygon_area
 
@@ -19,15 +16,13 @@ program test_spherical_polygon_area
   TYPE(shpobject) psobject
   type(POLYGON), allocatable:: p(:)
   type(POLYGON) merged_p
-  integer ishape, j, nentities, shapetype, dbffieldcount, dbfrecordcount
-  real(c_double) minbound(4), maxbound(4)
+  integer ishape, j, nentities
 
   !---------------------------------------------------------------------
 
   call get_command_arg_dyn(1, filename, "Required argument: shapefile")
   call shp_open_03(filename, "rb", hshp)
-  call shpgetinfo(hshp, nentities, shapetype, minbound, maxbound, &
-       dbffieldcount, dbfrecordcount)
+  call shp_get_info_03(hshp, nentities)
   allocate(p(0:nentities - 1))
   
   do ishape = 0, nentities - 1
diff --git a/Tests/tests.json b/Tests/tests.json
index 670164bc..28450706 100644
--- a/Tests/tests.json
+++ b/Tests/tests.json
@@ -34,7 +34,8 @@
 	"args" : ["$compil_prod_dir/test_local_extrema",
 		  "$input_dir/h_region_2.nc"],
 	"title" : "Local_extrema_larger",
-	"input" : "f"
+	"input" : "f",
+	"description": "With a larger region than in test Local_extrema."
     },
     {
 	"args" : "$compil_prod_dir/test_get_1_outerm",
@@ -295,7 +296,7 @@
 	"args" : ["$compil_prod_dir/test_local_extrema",
 		  "$input_dir/Region_4/h.nc"],
 	"title" : "Local_extrema_missing",
-	"description": "test_local_extrema with input file containing missing values.",
+	"description": "With input file containing missing values.",
 	"input" : "f"
     },
     {
@@ -350,6 +351,13 @@
 		  "$input_dir/h_region_1.nc"],
 	"title" : "Local_extrema_periodic",
 	"input" : "t",
-	"description": "Same as Local_extrema but with periodicity."
+	"description": "Same as Local_extrema but with periodicity. The data is actually regional so there is a discontinuity in the field and the longitude grid assuming periodicity is not regular."
+    },
+    {
+	"args" : ["$compil_prod_dir/test_local_extrema",
+		  "$input_dir/h_2006_01_01_coarse.nc"],
+	"title" : "Local_extrema_periodic_2",
+	"input" : "t",
+	"description": "The data is really global so there is no discontinuity in the field and the longitude grid assuming periodicity is regular."
     }
 ]
-- 
GitLab