11 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
12 INTEGER,
DIMENSION(:),
INTENT(IN) :: K1D_IN
13 INTEGER,
DIMENSION(:),
INTENT(OUT):: K1D_OUT
14 INTEGER,
OPTIONAL,
INTENT(IN) :: KMISS
19 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
20 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: K1D_IN
21 INTEGER,
DIMENSION(:,:),
INTENT(OUT):: K1D_OUT
22 INTEGER,
OPTIONAL,
INTENT(IN) :: KMISS
27 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
28 LOGICAL,
DIMENSION(:),
INTENT(IN) :: O1D_IN
29 LOGICAL,
DIMENSION(:),
INTENT(OUT):: O1D_OUT
30 LOGICAL,
OPTIONAL,
INTENT(IN) :: OMISS
35 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
36 REAL,
DIMENSION(:),
INTENT(IN) :: P1D_IN
37 REAL,
DIMENSION(:),
INTENT(OUT):: P1D_OUT
38 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
43 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
44 REAL,
DIMENSION(:,:),
INTENT(IN) :: P2D_IN
45 REAL,
DIMENSION(:,:),
INTENT(OUT):: P2D_OUT
46 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
52 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
53 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: P3D_IN
54 REAL,
DIMENSION(:,:,:),
INTENT(OUT):: P3D_OUT
55 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
61 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
62 INTEGER,
DIMENSION(:,:,:),
INTENT(IN) :: K3D_IN
63 INTEGER,
DIMENSION(:,:,:),
INTENT(OUT):: K3D_OUT
64 INTEGER,
OPTIONAL,
INTENT(IN) :: KMISS
70 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
71 REAL,
DIMENSION(:,:,:,:),
INTENT(IN) :: P4D_IN
72 REAL,
DIMENSION(:,:,:,:),
INTENT(OUT):: P4D_OUT
73 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
128 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
129 REAL,
DIMENSION(:),
INTENT(IN) :: P1D_IN
130 REAL,
DIMENSION(:),
INTENT(OUT):: P1D_OUT
131 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
137 REAL(KIND=JPRB) :: ZHOOK_HANDLE
141 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM1D',
142 IF(
PRESENT(pmiss))
THEN 149 DO ji=1,
SIZE(p1d_in,1)
150 p1d_out(km(ji)) = p1d_in(ji)
152 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM1D',
205 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
206 INTEGER,
DIMENSION(:),
INTENT(IN) :: K1D_IN
207 INTEGER,
DIMENSION(:),
INTENT(OUT):: K1D_OUT
208 INTEGER,
OPTIONAL,
INTENT(IN) :: KMISS
214 REAL(KIND=JPRB) :: ZHOOK_HANDLE
218 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM1DI' 219 IF(
PRESENT(kmiss))
THEN 226 DO ji=1,
SIZE(k1d_in,1)
227 k1d_out(km(ji)) = k1d_in(ji)
229 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM1DI' 280 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
281 INTEGER,
DIMENSION(:,:),
INTENT(IN) :: K2D_IN
282 INTEGER,
DIMENSION(:,:),
INTENT(OUT):: K2D_OUT
283 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
289 REAL(KIND=JPRB) :: ZHOOK_HANDLE
293 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM2DI' 295 IF(
PRESENT(pmiss))
THEN 301 DO jj=1,
SIZE(k2d_in,2)
303 DO ji=1,
SIZE(k2d_in,1)
304 k2d_out(km(ji),jj) = k2d_in(ji,jj)
307 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM2DI' 358 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
359 LOGICAL,
DIMENSION(:),
INTENT(IN) :: O1D_IN
360 LOGICAL,
DIMENSION(:),
INTENT(OUT):: O1D_OUT
361 LOGICAL,
OPTIONAL,
INTENT(IN) :: OMISS
367 REAL(KIND=JPRB) :: ZHOOK_HANDLE
371 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM1DL' 372 IF(
PRESENT(omiss))
THEN 379 DO ji=1,
SIZE(o1d_in,1)
380 o1d_out(km(ji)) = o1d_in(ji)
382 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM1DL' 435 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
436 REAL,
DIMENSION(:,:),
INTENT(IN) :: P2D_IN
437 REAL,
DIMENSION(:,:),
INTENT(OUT):: P2D_OUT
438 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
444 REAL(KIND=JPRB) :: ZHOOK_HANDLE
448 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM2D',
449 IF(
PRESENT(pmiss))
THEN 455 DO jj=1,
SIZE(p2d_in,2)
457 DO ji=1,
SIZE(p2d_in,1)
458 p2d_out(km(ji),jj) = p2d_in(ji,jj)
461 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM2D',
516 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
517 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: P3D_IN
518 REAL,
DIMENSION(:,:,:),
INTENT(OUT):: P3D_OUT
519 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
524 INTEGER :: JI, JJ, JK
525 REAL(KIND=JPRB) :: ZHOOK_HANDLE
529 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM3D',
530 IF(
PRESENT(pmiss))
THEN 531 p3d_out(:,:,:) = pmiss
536 DO jk=1,
SIZE(p3d_in,3)
537 DO jj=1,
SIZE(p3d_in,2)
539 DO ji=1,
SIZE(p3d_in,1)
540 p3d_out(km(ji),jj,jk) = p3d_in(ji,jj,jk)
544 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM3D',
598 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
599 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: K3D_IN
600 REAL,
DIMENSION(:,:,:),
INTENT(OUT):: K3D_OUT
601 REAL,
OPTIONAL,
INTENT(IN) :: KMISS
606 INTEGER :: JI, JJ, JK
607 REAL(KIND=JPRB) :: ZHOOK_HANDLE
611 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM3D',
612 IF(
PRESENT(kmiss))
THEN 613 k3d_out(:,:,:) = kmiss
618 DO jk=1,
SIZE(k3d_in,3)
619 DO jj=1,
SIZE(k3d_in,2)
621 DO ji=1,
SIZE(k3d_in,1)
622 k3d_out(km(ji),jj,jk) = k3d_in(ji,jj,jk)
626 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM3DI' 680 INTEGER,
DIMENSION(:),
INTENT(IN) :: KM
681 REAL,
DIMENSION(:,:,:,:),
INTENT(IN) :: P4D_IN
682 REAL,
DIMENSION(:,:,:,:),
INTENT(OUT):: P4D_OUT
683 REAL,
OPTIONAL,
INTENT(IN) :: PMISS
689 INTEGER :: JI, JJ, JK, JL
690 REAL(KIND=JPRB) :: ZHOOK_HANDLE
694 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM4D',
695 IF(
PRESENT(pmiss))
THEN 696 p4d_out(:,:,:,:) = pmiss
701 DO jl=1,
SIZE(p4d_out,4)
702 DO jk=1,
SIZE(p4d_out,3)
703 DO jj=1,
SIZE(p4d_out,2)
705 DO ji=1,
SIZE(p4d_out,1)
706 p4d_out(km(ji),jj,jk,jl) = p4d_in(ji,jj,jk,jl)
711 IF (
lhook)
CALL dr_hook(
'MODI_UNPACK_SAME_RANK:UNPACK_SAME_RANK_FROM4D',
subroutine unpack_same_rank_from3d(KM, P3D_IN, P3D_OUT, PMISS)
subroutine unpack_same_rank_from2di(KM, K2D_IN, K2D_OUT, PMISS)
subroutine unpack_same_rank_from3di(KM, K3D_IN, K3D_OUT, KMISS)
subroutine unpack_same_rank_from1d(KM, P1D_IN, P1D_OUT, PMISS)
integer, parameter nundef
subroutine unpack_same_rank_from1dl(KM, O1D_IN, O1D_OUT, OMISS)
subroutine unpack_same_rank_from2d(KM, P2D_IN, P2D_OUT, PMISS)
subroutine unpack_same_rank_from4d(KM, P4D_IN, P4D_OUT, PMISS)
subroutine unpack_same_rank_from1di(KM, K1D_IN, K1D_OUT, KMISS)