source: LMDZ6/trunk/libf/dyn3d/dudv1.F90 @ 5273

Last change on this file since 5273 was 5272, checked in by abarral, 2 days ago

Turn paramet.h into a module

  • 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.5 KB
Line 
1!
2! $Header$
3!
4SUBROUTINE dudv1 ( vorpot, pbaru, pbarv, du, dv )
5  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
6USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
7          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
8IMPLICIT NONE
9  !
10  !-----------------------------------------------------------------------
11  !
12  !   Auteur:   P. Le Van
13  !   -------
14  !
15  !   Objet:
16  !   ------
17  !   calcul du terme de  rotation
18  !   ce terme est ajoute a  d(ucov)/dt et a d(vcov)/dt  ..
19  !   vorpot, pbaru et pbarv sont des arguments d'entree  pour le s-pg ..
20  !   du  et dv              sont des arguments de sortie pour le s-pg ..
21  !
22  !-----------------------------------------------------------------------
23
24
25
26
27  REAL :: vorpot( ip1jm,llm ) ,pbaru( ip1jmp1,llm ) , &
28        pbarv( ip1jm,llm ) ,du( ip1jmp1,llm ) ,dv( ip1jm,llm )
29  INTEGER :: l,ij
30  !
31  !
32  DO l = 1,llm
33  !
34  DO  ij = iip2, ip1jm - 1
35  du( ij,l ) = 0.125 *(  vorpot(ij-iip1, l) + vorpot( ij, l)  ) * &
36        (   pbarv(ij-iip1, l) + pbarv(ij-iim,  l) + &
37        pbarv(   ij  , l) + pbarv(ij+ 1 ,  l)   )
38  END DO
39  !
40  DO ij = 1, ip1jm - 1
41  dv( ij+1,l ) = - 0.125 *(  vorpot(ij, l)  + vorpot(ij+1, l)  ) * &
42        (   pbaru(ij, l)  +  pbaru(ij+1   , l) + &
43        pbaru(ij+iip1, l)  +  pbaru(ij+iip2, l)  )
44  END DO
45  !
46  !    .... correction  pour  dv( 1,j,l )  .....
47  !    ....   dv(1,j,l)= dv(iip1,j,l) ....
48  !
49  !DIR$ IVDEP
50  DO ij = 1, ip1jm, iip1
51  dv( ij,l ) = dv( ij + iim, l )
52  END DO
53  !
54  END DO
55  RETURN
56END SUBROUTINE dudv1
Note: See TracBrowser for help on using the repository browser.