From e82644ae324dbaee639e59985a9f4293fb35a109 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Thu, 9 Mar 2023 12:11:42 +0100 Subject: [PATCH] Polish --- Inst_eddies/Documentation_texfol/documentation.tex | 12 ++++++++++++ Trajectories/Tests/segments_networkx.py | 14 +++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Inst_eddies/Documentation_texfol/documentation.tex b/Inst_eddies/Documentation_texfol/documentation.tex index ddbc766c..256c10a6 100644 --- a/Inst_eddies/Documentation_texfol/documentation.tex +++ b/Inst_eddies/Documentation_texfol/documentation.tex @@ -1597,6 +1597,18 @@ $\times$ 4 contours. Mettre \verb+outside_points+ vide dans \verb+good_contour+ pour trouver ces contours supplémentaires. Faire la recherche avec \verb+good_contour+ dans l'espace des indices. +type ssh contour : ssh, area, speed, contour xy, contour $\lambda +\phi$. + +type eddy +\begin{itemize} +\item extremum : coord proj x y, coord $\lambda \phi$, ssh +\item innermost level, cyclone +\item type(ssh contour) contour list\verb+(:)+ (dernier : outer) +\item indice dans contour list du contour de vitesse maximale +\item valid, delta in delta out +\end{itemize} + Algorithme principal : \begin{algorithmic} \STATE lire ($\lambda$, $\phi$, ssh, u, v) diff --git a/Trajectories/Tests/segments_networkx.py b/Trajectories/Tests/segments_networkx.py index a49c46c0..0f0053eb 100755 --- a/Trajectories/Tests/segments_networkx.py +++ b/Trajectories/Tests/segments_networkx.py @@ -8,21 +8,29 @@ G = nx.read_edgelist(sys.argv[1], create_using = nx.DiGraph, nodetype = int) nbunch = [] # list of nodes to remove for n in G: G.nodes[n]["inst_eddies"] = [n] +# "inst_eddies" is the list of instantaneous eddies represented by a +# node. At first, each node represents only itself. At the end of the +# script, each node will be a segment and "inst_eddies" will contain +# the list of eddies in the segment. for n in G: if G.in_degree[n] == 1: n2 = next(G.predecessors(n)) if G.out_degree[n2] == 1: - # n continues a segment, circumvent n + # n continues a segment, circumvent n: + nbunch.append(n) G.remove_edge(n2, n) - G.nodes[n2]["inst_eddies"] += G.nodes[n]["inst_eddies"] - + for n3 in list(G.successors(n)): G.remove_edge(n, n3) G.add_edge(n2, n3) + # Add the segments represented by n to the segments + # represented by n2: + G.nodes[n2]["inst_eddies"] += G.nodes[n]["inst_eddies"] + G.remove_nodes_from(nbunch) for k in sorted(G.nodes): print(k, G.nodes[k]) A = nx_agraph.to_agraph(G) -- GitLab