regrid Interface

public interface regrid

Calls

interface~~regrid~~CallsGraph interface~regrid regridpack_module::regrid proc~rgrd1 regridpack_module::rgrd1 interface~regrid->proc~rgrd1 proc~rgrd1_wrapper regridpack_module::rgrd1_wrapper interface~regrid->proc~rgrd1_wrapper proc~rgrd1u regridpack_module::rgrd1u interface~regrid->proc~rgrd1u proc~rgrd2 regridpack_module::rgrd2 interface~regrid->proc~rgrd2 proc~rgrd2_wrapper regridpack_module::rgrd2_wrapper interface~regrid->proc~rgrd2_wrapper proc~rgrd2u regridpack_module::rgrd2u interface~regrid->proc~rgrd2u proc~rgrd3 regridpack_module::rgrd3 interface~regrid->proc~rgrd3 proc~rgrd3_wrapper regridpack_module::rgrd3_wrapper interface~regrid->proc~rgrd3_wrapper proc~rgrd3u regridpack_module::rgrd3u interface~regrid->proc~rgrd3u proc~rgrd4 regridpack_module::rgrd4 interface~regrid->proc~rgrd4 proc~rgrd4_wrapper regridpack_module::rgrd4_wrapper interface~regrid->proc~rgrd4_wrapper proc~rgrd4u regridpack_module::rgrd4u interface~regrid->proc~rgrd4u proc~cubnmx regridpack_module::cubnmx proc~rgrd1->proc~cubnmx proc~cubt1 regridpack_module::cubt1 proc~rgrd1->proc~cubt1 proc~linmx regridpack_module::linmx proc~rgrd1->proc~linmx proc~lint1 regridpack_module::lint1 proc~rgrd1->proc~lint1 proc~rgrd1_wrapper->proc~rgrd1 proc~cubnmxu regridpack_module::cubnmxu proc~rgrd1u->proc~cubnmxu proc~cubt1u regridpack_module::cubt1u proc~rgrd1u->proc~cubt1u proc~linmxu regridpack_module::linmxu proc~rgrd1u->proc~linmxu proc~lint1u regridpack_module::lint1u proc~rgrd1u->proc~lint1u proc~rgrd2->proc~cubnmx proc~cubt2 regridpack_module::cubt2 proc~rgrd2->proc~cubt2 proc~rgrd2->proc~linmx proc~lint2 regridpack_module::lint2 proc~rgrd2->proc~lint2 proc~rgrd2_wrapper->proc~rgrd2 proc~rgrd2u->proc~cubnmxu proc~cubt2u regridpack_module::cubt2u proc~rgrd2u->proc~cubt2u proc~rgrd2u->proc~linmxu proc~lint2u regridpack_module::lint2u proc~rgrd2u->proc~lint2u proc~rgrd3->proc~cubnmx proc~cubt3 regridpack_module::cubt3 proc~rgrd3->proc~cubt3 proc~rgrd3->proc~linmx proc~lint3 regridpack_module::lint3 proc~rgrd3->proc~lint3 proc~rgrd3_wrapper->proc~rgrd3 proc~rgrd3u->proc~cubnmxu proc~cubt3u regridpack_module::cubt3u proc~rgrd3u->proc~cubt3u proc~rgrd3u->proc~linmxu proc~lint3u regridpack_module::lint3u proc~rgrd3u->proc~lint3u proc~rgrd4->proc~cubnmx proc~cubt4 regridpack_module::cubt4 proc~rgrd4->proc~cubt4 proc~rgrd4->proc~linmx proc~lint4 regridpack_module::lint4 proc~rgrd4->proc~lint4 proc~rgrd4_wrapper->proc~rgrd4 proc~rgrd4u->proc~cubnmxu proc~cubt4u regridpack_module::cubt4u proc~rgrd4u->proc~cubt4u proc~rgrd4u->proc~linmxu proc~lint4u regridpack_module::lint4u proc~rgrd4u->proc~lint4u proc~cubt2->proc~cubt1 proc~cubt2->proc~lint1 proc~cubt2u->proc~cubt1u proc~cubt2u->proc~lint1u proc~cubt3->proc~cubt2 proc~cubt3->proc~lint2 proc~cubt3u->proc~cubt2u proc~cubt3u->proc~lint2u proc~cubt4->proc~cubt3 proc~cubt4->proc~lint3 proc~cubt4u->proc~cubt3u proc~cubt4u->proc~lint3u proc~lint2->proc~cubt1 proc~lint2->proc~lint1 proc~lint2u->proc~cubt1u proc~lint2u->proc~lint1u proc~lint3->proc~cubt2 proc~lint3->proc~lint2 proc~lint3u->proc~cubt2u proc~lint3u->proc~lint2u proc~lint4->proc~cubt3 proc~lint4->proc~lint3 proc~lint4u->proc~cubt3u proc~lint4u->proc~lint3u

Module Procedures

private subroutine rgrd1(nx, x, p, mx, xx, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd1 interpolates the values p(i) on the grid x(i) for i=1,...,nx onto q(ii) on the grid xx(ii),ii=1,...,mx.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer dimension of the grid vector x and the dimension of p. nx > 1 if intpol = 1 or nx > 3 if intpol = 3 is required.

real(kind=wp), intent(in), dimension(nx) :: x

a real(wp) nx vector of strictly increasing values which defines the x grid on which p is given.

real(kind=wp), intent(in), dimension(nx) :: p

a real(wp) nx vector of values given on the x grid

integer, intent(in) :: mx

the integer dimension of the grid vector xx and the dimension of q. mx > 0 is required.

real(kind=wp), intent(in), dimension(mx) :: xx

a real(wp) mx vector of increasing values which defines the grid on which q is defined. xx(1) < x(1) or xx(mx) > x(nx) is not allowed (see ier = 3)

real(kind=wp), intent(out) :: q(mx)

a real(wp) mx vector of values on the xx grid which are interpolated from p on the x grid

integer, intent(in) :: intpol

an integer which sets linear or cubic interpolation as follows:

Read more…
real(kind=wp), intent(inout), dimension(lw) :: w

a real(wp) work space of length at least lw which must be provided in the routine calling rgrd1

integer, intent(in) :: lw

the integer length of the real(wp) work space w. let

Read more…
integer, intent(inout), dimension(*) :: iw

an integer work space of length at least liw which must be provided in the routine calling rgrd1

integer, intent(in) :: liw

the length of the integer work space iw. liw must be greater than or equal to mx.

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd2(nx, ny, x, y, p, mx, my, xx, yy, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd2 interpolates the values p(i,j) on the orthogonal grid (x(i),y(j)) for i=1,...,nx and j=1,...,ny onto q(ii,jj) on the orthogonal grid (xx(ii),yy(jj)) for ii=1,...,mx and jj=1,...,my.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer dimension of the grid vector x and the first dimension of p. nx > 1 if intpol(1) = 1 or nx > 3 if intpol(1) = 3 is required.

integer, intent(in) :: ny

the integer dimension of the grid vector y and the second dimension of p. ny > 1 if intpol(2) = 1 or ny > 3 if intpol(2) = 3 is required.

real(kind=wp), intent(in) :: x(nx)

a real(wp) nx vector of strictly increasing values which defines the x portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: y(ny)

a real(wp) ny vector of strictly increasing values which defines the y portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: p(nx,ny)

a real(wp) nx by ny array of values given on the orthogonal (x,y) grid

integer, intent(in) :: mx

the integer dimension of the grid vector xx and the first dimension of q. mx > 0 is required.

integer, intent(in) :: my

the integer dimension of the grid vector yy and the second dimension of q. my > 0 is required.

real(kind=wp), intent(in) :: xx(mx)

a real(wp) mx vector of increasing values which defines the x portion of the orthogonal grid on which q is defined. xx(1) < x(1) or xx(mx) > x(nx) is not allowed (see ier = 3)

real(kind=wp), intent(in) :: yy(my)

a real(wp) my vector of increasing values which defines the y portion of the orthogonal grid on which q is defined. yy(1) < y(1) or yy(my) > y(ny) is not allowed (see ier = 3)

real(kind=wp), intent(out) :: q(mx,my)

a real(wp) mx by my array of values on the (xx,yy) grid which are interpolated from p on the (x,y) grid

integer, intent(in) :: intpol(2)

an integer vector of dimension 2 which sets linear or cubic interpolation in the x,y directions as follows:

Read more…
real(kind=wp), intent(inout) :: w(lw)

a real(wp) work space of length at least lw which must be provided in the routine calling rgrd2

integer, intent(in) :: lw

the integer length of the real(wp) work space w. let

Read more…
integer, intent(inout) :: iw(liw)

an integer work space of length at least liw which must be provided in the routine calling rgrd2

integer, intent(in) :: liw

the integer length of the integer work space iw. liw must be at least mx+my

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd3(nx, ny, nz, x, y, z, p, mx, my, mz, xx, yy, zz, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd3 interpolates the values p(i,j,k) on the orthogonal grid (x(i),y(j),z(k)) for i=1,...,nx; j=1,...,ny; k=1,...,nz onto q(ii,jj,kk) on the orthogonal grid (xx(ii),yy(jj),zz(kk)) for ii=1,...,mx; jj=1,...,my; kk=1,...,mz.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer dimension of the grid vector x and the first dimension of p. nx > 1 if intpol(1) = 1 or nx > 3 if intpol(1) = 3 is required.

integer, intent(in) :: ny

the integer dimension of the grid vector y and the second dimension of p. ny > 1 if intpol(2) = 1 or ny > 3 if intpol(2) = 3 is required.

integer, intent(in) :: nz

the integer dimension of the grid vector z and the third dimension of p. nz > 1 if intpol(3) = 1 or nz > 3 if intpol(3) = 3 is required.

real(kind=wp), intent(in) :: x(nx)

a real(wp) nx vector of strictly increasing values which defines the x portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: y(ny)

a real(wp) ny vector of strictly increasing values which defines the y portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: z(nz)

a real(wp) nz vector of strictly increasing values which defines the z portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: p(nx,ny,nz)

a real(wp) nx by ny by nz array of values given on the (x,y,z) grid

integer, intent(in) :: mx

the integer dimension of the grid vector xx and the first dimension of q. mx > 0 is required.

integer, intent(in) :: my

the integer dimension of the grid vector yy and the second dimension of q. my > 0 is required.

integer, intent(in) :: mz

the integer dimension of the grid vector zz and the third dimension of q. mz > 0 is required.

real(kind=wp), intent(in) :: xx(mx)

a real(wp) mx vector of increasing values which defines the x portion of the orthogonal grid on which q is defined. xx(1) < x(1) or xx(mx) > x(nx) is not allowed (see ier = 3)

real(kind=wp), intent(in) :: yy(my)

a real(wp) my vector of increasing values which defines the y portion of the orthogonal grid on which q is defined. yy(1) < y(1) or yy(my) > y(ny) is not allowed (see ier = 3)

real(kind=wp), intent(in) :: zz(mz)

a real(wp) mz vector of increasing values which defines the z portion of the orthogonal grid on which q is defined. zz(1) < z(1) or zz(mz) > z(nz) is not allowed (see ier = 3)

real(kind=wp), intent(out) :: q(mx,my,mz)

a real(wp) mx by my by mz array of values on the (xx,yy,zz) grid which are interpolated from p on the (x,y,z) grid

integer, intent(in) :: intpol(3)

an integer vector of dimension 3 which sets linear or cubic interpolation in each of the x,y,z directions as follows:

Read more…
real(kind=wp), intent(inout) :: w(lw)

a real(wp) work space of length at least lw which must be provided in the routine calling rgrd3

integer, intent(in) :: lw

the integer length of the real(wp) work space w. let

Read more…
integer, intent(inout) :: iw(liw)

an integer work space of length at least liw which must be provided in the routine calling rgrd3

integer, intent(in) :: liw

the integer length of the integer work space iw. liw must be at least mx+my+mz

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd4(nx, ny, nz, nt, x, y, z, t, p, mx, my, mz, mt, xx, yy, zz, tt, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd4 interpolates the values p(i,j,k,l) on the orthogonal grid (x(i),y(j),z(k),t(l)) for i=1,...,nx;j=1,...,ny;k=1,...,nz;l=1,...,nt onto q(ii,jj,kk,ll) on the orthogonal grid (xx(ii),yy(jj),zz(kk),tt(ll)) for ii=1,...,mx;jj=1,...,my;kk=1,...,mz;ll=1,...,mt

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer dimension of the grid vector x and the first dimension of p. nx > 1 if intpol(1) = 1 or nx > 3 if intpol(1) = 3 is required.

integer, intent(in) :: ny

the integer dimension of the grid vector y and the second dimension of p. ny > 1 if intpol(2) = 1 or ny > 3 if intpol(2) = 3 is required.

integer, intent(in) :: nz

the integer dimension of the grid vector z and the third dimension of p. nz > 1 if intpol(3) = 1 or nz > 3 if intpol(3) = 3 is required.

integer, intent(in) :: nt

the integer dimension of the grid vector t and the fourth dimension of p. nt > 1 if intpol(4) = 1 or nt > 3 if intpol(4) = 3 is required.

real(kind=wp), intent(in) :: x(nx)

a real(wp) nx vector of strictly increasing values which defines the x portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: y(ny)

a real(wp) ny vector of strictly increasing values which defines the y portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: z(nz)

a real(wp) nz vector of strictly increasing values which defines the z portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: t(nt)

a real(wp) nt vector of strictly increasing values which defines the t portion of the orthogonal grid on which p is given

real(kind=wp), intent(in) :: p(nx,ny,nz,nt)

a real(wp) nx by ny by nz by nt array of values given on the (x,y,z,t) grid

integer, intent(in) :: mx

the integer dimension of the grid vector xx and the first dimension of q. mx > 0 is required.

integer, intent(in) :: my

the integer dimension of the grid vector yy and the second dimension of q. my > 0 is required.

integer, intent(in) :: mz

the integer dimension of the grid vector zz and the third dimension of q. mz > 0 is required.

integer, intent(in) :: mt

the integer dimension of the grid vector tt and the fourth dimension of q. mt > 0 is required.

real(kind=wp), intent(in) :: xx(mx)

a real(wp) mx vector of increasing values which defines the x portion of the orthogonal grid on which q is defined. xx(1) < x(1) or xx(mx) > x(nx) is not allowed (see ier = 3)

real(kind=wp), intent(in) :: yy(my)

a real(wp) my vector of increasing values which defines the y portion of the orthogonal grid on which q is defined. yy(1) < y(1) or yy(my) > y(ny) is not allowed (see ier = 3)

real(kind=wp), intent(in) :: zz(mz)

a real(wp) mz vector of increasing values which defines the z portion of the orthogonal grid on which q is defined. zz(1) < z(1) or zz(mz) > z(nz) is not allowed (see ier = 3)

real(kind=wp), intent(in) :: tt(mt)

a real(wp) mt vector of increasing values which defines the t portion of the orthogonal grid on which q is defined. tt(1) < t(1) or tt(mt) > t(nt) is not allowed (see ier = 3)

real(kind=wp), intent(out) :: q(mx,my,mz,mt)

a real(wp) mx by my by mz by mt array of values on the (xx,yy,zz,tt) grid which are interpolated from p on the (x,y,z,t) grid

integer, intent(in) :: intpol(4)

an integer vector of dimension 4 which sets linear or cubic interpolation in each of the x,y,z,t directions as follows:

Read more…
real(kind=wp), intent(inout) :: w(lw)

a real(wp) work space of length at least lw which must be provided in the routine calling rgrd4

integer, intent(in) :: lw

the integer length of the real(wp) work space w. let

Read more…
integer, intent(inout) :: iw(liw)

an integer work space of length at least liw which must be provided in the routine calling rgrd4

integer, intent(in) :: liw

the integer length of the integer work space iw. liw must be at least mx+my+mz+mt

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd1u(nx, p, mx, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd1u interpolates the nx vector p onto the mx vector q. it is assumed that p and q are values on uniform nx and mx grids which subdivide the same interval (INCLUDING END POINTS). if p and q are values on nonuniform grids and/or if q is defined on a grid which lies within the p grid then subroutine rgrd1 should be used.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer dimension of p. nx > 1 if intpol = 1 or nx > 3 if intpol = 3 is required (see ier = 2).

real(kind=wp), intent(in) :: p(nx)

a real(wp) nx dimensioned vector of given values

integer, intent(in) :: mx

the integer dimension of q. mx > 1 is required (see ier = 1)

real(kind=wp), intent(out), dimension(mx) :: q

a real(wp) mx dimensioned vector of values which are interpolated from p.

integer, intent(in) :: intpol

an integer which sets linear or cubic interpolation as follows:

Read more…
real(kind=wp), intent(inout) :: w(lw)

a real(wp) work space of length lw.

integer, intent(in) :: lw

the integer length of the work space w in the routine calling rgrd1u. if mx-1 divides nx-1 then the mx uniform grid is a subgrid of the nx uniform grid. in this case let lwmin = 1. otherwise let lwmin = mx if intpol = 1 or lwmin = mx if intpol = 3. then lw must be greater than or equal to lwmin (see ier=4).

integer, intent(inout) :: iw(liw)

an integer work space of length liw

integer, intent(in) :: liw

the integer length of the integer work space iw in the routine calling rgrd1u. liw must be greater than or equal to mx.

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd2u(nx, ny, p, mx, my, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd2u interpolates the nx by ny array p onto the mx by my array q. linear or cubic interpolation is used in each direction (see argument intpol). it is assumed that p and q are values on uniform nx by ny and mx by my grids superimposed on the same rectangle (INCLUDING BOUNDARIES). if p and q are values on nonuniform orthogonal grids and/or if the grid on which q is defined lies within the p grid then subroutine rgrd2 should be used.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer first dimension of p. nx > 1 if intpol(1) = 1 or nx > 3 if intpol(1) = 3 is required (see ier = 2).

integer, intent(in) :: ny

the integer second dimension of p. ny > 1 if intpol(2) = 1 or ny > 3 if intpol(2) = 3 is required (see ier = 2).

real(kind=wp), intent(in) :: p(nx,ny)

a real(wp) nx by ny array of given values

integer, intent(in) :: mx

the integer first dimension of q. mx > 1 is required (see ier = 1)

integer, intent(in) :: my

the integer second dimension of q. my > 1 is required (see ier = 1)

real(kind=wp), intent(out) :: q(mx,my)

a real(wp) mx by my array of values which are interpolated from p.

integer, intent(in) :: intpol(2)

an integer vector of dimension 2 which sets linear or cubic interpolation in each of the x,y directions as follows:

Read more…
real(kind=wp), intent(inout) :: w(lw)

a real(wp) work space of length at least lw which must be provided in the routine calling rgrd2u

integer, intent(in) :: lw

the integer length of the work space w.

Read more…
integer, intent(inout) :: iw(liw)

an integer work space of length at least liw which must be provided in the routine calling rgrd2u

integer, intent(in) :: liw

the integer length of the integer work space iw. liw must be greater than or equal to mx+my.

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd3u(nx, ny, nz, p, mx, my, mz, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd3u interpolates the nx by ny by nz array p onto the mx by my by mz array q. it is assumed that p and q are values on uniform nx by ny by nz and mx by my by mz grids which are superimposed on the same box region (INCLUDING BOUNDARIES). if p and q are values on nonuniform orthogonal grids and/or if the grid on which q is defined lies within the p grid then subroutine rgrd3 should be used.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer first dimension of p. nx > 1 if intpol(1) = 1 or nx > 3 if intpol(1) = 3 is required (see ier = 2).

integer, intent(in) :: ny

the integer second dimension of p. ny > 1 if intpol(2) = 1 or ny > 3 if intpol(2) = 3 is required (see ier = 2).

integer, intent(in) :: nz

the integer third dimension of p. nz > 1 if intpol(3) = 1 or nz > 3 if intpol(3) = 3 is required (see ier = 2)

real(kind=wp), intent(in) :: p(nx,ny,nz)

a real(wp) nx by ny by nz array of given values

integer, intent(in) :: mx

the integer first dimension of q. mx > 1 is required (see ier = 1)

integer, intent(in) :: my

the integer second dimension of q. my > 1 is required (see ier = 1)

integer, intent(in) :: mz

the integer third dimension of q. mz > 1 is required (see ier = 1)

real(kind=wp), intent(out) :: q(mx,my,mz)

a real(wp) mx by my by mz array of values which are interpolated from p.

integer, intent(in) :: intpol(3)

an integer vector of dimension 3 which sets linear or cubic interpolation in each of the x,y,z directions as follows:

Read more…
real(kind=wp), intent(inout) :: w(lw)

a real(wp) work space of length at least lw which must be provided in the routine calling rgrd3u

integer, intent(in) :: lw

the integer length of the real(wp) work space w.

Read more…
integer, intent(inout) :: iw(liw)

an integer work space of length at least liw which must be provided in the routine calling rgrd3u

integer, intent(in) :: liw

the integer length of the integer work space iw. liw must be greater than or equal to mx+my+mz

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd4u(nx, ny, nz, nt, p, mx, my, mz, mt, q, intpol, w, lw, iw, liw, ier)

subroutine rgrd4u interpolates the nx by ny by nz by nt array p onto the mx by my by mz by mt array q. it is assumed that p and q are values on uniform nx by ny by nz by nt and mx by my by mz by mt grids which are superimposed on the same box region (INCLUDING BOUNDARIES). if p and q are values on nonuniform orthogonal grids and/or if the grid on which q is defined lies within the p grid then subroutine rgrd4 should be used.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx

the integer first dimension of p. nx > 1 if intpol(1) = 1 or nx > 3 if intpol(1) = 3 is required (see ier = 2).

integer, intent(in) :: ny

the integer second dimension of p. ny > 1 if intpol(2) = 1 or ny > 3 if intpol(2) = 3 is required (see ier = 2).

integer, intent(in) :: nz

the integer third dimension of p. nz > 1 if intpol(3) = 1 or nz > 3 if intpol(3) = 3 is required (see ier = 2)

integer, intent(in) :: nt

the integer fourth dimension of p. nt > 1 if intpol(4) = 1 or nt > 3 if intpol(4) = 3 is required (see ier=2)

real(kind=wp), intent(in) :: p(nx,ny,nz,nt)

a real(wp) nx by ny by nz by nt array of given values

integer, intent(in) :: mx

the integer first dimension of q. mx > 1 is required (see ier = 1)

integer, intent(in) :: my

the integer second dimension of q. my > 1 is required (see ier = 1)

integer, intent(in) :: mz

the integer third dimension of q. mz > 1 is required (see ier = 1)

integer, intent(in) :: mt

the integer fourth dimension of q. mt > 1 is required (see ier = 1)

real(kind=wp), intent(out) :: q(mx,my,mz,mt)

a real(wp) mx by my by mz by mt array of values which are interpolated from p.

integer, intent(in) :: intpol(4)

an integer vector of dimension 4 which sets linear or cubic interpolation in each of the x,y,z,t directions as follows:

Read more…
real(kind=wp), intent(inout) :: w(lw)

a real(wp) work space of length at least lw which must be provided in the routine calling rgrd4u

integer, intent(in) :: lw

the integer length of the work space w.

Read more…
integer, intent(inout) :: iw(liw)

an integer work space of length at least liw which must be provided in the routine calling rgrd4u

integer, intent(in) :: liw

the integer length of the integer work space iw. liw must be at least mx+my+mz+mt

integer, intent(out) :: ier

an integer error flag set as follows:

Read more…

private subroutine rgrd1_wrapper(x, p, xx, q, intpol, ier)

Wrapper to rgrd1. Allocates the work arrays internally.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

original x

real(kind=wp), intent(in), dimension(:) :: p

original p(x)

real(kind=wp), intent(in), dimension(:) :: xx

regridded xx

real(kind=wp), intent(out), dimension(:) :: q

regridded q(xx)

integer, intent(in) :: intpol
integer, intent(out) :: ier

status code:

Read more…

private subroutine rgrd2_wrapper(x, y, p, xx, yy, q, intpol, ier)

Wrapper to rgrd2. Allocates the work arrays internally.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

original x

real(kind=wp), intent(in), dimension(:) :: y

original y

real(kind=wp), intent(in), dimension(:,:) :: p

original p(x,y)

real(kind=wp), intent(in), dimension(:) :: xx

regridded xx

real(kind=wp), intent(in), dimension(:) :: yy

regridded yy

real(kind=wp), intent(out), dimension(:,:) :: q

regridded q(xx,yy)

integer, intent(in), dimension(2) :: intpol
integer, intent(out) :: ier Read more…

private subroutine rgrd3_wrapper(x, y, z, p, xx, yy, zz, q, intpol, ier)

Wrapper to rgrd3. Allocates the work arrays internally.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

original x

real(kind=wp), intent(in), dimension(:) :: y

original y

real(kind=wp), intent(in), dimension(:) :: z

original z

real(kind=wp), intent(in), dimension(:,:,:) :: p

original p(x,y,z)

real(kind=wp), intent(in), dimension(:) :: xx

regridded xx

real(kind=wp), intent(in), dimension(:) :: yy

regridded yy

real(kind=wp), intent(in), dimension(:) :: zz

regridded zz

real(kind=wp), intent(out), dimension(:,:,:) :: q

regridded q(xx,yy,zz)

integer, intent(in), dimension(3) :: intpol
integer, intent(out) :: ier Read more…

private subroutine rgrd4_wrapper(x, y, z, t, p, xx, yy, zz, tt, q, intpol, ier)

Wrapper to rgrd4. Allocates the work arrays internally.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

original x

real(kind=wp), intent(in), dimension(:) :: y

original y

real(kind=wp), intent(in), dimension(:) :: z

original z

real(kind=wp), intent(in), dimension(:) :: t

original t

real(kind=wp), intent(in), dimension(:,:,:,:) :: p

original p(x,y,z,t)

real(kind=wp), intent(in), dimension(:) :: xx

regridded xx

real(kind=wp), intent(in), dimension(:) :: yy

regridded yy

real(kind=wp), intent(in), dimension(:) :: zz

regridded zz

real(kind=wp), intent(in), dimension(:) :: tt

regridded tt

real(kind=wp), intent(out), dimension(:,:,:,:) :: q

regridded q(xx,yy,zz,tt)

integer, intent(in), dimension(4) :: intpol
integer, intent(out) :: ier Read more…