[2346] | 1 | MODULE regular_lonlat_mod |
---|
| 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 | |
---|