source: LMDZ4/branches/LMDZ4-dev-20091210/libf/phylmd/atm2geo.F90 @ 3400

Last change on this file since 3400 was 1126, checked in by jghattas, 16 years ago
  • Correction de bug sur les poles pour le changement de repere avant et apres couplage avec l'ocean.
  • Passage au F90

Olivier Marti + JG

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.1 KB
Line 
1!
2! $Header$
3!
4SUBROUTINE atm2geo ( im, jm, pte, ptn, plon, plat, pxx, pyy, pzz )
5  USE dimphy
6  USE mod_phys_lmdz_para
7  IMPLICIT NONE
8  INCLUDE 'dimensions.h'
9  INCLUDE 'YOMCST.h'
10!
11! Change wind local atmospheric coordinates to geocentric
12!
13  INTEGER, INTENT (in)                 :: im, jm
14  REAL, DIMENSION (im,jm), INTENT (in) :: pte, ptn
15  REAL, DIMENSION (im,jm), INTENT (in) :: plon, plat
16  REAL, DIMENSION (im,jm), INTENT(out) :: pxx, pyy, pzz
17 
18  REAL :: rad
19
20
21  rad = rpi / 180.0E0
22 
23  pxx(:,:) = &
24       - pte(:,:) * SIN(rad * plon(:,:)) &
25       - ptn(:,:) * SIN(rad * plat(:,:)) * COS(rad * plon(:,:))
26
27  pyy(:,:) = &
28       + pte(:,:) * COS(rad * plon(:,:)) &
29       - ptn(:,:) * SIN(rad * plat(:,:)) * SIN(rad * plon(:,:))
30 
31  pzz(:,:) = &
32       + ptn(:,:) * COS(rad * plat (:,:))
33 
34! Value at North Pole 
35  IF (is_north_pole) THEN
36     pxx(:, 1) = pxx(1,1)
37     pyy(:, 1) = pyy(1,1)
38     pzz(:, 1) = pzz(1,1)
39  ENDIF
40
41! Value at South Pole
42  IF (is_south_pole) THEN
43     pxx(:,jm) = pxx(1,jm)
44     pyy(:,jm) = pyy(1,jm)
45     pzz(:,jm) = pzz(1,jm)
46  ENDIF
47 
48END SUBROUTINE atm2geo
Note: See TracBrowser for help on using the repository browser.