source: trunk/LMDZ.COMMON/libf/dyn3d_common/tidal_forces.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: 2.7 KB
Line 
1      SUBROUTINE tidal_forces (t, du, dv)
2
3      IMPLICIT NONE
4c
5c=======================================================================
6c
7c   Auteur:  B. Charnay  (10/2010)
8c   -------
9c
10c   Objet:
11c   ------
12c
13c   *****************************************************************
14c   ..... calcul du gradient horizontal du potentiel gravitationnel du aux forces de marees causees par Saturne
15c   ..... Formule tiree de Tokano 2002
16c   *****************************************************************
17c          Ces termes sont ajoutes a  d(ucov)/dt et a d(vcov)/dt  ..
18c
19c
20c    du et dv          sont des arguments de sortie pour le s-pg  ....
21c
22c=======================================================================
23c
24#include "dimensions.h"
25#include "paramet.h"
26#include "comgeom.h"
27!#include "comorbit.h"
28      REAL t        ! jour de l'annee
29      REAL du( ip1jmp1,llm ),  dv( ip1jm,llm )
30
31c     variables locales
32      REAL Vo
33      PARAMETER (Vo=-4.691e-6)
34      INTEGER  l,ij,i,k
35      REAL n                ! 2pi/periode de rotation siderale (en jours)
36      REAL a0               ! angle à l'instant initial entre Titan et le perihelie
37      PARAMETER (a0=0.)     
38
39c     cos et sin de la latitude et longitude, calcules au premiers appel
40      REAL coslonv(ip1jm),sinlonv(ip1jm)
41      REAL sinlatv(ip1jm),coslatv(ip1jm)
42      REAL coslonu(ip1jmp1),sinlonu(ip1jmp1)
43      REAL sinlatu(ip1jmp1),coslatu(ip1jmp1)     
44
45      LOGICAl first     
46
47      SAVE coslonv,coslonu,sinlonu,sinlonv
48      SAVE coslatv,coslatu,sinlatu,sinlatv
49      SAVE first, n
50
51      DATA first /.true./
52
53! Calcul des sin et cos aux points consideres
54
55      IF(first) THEN
56         first=.false.
57         n=2*3.145!*(1+1/673.)
58         do i=1,iip1
59          do k=1,jjm
60            coslonv(i+(k-1)*iip1)=cos(rlonv(i))
61            sinlonv(i+(k-1)*iip1)=sin(rlonv(i))
62            coslatv(i+(k-1)*iip1)=cos(rlatv(k))
63            sinlatv(i+(k-1)*iip1)=sin(rlatv(k))
64          ENDDO
65         ENDDO
66
67
68
69         do i=1,iip1
70          do k=1,jjp1
71            coslonu(i+(k-1)*iip1)=cos(rlonu(i))
72            sinlonu(i+(k-1)*iip1)=sin(rlonu(i))
73            coslatu(i+(k-1)*iip1)=cos(rlatu(k))
74            sinlatu(i+(k-1)*iip1)=sin(rlatu(k))
75          ENDDO
76         ENDDO
77
78
79
80      ENDIF
81
82
83! Tendance du aux forces de maree
84
85      DO l = 1,llm
86
87      DO ij  = 1, ip1jmp1
88
89       du(ij,l) = cu(ij)*Vo
90     $    *(3*sinlonu(ij)*coslonu(ij)*coslatu(ij)*cos(n*t+a0)
91     $    -2*coslatu(ij)*(2*coslonu(ij)**2-1)*sin(n*t+a0))       
92      ENDDO
93
94      DO ij  = 1, ip1jm
95       dv(ij,l) = cv(ij)*Vo
96     $    *(3*sinlatv(ij)*coslatv(ij)*coslonv(ij)**2*cos(n*t+a0)
97     $    + 4*coslatv(ij)*sinlatv(ij)*sinlonv(ij)*coslonv(ij)
98     $    *sin(n*t+a0))     
99      ENDDO
100
101      ENDDO
102
103
104c
105      RETURN
106      END
Note: See TracBrowser for help on using the repository browser.