diff --git a/Analysis/plot_snapshot.py b/Analysis/plot_snapshot.py index e10d8a8f4a5f8a4ba5a8c44339f81d221ad56c90..2eebec577543add6980b1f886c4e42f70710f58c 100755 --- a/Analysis/plot_snapshot.py +++ b/Analysis/plot_snapshot.py @@ -58,8 +58,8 @@ else: m_s_iterShapes = reader_m_s.iterShapes() with netCDF4.Dataset("h.nc") as f: - longitude = f.variables["lon"][:] - latitude = f.variables["lat"][:] + longitude = f.variables["longitude"][:] + latitude = f.variables["latitude"][:] if args.window: l = input("llcrnrlon, llcrnrlat, urcrnrlon, urcrnrlat = ? ")\ diff --git a/Tests/Input/Region_4/extraction_eddies_stdout.txt b/Tests/Input/Region_4/2006_01_01/extraction_eddies_stdout.txt similarity index 100% rename from Tests/Input/Region_4/extraction_eddies_stdout.txt rename to Tests/Input/Region_4/2006_01_01/extraction_eddies_stdout.txt diff --git a/Tests/Input/Region_4/extremum.dbf b/Tests/Input/Region_4/2006_01_01/extremum.dbf similarity index 100% rename from Tests/Input/Region_4/extremum.dbf rename to Tests/Input/Region_4/2006_01_01/extremum.dbf diff --git a/Tests/Input/Region_4/extremum.shp b/Tests/Input/Region_4/2006_01_01/extremum.shp similarity index 100% rename from Tests/Input/Region_4/extremum.shp rename to Tests/Input/Region_4/2006_01_01/extremum.shp diff --git a/Tests/Input/Region_4/extremum.shx b/Tests/Input/Region_4/2006_01_01/extremum.shx similarity index 100% rename from Tests/Input/Region_4/extremum.shx rename to Tests/Input/Region_4/2006_01_01/extremum.shx diff --git a/Tests/Input/Region_4/h.nc b/Tests/Input/Region_4/2006_01_01/h.nc similarity index 62% rename from Tests/Input/Region_4/h.nc rename to Tests/Input/Region_4/2006_01_01/h.nc index 8b279a4569eb463ea4bd80da623037d7cdc33555..f6f894e9aeac78bc1d593c33f6c19eeff3cc45a9 100644 Binary files a/Tests/Input/Region_4/h.nc and b/Tests/Input/Region_4/2006_01_01/h.nc differ diff --git a/Tests/Input/Region_4/max_speed_contour.dbf b/Tests/Input/Region_4/2006_01_01/max_speed_contour.dbf similarity index 100% rename from Tests/Input/Region_4/max_speed_contour.dbf rename to Tests/Input/Region_4/2006_01_01/max_speed_contour.dbf diff --git a/Tests/Input/Region_4/max_speed_contour.shp b/Tests/Input/Region_4/2006_01_01/max_speed_contour.shp similarity index 100% rename from Tests/Input/Region_4/max_speed_contour.shp rename to Tests/Input/Region_4/2006_01_01/max_speed_contour.shp diff --git a/Tests/Input/Region_4/max_speed_contour.shx b/Tests/Input/Region_4/2006_01_01/max_speed_contour.shx similarity index 100% rename from Tests/Input/Region_4/max_speed_contour.shx rename to Tests/Input/Region_4/2006_01_01/max_speed_contour.shx diff --git a/Tests/Input/Region_4/outermost_contour.dbf b/Tests/Input/Region_4/2006_01_01/outermost_contour.dbf similarity index 100% rename from Tests/Input/Region_4/outermost_contour.dbf rename to Tests/Input/Region_4/2006_01_01/outermost_contour.dbf diff --git a/Tests/Input/Region_4/outermost_contour.shp b/Tests/Input/Region_4/2006_01_01/outermost_contour.shp similarity index 100% rename from Tests/Input/Region_4/outermost_contour.shp rename to Tests/Input/Region_4/2006_01_01/outermost_contour.shp diff --git a/Tests/Input/Region_4/outermost_contour.shx b/Tests/Input/Region_4/2006_01_01/outermost_contour.shx similarity index 100% rename from Tests/Input/Region_4/outermost_contour.shx rename to Tests/Input/Region_4/2006_01_01/outermost_contour.shx diff --git a/Tests/Input/Region_4/uv.nc b/Tests/Input/Region_4/2006_01_01/uv.nc similarity index 85% rename from Tests/Input/Region_4/uv.nc rename to Tests/Input/Region_4/2006_01_01/uv.nc index 0148d63298deb90e2f43ba7cf23fdb778009e98d..b1080d6a3c259d5171e15ef4bed9381f6b5cd5fc 100644 Binary files a/Tests/Input/Region_4/uv.nc and b/Tests/Input/Region_4/2006_01_01/uv.nc differ diff --git a/Tests/Input/Region_4/2006_01_02/dt_region_4_2006_01_02.nc b/Tests/Input/Region_4/2006_01_02/dt_region_4_2006_01_02.nc new file mode 100644 index 0000000000000000000000000000000000000000..aa84356468c5276a13ae10055bccd28204a7cc06 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/dt_region_4_2006_01_02.nc differ diff --git a/Tests/Input/Region_4/2006_01_02/extraction_eddies_stdout.txt b/Tests/Input/Region_4/2006_01_02/extraction_eddies_stdout.txt new file mode 100644 index 0000000000000000000000000000000000000000..dc741c822852e11c3c320dd67f371fb4df84d7f9 --- /dev/null +++ b/Tests/Input/Region_4/2006_01_02/extraction_eddies_stdout.txt @@ -0,0 +1,10 @@ + &MAIN_NML + MIN_AMP = 1.0000000E-03 , + MAX_RADIUS = 2*20, + MIN_RADIUS = 25.00000 + / + periodic = F + Number of extrema: 6 + Created shapefile "extremum". + Created shapefile "outermost_contour". + Created shapefile "max_speed_contour". diff --git a/Tests/Input/Region_4/2006_01_02/extremum.dbf b/Tests/Input/Region_4/2006_01_02/extremum.dbf new file mode 100644 index 0000000000000000000000000000000000000000..56243a32ce24479ec4d6bf60eb43be9c05333edb Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/extremum.dbf differ diff --git a/Tests/Input/Region_4/2006_01_02/extremum.shp b/Tests/Input/Region_4/2006_01_02/extremum.shp new file mode 100644 index 0000000000000000000000000000000000000000..a427cf7ec8b85778df7c391710e7fd930857cfe4 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/extremum.shp differ diff --git a/Tests/Input/Region_4/2006_01_02/extremum.shx b/Tests/Input/Region_4/2006_01_02/extremum.shx new file mode 100644 index 0000000000000000000000000000000000000000..18b3d3d9baabf51cb0f01ae3a6428dca3ab13257 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/extremum.shx differ diff --git a/Tests/Input/Region_4/2006_01_02/max_speed_contour.dbf b/Tests/Input/Region_4/2006_01_02/max_speed_contour.dbf new file mode 100644 index 0000000000000000000000000000000000000000..7bb1a7ab49ccf04949c56ac9130b9f04a2c16044 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/max_speed_contour.dbf differ diff --git a/Tests/Input/Region_4/2006_01_02/max_speed_contour.shp b/Tests/Input/Region_4/2006_01_02/max_speed_contour.shp new file mode 100644 index 0000000000000000000000000000000000000000..8d48f7870581376b90b5a3edaaf21a806a7ac67e Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/max_speed_contour.shp differ diff --git a/Tests/Input/Region_4/2006_01_02/max_speed_contour.shx b/Tests/Input/Region_4/2006_01_02/max_speed_contour.shx new file mode 100644 index 0000000000000000000000000000000000000000..ecb258182986d79930c131bcfb3861192962e308 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/max_speed_contour.shx differ diff --git a/Tests/Input/Region_4/2006_01_02/outermost_contour.dbf b/Tests/Input/Region_4/2006_01_02/outermost_contour.dbf new file mode 100644 index 0000000000000000000000000000000000000000..13052d7d7e0e746c0b2d94f04edcb0ac81cbb1d0 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/outermost_contour.dbf differ diff --git a/Tests/Input/Region_4/2006_01_02/outermost_contour.shp b/Tests/Input/Region_4/2006_01_02/outermost_contour.shp new file mode 100644 index 0000000000000000000000000000000000000000..053f803c4275ef3152a7bee8ad28034c48925f78 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/outermost_contour.shp differ diff --git a/Tests/Input/Region_4/2006_01_02/outermost_contour.shx b/Tests/Input/Region_4/2006_01_02/outermost_contour.shx new file mode 100644 index 0000000000000000000000000000000000000000..894257ddc1a1e5563fed703aadd83500074e1074 Binary files /dev/null and b/Tests/Input/Region_4/2006_01_02/outermost_contour.shx differ diff --git a/Tests/Input/h_2006_01_01_coarse.nc b/Tests/Input/h_2006_01_01_coarse.nc index f9ee03442f6afe46ec66c447622a1197ca0c8202..3642ae89f0b05357463fdd4d40fac7d85b453fb1 100644 Binary files a/Tests/Input/h_2006_01_01_coarse.nc and b/Tests/Input/h_2006_01_01_coarse.nc differ diff --git a/Tests/Input/huv_2015_11_29.nc b/Tests/Input/huv_2015_11_29.nc index 0c201d92a27da680a9b08d9a507226028c5e2e9a..2ef3687c53d63c980a63f14486b439f395762916 100644 Binary files a/Tests/Input/huv_2015_11_29.nc and b/Tests/Input/huv_2015_11_29.nc differ diff --git a/Tests/Input/successive_overlap_periodic_nml.txt b/Tests/Input/successive_overlap_periodic_nml.txt new file mode 100644 index 0000000000000000000000000000000000000000..5a0fd63baf4951351ca6f574e2d58f4f1cd4b903 --- /dev/null +++ b/Tests/Input/successive_overlap_periodic_nml.txt @@ -0,0 +1,7 @@ + &MAIN_NML + CORNER = 0.000000 , -81.00000 , + STEP = 20.00000 , 18.00000 , + NLON = 18, + NLAT = 10, + DIST_LIM = 4 + / diff --git a/Tests/Input/uv_2006_01_01_coarse.nc b/Tests/Input/uv_2006_01_01_coarse.nc index c57604c069cf09d8dcbb644379d991eebc206f53..3780d6016e7e6c6cd3d0083f16085146e91a9a6c 100644 Binary files a/Tests/Input/uv_2006_01_01_coarse.nc and b/Tests/Input/uv_2006_01_01_coarse.nc differ diff --git a/Tests/Input/uv_region_1.nc b/Tests/Input/uv_region_1.nc index 98570648e0b6c8347ad9656a394bd5835b66dda3..df11254a6ce78b5fc543dbd0e1cdcdcdadc4eb85 100644 Binary files a/Tests/Input/uv_region_1.nc and b/Tests/Input/uv_region_1.nc differ diff --git a/Tests/Input/uv_region_2.nc b/Tests/Input/uv_region_2.nc index 65c4baac999209d615a8b371edb6290845c31b66..eb0c4d1518c04e59f5201f781014fe66c77453b1 100644 Binary files a/Tests/Input/uv_region_2.nc and b/Tests/Input/uv_region_2.nc differ diff --git a/Tests/short_tests.json b/Tests/short_tests.json index 6a526fb2b213f25c3424759dc0b545bd57649ecd..ee4db9b0f461ffca3f404fa0bd889711b8ef0dfb 100644 --- a/Tests/short_tests.json +++ b/Tests/short_tests.json @@ -180,7 +180,7 @@ { "args": "$compil_prod_dir/extraction_eddies", "title": "Extraction_eddies_region_4", - "required": ["$input_dir/Region_4/h.nc", "$input_dir/Region_4/uv.nc"], + "required": ["$input_dir/Region_4/2006_01_01/h.nc", "$input_dir/Region_4/2006_01_01/uv.nc"], "input": "&main_nml /\n", "description": "Part of the domain has missing values." }, @@ -204,31 +204,31 @@ "args": "$compil_prod_dir/test_read_eddy", "required": [ - ["$input_dir/Region_4/extremum.dbf", "extremum_old.dbf"], - ["$input_dir/Region_4/extremum.shp", "extremum_old.shp"], - ["$input_dir/Region_4/extremum.shx", "extremum_old.shx"], + ["$input_dir/Region_4/2006_01_01/extremum.dbf", "extremum_old.dbf"], + ["$input_dir/Region_4/2006_01_01/extremum.shp", "extremum_old.shp"], + ["$input_dir/Region_4/2006_01_01/extremum.shx", "extremum_old.shx"], [ - "$input_dir/Region_4/max_speed_contour.dbf", + "$input_dir/Region_4/2006_01_01/max_speed_contour.dbf", "max_speed_contour_old.dbf" ], [ - "$input_dir/Region_4/max_speed_contour.shp", + "$input_dir/Region_4/2006_01_01/max_speed_contour.shp", "max_speed_contour_old.shp" ], [ - "$input_dir/Region_4/max_speed_contour.shx", + "$input_dir/Region_4/2006_01_01/max_speed_contour.shx", "max_speed_contour_old.shx" ], [ - "$input_dir/Region_4/outermost_contour.dbf", + "$input_dir/Region_4/2006_01_01/outermost_contour.dbf", "outermost_contour_old.dbf" ], [ - "$input_dir/Region_4/outermost_contour.shp", + "$input_dir/Region_4/2006_01_01/outermost_contour.shp", "outermost_contour_old.shp" ], [ - "$input_dir/Region_4/outermost_contour.shx", + "$input_dir/Region_4/2006_01_01/outermost_contour.shx", "outermost_contour_old.shx" ] ], @@ -238,31 +238,31 @@ "args": "$compil_prod_dir/test_read_snapshot", "required": [ - ["$input_dir/Region_4/extremum.dbf", "extremum_old.dbf"], - ["$input_dir/Region_4/extremum.shp", "extremum_old.shp"], - ["$input_dir/Region_4/extremum.shx", "extremum_old.shx"], + ["$input_dir/Region_4/2006_01_01/extremum.dbf", "extremum_old.dbf"], + ["$input_dir/Region_4/2006_01_01/extremum.shp", "extremum_old.shp"], + ["$input_dir/Region_4/2006_01_01/extremum.shx", "extremum_old.shx"], [ - "$input_dir/Region_4/max_speed_contour.dbf", + "$input_dir/Region_4/2006_01_01/max_speed_contour.dbf", "max_speed_contour_old.dbf" ], [ - "$input_dir/Region_4/max_speed_contour.shp", + "$input_dir/Region_4/2006_01_01/max_speed_contour.shp", "max_speed_contour_old.shp" ], [ - "$input_dir/Region_4/max_speed_contour.shx", + "$input_dir/Region_4/2006_01_01/max_speed_contour.shx", "max_speed_contour_old.shx" ], [ - "$input_dir/Region_4/outermost_contour.dbf", + "$input_dir/Region_4/2006_01_01/outermost_contour.dbf", "outermost_contour_old.dbf" ], [ - "$input_dir/Region_4/outermost_contour.shp", + "$input_dir/Region_4/2006_01_01/outermost_contour.shp", "outermost_contour_old.shp" ], [ - "$input_dir/Region_4/outermost_contour.shx", + "$input_dir/Region_4/2006_01_01/outermost_contour.shx", "outermost_contour_old.shx" ] ], @@ -271,7 +271,7 @@ }, { "args" : ["$compil_prod_dir/test_local_extrema", - "$input_dir/Region_4/h.nc"], + "$input_dir/Region_4/2006_01_01/h.nc"], "title" : "Local_extrema_missing", "description": "With input file containing missing values.", "input" : "f" @@ -282,9 +282,9 @@ "description": "Overlap of a snapshot with itself.", "required": [ - "$input_dir/Region_4/*.dbf", - "$input_dir/Region_4/*.shx", - "$input_dir/Region_4/*.shp" + "$input_dir/Region_4/2006_01_01/*.dbf", + "$input_dir/Region_4/2006_01_01/*.shx", + "$input_dir/Region_4/2006_01_01/*.shp" ], "stdin_filename": "$input_dir/successive_overlap_nml.txt" }, @@ -337,5 +337,17 @@ ["$input_dir/uv_2006_01_01_coarse.nc", "uv.nc"]], "input": "&main_nml min_amp = 0., MAX_RADIUS = 4, 4/\n", "description": "Periodic domain." + }, + { + "args" : "$compil_prod_dir/test_successive_overlap", + "title" : "Successive_overlap_periodic", + "description": "Overlap of a snapshot with itself. Global coarse grid.", + "required": + [ + "$tests_old_dir/Extraction_eddies_periodic/*.dbf", + "$tests_old_dir/Extraction_eddies_periodic/*.shx", + "$tests_old_dir/Extraction_eddies_periodic/*.shp" + ], + "stdin_filename": "$input_dir/successive_overlap_periodic_nml.txt" } ] diff --git a/Tests/test_local_extrema.f90 b/Tests/test_local_extrema.f90 index b63d0b1820c50c886d3f44630441c25ed2340596..4882658ff031ea4c8d32908c7b0d08634c47042f 100644 --- a/Tests/test_local_extrema.f90 +++ b/Tests/test_local_extrema.f90 @@ -9,7 +9,7 @@ program test_local_extrema use jumble, only: new_unit, get_command_arg_dyn use netcdf, only: nf90_nowrite use netcdf95, only: nf95_open, nf95_close, nf95_inq_varid, nf95_get_var, & - nf95_gw_var, nf95_get_att + nf95_gw_var, nf95_get_att, find_coord use local_extrema_m, only: local_extrema use write_extr_map_m, only: write_extr_map @@ -48,11 +48,11 @@ program test_local_extrema print *, "periodic = ", periodic print *, "Reading from ", filename, "..." call nf95_open(filename, nf90_nowrite, ncid) - - call nf95_inq_varid(ncid, "lon", varid) + + call find_coord(ncid, std_name = "longitude", varid = varid) call nf95_gw_var(ncid, varid, longitude) - call nf95_inq_varid(ncid, "lat", varid) + call find_coord(ncid, std_name = "latitude", varid = varid) call nf95_gw_var(ncid, varid, latitude) nlon = size(longitude) diff --git a/Tests/test_max_speed_contour_ssh.f90 b/Tests/test_max_speed_contour_ssh.f90 index aa3669e28f5f2848c60cd12dadbda4e537769735..f3d498412de83709d3b07d9893cbe24a7dd8d109 100644 --- a/Tests/test_max_speed_contour_ssh.f90 +++ b/Tests/test_max_speed_contour_ssh.f90 @@ -54,9 +54,11 @@ program test_max_speed_contour_ssh print *, "Reading from ", velocity_file, "..." call nf95_open(velocity_file, nf90_nowrite, ncid) call get_var(periodic = .false., max_rad_lon = 0, values = u, ncid = ncid, & - nlon = nlon, name = "u", new_fill_value = ieee_value(0., IEEE_QUIET_NAN)) + nlon = nlon, name = "ugos", & + new_fill_value = ieee_value(0., IEEE_QUIET_NAN)) call get_var(periodic = .false., max_rad_lon = 0, values = v, ncid = ncid, & - nlon = nlon, name = "v", new_fill_value = ieee_value(0., IEEE_QUIET_NAN)) + nlon = nlon, name = "vgos", & + new_fill_value = ieee_value(0., IEEE_QUIET_NAN)) call nf95_close(ncid) print *, "level = ", max_speed_contour_ssh(ssh(:, :, 1), u, v, ind_extr, & diff --git a/Tests/test_mean_speed.f90 b/Tests/test_mean_speed.f90 index e454a40082d1948109cdc1dacb90875ab48a6503..9a3672dfa2ab3e732b95ba7d081be3d1146fb0bb 100644 --- a/Tests/test_mean_speed.f90 +++ b/Tests/test_mean_speed.f90 @@ -46,10 +46,10 @@ program test_mean_speed allocate(u(nlon, nlat), v(nlon, nlat)) - call nf95_inq_varid(ncid, "u", varid) + call nf95_inq_varid(ncid, "ugos", varid) call nf95_get_var(ncid, varid, u) - call nf95_inq_varid(ncid, "v", varid) + call nf95_inq_varid(ncid, "vgos", varid) call nf95_get_var(ncid, varid, v) call nf95_close(ncid) diff --git a/Tests/test_set_max_speed.f90 b/Tests/test_set_max_speed.f90 index 698a09f01010a1491ad0322789efd852c91916c9..cb06b30985fb4b67d93a785967184b4ea70e8d7d 100644 --- a/Tests/test_set_max_speed.f90 +++ b/Tests/test_set_max_speed.f90 @@ -71,10 +71,10 @@ program test_set_max_speed allocate(u(nlon, nlat), v(nlon, nlat)) - call nf95_inq_varid(ncid, "u", varid) + call nf95_inq_varid(ncid, "ugos", varid) call nf95_get_var(ncid, varid, u) - call nf95_inq_varid(ncid, "v", varid) + call nf95_inq_varid(ncid, "vgos", varid) call nf95_get_var(ncid, varid, v) call nf95_close(ncid) diff --git a/derived_types.f90 b/derived_types.f90 index c82e669ab8aa58f2dafd97d662d369e4b9f491ac..ffec692525959191f0123b67764398cee6b6bd37 100644 --- a/derived_types.f90 +++ b/derived_types.f90 @@ -48,7 +48,7 @@ module derived_types integer, allocatable:: extr_map(:, :) ! (1 - copy:nlon + copy, nlat) if the grid is periodic in ! longitude, else (nlon, nlat). copy can be max_radius(1) or - ! disy_lim, depending on the program. At a point of extremum SSH: + ! dist_lim, depending on the program. At a point of extremum SSH: ! identification number or this extremum. 0 at other points. integer, allocatable:: ind_extr(:, :) ! (2, number_vis_extr) diff --git a/extraction_eddies.f90 b/extraction_eddies.f90 index dff093a1b814686bd0f725db35334d45897cc9f5..b063fa7698baa51e675b7b3645f012eaff2313cb 100644 --- a/extraction_eddies.f90 +++ b/extraction_eddies.f90 @@ -130,9 +130,9 @@ program extraction_eddies call nf95_close(ncid) call nf95_open("uv.nc", nf90_nowrite, ncid) - call get_var(periodic, max_radius(1), u, ncid, nlon, name = "u", & + call get_var(periodic, max_radius(1), u, ncid, nlon, name = "ugos", & new_fill_value = ieee_value(0., IEEE_QUIET_NAN)) - call get_var(periodic, max_radius(1), v, ncid, nlon, name = "v", & + call get_var(periodic, max_radius(1), v, ncid, nlon, name = "vgos", & new_fill_value = ieee_value(0., IEEE_QUIET_NAN)) ! (We will need quiet NaNs rather the original fill values for u and ! v when we compute the max-speed contours and when we search the @@ -191,10 +191,10 @@ program extraction_eddies print *, "Number of extrema:", s%number_vis_extr CALL shpclose(hshp_extremum) - print *, 'Created shapefile "extremum_1".' + print *, 'Created shapefile "extremum".' CALL shpclose(hshp_outermost) - print *, 'Created shapefile "outermost_contour_1".' + print *, 'Created shapefile "outermost_contour".' CALL shpclose(hshp_max_speed) - print *, 'Created shapefile "max_speed_contour_1".' + print *, 'Created shapefile "max_speed_contour".' end program extraction_eddies diff --git a/read_snapshot.f90 b/read_snapshot.f90 index 72c4b12658a795a0016f9d7787fb4f3d808d3fdb..50b2736cb85310627825cd75d867aa7a69884fe4 100644 --- a/read_snapshot.f90 +++ b/read_snapshot.f90 @@ -46,7 +46,7 @@ contains !--------------------------------------------------------------------- - call shp_get_info_03(hshp_extremum, s%number_vis_extr) + call shp_get_info_03(hshp_extremum, n_entities = s%number_vis_extr) allocate(s%list_vis(s%number_vis_extr)) call read_field_indices(hshp_extremum, hshp_outermost, hshp_max_speed)