69 TYPE(
grid_t),
INTENT(INOUT) :: UG
70 REAL,
DIMENSION(:),
INTENT(IN) :: PGRID_FULL_PAR
72 INTEGER,
INTENT(IN) :: KI
73 REAL,
DIMENSION(KI),
INTENT(IN) :: PZS
74 REAL,
DIMENSION(:),
INTENT(IN):: PLAT
86 REAL,
DIMENSION(:),
ALLOCATABLE :: ZZS1D_FULL
87 REAL,
DIMENSION(:,:),
ALLOCATABLE :: ZZS
89 REAL,
DIMENSION(:),
ALLOCATABLE :: ZDX
90 REAL,
DIMENSION(:),
ALLOCATABLE :: ZDY
92 REAL,
PARAMETER :: XPI=4.*atan(1.)
93 INTEGER,
PARAMETER :: JPHEXT = 1
98 INTEGER :: IIB, IIE, IJB, IJE
102 INTEGER,
DIMENSION(:),
ALLOCATABLE::IDISPLS
103 INTEGER::JPOINT,JPROC
104 INTEGER::IRANK,INEXTRANK,IPOS
115 ALLOCATE(zzs1d_full(
nix*
niy))
121 ALLOCATE(idispls(0:
nproc-1))
135 idispls(inextrank)=idispls(irank)+
nsize_task(irank)*kind(pzs)/4
139 CALL mpi_allgatherv(pzs,
SIZE(pzs)*kind(pzs)/4,mpi_real,zzs1d_full, &
163 CALL get_mesh_dim(ug%CGRID,
SIZE(pgrid_full_par),
nix*
niy,pgrid_full_par,zdx,zdy,ug%XMESH_SIZE)
169 CALL mpi_bcast(zdx,
SIZE(zdx)*kind(zdx)/4,mpi_real,
npio,
ncomm,infompi)
170 CALL mpi_bcast(zdy,
SIZE(zdy)*kind(zdy)/4,mpi_real,
npio,
ncomm,infompi)
179 IF (
SIZE(zzs1d_full) /=
nix *
niy) stop
"BIG PROBLEM WITH SIZE" 198 zzs(jx,iindy) = zzs1d_full( jx + (jy-1)*
nix )
204 zzs(jx,jy) = zzs1d_full( jx + (jy-1)*
nix )
250 iie=
SIZE(
xxhat)-jphext
252 ije=
SIZE(
xyhat)-jphext
275 zdzsdx=( 2.*
xzsl(ji,jj) &
284 - 2.*
xzsl(ji,jj) ) &
288 - 2.*
xzsl(ji,jj) ) &
295 zdzsdy=( 2.*
xzsl(ji,jj) &
301 zdzsdx=min(2.0,max(-2.0,zdzsdx))
302 zdzsdy=min(2.0,max(-2.0,zdzsdy))
305 xslopang(ji,jj,jt) = atan(sqrt(zdzsdx**2+zdzsdy**2))
306 xslopazi(ji,jj,jt) = 1.5*xpi - atan2( zdzsdy, zdzsdx + sign(1.e-30,zdzsdx) )
real, dimension(:,:,:), allocatable xslopazi
subroutine init_slope_param(UG, PGRID_FULL_PAR, PZS, KI, PLAT)
real, dimension(:), allocatable xyhat
real, dimension(:,:,:), allocatable xsurf_triangle
real, dimension(:), allocatable xxhat
integer, dimension(:), allocatable nsize_task
real, dimension(:,:), allocatable xzs_xy
subroutine get_mesh_dim(HGRID, KGRID_PAR, KL, PGRID_PAR, PDX, PDY, PMESH
real, dimension(:,:), allocatable xzsl
integer, dimension(:), allocatable nindex
real, dimension(:,:,:), allocatable xslopang