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