/[lmdze]/trunk/dyn3d/dudv1.f90
ViewVC logotype

Annotation of /trunk/dyn3d/dudv1.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (hide annotations)
Thu Jun 13 14:40:06 2019 UTC (5 years ago) by guez
File size: 1366 byte(s)
Change all `.f` suffixes to `.f90`. (The opposite was done in revision
82.)  Because of change of philosopy in GNUmakefile: we already had a
rewritten rule for `.f`, so it does not make the makefile longer to
replace it by a rule for `.f90`. And it spares us options of
makedepf90 and of the compiler. Also we prepare the way for a simpler
`CMakeLists.txt`.

1 guez 88 module dudv1_m
2 guez 3
3 guez 81 IMPLICIT NONE
4    
5 guez 88 contains
6 guez 81
7 guez 88 SUBROUTINE dudv1(vorpot, pbaru, pbarv, du, dv)
8 guez 81
9 guez 88 ! From LMDZ4/libf/dyn3d/dudv1.F, version 1.1.1.1, 2004/05/19 12:53:06
10 guez 81
11 guez 88 ! Author: P. Le Van
12 guez 81
13 guez 88 ! Objet: calcul du terme de rotation. Ce terme est ajouté à
14     ! d(ucov)/dt et à d(vcov)/dt.
15 guez 81
16 guez 265 USE dimensions, ONLY: iim, jjm, llm
17 guez 88 USE paramet_m, ONLY: iip1, iip2, ip1jm, ip1jmp1
18 guez 81
19 guez 88 REAL, intent(in):: vorpot(ip1jm, llm)
20     REAL, intent(in):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
21 guez 91 real, intent(out):: du(iim + 2: (iim + 1) * jjm, llm), dv(ip1jm, llm)
22 guez 81
23 guez 88 ! Local:
24     INTEGER l, ij
25 guez 81
26 guez 88 !----------------------------------------------------------------------
27 guez 81
28 guez 88 DO l = 1, llm
29     DO ij = iip2, ip1jm - 1
30     du(ij, l) = 0.125 * (vorpot(ij - iip1, l) + vorpot(ij, l)) &
31     * (pbarv(ij - iip1, l) + pbarv(ij - iim, l) + pbarv(ij, l) &
32     + pbarv(ij + 1, l))
33     END DO
34 guez 81
35 guez 88 DO ij = 1, ip1jm - 1
36     dv(ij + 1, l) = - 0.125 * (vorpot(ij, l) + vorpot(ij + 1, l)) &
37     * (pbaru(ij, l) + pbaru(ij + 1, l) + pbaru(ij + iip1, l) &
38     + pbaru(ij + iip2, l))
39     END DO
40    
41     ! correction pour dv(1, j, l)
42     ! dv(1, j, l) = dv(iip1, j, l)
43     DO ij = 1, ip1jm, iip1
44     dv(ij, l) = dv(ij + iim, l)
45     END DO
46 guez 81 END DO
47    
48 guez 88 END SUBROUTINE dudv1
49    
50     end module dudv1_m

  ViewVC Help
Powered by ViewVC 1.1.21