From 0f549ee8afa992c8c5c2c27f8fa163ec2534e995 Mon Sep 17 00:00:00 2001
From: Lionel GUEZ <guez@lmd.ens.fr>
Date: Tue, 6 Nov 2018 16:48:22 +0100
Subject: [PATCH] Rename component number_vis_eddies of type snapshot to
 number_vis_extr.

---
 GNUmakefile                 |  6 +++---
 Tests/read_snapshot.f       | 16 ++++++++--------
 Tests/test_get_snapshot.f   |  8 ++++----
 Tests/test_read_snapshot.f  |  2 +-
 Tests/test_set_all_outerm.f |  6 +++---
 derived_types.f             | 10 ++++++----
 dispatch_snapshot.f         |  6 +++---
 get_snapshot.f              |  4 ++--
 set_all_outerm.f            | 14 +++++++-------
 successive_overlap.f        |  2 +-
 10 files changed, 38 insertions(+), 36 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index e29763e0..642e4736 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,9 +1,11 @@
 # This is a makefile for GNU make.
 
+include ${general_compiler_options_dir}/settings.mk
+
 # 1. Source files and libraries
 
 makefile_dir = .
-VPATH = ${makefile_dir} ${makefile_dir}/Tests
+VPATH += ${makefile_dir}/Tests
 
 src_test_local_extrema = test_local_extrema.f local_extrema.f
 
@@ -51,8 +53,6 @@ execut = test_good_contour test_inside_4 test_get_1_outerm test_local_extrema te
 
 # 3. Compiler-dependent part
 
-include ${general_compiler_options_dir}/settings.mk
-
 ifeq (${FC},gfortran)
 # gfortran bug:
 FFLAGS := $(subst invalid${comma},,${FFLAGS})
diff --git a/Tests/read_snapshot.f b/Tests/read_snapshot.f
index 6f7b89ab..a6b53ac4 100644
--- a/Tests/read_snapshot.f
+++ b/Tests/read_snapshot.f
@@ -46,19 +46,19 @@ contains
 
     !---------------------------------------------------------------------
 
-    call shpgetinfo(hshp_extremum, s%number_vis_eddies, shapetype, minbound, &
+    call shpgetinfo(hshp_extremum, s%number_vis_extr, shapetype, minbound, &
          maxbound, dbffieldcount, dbfrecordcount)
-    allocate(s%list_vis(s%number_vis_eddies))
+    allocate(s%list_vis(s%number_vis_extr))
     call read_field_indices(hshp_extremum, hshp_outermost, hshp_max_speed)
 
-    do ishape = 0, s%number_vis_eddies - 1
+    do ishape = 0, s%number_vis_extr - 1
        call read_eddy(e, k, i, hshp_extremum, hshp_outermost, hshp_max_speed, &
             ishape)
        s%list_vis(i) = e
     end do
 
-    allocate(s%ind_extr(2, s%number_vis_eddies))
-    forall (i = 1:s%number_vis_eddies) s%ind_extr(:, i) &
+    allocate(s%ind_extr(2, s%number_vis_extr))
+    forall (i = 1:s%number_vis_extr) s%ind_extr(:, i) &
          = nint(convert_to_ind(s%list_vis(i)%coord_extr, corner, &
          step = [0.25, 0.25] * deg_to_rad))
 
@@ -67,14 +67,14 @@ contains
     
     ! Since we are not sure that there is no duplicate tuple in
     ! s%ind_extr, we must use a do construct and not a forall:
-    do i = 1, s%number_vis_eddies
+    do i = 1, s%number_vis_extr
        s%extr_map(s%ind_extr(1, i), s%ind_extr(2, i)) = i
     end do
 
-    call assert(count(s%extr_map /= 0) == s%number_vis_eddies, &
+    call assert(count(s%extr_map /= 0) == s%number_vis_extr, &
          "read_snapshot: one eddy per grid point")
 
-    s%number_eddies = s%number_vis_eddies
+    s%number_eddies = s%number_vis_extr
 
   end subroutine read_snapshot
   
diff --git a/Tests/test_get_snapshot.f b/Tests/test_get_snapshot.f
index c8ef2f0d..6f7a3801 100644
--- a/Tests/test_get_snapshot.f
+++ b/Tests/test_get_snapshot.f
@@ -92,7 +92,7 @@ program test_get_snapshot
   open(unit_number_eddies, file = "number_eddies_1.csv", status = "replace", &
        action = "write")
   write(unit_number_eddies, fmt = *) '"date index" ' &
-       // '"number of visible eddies" "number of interpolated eddies"'
+       // '"number of visible extrema" "number of interpolated eddies"'
   ! (title line)
 
   call dispatch_snapshot(s, hshp_extremum, hshp_outermost, hshp_max_speed, &
@@ -110,11 +110,11 @@ program test_get_snapshot
   close(unit_number_eddies)
   print *, 'Created "number_eddies_1.csv".'
 
-  if (s%number_vis_eddies /= 0) then
+  if (s%number_vis_extr /= 0) then
      print *, "Average number of points per outermost contour: ", &
-          sum(s%list_vis%out_cont%n_points) / real(s%number_vis_eddies)
+          sum(s%list_vis%out_cont%n_points) / real(s%number_vis_extr)
      print *, "Average number of points per max-speed contour: ", &
-          sum(s%list_vis%speed_cont%n_points) / real(s%number_vis_eddies)
+          sum(s%list_vis%speed_cont%n_points) / real(s%number_vis_extr)
   else
      print *, "No visible eddy."
   end if
diff --git a/Tests/test_read_snapshot.f b/Tests/test_read_snapshot.f
index a5e86e85..52c27cd8 100644
--- a/Tests/test_read_snapshot.f
+++ b/Tests/test_read_snapshot.f
@@ -74,7 +74,7 @@ program test_read_snapshot
 
   print *, "s%ind_extr:"
 
-  do i = 1, s%number_vis_eddies
+  do i = 1, s%number_vis_extr
      print *, s%ind_extr(:, i)
   end do
 
diff --git a/Tests/test_set_all_outerm.f b/Tests/test_set_all_outerm.f
index 4d42e010..6368d4f9 100644
--- a/Tests/test_set_all_outerm.f
+++ b/Tests/test_set_all_outerm.f
@@ -121,7 +121,7 @@ program test_set_all_outerm
        action = "write")
   write(unit_isolated, fmt = *) '"date index" "eddy index"' ! title line
 
-  do i = 1, s%number_vis_eddies
+  do i = 1, s%number_vis_extr
      call shp_append_point_03(ishape, hshp_extremum, &
           s%list_vis(i)%coord_extr * rad_to_deg)
      call dbf_write_attribute_03(hshp_extremum, ishape, 0, &
@@ -162,7 +162,7 @@ program test_set_all_outerm
           == huge(0)) write(unit_isolated, fmt = *) 1, i
   end do
 
-  print *, "s%number_vis_eddies = ", s%number_vis_eddies
+  print *, "s%number_vis_extr = ", s%number_vis_extr
 
   CALL shpclose(hshp_extremum)
   print *, 'Created shapefile "extremum_1".'
@@ -171,6 +171,6 @@ program test_set_all_outerm
   close(unit_isolated)
   print *, 'Created "isolated_nodes_1.csv".'
   print *, "Average number of points per outermost contour: ", &
-       sum(s%list_vis%out_cont%n_points) / real(s%number_vis_eddies)
+       sum(s%list_vis%out_cont%n_points) / real(s%number_vis_extr)
 
 end program test_set_all_outerm
diff --git a/derived_types.f b/derived_types.f
index 91f54a58..98f4d691 100644
--- a/derived_types.f
+++ b/derived_types.f
@@ -38,10 +38,12 @@ module derived_types
   end type eddy
 
   type snapshot
-     type(eddy), allocatable:: list_vis(:) ! (number_vis_eddies)
-     ! visible eddies at a given date
+     type(eddy), allocatable:: list_vis(:) ! (number_vis_extr)
+     ! Visible "eddies" at a given date. These include "eddies"
+     ! without an outermost contour, that is only the extremum is
+     ! visible.
      
-     integer number_vis_eddies ! number of visible eddies
+     integer number_vis_extr ! number of visible extrema
 
      integer, allocatable:: extr_map(:, :)
      ! (1 - max_radius(1):nlon + max_radius(1), nlat) if the grid is
@@ -49,7 +51,7 @@ module derived_types
      ! extremum SSH: identification number or this extremum. 0 at
      ! other points.
 
-     integer, allocatable:: ind_extr(:, :) ! (2, number_vis_eddies)
+     integer, allocatable:: ind_extr(:, :) ! (2, number_vis_extr)
      ! List of coordinates of ssh extrema in the global grid, in index
      ! space. The position in this list is the identifying number of
      ! the extremum.
diff --git a/dispatch_snapshot.f b/dispatch_snapshot.f
index 81188696..2917142d 100644
--- a/dispatch_snapshot.f
+++ b/dispatch_snapshot.f
@@ -40,15 +40,15 @@ contains
     if (m == 1 .or. k >= k_begin + max_delta) then
        ! Write snapshot:
 
-       do i = 1, s%number_vis_eddies
+       do i = 1, s%number_vis_extr
           call write_eddy(s%list_vis(i), k, i, hshp_extremum, hshp_outermost, &
                hshp_max_speed)
           if (s%list_vis(i)%delta_in == huge(0) .and. s%list_vis(i)%delta_out &
                == huge(0)) write(unit_isolated, fmt = *) k, i
        end do
 
-       write(unit_number_eddies, fmt = *) k, s%number_vis_eddies, &
-            s%number_eddies - s%number_vis_eddies
+       write(unit_number_eddies, fmt = *) k, s%number_vis_extr, &
+            s%number_eddies - s%number_vis_extr
     else
        call send_snapshot(s, tag = k, dest = m - 1)
     end if
diff --git a/get_snapshot.f b/get_snapshot.f
index 7e3e65cd..f2bb0a5b 100644
--- a/get_snapshot.f
+++ b/get_snapshot.f
@@ -95,7 +95,7 @@ contains
        ! Done with outermost contours, now let us take care of the
        ! max-speed contours.
 
-       do i = 1, s%number_vis_eddies
+       do i = 1, s%number_vis_extr
           if (s%list_vis(i)%valid) then
              ! Restrict the field to the outermost contour:
 
@@ -129,7 +129,7 @@ contains
           end if
        end do
 
-       s%number_eddies = s%number_vis_eddies
+       s%number_eddies = s%number_vis_extr
     else
        call receive_snapshot(s, source = m + 1, tag = k)
     end if
diff --git a/set_all_outerm.f b/set_all_outerm.f
index e8068389..194728d6 100644
--- a/set_all_outerm.f
+++ b/set_all_outerm.f
@@ -44,19 +44,19 @@ contains
 
     integer nlon, nlat
 
-    real, allocatable:: innermost_level(:) ! (s%number_vis_eddies)
+    real, allocatable:: innermost_level(:) ! (s%number_vis_extr)
     ! SSH level of the innermost contour around each extremum, in
     ! m. By construction, innermost_level < extremum for a maximum, >
     ! extremum for a minimum.
 
-    logical, allocatable:: cyclone(:) ! (s%number_vis_eddies)
+    logical, allocatable:: cyclone(:) ! (s%number_vis_extr)
     integer i, l, copy
     integer n_cycl ! number of cyclones
 
     real, parameter:: min_area = 8e8
     ! minimum area of an outermost contour, in m2
 
-    integer, allocatable:: sorted_extr(:) ! (s%number_vis_eddies)
+    integer, allocatable:: sorted_extr(:) ! (s%number_vis_extr)
     ! Sorted identifying number of extrema: first, minima sorted in
     ! order of decreasing SSH, and second, maxima sorted in order of
     ! increasing SSH.
@@ -95,10 +95,10 @@ contains
             = s%extr_map(2:max_radius(1), :)
     end if
 
-    s%number_vis_eddies = size(s%ind_extr, 2)
-    allocate(s%list_vis(s%number_vis_eddies), sorted_extr(s%number_vis_eddies))
+    s%number_vis_extr = size(s%ind_extr, 2)
+    allocate(s%list_vis(s%number_vis_extr), sorted_extr(s%number_vis_extr))
 
-    forall (i = 1:s%number_vis_eddies)
+    forall (i = 1:s%number_vis_extr)
        s%list_vis(i)%coord_extr = corner + (s%ind_extr(:, i) - 1) * step
        s%list_vis(i)%ssh_extr = ssh(s%ind_extr(1, i), s%ind_extr(2, i))
        s%list_vis(i)%cyclone = cyclone(i)
@@ -117,7 +117,7 @@ contains
     selection = selection(indexx(s%list_vis(selection)%ssh_extr))
     sorted_extr(n_cycl + 1:) = selection
 
-    do l = 1, s%number_vis_eddies
+    do l = 1, s%number_vis_extr
        i = sorted_extr(l)
 
        ! Define the geographical window around each eddy extremum:
diff --git a/successive_overlap.f b/successive_overlap.f
index 93c122bb..d899ffff 100644
--- a/successive_overlap.f
+++ b/successive_overlap.f
@@ -35,7 +35,7 @@ contains
 
     !-----------------------------------------------------------------------
 
-    do i1 = 1, flow(j - 1)%number_vis_eddies
+    do i1 = 1, flow(j - 1)%number_vis_extr
        if (flow(j - 1)%list_vis(i1)%valid) then
           polyline_1 = merge(flow(j - 1)%list_vis(i1)%speed_cont%polyline, &
                flow(j - 1)%list_vis(i1)%out_cont%polyline, &
-- 
GitLab