source: LMDZ4/trunk/libf/phylmd/atm2geo.F @ 820

Last change on this file since 820 was 793, checked in by Laurent Fairhead, 17 years ago

Modifications suite a la transformation des fichiers include pour
qu'ils soient compatibles a la fois au format fixe et au format libre
Un bon nombre de fichiers *.inc du coup disparaissent
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1!
2! $Header$
3!
4C
5      SUBROUTINE atm2geo ( im, jm, pte, ptn, plon, plat, pxx, pyy, pzz )
6      USE dimphy
7      USE mod_phys_lmdz_para
8      IMPLICIT NONE
9      include 'dimensions.h'
10cc
11cc Change wind local atmospheric coordinates to
12cc geocentric
13cc
14cxxx      INCLUDE 'param.h'
15c
16      INTEGER, INTENT (in)              :: im, jm
17      REAL, DIMENSION (im,jm), INTENT (in) :: pte, ptn
18      REAL, DIMENSION (im,jm), INTENT (in) :: plon, plat
19      REAL, DIMENSION (im,jm), INTENT(out) :: pxx, pyy, pzz
20c
21      REAL, PARAMETER :: rpi = 3.141592653E0
22      REAL, PARAMETER :: rad = rpi / 180.0E0
23c
24      REAL, DIMENSION (im,jm) :: zsinlon, zcoslon
25      REAL, DIMENSION (im,jm) :: zsinlat, zcoslat
26c
27      LOGICAL, SAVE :: linit = .FALSE.
28c$OMP THREADPRIVATE(linit)
29
30cym utilise pour le couple, ne fonctionne que en MPI seul
31c
32cxxx      IF ( .NOT. linit ) THEN
33          zsinlon = SIN (rad * plon)
34          zcoslon = COS (rad * plon)
35          zsinlat = SIN (rad * plat)
36          zcoslat = COS (rad * plat)
37          linit = .TRUE.
38cxxx      ENDIF
39c
40      pxx = - zsinlon * pte - zsinlat * zcoslon * ptn
41      pyy =   zcoslon * pte - zsinlat * zsinlon * ptn
42      pzz =   zcoslat * ptn
43
44c
45c Value at North Pole
46      IF (is_north_pole) THEN
47        pxx ( :,  1) = - ptn ( 1, 1)
48        pyy ( :,  1) = - pte ( 1, 1)
49        pzz ( :,  1) = 0.0
50      ENDIF
51c Value at South Pole
52     
53      IF (is_south_pole) THEN
54        pxx ( :, jm) = + ptn ( 1, jm)
55        pyy ( :, jm) = + pte ( 1, jm)
56        pzz ( :, jm) = 0.0
57      ENDIF
58 
59      RETURN
60      END SUBROUTINE atm2geo
Note: See TracBrowser for help on using the repository browser.