Skip to content
Snippets Groups Projects
  1. Apr 15, 2020
    • GUEZ Lionel's avatar
      Create derived type `shp_triplet` · df32aa8f
      GUEZ Lionel authored
      Create derived type `shp_triplet`. Motivation: we need to manipulate
      two triplets of shapefiles in program `eddy_graph`. Use everywhere a
      variable of type `shp_triplet` instead of the three variables
      `hshp_extremum`, `hshp_outermost`, `hshp_max_speed` when all three of
      them appear. Rename character variable `shp_triplet` to
      `shp_triplet_dir`.
      df32aa8f
    • GUEZ Lionel's avatar
      Polish · 35561387
      GUEZ Lionel authored
  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
    • Lionel GUEZ's avatar
      Add scripts to compare with Matlab output · 8b804de2
      Lionel GUEZ authored
      Add scripts to compare with Matlab output and script to concatenate shapefiles.
      8b804de2
  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
    • Lionel GUEZ's avatar
      Begin `receive_snapshot` and `send_snapshot` · f2cb5757
      Lionel GUEZ authored
      Fill in procedures `receive_snapshot` and `send_snapshot`. This is
      just a beginning with part of an eddy. Add test program.
      f2cb5757
    • Lionel GUEZ's avatar
      Improve `get_snapshot` · 9adf5c7a
      Lionel GUEZ authored
      hsp arguments in procedure `read_snapshot` can be declared with
      `intent(in)` since they are `intent(in)` in `read_eddy` since commit d815bf76.
      
      Bug fixes in procedure `get_snapshot`: remove duplicated declaration
      of nlon, nlat; add argument `dist_lim`, which must be passed to `read_snapshot`.
      
      In procedure `get_snapshot`, read the triplet of shapefiles from a
      directory named with the date index (for the now moment, we will see
      later for something more efficient). Check that the date index in the
      shapefiles is the date index required.
      
      In procedure `get_var`, take advantage of new procedure `nf95_get_missing`.
      9adf5c7a
  13. Nov 20, 2019
  14. Oct 30, 2019
  15. Oct 28, 2019
  16. 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
  17. 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
  18. 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
  19. Sep 27, 2019
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. Aug 21, 2019
Loading