6 SUBROUTINE read_nam_grid_ign(PGRID_FULL_PAR,KDIM_FULL,HPROGRAM,KGRID_PAR,KL,PGRID_PAR,HDIR)
47 USE modi_open_namelist
48 USE modi_close_namelist
53 USE modi_get_xyall_ign
65 REAL,
DIMENSION(:),
POINTER :: PGRID_FULL_PAR
66 INTEGER,
INTENT(IN) :: KDIM_FULL
68 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
69 INTEGER,
INTENT(INOUT) :: KGRID_PAR
70 INTEGER,
INTENT(OUT) :: KL
71 REAL,
DIMENSION(KGRID_PAR),
INTENT(OUT) :: PGRID_PAR
72 CHARACTER(LEN=1),
INTENT(IN) :: HDIR
81 REAL,
DIMENSION(:),
ALLOCATABLE :: ZX, ZX0
82 REAL,
DIMENSION(:),
ALLOCATABLE :: ZY, ZY0
83 REAL,
DIMENSION(:),
ALLOCATABLE :: ZDX, ZDX0
84 REAL,
DIMENSION(:),
ALLOCATABLE :: ZDY, ZDY0
89 CHARACTER(LEN=3) :: CLAMBERT
91 REAL,
DIMENSION(1000000) :: XX
92 REAL,
DIMENSION(1000000) :: XY
93 REAL,
DIMENSION(1000000) :: XDX
94 REAL,
DIMENSION(1000000) :: XDY
102 REAL,
DIMENSION(:),
ALLOCATABLE :: ZXALL
103 REAL,
DIMENSION(:),
ALLOCATABLE :: ZYALL
107 REAL,
DIMENSION(:),
POINTER :: ZGRID_PAR
109 INTEGER :: JCOLS, JROWS, IINDEX
111 REAL(KIND=JPRB) :: ZHOOK_HANDLE
113 NAMELIST/nam_ign/clambert,npoints,xx,xy,xdx,xdy, &
114 xx_llcorner, xy_llcorner, xcellsize, &
121 IF (
lhook)
CALL dr_hook(
'READ_NAM_GRID_IGN',0,zhook_handle)
139 CALL posnam(ilunam,
'NAM_IGN',gfound,iluout)
140 IF (gfound)
READ(unit=ilunam,nml=nam_ign)
149 IF (xcellsize/=
xundef)
THEN 151 WRITE(iluout,*)
'Initialisation of IGN Coordinates for a regular grid' 157 .AND. ncols>0 .AND. nrows>0 )
THEN 159 npoints = ncols * nrows
164 iindex = jcols + (jrows-1) * ncols
165 xx(iindex) = xx_llcorner + (jcols-0.5) * xcellsize
166 xy(iindex) = xy_llcorner + (jrows-0.5) * xcellsize
211 SELECT CASE (clambert)
231 ALLOCATE(zxall(kl*3))
232 ALLOCATE(zyall(kl*3))
241 idimx,idimy,zxall(1:idimx),zyall(1:idimy))
245 ALLOCATE(zx0(kdim_full),zy0(kdim_full),zdx0(kdim_full),zdy0(kdim_full)
248 px=zx0,py=zy0,pdx=zdx0,pdy=zdy0)
251 ALLOCATE(zx(kl),zy(kl),zdx(kl),zdy(kl))
252 ALLOCATE(zxall(kl*3),zyall(kl*3))
261 DEALLOCATE(zx0,zy0,zdx0,zdy0)
264 idimx,idimy,zxall,zyall)
279 IF (kgrid_par==0)
THEN 280 kgrid_par =
SIZE(zgrid_par)
287 pgrid_par(:) = zgrid_par
290 DEALLOCATE(zgrid_par)
291 IF (
lhook)
CALL dr_hook(
'READ_NAM_GRID_IGN',1,zhook_handle)
subroutine get_gridtype_ign(PGRID_PAR, KLAMBERT, KL, PX, PY, PDX, PDY, KDIMX, KDIMY, PXALL, PYALL)
subroutine read_nam_grid_ign(PGRID_FULL_PAR, KDIM_FULL, HPROGRAM, KGR
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
subroutine get_xyall_ign(PX, PY, PDX, PDY, PXALL, PYALL, KDIMX, KDIMY)
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine get_luout(HPROGRAM, KLUOUT)
integer, dimension(:), allocatable nsize_task
subroutine put_gridtype_ign(PGRID_PAR, KLAMBERT, PX, PY, PDX, PDY, KDIMX, KDIMY, PXALL, PYALL)
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)