From 1a6e816d44bab83132b864933c052db45ebb4f06 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Thu, 24 Nov 2022 22:18:38 +0100 Subject: [PATCH] Polish --- .../Documentation_texfol/documentation.tex | 52 +++++++++++-------- Inst_eddies/set_max_speed.f90 | 2 +- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/Inst_eddies/Documentation_texfol/documentation.tex b/Inst_eddies/Documentation_texfol/documentation.tex index cc680ce7..91933522 100644 --- a/Inst_eddies/Documentation_texfol/documentation.tex +++ b/Inst_eddies/Documentation_texfol/documentation.tex @@ -1488,11 +1488,17 @@ grille rectangulaire longitude, latitude. Dans les sorties du modèle utilisé par Jonathan Gula, le champ $\zeta$ et les composantes de la vitesse dans le plan de projection sont chacun sur une grille propre. Les trois grilles sont rectangulaires mais non -longitude-latitude. On peut se ramener à deux grilles : une pour -$\zeta$ et une pour $(u, v)$. (Il faut de toutes façons se ramener à -la même grille $\psi$ pour passer des composantes de la vitesse dans -l'espace projeté aux composantes zonales et méridiennes dans l'espace -physique.) +longitude-latitude. (Il faut de toutes façons se +ramener à la même grille $\psi$ pour passer des composantes de la +vitesse dans l'espace projeté aux composantes zonales et méridiennes +dans l'espace physique.) + +Notations du modèle de J. Gula. Discrétisation Arakawa C (Arakawa 1977 +k0737, § III.A). La grille de $\zeta$ et de l'angle $\alpha$ de la +vitesse projetée est appelée grille $\rho$. La grille $\psi$ est la +grille de la vorticité. Le couple de coordonnées dans le plan de +projection est $(\xi, \eta)$. On peut se ramener à deux grilles : une +pour $\zeta$ et une pour $(u, v)$. La position en longitude et latitude intervient essentiellement à travers les variables corner, step et \verb+min_area+. Idée de faire @@ -1526,26 +1532,30 @@ Ajouter dans eddy une composante polyline \verb+outside_points+ vide dans \verb+good_contour+. Faire la recherche avec \verb+good_contour+ dans l'espace des indices. +Algorithme principal : \begin{algorithmic} - \STATE lire ($\lambda$, $\phi$, ssh, $\lambda_{uv}$, $\phi_{uv}$, u, v) + \STATE lire ($\lambda$, $\phi$, ssh, u, v) + \STATE appel de set\_all\_extr + \STATE appel de set\_all\_contours + \STATE appel de set\_all\_speed +\end{algorithmic} - \COMMENT{set\_all\_outerm} - \STATE définition de extr\_map, ind\_extr, - innermost\_level, cyclone +\verb+set_all_extr+ : remplit s\%eddy\_list\%extremum, +s\%number\_extr, s\%extr\_map, s\%eddy\_list\%innermost\_level - \FORALL{extremum} - \STATE calculer coord\_extr (pas d'interpolation) - \ENDFOR - \FORALL{extremum} - \STATE définir outside\_points dans l'espace des indices - \STATE get\_1\_outerm - \ENDFOR -\end{algorithmic} +\verb+set_all_contours+ : remplit s\%eddy\_list\%cont\_list sauf speed, +s\%eddy\_list\%valid + +\verb+set_all_speed+ : remplit s\%eddy\_list\%i\_max\_speed, +s\%eddy\_list\%cont\_list\%speed \verb+get_1_outerm+ : dans l'espace des indices et dans l'espace -$(\lambda, \phi)$. \verb+mean_speed+ : faire l'interpolation dans -l'espace des indices et faire une rotation de la vitesse. Il faut le -contour extérieur dans l'espace des indices pour pouvoir interpoler la -vitesse aux points du contour extérieur. +$(\lambda, \phi)$. + +\verb+mean_speed+ : faire l'interpolation dans l'espace des +indices. (La rotation de la vitesse dans le plan de projection a été +effectuée au moment de la lecture des entrées du programme principal.) +Il faut le contour extérieur dans l'espace des indices pour pouvoir +interpoler la vitesse aux points du contour extérieur. \end{document} diff --git a/Inst_eddies/set_max_speed.f90 b/Inst_eddies/set_max_speed.f90 index c4d3259b..a32255fd 100644 --- a/Inst_eddies/set_max_speed.f90 +++ b/Inst_eddies/set_max_speed.f90 @@ -89,7 +89,7 @@ contains if (e%speed_cont%ssh == missing_ssh) then e%speed_cont = null_ssh_contour() e%max_speed = speed_outerm - else + else e%speed_cont%polyline = good_contour(corner, step, ssh, & e%speed_cont%ssh, e%coord_extr, outside_points) -- GitLab