source: LMDZ6/branches/Amaury_dev/libf/dyn3d_common/traceurpole.f90 @ 5134

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

Replace academic.h, alpale.h, comdissip.h, comdissipn.h, comdissnew.h by modules
Remove unused clesph0.h

  • 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.3 KB
Line 
1! $Id: traceurpole.f90 5134 2024-07-26 15:56:37Z abarral $
2
3SUBROUTINE traceurpole(q, masse)
4  USE lmdz_description, ONLY: descript
5  USE lmdz_comdissip, ONLY: coefdis, tetavel, tetatemp, gamdissip, niterdis
6
7  IMPLICIT NONE
8
9  INCLUDE "dimensions.h"
10  INCLUDE "paramet.h"
11  INCLUDE "comgeom2.h"
12
13
14  !   Arguments
15  INTEGER :: iq
16  REAL :: masse(iip1, jjp1, llm)
17  REAL :: q(iip1, jjp1, llm)
18
19
20  !   Locals
21  INTEGER :: i, j, l
22  REAL :: sommemassen(llm)
23  REAL :: sommemqn(llm)
24  REAL :: sommemasses(llm)
25  REAL :: sommemqs(llm)
26  REAL :: qpolen(llm), qpoles(llm)
27
28
29  ! On impose une seule valeur au pôle Sud j=jjm+1=jjp1
30  sommemasses = 0
31  sommemqs = 0
32  do l = 1, llm
33    do i = 1, iip1
34      sommemasses(l) = sommemasses(l) + masse(i, jjp1, l)
35      sommemqs(l) = sommemqs(l) + masse(i, jjp1, l) * q(i, jjp1, l)
36    enddo
37    qpoles(l) = sommemqs(l) / sommemasses(l)
38  enddo
39
40  ! On impose une seule valeur du traceur au pôle Nord j=1
41  sommemassen = 0
42  sommemqn = 0
43  do l = 1, llm
44    do i = 1, iip1
45      sommemassen(l) = sommemassen(l) + masse(i, 1, l)
46      sommemqn(l) = sommemqn(l) + masse(i, 1, l) * q(i, 1, l)
47    enddo
48    qpolen(l) = sommemqn(l) / sommemassen(l)
49  enddo
50
51  ! On force le traceur à prendre cette valeur aux pôles
52  do l = 1, llm
53    do i = 1, iip1
54      q(i, 1, l) = qpolen(l)
55      q(i, jjp1, l) = qpoles(l)
56    enddo
57  enddo
58
59  RETURN
60END SUBROUTINE traceurpole
Note: See TracBrowser for help on using the repository browser.