11 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
12 INTEGER,
DIMENSION(:),
INTENT(IN) :: k1d_in
13 INTEGER,
DIMENSION(:),
INTENT(OUT):: k1d_out
18 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
19 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: k1d_in
20 INTEGER,
DIMENSION(:,:),
INTENT(OUT):: k1d_out
25 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
26 LOGICAL,
DIMENSION(:),
INTENT(IN) :: o1d_in
27 LOGICAL,
DIMENSION(:),
INTENT(OUT):: o1d_out
32 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
33 REAL,
DIMENSION(:),
INTENT(IN) :: p1d_in
34 REAL,
DIMENSION(:),
INTENT(OUT):: p1d_out
39 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
40 REAL,
DIMENSION(:,:),
INTENT(IN) :: p2d_in
41 REAL,
DIMENSION(:,:),
INTENT(OUT):: p2d_out
47 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
48 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: p3d_in
49 REAL,
DIMENSION(:,:,:),
INTENT(OUT):: p3d_out
55 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
56 REAL,
DIMENSION(:,:,:,:),
INTENT(IN) :: p4d_in
57 REAL,
DIMENSION(:,:,:,:),
INTENT(OUT):: p4d_out
100 USE yomhook
,ONLY : lhook, dr_hook
101 USE parkind1
,ONLY : jprb
108 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
109 REAL,
DIMENSION(:),
INTENT(IN) :: p1d_in
110 REAL,
DIMENSION(:),
INTENT(OUT):: p1d_out
116 REAL(KIND=JPRB) :: zhook_handle
121 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM1D',0,zhook_handle)
123 DO ji=1,
SIZE(p1d_out,1)
124 p1d_out(ji) = p1d_in(km(ji))
126 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM1D',1,zhook_handle)
168 USE yomhook
,ONLY : lhook, dr_hook
169 USE parkind1
,ONLY : jprb
176 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
177 INTEGER,
DIMENSION(:),
INTENT(IN) :: k1d_in
178 INTEGER,
DIMENSION(:),
INTENT(OUT):: k1d_out
184 REAL(KIND=JPRB) :: zhook_handle
189 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM1DI',0,zhook_handle)
191 DO ji=1,
SIZE(k1d_out,1)
192 k1d_out(ji) = k1d_in(km(ji))
194 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM1DI',1,zhook_handle)
235 USE yomhook
,ONLY : lhook, dr_hook
236 USE parkind1
,ONLY : jprb
243 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
244 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: k2d_in
245 INTEGER,
DIMENSION(:,:),
INTENT(OUT):: k2d_out
251 REAL(KIND=JPRB) :: zhook_handle
256 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM2DI',0,zhook_handle)
257 DO jj=1,
SIZE(k2d_out,2)
259 DO ji=1,
SIZE(k2d_out,1)
260 k2d_out(ji,jj) = k2d_in(km(ji),jj)
263 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM2DI',1,zhook_handle)
304 USE yomhook
,ONLY : lhook, dr_hook
305 USE parkind1
,ONLY : jprb
312 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
313 LOGICAL,
DIMENSION(:),
INTENT(IN) :: o1d_in
314 LOGICAL,
DIMENSION(:),
INTENT(OUT):: o1d_out
320 REAL(KIND=JPRB) :: zhook_handle
325 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM1DL',0,zhook_handle)
327 DO ji=1,
SIZE(o1d_out,1)
328 o1d_out(ji) = o1d_in(km(ji))
330 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM1DL',1,zhook_handle)
372 USE yomhook
,ONLY : lhook, dr_hook
373 USE parkind1
,ONLY : jprb
380 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
381 REAL,
DIMENSION(:,:),
INTENT(IN) :: p2d_in
382 REAL,
DIMENSION(:,:),
INTENT(OUT):: p2d_out
388 REAL(KIND=JPRB) :: zhook_handle
393 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM2D',0,zhook_handle)
394 DO jj=1,
SIZE(p2d_out,2)
396 DO ji=1,
SIZE(p2d_out,1)
397 p2d_out(ji,jj) = p2d_in(km(ji),jj)
400 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM2D',1,zhook_handle)
443 USE yomhook
,ONLY : lhook, dr_hook
444 USE parkind1
,ONLY : jprb
451 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
452 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: p3d_in
453 REAL,
DIMENSION(:,:,:),
INTENT(OUT):: p3d_out
458 INTEGER :: ji, jj, jk
459 REAL(KIND=JPRB) :: zhook_handle
463 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM3D',0,zhook_handle)
464 DO jk=1,
SIZE(p3d_out,3)
465 DO jj=1,
SIZE(p3d_out,2)
467 DO ji=1,
SIZE(p3d_out,1)
468 p3d_out(ji,jj,jk) = p3d_in(km(ji),jj,jk)
472 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM3D',1,zhook_handle)
515 USE yomhook
,ONLY : lhook, dr_hook
516 USE parkind1
,ONLY : jprb
523 INTEGER,
DIMENSION(:),
INTENT(IN) :: km
524 REAL,
DIMENSION(:,:,:,:),
INTENT(IN) :: p4d_in
525 REAL,
DIMENSION(:,:,:,:),
INTENT(OUT):: p4d_out
531 INTEGER :: ji, jj, jk, jl
532 REAL(KIND=JPRB) :: zhook_handle
536 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM4D',0,zhook_handle)
537 DO jl=1,
SIZE(p4d_out,4)
538 DO jk=1,
SIZE(p4d_out,3)
539 DO jj=1,
SIZE(p4d_out,2)
541 DO ji=1,
SIZE(p4d_out,1)
542 p4d_out(ji,jj,jl,jk) = p4d_in(km(ji),jj,jl,jk)
547 IF (lhook) CALL dr_hook(
'MODI_PACK_SAME_RANK:PACK_SAME_RANK_FROM4D',1,zhook_handle)
subroutine pack_same_rank_from1di(KM, K1D_IN, K1D_OUT)
subroutine pack_same_rank_from1d(KM, P1D_IN, P1D_OUT)
subroutine pack_same_rank_from1dl(KM, O1D_IN, O1D_OUT)
subroutine pack_same_rank_from2d(KM, P2D_IN, P2D_OUT)
subroutine pack_same_rank_from4d(KM, P4D_IN, P4D_OUT)
subroutine pack_same_rank_from2di(KM, K2D_IN, K2D_OUT)
subroutine pack_same_rank_from3d(KM, P3D_IN, P3D_OUT)