Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
D
Detection eddies
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IPSL
LMD
DPAO
Detection eddies
Commits
deaf70f2
Commit
deaf70f2
authored
2 years ago
by
Lionel GUEZ
Browse files
Options
Downloads
Patches
Plain Diff
Add arguments to `get_1_outerm`
Add dummy arguments `cont_list` and `n_cont` to `get_1_outerm`.
parent
04706e30
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
Inst_eddies/Tests/test_get_1_outerm.f90
+10
-3
10 additions, 3 deletions
Inst_eddies/Tests/test_get_1_outerm.f90
Inst_eddies/get_1_outerm.f90
+10
-9
10 additions, 9 deletions
Inst_eddies/get_1_outerm.f90
Inst_eddies/set_all_outerm.f90
+13
-4
13 additions, 4 deletions
Inst_eddies/set_all_outerm.f90
with
33 additions
and
16 deletions
Inst_eddies/Tests/test_get_1_outerm.f90
+
10
−
3
View file @
deaf70f2
...
@@ -5,7 +5,7 @@ program test_get_1_outerm
...
@@ -5,7 +5,7 @@ program test_get_1_outerm
use
config_m
,
only
:
config
use
config_m
,
only
:
config
use
derived_types
,
only
:
eddy
,
shpc_slice_handler
,
null_ssh_contour
,
&
use
derived_types
,
only
:
eddy
,
shpc_slice_handler
,
null_ssh_contour
,
&
missing_speed
missing_speed
,
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
:
input_ssh
use
input_ssh_m
,
only
:
input_ssh
use
shpc_close_m
,
only
:
shpc_close
use
shpc_close_m
,
only
:
shpc_close
...
@@ -50,6 +50,13 @@ program test_get_1_outerm
...
@@ -50,6 +50,13 @@ program test_get_1_outerm
! target extremum
! target extremum
logical
::
grid_lon_lat
=
.true.
logical
::
grid_lon_lat
=
.true.
integer
,
parameter
::
n_max_cont
=
31
type
(
ssh_contour
)
cont_list
(
n_max_cont
+
1
)
! Contour list. The outermost contour is element n_cont. The
! contours are in monotonic order of ssh.
integer
n_cont
! number of good contours found and stored in cont_list
namelist
/
main_nml
/
ind_targ_extr
,
innermost_level
,
cyclone
,
date
,
&
namelist
/
main_nml
/
ind_targ_extr
,
innermost_level
,
cyclone
,
date
,
&
grid_lon_lat
grid_lon_lat
...
@@ -66,8 +73,8 @@ program test_get_1_outerm
...
@@ -66,8 +73,8 @@ program test_get_1_outerm
outside_points
=
transpose
(
outside_points
)
*
deg_to_rad
outside_points
=
transpose
(
outside_points
)
*
deg_to_rad
e
%
extr
%
coord_proj
=
ind_targ_extr
e
%
extr
%
coord_proj
=
ind_targ_extr
e
%
extr
%
coord
=
corner
+
(
ind_targ_extr
-
1
)
*
step
e
%
extr
%
coord
=
corner
+
(
ind_targ_extr
-
1
)
*
step
call
get_1_outerm
(
e
%
out_cont
,
cyclone
,
e
%
extr
%
coord
,
innermost_level
,
&
call
get_1_outerm
(
e
%
out_cont
,
cont_list
,
n_cont
,
cyclone
,
e
%
extr
%
coord
,
&
outside_points
,
ssh
,
corner
,
step
)
innermost_level
,
outside_points
,
ssh
,
corner
,
step
)
if
(
e
%
out_cont
%
closed
)
then
if
(
e
%
out_cont
%
closed
)
then
e
%
extr
%
ssh
=
ssh
(
ind_targ_extr
(
1
),
ind_targ_extr
(
2
))
e
%
extr
%
ssh
=
ssh
(
ind_targ_extr
(
1
),
ind_targ_extr
(
2
))
...
...
This diff is collapsed.
Click to expand it.
Inst_eddies/get_1_outerm.f90
+
10
−
9
View file @
deaf70f2
...
@@ -4,8 +4,8 @@ module get_1_outerm_m
...
@@ -4,8 +4,8 @@ module get_1_outerm_m
contains
contains
subroutine
get_1_outerm
(
out_cont
,
c
yclone
,
coord_extr
,
innermost_level_2
,
&
subroutine
get_1_outerm
(
out_cont
,
c
ont_list
,
n_cont
,
cyclone
,
coord_extr
,
&
outside_points
,
ssh
,
corner
,
step
)
innermost_level_2
,
outside_points
,
ssh
,
corner
,
step
)
! This procedure gets one outermost good contour, if it can find
! This procedure gets one outermost good contour, if it can find
! one. If the procedure cannot find an outermost contour, it
! one. If the procedure cannot find an outermost contour, it
...
@@ -44,6 +44,12 @@ contains
...
@@ -44,6 +44,12 @@ contains
use
spher_polyline_area_m
,
only
:
spher_polyline_area
use
spher_polyline_area_m
,
only
:
spher_polyline_area
type
(
ssh_contour
),
intent
(
out
)::
out_cont
type
(
ssh_contour
),
intent
(
out
)::
out_cont
type
(
ssh_contour
),
intent
(
out
)::
cont_list
(:)
! (n_max_cont + 1)
! Contour list. The outermost contour is element n_cont. The
! contours are in monotonic order of ssh.
integer
,
intent
(
out
)::
n_cont
! number of good contours found and stored
logical
,
intent
(
in
)::
cyclone
logical
,
intent
(
in
)::
cyclone
real
,
intent
(
in
)::
coord_extr
(:)
! (2)
real
,
intent
(
in
)::
coord_extr
(:)
! (2)
...
@@ -68,16 +74,11 @@ contains
...
@@ -68,16 +74,11 @@ contains
real
level_try
,
level_good
,
level_bad
! in m
real
level_try
,
level_good
,
level_bad
! in m
real
,
parameter
::
precision
=
5e-4
! in m
real
,
parameter
::
precision
=
5e-4
! in m
logical
mask
(
size
(
ssh
,
1
),
size
(
ssh
,
2
))
logical
mask
(
size
(
ssh
,
1
),
size
(
ssh
,
2
))
integer
,
parameter
::
n_max_cont
=
31
integer
n_max_cont
type
(
ssh_contour
)
cont_list
(
n_max_cont
+
1
)
! Contour list. The outermost contour is element n_cont. The
! contours are in monotonic order of ssh.
integer
n_cont
! number of good contours found and stored
!-----------------------------------------------------------------
!-----------------------------------------------------------------
n_max_cont
=
size
(
cont_list
)
-
1
n_cont
=
0
n_cont
=
0
cont_list
(
1
)
%
polyline
=
good_contour
(
corner
,
step
,
ssh
,
innermost_level_2
,
&
cont_list
(
1
)
%
polyline
=
good_contour
(
corner
,
step
,
ssh
,
innermost_level_2
,
&
coord_extr
,
outside_points
)
coord_extr
,
outside_points
)
...
...
This diff is collapsed.
Click to expand it.
Inst_eddies/set_all_outerm.f90
+
13
−
4
View file @
deaf70f2
...
@@ -14,7 +14,7 @@ contains
...
@@ -14,7 +14,7 @@ contains
use
numer_rec_95
,
only
:
indexx
use
numer_rec_95
,
only
:
indexx
use
config_m
,
only
:
min_amp
use
config_m
,
only
:
min_amp
use
derived_types
,
only
:
snapshot
,
null_ssh_contour
use
derived_types
,
only
:
snapshot
,
null_ssh_contour
,
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
:
max_radius
use
input_ssh_m
,
only
:
max_radius
use
nearby_extr_m
,
only
:
nearby_extr
use
nearby_extr_m
,
only
:
nearby_extr
...
@@ -64,6 +64,14 @@ contains
...
@@ -64,6 +64,14 @@ contains
! latitude, in rad, of all the significant extrema, except the
! latitude, in rad, of all the significant extrema, except the
! target extremum
! target extremum
integer
,
parameter
::
n_max_cont
=
31
type
(
ssh_contour
)
cont_list
(
n_max_cont
+
1
)
! Contour list. The outermost contour is element n_cont. The
! contours are in monotonic order of ssh.
integer
n_cont
! number of good contours found and stored in cont_list
!--------------------------------------------------------------
!--------------------------------------------------------------
if
(
.not.
periodic
)
nlon
=
size
(
ssh
,
1
)
if
(
.not.
periodic
)
nlon
=
size
(
ssh
,
1
)
...
@@ -118,9 +126,10 @@ contains
...
@@ -118,9 +126,10 @@ contains
+
ceiling
((
corner_window
(
1
)
-
outside_points
(
1
,
:))
/
twopi
)
*
twopi
+
ceiling
((
corner_window
(
1
)
-
outside_points
(
1
,
:))
/
twopi
)
*
twopi
! (Shift the longitude of each point to a value close to the
! (Shift the longitude of each point to a value close to the
! longitude of the target extremum.)
! longitude of the target extremum.)
call
get_1_outerm
(
s
%
list
(
i
)
%
out_cont
,
s
%
list
(
i
)
%
cyclone
,
&
call
get_1_outerm
(
s
%
list
(
i
)
%
out_cont
,
cont_list
,
n_cont
,
&
s
%
list
(
i
)
%
extr
%
coord
,
innermost_level_2
,
outside_points
,
&
s
%
list
(
i
)
%
cyclone
,
s
%
list
(
i
)
%
extr
%
coord
,
innermost_level_2
,
&
ssh
(
llc
(
1
):
urc
(
1
),
llc
(
2
):
urc
(
2
)),
corner_window
,
step
)
outside_points
,
ssh
(
llc
(
1
):
urc
(
1
),
llc
(
2
):
urc
(
2
)),
corner_window
,
&
step
)
s
%
list
(
i
)
%
valid
=
s
%
list
(
i
)
%
out_cont
%
area
>=
min_area
s
%
list
(
i
)
%
valid
=
s
%
list
(
i
)
%
out_cont
%
area
>=
min_area
if
(
.not.
s
%
list
(
i
)
%
valid
)
s
%
list
(
i
)
%
out_cont
=
null_ssh_contour
()
if
(
.not.
s
%
list
(
i
)
%
valid
)
s
%
list
(
i
)
%
out_cont
=
null_ssh_contour
()
end
do
end
do
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment