LMDZ
regular_lonlat_mod.F90
Go to the documentation of this file.
2 
3  ! Store information on the global physics grid
4  ! for a regular (longitude-latitude) grid
5 
6  INTEGER, PARAMETER :: north_east=1 ! boundaries of regular lontlat
7  INTEGER, PARAMETER :: north_west=2 ! boundaries of regular lontlat
8  INTEGER, PARAMETER :: south_west=3 ! boundaries of regular lontlat
9  INTEGER, PARAMETER :: south_east=4 ! boundaries of regular lontlat
10  INTEGER, PARAMETER :: east=1 ! boundaries of regular lontlat
11  INTEGER, PARAMETER :: west=2 ! boundaries of regular lontlat
12  INTEGER, PARAMETER :: north=1 ! boundaries of regular lontlat
13  INTEGER, PARAMETER :: south=2 ! boundaries of regular lontlat
14 
15 ! Global definition, shared by all threads
16 ! Do not set threadprivate directives
17 
18  REAL,SAVE,ALLOCATABLE :: lon_reg(:) ! value of longitude cell (rad)
19 
20  REAL,SAVE,ALLOCATABLE :: lat_reg(:) ! value of longitude cell (rad)
21 
22  REAL,SAVE,ALLOCATABLE :: boundslon_reg(:,:) ! value of boundaries cell (1=>east, 2=>west)(rad)
23 
24  REAL,SAVE,ALLOCATABLE :: boundslat_reg(:,:) ! value of longitude cell (1=>north, 2=>south)(rad)
25 
26 
27 CONTAINS
28 
29  SUBROUTINE init_regular_lonlat(nbp_lon, nbp_lat, lon_reg_, lat_reg_, boundslon_reg_, boundslat_reg_)
30  IMPLICIT NONE
31  INTEGER,INTENT(IN) :: nbp_lon
32  INTEGER,INTENT(IN) :: nbp_lat
33  REAL, INTENT(IN) :: lon_reg_(nbp_lon)
34  REAL, INTENT(IN) :: lat_reg_(nbp_lat)
35  REAL, INTENT(IN) :: boundslon_reg_(nbp_lon,2)
36  REAL, INTENT(IN) :: boundslat_reg_(nbp_lat,2)
37 
38 
39  ALLOCATE(lon_reg(nbp_lon))
40  lon_reg(:)=lon_reg_(:)
41 
42  ALLOCATE(lat_reg(nbp_lat))
43  lat_reg(:)=lat_reg_(:)
44 
45  ALLOCATE(boundslon_reg(nbp_lon,2))
46  boundslon_reg(:,:)=boundslon_reg_(:,:)
47 
48  ALLOCATE(boundslat_reg(nbp_lat,2))
49  boundslat_reg(:,:)=boundslat_reg_(:,:)
50 
51 
52  END SUBROUTINE init_regular_lonlat
53 
54 END MODULE regular_lonlat_mod
55 
integer, parameter north
integer, parameter south
integer, parameter east
integer, parameter west
real, dimension(:,:), allocatable, save boundslat_reg
integer, parameter north_west
real, dimension(:,:), allocatable, save boundslon_reg
real, dimension(:), allocatable, save lon_reg
subroutine init_regular_lonlat(nbp_lon, nbp_lat, lon_reg_, lat_reg_, boundslon_reg_, boundslat_reg_)
integer, parameter north_east
real, dimension(:), allocatable, save lat_reg
integer, parameter south_east
integer, parameter south_west