1 | MODULE lmdz_regular_lonlat |
---|
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=2 ! boundaries of regular lontlat |
---|
11 | INTEGER, PARAMETER :: west=1 ! 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=>west, 2=>east)(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 lmdz_regular_lonlat |
---|
55 | |
---|