Skip to content
Snippets Groups Projects
  1. Apr 15, 2020
  2. Apr 08, 2020
    • GUEZ Lionel's avatar
      `test_get_snapshot` to `test_get_dispatch_snap` · fda1e6cd
      GUEZ Lionel authored
      In procedure `dispatch_snapshot`, rename dummy argument m to rank,
      clearer.
      
      Rename program `test_get_snapshot` to `test_get_dispatch_snap` and
      make it call `dispatch_snapshot` instead of `send_snapshot`. The only
      difference in result is that the program now writes files
      `isolated_nodes.txt` and `number_eddies.csv`.
      
      Check in program `test_overlap` that it is run on a single MPI process.
      fda1e6cd
  3. Apr 07, 2020
    • GUEZ Lionel's avatar
      Run MPI programs with mpiexec · d89d6b90
      GUEZ Lionel authored
      Change order of dummy arguments of procedure `get_snapshot` to make it
      more convenient to call with keywords. Rename dummy argument m to
      rank, clearer.
      
      Bug fix in `short_tests_.json`: run `test_read_snapshot` and
      `test_overlap` with `mpiexec -n 1`, else the programs may not be able
      to read standard input.
      d89d6b90
  4. Mar 06, 2020
    • Lionel GUEZ's avatar
      Add a receive test for program `test_get_snapshot` · d07eaadf
      Lionel GUEZ authored
      On our way to a generalization of script `filter.py`: use a function
      to define the filter.
      
      In script `plot_snapshot.py`, accept a triplet of shapefiles without
      `ishape_last.txt`.
      
      Add a test for program `test_get_snapshot` where one of the processes
      does a reception in procedure `get_snapshot`.
      
      Bug fix in main unit `test_get_snapshot`: we send and receive date k.
      d07eaadf
    • Lionel GUEZ's avatar
      Four dates in `Input/Region_1/SHP_triplet_noise` · c0fbe3c3
      Lionel GUEZ authored
      Add script for concatenation of triplets of shapefiles.
      
      Generalize script `plot_snapshot.py` to read a single date in a
      triplet of shapefiles containing several dates.
      
      Bug fix in `Tests/CMakeLists.txt`: missing source file.
      
      Include four dates in `Tests/Input/Region_1/SHP_triplet_noise`, in
      preparation for a test with `test_get_snapshot`. Main unit
      `test_nearby_extr` must then read the number of shapes for the first
      date in `ishape_last.txt`.
      c0fbe3c3
  5. Mar 05, 2020
    • Lionel GUEZ's avatar
      Generalize main unit `test_get_snapshot` · e1aa5bcc
      Lionel GUEZ authored
      Prepare for a run of `test_get_snapshot` which receives a
      snapshot. Generalize main unit `test_get_snapshot`: it is now
      parallelized; it reads a date index from stdin; it sends a snapshot
      from process 1 to process 0 if it is run with 2 processes.
      
      The logic of the overlap program will be that all processes access the
      triplet of input shapefiles. So modify subroutine
      `read_field_indices`: process 0 reads field indices and broadcasts
      them. This implies that programs `test_overlap`, `test_read_snapshot`
      and `test_read_eddy` use MPI.
      
      Generalize `algorithm.py`.
      
      In program `test_send_recv`, read input SHP triplet from command line
      instead of requiring it to be present in the current directory with
      the name `SHP_triplet_old`. Generalize `test_send_recv`: read
      `ishape_last` from file. In `test_send_recv`, all processes must now
      access the triplet of shapefiles since process 0 reads field
      indices. For the sake of uniformity, read and broadcast k1 from
      process 0.
      e1aa5bcc
  6. Feb 18, 2020
    • Lionel GUEZ's avatar
      First compilation and test of `get_snapshot` · 29ee10af
      Lionel GUEZ authored
      First compilation and test of procedure `get_snapshot`. Change order
      of dummy arguments of procedure `get_snapshot`: make it more
      convenient for call with keywords. Replace dummy arguments periodic
      and `dist_lim` by dummy argument copy. Add dummy arguments
      `ishape_last` and k1. Promote `hshp_extremum`, `hshp_outermost`,
      `hshp_max_speed` from local variables to dummy arguments.
      
      In program `test_read_snapshot`, read input SHP triplet from command
      line instead of requiring it to be present in the current directory
      with the name `SHP_triplet_old`.
      
      Remove directory `Tests/Input/Region_1/SHP_triplet`, which was not used.
      29ee10af
    • Lionel GUEZ's avatar
      Make date index `intent(in)` in `read_snapshot` · 7e9c066b
      Lionel GUEZ authored
      Change of idea: make date index an intent in argument of procedure
      `read_snapshot`. Replace dummy arguments `ishape_first` and scalar
      `ishape_last` by k1 and array `ishape_last`. It is now the task of
      `read_snapshot` to find the ishapes to read. This seems clearer.
      7e9c066b
    • Lionel GUEZ's avatar
      Replace `contents.csv` by `ishape_last.txt` · 67346265
      Lionel GUEZ authored
      Change of idea: instead of storing `date_index` and `ishape_last` in a
      file `contents.csv`, store only `ishape_last` in a file
      `ishape_last.txt`. The `date_index` column was useless and it
      complicated reading the file. The first value of `date_index` can be
      read from one of the three DBF files. Also, to roll with the flow, let
      the lower bound of `ishape_last` in main unit `test_overlap` be 1
      instead of k1.
      
      Change order of actual arguments of `dbf_read_attribute_03` following
      revision of `Shapelib_03`.
      67346265
  7. Feb 07, 2020
    • Lionel GUEZ's avatar
      Bug fix: rank of MPI processes is 0-based · bf3c1053
      Lionel GUEZ authored
      Bug fix in procedure `dispatch_snapshot`: the rank of MPI processes is 0-based.
      
      Bug fix: remove `extr_map_outermost.nc`, which was not used since
      commit ad420d25.
      bf3c1053
    • Lionel GUEZ's avatar
      Use SHP triplets with several snapshots · d023fd3f
      Lionel GUEZ authored
      Organize better the directory `Input`: create sub-directories for regions.
      
      Big change: use SHP triplets that can contain several snapshots. So
      program `test_overlap` reads a single SHP triplet. The dates that
      `test_overlap` should read are now specified in the input
      namelist. SHP triplet directory must now contain a file named
      `contents.csv`. `test_overlap` reads `contents.csv` into variables k1
      and `ishape_last`. So there is no longer any need to read the number
      of entities in one of the shapefiles.
      
      For each region, concatenate SHP triplets for dates 2006/01/01 and
      2006/01/02.
      
      Read namelist from process 0 in program `test_send_recv`: it is
      simpler since it is the default setting of mpiexec and I do not see
      any drawback.
      
      In programs `test_read_snapshot` and `test_send_recv`, just hard code
      for now the ishapes we want to read in the SHP triplet.
      d023fd3f
  8. Jan 28, 2020
    • Lionel GUEZ's avatar
      Generalize `read_snapshot` · d18ad095
      Lionel GUEZ authored
      Generalize `read_snapshot`. Add dummy argments `ishape_first` and
      `ishape_last`. This allows getting a snaphot from a triplet of
      shapefiles containing several snapshots. Consequence: move the call to
      `shp_get_info_03` from `read_snapshot` to `test_overlap`,
      `test_read_snapshot` and `test_send_recv`.
      
      Remove opening and closing of shapefiles from procedure
      `get_snapshot`. Since a triplet of shapefiles can contain several
      snapshots, we do not want to open and close the same shapefiles
      several times from the same MPI process.
  9. Jan 10, 2020
    • Lionel GUEZ's avatar
      Complete `send_snapshot` and `recv_snapshot` · 9fb56f5f
      Lionel GUEZ authored
      Pass argument copy to `read_snapshot` rather than arguments periodic
      and `dist_lim`. Motivation: do not recompute copy at each call of
      `read_snapshot`. `read_snapshot` is going to be called many times in
      overlap program, with always the same value of copy. And we do not
      need the values of periodic and `dist_lim` separately in
      `read_snapshot`.
      
      Complete `send_snapshot` and `recv_snapshot` by sending and receiving
      an entire snapshot. So we need nlon, nlat and copy in `recv_snapshot`
      to allocate `extr_map`. It is better to pass arguments nlon, nlat and
      copy than sending and receiving the shape of `extr_map` with MPI, of
      course, since the shape is the same for all snapshots. In program
      `test_send_recv`, write the entire received snaphot.
      
      Bug fix in `Tests/CMakeLists.txt`: several targets missed
      `${netcdff_INCLUDE_DIR}`.
      
      Create procedure `write_snapshot` from code in main program
      `test_read_snapshot`, because we need to do this also in program
      `test_send_recv`. Note the dissymmetry with `read_snapshot`, which
      does not include the opening and closing of the shapefiles. That is
      because we anticipate calling `read_snapshot` several times with the
      same shapefiles in program overlap.
      
      Change order of dummy arguments of procedure `write_extr_map`. More
      convenient for calling it with keywords from `write_snapshot`.
      9fb56f5f
    • Lionel GUEZ's avatar
      Simplify cmake files · 4ca261bb
      Lionel GUEZ authored
      Simplify cmake files, taking advantage of improved packaging of
      libraries. This also much simplifies the configuration process: the
      user typically has only two directories to specify: `CMAKE_PREFIX_PATH` and
      `fortrangis_INCLUDE_DIR`. Also `Shapelib_03` no longer depends on EZMPI,
      since revision 129a0cc.
      
      Add test for `test_send_recv`.
      4ca261bb
  10. Dec 26, 2019
    • Lionel GUEZ's avatar
      Send and receive a whole eddy in `test_send_recv` · 0b01c42f
      Lionel GUEZ authored
      We need the dummy version of EZMPI for sequential programs linking
      with `Shapelib_03`.
      
      Replace `include_directories` by `target_include_directories` in
      `Tests/CMakeLists.txt`. Motivation: some targets do no use ezmpi. This
      implies adding directories to `target_include_directories` for
      `extraction_eddies`.
      
      In `send_snapshot` and `recv_snapshot`, send and receive a whole
      eddy. Read and write a snapshot in `test_send_recv`.
      0b01c42f
  11. Dec 19, 2019
    • Lionel GUEZ's avatar
      Use library EZMPI · a9f5fa95
      Lionel GUEZ authored
      In procedures `recv_snapshot` and `send_snapshot`, use library EZMPI
      instead of MPI directly.
      
      Rename `receive_snapshot` to `recv_snapshot` for consistency with MPI
      calls. In procedure `send_snapshot`, invert order of dummy arguments
      tag and dest for consistency with MPI calls.
      a9f5fa95
  12. Dec 18, 2019
  13. Nov 20, 2019
  14. Oct 30, 2019
  15. Oct 04, 2019
    • Lionel GUEZ's avatar
      Generalize `eddy_dump.py` · 8c9b7b72
      Lionel GUEZ authored
      In script `eddy_dump.py`, do not assume that there is a single date
      index. So find ishape by iterating through values of date index and
      eddy index.
      
      Add a test of overlap in `short_tests.json`.
      8c9b7b72
  16. Oct 03, 2019
    • Lionel GUEZ's avatar
      Bug fixes in `test_overlap` · e8a607ef
      Lionel GUEZ authored
      In procedure `write_eddy`, no need of special treatment for
      interpolated eddy: the outermost contours and max-speed contours are
      defined as null.
      
      Read name of input file on the command line in script `read_overlap.py`.
      
      Add tests with program `test_overlap` in `short_tests.json`.
      
      Bug fix in main unit `test_overlap`: we have to call
      `init_interpolated_eddy`.  In main unit `test_overlap`, change the
      initial value of `flow(2:max_delta)%number_eddies` for more clarity in
      the results. Bug fix in main unit `test_overlap`: valid isolated
      eddies of snasphot 2 are in `flow(max_delta + 1)`, not `flow(2)`.
      e8a607ef
  17. Oct 01, 2019
    • Lionel GUEZ's avatar
      Generalize `test_successive_overlap` · 51c86d55
      Lionel GUEZ authored
      Rename `test_successive_overlap` to `test_overlap`: we will also use
      it for non-successive overlap. Accordingly, add an input variable
      `max_delta` and change the size of flow to `max_delta` + 1. We read
      from snapshots `flow(1)` and `flow(max_delta + 1)`. For
      `flow(2:max_delta)`, we only need to define the component
      `number_eddies`.
      51c86d55
  18. Sep 27, 2019
  19. Sep 24, 2019
    • Lionel GUEZ's avatar
      Add tests for program `test_write_overlap` · 63016959
      Lionel GUEZ authored
      Change the order of dummy arguments of `write_overlap`.
      
      Add tests for program `test_write_overlap`. In program
      `test_write_overlap`, make the eddy identifiers distinct.
      63016959
    • Lionel GUEZ's avatar
      Create procedure `init_interpolated_eddy` · 9a4eaaa4
      Lionel GUEZ authored
      Create procedure `init_interpolated_eddy` so that initialization is
      not repeated needlessly at each call of `write_overlap`. (Problem was
      mentioned in message of commit 10f339d2.)
      9a4eaaa4
    • Lionel GUEZ's avatar
      Use `SHP_triplet` instead of Snapshot · 69200aca
      Lionel GUEZ authored
      Use `SHP_triplet` instead of Snapshot for the name of the directory
      containing the three shapefiles extremum, `outermost_contour` and
      `max_speed_contour`. This is meant as a general name, analogous to a
      new file type. Generally, the shapefiles may contain eddies at
      different dates, not just a snapshot.
      69200aca
  20. Sep 18, 2019
    • Lionel GUEZ's avatar
      Add options for the NAG compiler · c2f43bbe
      Lionel GUEZ authored
      Add options for the NAG compiler.
      
      Replace `target_include_directories` by `include_directories` in
      `Tests/CMakeLists.txt`. The file was becoming too long.
      
      Remove unused items in use statements.
      
      Bug fix in `Tests/Input/successive_overlap_region_5_nml.txt`: remove a comma.
      c2f43bbe
  21. Sep 06, 2019
    • Lionel GUEZ's avatar
      Replace `$test_old_dir` by `$src_dir/Tests/Input` · 845752bc
      Lionel GUEZ authored
      Bug fix in procedure overlap: procedure `interpolate_eddy` does not
      exist any longer.
      
      In tests, remove use of `$test_old_dir`, use data from
      `$src_dir/Tests/Input` instead. Motivation: run tests for the first
      time more easily.
      845752bc
  22. Sep 03, 2019
    • Lionel GUEZ's avatar
      Add main program `test_write_overlap` · 507614a4
      Lionel GUEZ authored
      Change order of dummy arguments of procedure
      `write_overlap`. Motivation: call with keywords in
      `test_write_overlap`.
      
      Add main program `test_write_overlap` and corresponding tests in
      `short_tests.json`.
      
      New script `triplet_dump.sh`.
      507614a4
  23. Sep 02, 2019
    • Lionel GUEZ's avatar
      Move the inner part of overlap to `write_overlap` · 10f339d2
      Lionel GUEZ authored
      Add `.cmake` files. The idea is to have a build system independent of
      the environment. This allows us to have a customized version of
      `ConfigureCompilerFlags.cmake` without the `-ffpe-trap=invalid`
      option.
      
      Move the inner part of procedure overlap to a separate procedure
      `write_overlap`. overlap was too complex with 6 nested constructs. The
      downside is that the initialization of `e` is repeated for every
      non-successive overlap. If necessary, we can later add an
      initialization on first entry (but an initialization at declaration is
      not possible). `write_overlap` has some consistency: all the arguments
      are `intent(in)`, scalars or small vectors of intrinsic type, and
      `write_overlap` only writes to files. All modifications to flow are
      done outside of `write_overlap`.
      10f339d2
  24. Aug 23, 2019
    • Lionel GUEZ's avatar
      Remove procedure `interpolate_eddy` · 90d6cbde
      Lionel GUEZ authored
      Remove procedure `interpolate_eddy`. I realized that the longitude of
      one of the overlapping eddies must be shifted. It seemed awkward to
      pass variable m from overlap as an argument to
      `interpolate_eddy`. Passing separately the useful components of
      overlapping eddies made the procedure bulky, not worth creating for
      three lines of computation.
      
      As a consequence, inline the interpolation of eddies in procedure
      overlap. An advantage is that part of the processing that was in
      `interpolate_eddy` can migrate out of the interpolation loop.
      
      As another consequence, remove program `test_interpolate_eddy` and
      correponding test.
      
      Upgrade procedure `candidate_overlap` to deal with non-successive
      overlap. Add dummy argument delta.
      90d6cbde
  25. Aug 21, 2019
    • Lionel GUEZ's avatar
      Read directory on command line · 6869f1f1
      Lionel GUEZ authored
      Make the program `test_interpolate_eddy` more comfortable to use by
      reading a directory on the command line.
      6869f1f1
    • Lionel GUEZ's avatar
      Create test for `interpolate_eddy` · 54614e19
      Lionel GUEZ authored
      Create main program `test_interpolate_eddy`. Add corresponding test in
      `short_tests.json`. Add corresponding input files.
      54614e19
    • Lionel GUEZ's avatar
      Change order of procedure arguments · 2fe69923
      Lionel GUEZ authored
      Move dummy arguments k and i of procedure `write_eddy` to the end of
      dummy argument list: keyword association more likely for these.
      
      Follow upgrade of `Shapelib_03`: move argument associated to dummy
      argument hshp of `shp_open_03` to the beginning of argument list.
      2fe69923
  26. Aug 20, 2019
    • Lionel GUEZ's avatar
      Create script `mkdir_run.sh` · 452c18cb
      Lionel GUEZ authored
      Create general script `mkdir_run.sh` to replace specific
      scripts `extraction_eddies.sh`, `test_read_snapshot.sh`,
      `test_read_eddy.sh` and to run `test_successive_overlap`.
      
      Replace `$input_dir` by `$src_dir/Tests/Input` in
      `*_tests.json`. Motivation: we also need `src_dir` to point to
      `mkdir_run.sh`.
      452c18cb
  27. Aug 19, 2019
    • Lionel GUEZ's avatar
      Code `interpolate_eddy` · 8da135e8
      Lionel GUEZ authored
      Changing my mind, `interpolate_eddy` only interpolates, it does not
      write the interpolated eddy, this seems clearer. So it can be a
      function instead of a subroutine and we call `write_eddy` from
      overlap. We need to add arguments `hshp_extremum`, `hshp_outermost`
      and `hshp_max_speed` to overlap. The main program
      `test_successive_overlap` now has to create shapefiles.
  28. Aug 14, 2019
    • Lionel GUEZ's avatar
      Circumvent gfortran bug in `CMakeLists.txt`. · ad047254
      Lionel GUEZ authored
      Prepare for overlap of eddies at non-successive dates:
      
      - add argument `delta_out` to procedure `candidate_overlap` (not yet
      used);
      - add procedure `interpolate_eddy` (empty for now);
      - rename `successive_overlap` to overlap because the procedure will handle both
      cases, successive dates and non-successive dates;
      - generalize procedure overlap to handle delta between dates.
      ad047254
  29. Aug 08, 2019
    • Lionel GUEZ's avatar
      In main program unit `test_successive_overlap`, do not print eddies · ff66ef80
      Lionel GUEZ authored
      for which `delta_out` == 1 and eddies for which `delta_in` == 1. This
      is redundant with information in file `edgelist.csv`. I have checked
      in test `Successive_overlap_global` that eddies for which `delta_out`
      == 1 correspond to column i1 (sorted, unique) and eddies for which
      `delta_in` == 1 correspond to column i2 (sorted, unique).
      ff66ef80
    • Lionel GUEZ's avatar
      Add script `eddy_dump.py`. · cc42c8a9
      Lionel GUEZ authored
      Take into account new policy in `filter.py`: the names of the three
      shapefiles are always the same and form a unit in a snaphot directory.
      
      Rename `compil_prod_dir`to `build_dir` in JSON test files. Add a test
      of `successive_overlap` with global grid, normal resolution.
      cc42c8a9
Loading