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
1f733865
Commit
1f733865
authored
2 years ago
by
Lionel GUEZ
Browse files
Options
Downloads
Patches
Plain Diff
Polish
parent
4e498311
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
Inst_eddies/Analysis/stat.py
+6
-9
6 additions, 9 deletions
Inst_eddies/Analysis/stat.py
Inst_eddies/Documentation_texfol/documentation.tex
+24
-7
24 additions, 7 deletions
Inst_eddies/Documentation_texfol/documentation.tex
with
30 additions
and
16 deletions
Inst_eddies/Analysis/stat.py
+
6
−
9
View file @
1f733865
...
...
@@ -59,13 +59,10 @@ with shapefile.Reader(path.join(args.SHPC, "Slice_0", args.orientation,
else
:
n_valid_speed
+=
1
print
(
"
number of extrema of SSH:
"
,
n_extr
)
print
()
print
(
"
number of extrema of SSH:
"
,
n_extr
,
"
\n
"
)
print
(
"
number of null outermost contours:
"
,
n_null
,
"
\n
"
)
print
(
"
number of valid eddies (outermost contour found with sufficient area):
"
,
n_valid
)
print
()
n_valid
,
"
\n
"
)
if
with_radius_4
:
print
(
"
number of extrema with radius4 == 0 (no outermost contour or
"
...
...
@@ -82,10 +79,9 @@ if n_valid != 0:
print
(
"
average number of points of outermost contour per valid eddy:
"
,
n_points_valid
/
n_valid
)
print
(
"
average number of points of outermost contour per extremum (valid eddy
"
"
or not):
"
,
n_points
/
n_extr
)
print
()
print
(
"
average number of points of outermost contour per extremum (valid or
"
"
invalid eddy, including null outermost contours):
"
,
n_points
/
n_extr
,
"
\n
"
)
print
(
"
number of valid speed values:
"
,
n_valid_speed
)
if
with_radius_4
:
...
...
@@ -106,6 +102,7 @@ with shapefile.Reader(path.join(args.SHPC, "Slice_0", args.orientation,
for
shape_rec
in
max_speed_contour
:
l
=
len
(
shape_rec
.
shape
.
points
)
n_points
+=
l
if
shape_rec
.
record
.
r_eq_area
>=
0
:
n_max_speed
+=
1
n_points_valid
+=
l
...
...
This diff is collapsed.
Click to expand it.
Inst_eddies/Documentation_texfol/documentation.tex
+
24
−
7
View file @
1f733865
...
...
@@ -737,9 +737,16 @@ Nous avons besoin que la composante extr\_map de snapshot soit étendue
en longitude dans le cas d'un domaine périodique pour son utilisation
par
\verb
+
nearby_extr
+
.
Les tailles ci-dessous sont calculées pour 8000 tourbillons, 30 côtés par
polygone (sans différence entre contour extérieur et contour de
vitesse maximale), 720 latitudes par 1440 longitudes.
Avec les données globales Aviso en 1993, on trouve (avec le script
\verb
+
stat.py
+
), pour chaque orientation, une moyenne d'environ
\np
{
7e3
}
extremums par date,
\np
{
14
}
points par contour extérieur
(valide ou non, y compris nul),
\np
{
4
}
points par contour de vitesse
maximale (nul ou non),
\np
{
3e3
}
contours extérieurs valides par date,
23 points par contour extérieur valide,
\np
{
1e3
}
contours de vitesse
maximale non vides par date, 20 points par contour de vitesse maximale
non vide. Les tailles ci-dessous sont calculées pour 13000
tourbillons, 18 points au total dans le contour extérieur et le
contour de vitesse maximale, 720 latitudes par 1440 longitudes.
\begin{description}
\item
[longitude, latitude]
Vecteurs de réels
\item
[ssh, u, v]
Tableaux de réels, deux dimensions (nlon,
...
...
@@ -762,7 +769,7 @@ vitesse maximale), 720 latitudes par 1440 longitudes.
&
= [2 (n
_
o + n
_
s) + 17]
\ \mathrm
{
mots
}
\\
&
= 4 [2 (n
_
o + n
_
s) + 17]
\ \mathrm
{
B
}
\end{align*}
soit environ
\np
{
0.
5
}
KiB.
soit environ
\np
{
0.
2
}
KiB.
\item
[snapshot\%list\_vis]
On a besoin d'encapsuler le vecteur de type
eddy dans un scalaire de type snapshot pour pouvoir considérer un
vecteur de snapshots. Notons
$
n
_{
ve
}$
le nombre de tourbillons à une
...
...
@@ -772,12 +779,12 @@ soit environ \np{0.5} KiB.
= n
_{
ve
}
[2 (
\langle
n
_
o
\rangle
+
\langle
n
_
s
\rangle
) + 17]
\ \mathrm
{
mots
}
\end{equation*}
soit environ
4
MiB.
soit environ
3
MiB.
\item
[snapshot\%extr\_map]
Notons
$
n
_
\lambda
$
le nombre de longitudes,
$
n
_
\phi
$
le nombre de latitudes. Taille :
$
n
_
\lambda
n
_
\phi
$
mots,
soit environ 4 MiB.
\item
[snapshot\%ind\_extr]
Taille :
$
2
n
_{
ve
}$
mots, soit environ
\np
{
0.
06
}
MiB.
\np
{
0.
1
}
MiB.
\end{description}
On a :
\begin{align*}
...
...
@@ -787,7 +794,7 @@ On a :
&
= [n
_{
ve
}
(2 (
\langle
n
_
o
\rangle
+
\langle
n
_
s
\rangle
) + 19)
+ n
_
\lambda
n
_
\phi
+ 2]
\ \mathrm
{
mots
}
\end{align*}
D'où la taille d'un scalaire de type snapshot : environ
8
MiB.
D'où la taille d'un scalaire de type snapshot : environ
7
MiB.
J'avais d'abord pensé mettre dans le type eddy les champs ind
\_
lon et
ind
\_
lat. Ce n'est pas très cohérent parce que les indices se réfèrent
...
...
@@ -924,6 +931,16 @@ ne ferme pas les contours passant par le bord. J'avais essayé, pour
inférieure mais cela pose des problèmes de cohérence dans
l'algorithme.
Remarque. Il est inutile de tester si area est supérieur à
\verb
+
min_area
+
à chaque itération. Si area est strictement inférieur,
cela ne permet pas de stopper la boucle puisqu'on va chercher ensuite
un contour plus grand.
Remarque. Il n'est pas possible de diminuer la fenêtre de recherche
des contours au cours de la boucle. En effet, les bons contours
trouvés sont de plus en plus grands, et on cherche toujours un contour
plus grand.
\subsection
{
good
\_
contour
}
Trouve, si elle existe, une ligne de niveau à un niveau donné,
...
...
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