12 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
13 REAL,
DIMENSION(:),
INTENT(IN) :: p1d_in
14 REAL(KIND=4),
DIMENSION(:),
INTENT(OUT):: p1d_out
15 REAL,
OPTIONAL,
INTENT(IN) :: pmiss
20 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
21 REAL,
DIMENSION(:,:),
INTENT(IN) :: p2d_in
22 REAL(KIND=4),
DIMENSION(:,:),
INTENT(OUT):: p2d_out
23 REAL,
OPTIONAL,
INTENT(IN) :: pmiss
71 USE yomhook
,ONLY : lhook, dr_hook
72 USE parkind1
,ONLY : jprb
79 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
80 REAL,
DIMENSION(:),
INTENT(IN) :: p1d_in
81 REAL(KIND=4),
DIMENSION(:),
INTENT(OUT):: p1d_out
82 REAL,
OPTIONAL,
INTENT(IN) :: pmiss
88 REAL(KIND=JPRB) :: zhook_handle
92 IF (lhook) CALL dr_hook(
'MODI_UNPACK_SAME_RANK2:UNPACK_SAME_RANK2_FROM1D',0,zhook_handle)
93 IF(present(pmiss))
THEN
100 DO ji=1,
SIZE(p1d_in,1)
101 p1d_out(km(ji)) = p1d_in(ji)
103 IF (lhook) CALL dr_hook(
'MODI_UNPACK_SAME_RANK2:UNPACK_SAME_RANK2_FROM1D',1,zhook_handle)
147 USE yomhook
,ONLY : lhook, dr_hook
148 USE parkind1
,ONLY : jprb
155 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
156 REAL,
DIMENSION(:,:),
INTENT(IN) :: p2d_in
157 REAL(KIND=4),
DIMENSION(:,:),
INTENT(OUT):: p2d_out
158 REAL,
OPTIONAL,
INTENT(IN) :: pmiss
164 REAL(KIND=JPRB) :: zhook_handle
168 IF (lhook) CALL dr_hook(
'MODI_UNPACK_SAME_RANK2:UNPACK_SAME_RANK2_FROM2D',0,zhook_handle)
169 IF(present(pmiss))
THEN
172 p2d_out(:,:) = xundef
175 DO jj=1,
SIZE(p2d_in,2)
177 DO ji=1,
SIZE(p2d_in,1)
178 p2d_out(km(ji),jj) = p2d_in(ji,jj)
181 IF (lhook) CALL dr_hook(
'MODI_UNPACK_SAME_RANK2:UNPACK_SAME_RANK2_FROM2D',1,zhook_handle)
subroutine unpack_same_rank2_from1d(KM, P1D_IN, P1D_OUT, PMISS)
subroutine unpack_same_rank2_from2d(KM, P2D_IN, P2D_OUT, PMISS)