49 USE modd_ign
, ONLY : xexpand
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
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
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 get_gridtype_ign(PGRID_PAR, KLAMBERT, KL, PX, PY, PDX, PDY, KDIMX, KDIMY, PXALL, PYALL)
subroutine xy_ign(KLAMBERT, PX, PY, PLAT, PLON)
subroutine latlonmask_ign(KGRID_PAR, PGRID_PAR, OLATLONMASK)