source: LMDZ4/trunk/libf/dyn3dpar/tourpot.F @ 5297

Last change on this file since 5297 was 1000, checked in by Laurent Fairhead, 16 years ago
  • Modifs sur le parallelisme: masquage dans la physique
  • Inclusion strato
  • mise en coherence etat0
  • le mode offline fonctionne maintenant en parallele,
  • les fichiers de la dynamiques sont correctement sortis et peuvent etre reconstruit avec rebuild
  • la version parallele de la dynamique peut s'executer sans MPI (sur 1 proc)
  • L'OPENMP fonctionne maintenant sans la parallelisation MPI.

YM
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE tourpot ( vcov, ucov, massebxy, vorpot )
5      IMPLICIT NONE
6
7c=======================================================================
8c
9c   Auteur:  P. Le Van
10c   -------
11c
12c   Objet:
13c   ------
14c
15c    *******************************************************************
16c    .........      calcul du tourbillon potentiel             .........
17c    *******************************************************************
18c
19c     vcov,ucov,fext et pbarxyfl sont des argum. d'entree pour le s-pg .
20c             vorpot            est  un argum.de sortie pour le s-pg .
21c
22c=======================================================================
23
24#include "dimensions.h"
25#include "paramet.h"
26#include "comgeom.h"
27#include "logic.h"
28
29      REAL  rot( ip1jm,llm )
30      REAL vcov( ip1jm,llm ),ucov( ip1jmp1,llm )
31      REAL massebxy( ip1jm,llm ),vorpot( ip1jm,llm )
32
33      INTEGER l, ij
34
35
36
37
38c  ... vorpot = ( Filtre( d(vcov)/dx - d(ucov)/dy ) + fext ) /psbarxy ..
39
40
41
42c    ........  Calcul du rotationnel du vent V  puis filtrage  ........
43
44      DO 5 l = 1,llm
45
46      DO 2 ij = 1, ip1jm - 1
47      rot( ij,l ) = vcov(ij+1,l)-vcov(ij,l)+ucov(ij+iip1,l)-ucov(ij,l)
48   2  CONTINUE
49
50c    ....  correction pour  rot( iip1,j,l )  .....
51c    ....     rot(iip1,j,l) = rot(1,j,l)    .....
52
53CDIR$ IVDEP
54
55      DO 3 ij = iip1, ip1jm, iip1
56      rot( ij,l ) = rot( ij -iim, l )
57   3  CONTINUE
58
59   5  CONTINUE
60
61
62      CALL  filtreg( rot, jjm, llm, 2, 1, .FALSE., 1 )
63
64
65      DO 10 l = 1, llm
66
67      DO 6 ij = 1, ip1jm - 1
68      vorpot( ij,l ) = ( rot(ij,l) + fext(ij) ) / massebxy(ij,l)
69   6  CONTINUE
70
71c    ..... correction pour  vorpot( iip1,j,l)  .....
72c    ....   vorpot(iip1,j,l)= vorpot(1,j,l) ....
73CDIR$ IVDEP
74      DO 8 ij = iip1, ip1jm, iip1
75      vorpot( ij,l ) = vorpot( ij -iim,l )
76   8  CONTINUE
77
78  10  CONTINUE
79
80      RETURN
81      END
Note: See TracBrowser for help on using the repository browser.