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

Annotation of /trunk/dyn3d/dudv1.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 91 - (hide annotations)
Wed Mar 26 17:18:58 2014 UTC (10 years, 2 months ago) by guez
File size: 1364 byte(s)
Removed unused variables lock_startdate and time_stamp of module
calendar.

Noticed that physiq does not change the surface pressure. So removed
arguments ps and dpfi of subroutine addfi. dpfi was always 0. The
computation of ps in addfi included some averaging at the poles. In
principle, this does not change ps but in practice it does because of
finite numerical precision. So the results of the simulation are
changed. Removed arguments ps and dpfi of calfis. Removed argument
d_ps of physiq.

du at the poles is not computed by dudv1, so declare only the
corresponding latitudes in dudv1. caldyn passes only a section of the
array dudyn as argument.

Removed variable niadv of module iniadvtrac_m.

Declared arguments of exner_hyb as assumed-shape arrays and made all
other horizontal sizes in exner_hyb dynamic. This allows the external
program test_disvert to use exner_hyb at a single horizontal position.

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 91 USE dimens_m, 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