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

Last change on this file was 5246, checked in by abarral, 23 hours ago

Convert fixed-form to free-form sources .F -> .{f,F}90
(WIP: some .F remain, will be handled in subsequent commits)

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