Skip to content
Snippets Groups Projects
  1. Apr 03, 2019
  2. Feb 04, 2019
    • Lionel GUEZ's avatar
      Rename spherical_polyline_area to spher_polyline_area and · 4ad2bfc8
      Lionel GUEZ authored
      spherical_polygon_area to spher_polygon_area.
      
      In procedure max_speed_contour_ssh, instead of aborting when the speed
      is not defined, continue with missing_ssh. Found such a case in
      November 29th, 2015 data. Added corresponding test. In procedure
      set_max_speed, if max_speed_contour_ssh returns missing_ssh then we
      just take the outermost contour as max-speed contour.
  3. Sep 25, 2018
    • Lionel GUEZ's avatar
      The component extr_map of type snapshot is now defined with duplicated · 2bef32e4
      Lionel GUEZ authored
      values at longitude boundaries, in case of periodicity.
      
      Add argument "periodic" to procedures get_snapshot and
      set_all_outerm. Duplicate values at longitude boundaries in ssh, u, v
      if periodic. set_all_outerm can now call local_extrema with periodic
      true. In procedure set_all_outerm, we shift the longitudes of outside
      points if necessary.
      
      In program test_get_snapshot, define periodic from step and nlon.
      2bef32e4
  4. Sep 21, 2018
  5. Sep 03, 2018
    • Lionel GUEZ's avatar
      Write area in dbf files in km2 rather than m2. This allows easier · c2245c51
      Lionel GUEZ authored
      reading and spares some disk space: we can reduce the size of the
      field from 20 to 14 characters. We do not loose precision with this
      reduction because the order of magnitude of the area is 1e3 km2 or
      more so the decimal part of the field was 0. Accordingly, change the
      are for a null contour from - 1 to - 1e6 m2.
      
      Bug fix in program test_set_max_speed. No need for width 20 for field "speed".
      c2245c51
  6. Aug 31, 2018
  7. Aug 03, 2018
    • Lionel GUEZ's avatar
      Performance improvement: start looking for outermost contour at · acc96ac1
      Lionel GUEZ authored
      amplitude min_amp if the difference between innermost level from
      local_extrema and ssh extremum is smaller. This is not only a
      performance improvement but also an improvement of results: the
      algorithm sometimes finds a contour at just min_amp when before it did
      not find any: the bisection algorithm converged just below
      min_amp. Also, as a result, if an outermost contour is found, it is
      now necessarily of sufficient amplitude.
      acc96ac1
  8. Jul 23, 2018
    • Lionel GUEZ's avatar
      Put small test input files under version control. Rename directory · 9c204185
      Lionel GUEZ authored
      Stdin to Input. Two input dir provided for in tests.json: $input_dir
      and $large_input_dir.
      
      Rename everywhere variable nearby_extr to outside_points to avoid
      confusion with function nearby_extr. Rename file "nearby_extr.csv" to
      "outside_points.csv".
      
      In procedure nearby_extr, include in the selection extrema with
      different sign, even if they do not have sufficient amplitude.
      
      Bug fix in read_eddy: use the value of read attribute to define
      e%interpolated.
      9c204185
  9. Jul 13, 2018
  10. Apr 06, 2018
  11. Apr 05, 2018
  12. Mar 30, 2018
    • Lionel GUEZ's avatar
      When we do not find an outermost contour or a max-speed contour, · 94515cc5
      Lionel GUEZ authored
      instead of defining the component ssh to the ssh of the extremum or to
      the ssh of the outermost contour, use a missing value flag
      (1e4). Also, when radius4 >= 2 and the max speed contour is the
      outermost contour, use missing value flag in the ssh component of max
      speed contour instead of ssh on outermost contour. This makes clearer
      output.
      
      Add function null_ssh_contour.
      
      In procedure get_1_outerm, simplify the comparison of level_try and
      level_good. So we do not need any longer the dummy argument
      ssh_extremum.
      94515cc5
  13. Mar 22, 2018
  14. Mar 20, 2018
  15. Jan 29, 2018
  16. Jan 24, 2018
    • Lionel GUEZ's avatar
      Allow missing values (for continents). · e8e729b1
      Lionel GUEZ authored
      For ssh, missing value is huge(0.). We have to take a large value
      because Contour_531 has an argument zmax for missing values. For
      velocity, missing value is a quiet NaN. We have to take this because
      we need to know if the interpolation procedure in mean_speed has not
      used any missing value and we do not want to alter the interpolation
      procedure itself.
      
      In local_extrema, we accept as local extrema only points with 8 valid
      values around them.
      
      When we look for the maximum speed contour, we are hoping that good
      contours do not englobe missing values. If this happens, the program
      aborts.
      
      When computing the mean speed on a contour, we are hoping that the
      interpolation of speed on contour points does not use missing
      values. If this happens, the program aborts.
      
      Draw coastlines in plot_snaphot.py. At the same time, this allows the
      use of any projection.
      e8e729b1
  17. Dec 20, 2017
  18. Dec 04, 2017
    • Lionel GUEZ's avatar
      If an outermost contour has exactly the minimum amplitude, it is · 0ce6b1b4
      Lionel GUEZ authored
      acceptable. So define flat_extr by a strict inequality in procedure
      get_snapshot.
      
      Procedure set_outermost_contour no longer has a dummy argument
      noise_around. We no longer call outermost_possible_level so we do not
      have an artificial discontinuity of results with and without maximum
      amplitude. We abandon the idea of reducing the amplitude of initial
      level_good compared to innermost_level: problem of consistence with
      get_snapshot, and it does not seem worth the trouble, just abandon
      those problematic extrema. Allow for null outermost_contour instead of
      aborting.
      
      In procedure get_snapshot, s%list_vis(i)%suff_amp is first defined
      only if flat_extr(i). Also we are no longer sure that
      set_outermost_contour finds an outermost contour so we have to test
      this to define s%list_vis(i)%suff_amp. noise_around is now defined
      only for flat_extr(i) and s%list_vis(i)%suff_amp. Also, since we may
      not find an outermost contour even if not flat_extr(i), we update
      s%extr_map after the second call to set_outermost_contour.
      
      In procedure local_extrema, we use the mask diff_center instead of
      mask_center. So we no longer need procedure construct_mask_center. In
      procedure local_extrema, we ignore one in two adjacent degenerate
      extrema instead of aborting.
      
      In plot_snapshot.py, color extrema and allow for null outermost
      contour.
      
      Synthesize output in test_local_extrema.py.
      0ce6b1b4
  19. Nov 17, 2017
    • Lionel GUEZ's avatar
      Bug fix. Accept the last point in procedure · e194ec8d
      Lionel GUEZ authored
      outermost_possible_level. This is especially important if the extremum
      is one point away from the last point.
      
      Bug fix. In procedure set_outermost_contour, take level_good a little
      bit closer to ssh_extremum than innermost_level because of border
      points. Contour_531 will not close a contour passing at a point on the
      border. So if innermost_level corresponds to a point on the border,
      good_contour at innermost_level finds nothing.
      
      Make the program test_good_contour more general: read a NetCDF file
      instead of calling define_example_reg.
      e194ec8d
  20. Nov 10, 2017
  21. Oct 13, 2017
  22. Oct 10, 2017
    • Lionel GUEZ's avatar
      Create procedure set_max_speed (with a large part coming from removed · 5a1854e6
      Lionel GUEZ authored
      procedure get_eddy), with corresponding test.
      
      Take into account the fact that derived type polygon became polyline
      in library Contour_531.
      
      Use new procedure null_polyline from library Contour_531.
      
      Correct a sneaky bug in mean_speed: the last point in the polygon
      array is a duplicate of the first point, do not take the last point
      into account when averaging (and interpolating). Discovered this bug
      because the mean speed was not exactly the same for equivalent
      polygons with circular permutation.
      
      Change philosophy for the tests: read whole NetCDF variables, prepare
      different NetCDF files for different geographical regions if needed;
      read all data from file or namelist; read names of files on command
      line.
      
      Use generic test_program.sh (which is out of this project) instead of
      the specific tests_detection_eddies.sh.
      5a1854e6
  23. Sep 25, 2017
    • Lionel GUEZ's avatar
      Starting to change the algorithm for low-amplitude · 6d746fb7
      Lionel GUEZ authored
      threshold. outermost_contour becomes set_outermost_contour. get_eddy
      disappears: it will be absorbed in get_snapshot. get_snapshot is
      temporarily broken so we do not compile test_get_snapshot.
      
      set_outermost_contour is in charge of finding nearby_extr and the
      initial value of level_try (get_outermost_contour was not). The method
      for this depends on the value of noise_around. The rest of the
      processing in set_outermost_contour is identical to what was done in
      get_outermost_contour.
      
      Made test_max_speed_contour_ssh more general: longitude-latitude
      window and eddy identifying number may be chosen at run-time. Made
      test_set_outermost_contour more general than test_outermost_contour
      was: longitude-latitude window and eddy identifying number may be
      chosen at run-time.
      
      For both test_max_speed_contour_ssh and test_set_outermost_contour,
      only the chosen longitude-latitude window is read from the NetCDF
      files. We have to call local_extrema because set_outermost_contour
      takes extr_map as an input argument (get_outermost_contour did not)
      and because longitude-latitude window and eddy identifying number may
      be chosen at run-time.
      6d746fb7
Loading