52 USE yomhook
,ONLY : lhook, dr_hook
53 USE parkind1
,ONLY : jprb
60 INTEGER,
INTENT(IN) :: kgrid_par
61 REAL,
DIMENSION(KGRID_PAR),
INTENT(IN) :: pgrid_par
62 LOGICAL,
DIMENSION(720,360),
INTENT(OUT) :: olatlonmask
71 REAL,
DIMENSION(720,360) :: zx_mask
72 REAL,
DIMENSION(720,360) :: zy_mask
73 REAL,
DIMENSION(720,360) :: zlon_mask
74 REAL,
DIMENSION(720,360) :: zlat_mask
75 REAL,
DIMENSION(:),
ALLOCATABLE :: zx
76 REAL,
DIMENSION(:),
ALLOCATABLE :: zy
77 REAL,
DIMENSION(:),
ALLOCATABLE :: zdx
78 REAL,
DIMENSION(:),
ALLOCATABLE :: zdy
83 REAL(KIND=JPRB) :: zhook_handle
86 IF (lhook) CALL dr_hook(
'LATLONMASK_IGN',0,zhook_handle)
87 olatlonmask(:,:) = .false.
107 zxmin = minval(zx(:)-zdx(:)/2.) - xexpand
108 zxmax = maxval(zx(:)+zdx(:)/2.) + xexpand
109 zymin = minval(zy(:)-zdy(:)/2.) - xexpand
110 zymax = maxval(zy(:)+zdy(:)/2.) + xexpand
122 zlon_mask(:,:)= spread( (/ ( jlon /2. - 0.25 , jlon=1,720 ) /) , dim=2, ncopies=360 )
123 zlat_mask(:,:)= spread( (/ ( (jlat-180)/2. - 0.25 , jlat=1,360 ) /) , dim=1, ncopies=720 )
128 zlon_mask(:,:)=zlon_mask(:,:)+nint((-zlon_mask(:,:))/360.)*360.
135 DO jlat=1,
SIZE(zlat_mask,2)
136 CALL
xy_ign(ilambert,zx_mask(:,jlat),zy_mask(:,jlat), &
137 zlat_mask(:,jlat),zlon_mask(:,jlat) )
144 WHERE ( zx_mask(:,:) >= zxmin .AND. zx_mask(:,:) <= zxmax &
145 .AND. zy_mask(:,:) >= zymin .AND. zy_mask(:,:) <= zymax )
146 olatlonmask(:,:) = .true.
148 IF (lhook) CALL dr_hook(
'LATLONMASK_IGN',1,zhook_handle)
subroutine xy_ign(KLAMBERT, PX, PY, PLAT, PLON)
subroutine get_gridtype_ign(PGRID_PAR, KLAMBERT, KL, PX, PY, PDX, PDY, KDIMX, KDIMY, PXALL, PYALL)
subroutine latlonmask_ign(KGRID_PAR, PGRID_PAR, OLATLONMASK)