51 USE yomhook
,ONLY : lhook, dr_hook
52 USE parkind1
,ONLY : jprb
59 INTEGER,
INTENT(IN) :: kgrid_par
60 REAL,
DIMENSION(KGRID_PAR),
INTENT(IN) :: pgrid_par
61 LOGICAL,
DIMENSION(720,360),
INTENT(OUT) :: olatlonmask
75 REAL,
DIMENSION(:),
ALLOCATABLE :: zlon
76 REAL,
DIMENSION(:),
ALLOCATABLE :: zlat
82 REAL,
DIMENSION(720,360) :: zlon_mask
83 REAL,
DIMENSION(720,360) :: zlat_mask
84 REAL(KIND=JPRB) :: zhook_handle
87 IF (lhook) CALL dr_hook(
'LATLONMASK_LONLAT_ROT',0,zhook_handle)
96 zlonmin = minval(zlon) - zdlon
97 zlonmax = maxval(zlon) + zdlon
98 zlatmin = minval(zlat) - zdlat
99 zlatmax = maxval(zlat) + zdlat
103 olatlonmask(:,:) = .false.
111 zlon_mask(:,:)= spread( (/ ( jlon /2. - 0.25 , jlon=1,720 ) /) , dim=2, ncopies=360 )
112 zlat_mask(:,:)= spread( (/ ( (jlat-180)/2. - 0.25 , jlat=1,360 ) /) , dim=1, ncopies=720 )
119 zlon0 = 0.5*(zlonmin + zlonmax)
120 zlon_mask(:,:)=zlon_mask(:,:)+nint((zlon0-zlon_mask(:,:))/360.)*360.
126 IF ( zlon_mask(jlon,jlat) + 0.25 >= zlonmin &
127 .AND. zlon_mask(jlon,jlat) - 0.25 <= zlonmax &
128 .AND. zlat_mask(jlon,jlat) + 0.25 >= zlatmin &
129 .AND. zlat_mask(jlon,jlat) - 0.25 <= zlatmax ) olatlonmask(jlon,jlat) = .true.
132 IF (lhook) CALL dr_hook(
'LATLONMASK_LONLAT_ROT',1,zhook_handle)
subroutine get_gridtype_lonlat_rot(PGRID_PAR, PWEST, PSOUTH, PDLON, PDLAT, PPOLON, PPOLAT, KLON, KLAT, KL, PLON, PLAT)
subroutine latlonmask_lonlat_rot(KGRID_PAR, PGRID_PAR, OLATLONMASK)