source: trunk/LMDZ.COMMON/libf/dyn3d_common/traceurpole.F

Last change on this file was 1422, checked in by milmd, 10 years ago

In GENERIC, MARS and COMMON models replace some include files by modules (usefull for decoupling physics with dynamics).

File size: 1.5 KB
Line 
1!
2! $Id: traceurpole.F 1403 2010-07-01 09:02:53Z fairhead $
3!
4          subroutine traceurpole(q,masse)
5
6      USE control_mod
7
8          implicit none
9     
10#include "dimensions.h"
11c#include "paramr2.h"
12#include "paramet.h"
13#include "comdissip.h"
14#include "comgeom2.h"
15
16
17c   Arguments
18       integer iq
19       real masse(iip1,jjp1,llm)
20       real q(iip1,jjp1,llm)
21       
22
23c   Locals
24      integer i,j,l
25      real sommemassen(llm)
26      real sommemqn(llm)
27      real sommemasses(llm)
28      real sommemqs(llm)
29      real qpolen(llm),qpoles(llm)
30
31   
32c On impose une seule valeur au pôle Sud j=jjm+1=jjp1       
33      sommemasses=0
34      sommemqs=0
35          do l=1,llm
36             do i=1,iip1         
37                 sommemasses(l)=sommemasses(l)+masse(i,jjp1,l)
38                 sommemqs(l)=sommemqs(l)+masse(i,jjp1,l)*q(i,jjp1,l)
39             enddo         
40          qpoles(l)=sommemqs(l)/sommemasses(l)
41          enddo
42
43c On impose une seule valeur du traceur au pôle Nord j=1
44      sommemassen=0
45      sommemqn=0 
46         do l=1,llm
47           do i=1,iip1             
48               sommemassen(l)=sommemassen(l)+masse(i,1,l)
49               sommemqn(l)=sommemqn(l)+masse(i,1,l)*q(i,1,l)
50           enddo
51           qpolen(l)=sommemqn(l)/sommemassen(l)
52         enddo
53   
54c On force le traceur à prendre cette valeur aux pôles
55        do l=1,llm
56            do i=1,iip1
57               q(i,1,l)=qpolen(l)
58               q(i,jjp1,l)=qpoles(l)
59             enddo
60        enddo
61
62     
63      return
64      end           
Note: See TracBrowser for help on using the repository browser.