Skip to content
Snippets Groups Projects
Commit 7b7ddbb5 authored by GUEZ Lionel's avatar GUEZ Lionel
Browse files

Pass `corner_proj` to `set_contours`

Instead of corner.
parent 0977b2fb
No related branches found
No related tags found
No related merge requests found
...@@ -190,7 +190,7 @@ program examine_eddy ...@@ -190,7 +190,7 @@ program examine_eddy
call set_contours(e%out_cont, e%speed_cont, e%max_speed, cyclone, e%extr, & call set_contours(e%out_cont, e%speed_cont, e%max_speed, cyclone, e%extr, &
e%innermost_level, step, ssh(llc(1):urc(1), llc(2):urc(2)), & e%innermost_level, step, ssh(llc(1):urc(1), llc(2):urc(2)), &
u(llc(1):urc(1), llc(2):urc(2)), v(llc(1):urc(1), llc(2):urc(2)), & u(llc(1):urc(1), llc(2):urc(2)), v(llc(1):urc(1), llc(2):urc(2)), &
corner_window, outside_points) (corner_window - corner) / step + 1., outside_points)
call close_cont_list call close_cont_list
call shpc_create(hshpc, shpc_dir = "SHPC", cyclone = cyclone, slice = 0, & call shpc_create(hshpc, shpc_dir = "SHPC", cyclone = cyclone, slice = 0, &
grid_lon_lat = .true.) grid_lon_lat = .true.)
......
...@@ -172,7 +172,7 @@ program inst_eddies ...@@ -172,7 +172,7 @@ program inst_eddies
s%list(i)%max_speed, s%list(i)%cyclone, s%list(i)%extr, & s%list(i)%max_speed, s%list(i)%cyclone, s%list(i)%extr, &
s%list(i)%innermost_level, step, ssh(llc(1):urc(1), llc(2):urc(2)), & s%list(i)%innermost_level, step, ssh(llc(1):urc(1), llc(2):urc(2)), &
u(llc(1):urc(1), llc(2):urc(2)), v(llc(1):urc(1), llc(2):urc(2)), & u(llc(1):urc(1), llc(2):urc(2)), v(llc(1):urc(1), llc(2):urc(2)), &
corner_window, outside_points) (corner_window - corner) / step + 1., outside_points)
end do end do
call cpu_time(t1) call cpu_time(t1)
......
...@@ -5,7 +5,7 @@ module set_contours_m ...@@ -5,7 +5,7 @@ module set_contours_m
contains contains
subroutine set_contours(out_cont, speed_cont, max_speed, cyclone, extr, & subroutine set_contours(out_cont, speed_cont, max_speed, cyclone, extr, &
innermost_level, step, ssh, u, v, corner, outside_points) innermost_level, step, ssh, u, v, corner_proj, outside_points)
! This procedure sets contours in an eddy. ! This procedure sets contours in an eddy.
...@@ -15,7 +15,6 @@ contains ...@@ -15,7 +15,6 @@ contains
use config_m, only: min_amp use config_m, only: min_amp
use derived_types, only: extremum, ssh_contour use derived_types, only: extremum, ssh_contour
use get_1_outerm_m, only: get_1_outerm use get_1_outerm_m, only: get_1_outerm
use input_ssh_m, only: corner_whole => corner
use set_max_speed_m, only: set_max_speed use set_max_speed_m, only: set_max_speed
type(ssh_contour), intent(out):: out_cont ! outermost contour type(ssh_contour), intent(out):: out_cont ! outermost contour
...@@ -42,8 +41,8 @@ contains ...@@ -42,8 +41,8 @@ contains
real, intent(in), dimension(:, :):: ssh, u, v real, intent(in), dimension(:, :):: ssh, u, v
! sea-surface height, in m, and wind, in m s-1 ! sea-surface height, in m, and wind, in m s-1
real, intent(in):: corner(:) ! (2) real, intent(in):: corner_proj(:) ! (2)
! Longitude and latitude of the corner of the grid, in rad, ! Coordinates in projection space of the corner of the grid,
! corresponding to ssh(1, 1). A priori, this is not the corner of ! corresponding to ssh(1, 1). A priori, this is not the corner of
! the grid of the NetCDF file. ! the grid of the NetCDF file.
...@@ -96,7 +95,7 @@ contains ...@@ -96,7 +95,7 @@ contains
call get_1_outerm(out_cont, cont_list, cont_list_proj, n_cont, cyclone, & call get_1_outerm(out_cont, cont_list, cont_list_proj, n_cont, cyclone, &
real(extr%coord_proj), innermost_level_2, outside_points, ssh, & real(extr%coord_proj), innermost_level_2, outside_points, ssh, &
(corner - corner_whole) / step + 1., step) corner_proj, step)
! Done with outermost contour, now let us take care of the ! Done with outermost contour, now let us take care of the
! max-speed contour. ! max-speed contour.
...@@ -105,10 +104,9 @@ contains ...@@ -105,10 +104,9 @@ contains
! {begin} Restrict the field to the outermost contour: ! {begin} Restrict the field to the outermost contour:
corner_window = floor(minval(cont_list_proj(n_cont)%points, dim = 2)) corner_window = floor(minval(cont_list_proj(n_cont)%points, dim = 2))
llc = nint((corner_whole - corner) / step) & llc = corner_window - nint(corner_proj) + 1
+ corner_window urc = ceiling(maxval(cont_list_proj(n_cont)%points, dim = 2)) &
urc = nint((corner_whole - corner) / step) & - nint(corner_proj) + 1
+ ceiling(maxval(cont_list_proj(n_cont)%points, dim = 2))
! Should have no effect except because of roundup error: ! Should have no effect except because of roundup error:
urc(2) = min(urc(2), size(ssh, 2)) urc(2) = min(urc(2), size(ssh, 2))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment