Overflow when type cast to 4-byte integer" using nfmpi_get_vara_int
Xueli Huo
201531490002 at mail.bnu.edu.cn
Wed Sep 14 20:42:36 CDT 2016
Hi, all,
I am trying to use nfmpi_get_vara_all to get variable values from a CDF-1 file with pnetcdf 1.6.1 and mpi 3.
There is a problem that I am not able to solve though I already spent three days trying to figure out what it was on earth.
The error message is "Overflow when type cast to 4-byte integer." Here is my code. It is also attached.
program trypnetcdf
2
3 use pnetcdf ! Replace nf_ functions with nfmpi_ functions. Huo, 28/08/2016
4 use module_mpp_land, only: io_id, global_nx, global_ny, my_id, mpp_land_sync,MPP_LAND_PAR_INI, mpp_land_init, getLocalXY
5
6 implicit none
7
8 include 'mpif.h'
9
10 integer :: i, j
11 integer :: ix_tmp, jx_tmp
12 integer :: ierr
13 integer :: xstart, xend, ystart, yend
14 real, ALLOCATABLE, DIMENSION(:,:) :: IVGTYP ! vegetation type
15 character(len=256) :: hrldas_constants_file
16
17 call MPP_LAND_INIT()
18 ix_tmp = 1600
19 jx_tmp =1040
20
21 call MPP_LAND_PAR_INI(1,ix_tmp,jx_tmp,1)
22 call getLocalXY(ix_tmp,jx_tmp,xstart,ystart,xend,yend)
23
24
25 hrldas_constants_file="/HOME/gcess_weigong_1/WORKSPACE/CLDASIN/2008010101.LDASIN_DOMAIN0"
26
27 ALLOCATE ( IVGTYP (XSTART:XEND,YSTART:YEND) ) ! vegetation type
28
29 call get_ivgtyp(trim(hrldas_constants_file), xstart, xend, ystart, yend, ivgtyp, "PSFC")
30
31
32 call MPI_COMM_RANK(MPI_COMM_WORLD, my_id, ierr) ! Huo, 29/08/2016
33 if (ierr /= MPI_SUCCESS) stop "MPI_COMM_RANK"
34
35 if(my_id == 0) then
36 print *, 'xstart = ',xstart,'xend = ',xend,'ystart = ',ystart,'yend = ',yend
37 do i = xstart, xend
38 do j = ystart, yend
39 print *, ivgtyp(i,j)
40 end do
41 end do
42 endif
43
44 contains
45
46 subroutine get_ivgtyp(flnm, xstart, xend, ystart, yend, array, varname)
47 implicit none
48 character(len=*), intent(in):: flnm
49 integer , intent(in):: xstart, xend, ystart, yend
50 real, dimension(xstart:xend,ystart:yend), intent(out):: array
51 character(len=*), intent(in):: varname
52 integer(KIND=MPI_OFFSET_KIND),dimension(2) ::startxy, countxy
53 integer :: ierr, ncid, varid
54
55 startxy=(/xstart,ystart/)
56 countxy=(/xend-xstart+1, yend-ystart+1/)
57
58 if(my_id == 0) then
59 print *, xstart, xend, ystart, yend
60 endif
61
62 ierr = nfmpi_open(MPI_COMM_WORLD, trim(flnm), NF_NOWRITE, MPI_INFO_NULL, ncid)
63 if (ierr /= 0) stop "NFMPI_OPEN"
64 ierr = nfmpi_inq_varid(ncid, varname, varid)
65 if (ierr /= 0) stop "NFMPI_INQ_VARID"
66
67 !ierr = nfmpi_get_vara_int_all(ncid, varid, (/xstart,ystart/), (/xend-xstart+1, yend-ystart+1/), array) ! 06/09/2016, Huo.
68 ierr = nfmpi_get_vara_real_all(ncid, varid, startxy, countxy, array) ! 06/09/2016, Huo.
69 print *, ierr
70 if (ierr /= 0) stop "NFMPI_GET_VARA_INT_ALL"
71
72 ierr=nfmpi_close(ncid)
73 if (ierr /= 0) stop "NFMPI_CLOSE"
74
75 end subroutine get_ivgtyp
76
77 end program trypnetcdf
--
Xueli Huo,
College of Global Change and Earth System Science
Beijing Normal Unviersity
Xinjiekouwai Street, No 19
Haidian District
Beijing, 100875, China
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20160915/012d0f7e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: trypnetcdf.F
Type: application/octet-stream
Size: 2417 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20160915/012d0f7e/attachment.obj>
More information about the parallel-netcdf
mailing list