LMDZ
traceurpole.F
Go to the documentation of this file.
1 !
2 ! $Id: traceurpole.F 1952 2014-01-28 13:05:47Z lguez $
3 !
4  subroutine traceurpole(q,masse)
5 
6  USE control_mod
7 
8  implicit none
9 
10 #include "dimensions.h"
11 c#include "paramr2.h"
12 #include "paramet.h"
13 #include "comconst.h"
14 #include "comdissip.h"
15 #include "comvert.h"
16 #include "comgeom2.h"
17 #include "logic.h"
18 #include "temps.h"
19 #include "ener.h"
20 #include "description.h"
21 
22 
23 c arguments
24  integer iq
25  real masse(iip1,jjp1,llm)
26  real q(iip1,jjp1,llm)
27 
28 
29 c locals
30  integer i,j,l
31  real sommemassen(llm)
32  real sommemqn(llm)
33  real sommemasses(llm)
34  real sommemqs(llm)
35  real qpolen(llm),qpoles(llm)
36 
37 
38 c on impose une seule valeur au pôe Sud j=jjm+1=jjp1 sommemasses=0 sommemqs=0 do l=1,llm do i=1,iip1 sommemasses(l)=sommemasses(l)+masse(i,jjp1,l) sommemqs(l)=sommemqs(l)+masse(i,jjp1,l)*q(i,jjp1,l) enddo qpoles(l)=sommemqs(l)/sommemasses(l) enddo c On impose une seule valeur du traceur au pôle Nord j=1 sommemassen=0 sommemqn=0 do l=1,llm do i=1,iip1 sommemassen(l)=sommemassen(l)+masse(i,1,l) sommemqn(l)=sommemqn(l)+masse(i,1,l)*q(i,1,l) enddo qpolen(l)=sommemqn(l)/sommemassen(l) enddo c On force le traceur ŕ prendre cette valeur aux pôles do l=1,llm do i=1,iip1 q(i,1,l)=qpolen(l) q(i,jjp1,l)=qpoles(l) enddo enddo return end le sud j=jjm+1=jjp1
39  sommemasses=0
40  sommemqs=0
41  do l=1,llm
42  do i=1,iip1
43  sommemasses(l)=sommemasses(l)+masse(i,jjp1,l)
44  sommemqs(l)=sommemqs(l)+masse(i,jjp1,l)*q(i,jjp1,l)
45  enddo
46  qpoles(l)=sommemqs(l)/sommemasses(l)
47  enddo
48 
49 c on impose une seule valeur du traceur au pôe Nord j=1 sommemassen=0 sommemqn=0 do l=1,llm do i=1,iip1 sommemassen(l)=sommemassen(l)+masse(i,1,l) sommemqn(l)=sommemqn(l)+masse(i,1,l)*q(i,1,l) enddo qpolen(l)=sommemqn(l)/sommemassen(l) enddo c On force le traceur ŕ prendre cette valeur aux pôles do l=1,llm do i=1,iip1 q(i,1,l)=qpolen(l) q(i,jjp1,l)=qpoles(l) enddo enddo return end le nord j=1
50  sommemassen=0
51  sommemqn=0
52  do l=1,llm
53  do i=1,iip1
54  sommemassen(l)=sommemassen(l)+masse(i,1,l)
55  sommemqn(l)=sommemqn(l)+masse(i,1,l)*q(i,1,l)
56  enddo
57  qpolen(l)=sommemqn(l)/sommemassen(l)
58  enddo
59 
60 c on force le traceur ŕprendre cette valeur aux pôles do l=1,llm do i=1,iip1 q(i,1,l)=qpolen(l) q(i,jjp1,l)=qpoles(l) enddo enddo return end prendre cette valeur aux pôes do l=1,llm do i=1,iip1 q(i,1,l)=qpolen(l) q(i,jjp1,l)=qpoles(l) enddo enddo return end les
61  do l=1,llm
62  do i=1,iip1
63  q(i,1,l)=qpolen(l)
64  q(i,jjp1,l)=qpoles(l)
65  enddo
66  enddo
67 
68 
69  return
70  end
subroutine traceurpole(q, masse)
Definition: traceurpole.F:5
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
!$Header jjp1
Definition: paramet.h:14