- Apr 15, 2020
-
-
GUEZ Lionel authored
Use the components for field identifiers of a variable of type `shp_triplet` instead of storing these field identifiers in variables of modules `init_shapefiles_m` and `read_field_indices_m`. The dummy argument hshp of procedure `read_field_indices` becomes `intent(inout)`.
-
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`.
-
- Apr 08, 2020
-
-
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.
-
- Apr 07, 2020
-
-
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.
-
Lionel GUEZ authored
Add scripts to compare with Matlab output and script to concatenate shapefiles.
-
- Mar 06, 2020
-
-
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.
-
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`.
-
- Mar 05, 2020
-
-
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.
-
- Feb 18, 2020
-
-
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.
-
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.
-
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`.
-
- Feb 07, 2020
-
-
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.
-
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.
-
- Jan 28, 2020
-
-
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.
-
- Jan 10, 2020
-
-
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`.
-
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`.
-
- Dec 26, 2019
-
-
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`.
-
- Dec 19, 2019
-
-
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.
-
- Dec 18, 2019
-
-
Lionel GUEZ authored
Fill in procedures `receive_snapshot` and `send_snapshot`. This is just a beginning with part of an eddy. Add test program.
-
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`.
-
- Nov 20, 2019
-
-
Lionel GUEZ authored
-
Lionel GUEZ authored
Update input files for program `test_overlap` because the program now reads `delta_in` and `delta_out`. Add a test for the logic of `delta_in` and `delta_out` in subroutine overlap. Add corresponding input snapshots.
-
Lionel GUEZ authored
Add possiblity of specifying `delta_in` and `delta_out` in program `test_overlap`.
-
Lionel GUEZ authored
Add possibility to renumber eddies in script `filter.py`.
-
- Oct 30, 2019
-
-
Lionel GUEZ authored
Read `SHP_triplet` directories as arguments in script `filter.py`. Move directory `Tests/Input/Extraction_eddies_region_5` to `Tests/Input/Region_5_2006_01_01`.
-
- Oct 28, 2019
-
-
Lionel GUEZ authored
Bug fix in procedure overlap: `delta_out` and `delta_in` should not increase.
-
- Oct 04, 2019
-
-
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`.
-
- Oct 03, 2019
-
-
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)`.
-
- Oct 01, 2019
-
-
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`.
-
- Sep 27, 2019
-
-
Lionel GUEZ authored
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.
-
Lionel GUEZ authored
-
- Sep 24, 2019
-
-
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.
-
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.)
-
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.
-
- Sep 18, 2019
-
-
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.
-
- Sep 06, 2019
-
-
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.
-
- Sep 03, 2019
-
-
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`.
-
- Sep 02, 2019
-
-
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`.
-
- Aug 23, 2019
-
-
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.
-