6 SUBROUTINE pack_grid_gauss(KMASK_SIZE,KMASK,KGRID_PAR1,PGRID_PAR1,KGRID_PAR2,OPACK,PGRID_PAR2)
39 USE yomhook
,ONLY : lhook, dr_hook
40 USE parkind1
,ONLY : jprb
47 INTEGER,
INTENT(IN) :: kmask_size
48 INTEGER,
DIMENSION(KMASK_SIZE),
INTENT(IN) :: kmask
49 INTEGER,
INTENT(IN) :: kgrid_par1
50 REAL,
DIMENSION(KGRID_PAR1),
INTENT(IN) :: pgrid_par1
51 INTEGER,
INTENT(INOUT) :: kgrid_par2
52 LOGICAL,
INTENT(IN) :: opack
53 REAL,
DIMENSION(KGRID_PAR2),
INTENT(OUT) :: pgrid_par2
62 INTEGER,
DIMENSION(:),
ALLOCATABLE :: inlopa
65 REAL,
DIMENSION(:),
ALLOCATABLE :: zlat1
66 REAL,
DIMENSION(:),
ALLOCATABLE :: zlon1
67 REAL,
DIMENSION(:),
ALLOCATABLE :: zlat2
68 REAL,
DIMENSION(:),
ALLOCATABLE :: zlon2
69 REAL,
DIMENSION(:),
ALLOCATABLE :: zlat_xy1
70 REAL,
DIMENSION(:),
ALLOCATABLE :: zlon_xy1
71 REAL,
DIMENSION(:),
ALLOCATABLE :: zlat_xy2
72 REAL,
DIMENSION(:),
ALLOCATABLE :: zlon_xy2
73 REAL,
DIMENSION(:),
ALLOCATABLE :: zmesh_size1
74 REAL,
DIMENSION(:),
ALLOCATABLE :: zmesh_size2
76 REAL,
DIMENSION(:),
ALLOCATABLE :: zlatsup1
77 REAL,
DIMENSION(:),
ALLOCATABLE :: zlonsup1
78 REAL,
DIMENSION(:),
ALLOCATABLE :: zlatinf1
79 REAL,
DIMENSION(:),
ALLOCATABLE :: zloninf1
81 REAL,
DIMENSION(:),
ALLOCATABLE :: zlatsup2
82 REAL,
DIMENSION(:),
ALLOCATABLE :: zlonsup2
83 REAL,
DIMENSION(:),
ALLOCATABLE :: zlatinf2
84 REAL,
DIMENSION(:),
ALLOCATABLE :: zloninf2
88 REAL,
DIMENSION(:),
POINTER :: zgrid_par2
89 REAL(KIND=JPRB) :: zhook_handle
92 IF (lhook) CALL dr_hook(
'PACK_GRID_GAUSS',0,zhook_handle)
99 ALLOCATE(inlopa(inlati))
100 ALLOCATE(zlat_xy1(il))
101 ALLOCATE(zlon_xy1(il))
104 ALLOCATE(zmesh_size1(il))
105 ALLOCATE(zloninf1(il))
106 ALLOCATE(zlatinf1(il))
107 ALLOCATE(zlonsup1(il))
108 ALLOCATE(zlatsup1(il))
111 il,zlat1,zlon1,zlat_xy1,zlon_xy1,zmesh_size1 , &
112 zloninf1,zlatinf1,zlonsup1,zlatsup1 )
120 ALLOCATE(zlat_xy2(kmask_size))
121 ALLOCATE(zlon_xy2(kmask_size))
122 ALLOCATE(zlat2(kmask_size))
123 ALLOCATE(zlon2(kmask_size))
124 ALLOCATE(zmesh_size2(kmask_size))
125 ALLOCATE(zloninf2(kmask_size))
126 ALLOCATE(zlatinf2(kmask_size))
127 ALLOCATE(zlonsup2(kmask_size))
128 ALLOCATE(zlatsup2(kmask_size))
140 DEALLOCATE(zlat_xy1 )
141 DEALLOCATE(zlon_xy1 )
144 DEALLOCATE(zmesh_size1)
145 DEALLOCATE(zloninf1 )
146 DEALLOCATE(zlatinf1 )
147 DEALLOCATE(zlonsup1 )
148 DEALLOCATE(zlatsup1 )
156 kmask_size,zlat2,zlon2,zlat_xy2,zlon_xy2, &
157 zmesh_size2,zloninf2,zlatinf2,zlonsup2,zlatsup2 )
159 DEALLOCATE(zlat_xy2 )
160 DEALLOCATE(zlon_xy2 )
163 DEALLOCATE(zmesh_size2)
164 DEALLOCATE(zloninf2 )
165 DEALLOCATE(zlatinf2 )
166 DEALLOCATE(zlonsup2 )
167 DEALLOCATE(zlatsup2 )
172 pgrid_par2(:) = zgrid_par2(:)
174 kgrid_par2 =
SIZE(zgrid_par2(:))
177 DEALLOCATE(zgrid_par2)
179 IF (lhook) CALL dr_hook(
'PACK_GRID_GAUSS',1,zhook_handle)
subroutine put_gridtype_gauss(PGRID_PAR, KNLATI, PLAPO, PLOPO, PCODIL, KNLOPA, KL, PLAT, PLON, PLAT_XY, PLON_XY, PMESH_SIZE, PLONINF, PLATINF, PLONSUP, PLATSUP)
subroutine get_gridtype_gauss(PGRID_PAR, KNLATI, PLAPO, PLOPO, PCODIL, KNLOPA, KL, PLAT, PLON, PLAT_XY, PLON_XY, PMESH_SIZE, PLONINF, PLATINF, PLONSUP, PLATSUP)
subroutine pack_grid_gauss(KMASK_SIZE, KMASK, KGRID_PAR1, PGRID_PAR1, KGRID_PAR2, OPACK, PGRID_PAR2)