My Project
Main Page
Data Types List
Files
File List
File Members
All
Classes
Files
Functions
Variables
Macros
geo2atm.F90
Go to the documentation of this file.
1
!
2
! $Header: /home/cvsroot/LMDZ4/libf/phylmd/geo2atm.F90,v 1.1 2008-12-05 17:56:40 lsce Exp $
3
!
4
SUBROUTINE
geo2atm
(im, jm, px, py, pz, plon, plat, pu, pv, pr)
5
USE
dimphy
6
USE
mod_phys_lmdz_para
7
8
IMPLICIT NONE
9
include
'dimensions.h'
10
include
'YOMCST.h'
11
12
! Change wind coordinates from cartesian geocentric to local spherical
13
! NB! Fonctionne probablement uniquement en MPI seul (sans OpenMP)
14
!
15
INTEGER
,
INTENT (IN)
::
im
,
jm
16
REAL
,
DIMENSION (im,jm)
,
INTENT(IN)
:: px, py, pz
17
REAL
,
DIMENSION (im,jm)
,
INTENT(IN)
:: plon, plat
18
REAL
,
DIMENSION (im,jm)
,
INTENT(OUT)
:: pu, pv, pr
19
20
REAL
::
rad
21
22
23
rad
= rpi / 180.0e0
24
25
pu(:,:) = &
26
- px(:,:) * sin(
rad
* plon(:,:)) &
27
+ py(:,:) * cos(
rad
* plon(:,:))
28
29
pv(:,:) = &
30
- px(:,:) * sin(
rad
* plat(:,:)) * cos(
rad
* plon(:,:)) &
31
- py(:,:) * sin(
rad
* plat(:,:)) * sin(
rad
* plon(:,:)) &
32
+ pz(:,:) * cos(
rad
* plat(:,:))
33
34
pr(:,:) = &
35
+ px(:,:) * cos(
rad
* plat(:,:)) * cos(
rad
* plon(:,:)) &
36
+ py(:,:) * cos(
rad
* plat(:,:)) * sin(
rad
* plon(:,:)) &
37
+ pz(:,:) * sin(
rad
* plat(:,:))
38
39
! Value at North Pole
40
IF
(is_north_pole)
THEN
41
pu(:, 1) = -px(1,1)
42
pv(:, 1) = -py(1,1)
43
pr(:, 1) = 0.0
44
ENDIF
45
46
! Value at South Pole
47
IF
(is_south_pole)
THEN
48
pu(:,
jm
) = -px(1,
jm
)
49
pv(:,
jm
) = -py(1,
jm
)
50
pr(:,
jm
) = 0.0
51
ENDIF
52
53
END SUBROUTINE
geo2atm
libf
phylmd
geo2atm.F90
Generated on Fri Jun 28 2013 15:59:20 for My Project by
1.8.1.2