source: LMDZ6/branches/Amaury_dev/libf/dyn3d/dudv1.F90 @ 5118

Last change on this file since 5118 was 5106, checked in by abarral, 4 months ago

Turn coefils.h into lmdz_coefils.f90
Put filtreg.F90 inside lmdz_filtreg.F90
Turn mod_filtreg_p.F90 into lmdz_filtreg_p.F90
Delete obsolete parafilt.h*
(lint) remove spaces between routine name and args

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.4 KB
Line 
1! $Header$
2
3SUBROUTINE dudv1(vorpot, pbaru, pbarv, du, dv)
4  IMPLICIT NONE
5  !
6  !-----------------------------------------------------------------------
7  !
8  !   Auteur:   P. Le Van
9  !   -------
10  !
11  !   Objet:
12  !   ------
13  !   calcul du terme de  rotation
14  !   ce terme est ajoute a  d(ucov)/dt et a d(vcov)/dt  ..
15  !   vorpot, pbaru et pbarv sont des arguments d'entree  pour le s-pg ..
16  !   du  et dv              sont des arguments de sortie pour le s-pg ..
17  !
18  !-----------------------------------------------------------------------
19
20  include "dimensions.h"
21  include "paramet.h"
22
23  REAL :: vorpot(ip1jm, llm), pbaru(ip1jmp1, llm), &
24          pbarv(ip1jm, llm), du(ip1jmp1, llm), dv(ip1jm, llm)
25  INTEGER :: l, ij
26  !
27  !
28  DO l = 1, llm
29    !
30    DO ij = iip2, ip1jm - 1
31      du(ij, l) = 0.125 * (vorpot(ij - iip1, l) + vorpot(ij, l)) * &
32              (pbarv(ij - iip1, l) + pbarv(ij - iim, l) + &
33                      pbarv(ij, l) + pbarv(ij + 1, l))
34    END DO
35    !
36    DO ij = 1, ip1jm - 1
37      dv(ij + 1, l) = - 0.125 * (vorpot(ij, l) + vorpot(ij + 1, l)) * &
38              (pbaru(ij, l) + pbaru(ij + 1, l) + &
39                      pbaru(ij + iip1, l) + pbaru(ij + iip2, l))
40    END DO
41    !
42    !    .... correction  pour  dv( 1,j,l )  .....
43    !    ....   dv(1,j,l)= dv(iip1,j,l) ....
44    !
45    !DIR$ IVDEP
46    DO ij = 1, ip1jm, iip1
47      dv(ij, l) = dv(ij + iim, l)
48    END DO
49    !
50  END DO
51
52END SUBROUTINE dudv1
Note: See TracBrowser for help on using the repository browser.