NetCDF: One or more variable sizes violate format constraints

Norman, Matthew R. normanmr at ornl.gov
Wed Aug 1 09:13:42 CDT 2018


I'm getting the error: "NetCDF: One or more variable sizes violate format constraints" upon nf90mpi_enddef(ncid). I'm using the 64bit offset flag, but it doesn't seem to get rid of the error. This works for smaller problem sizes. Is this simply getting too large to use a record dimension, and do I need to split this up into one file per output? If so, is there any way to get things into a single file? The relevant code is below. I'm using parallel-netcdf version 1.6.1. Thanks,


-Matt


ntracers = 3
nx_glob = 400
ny_glob = 400
nz_glob = 200
integer(kind=MPI_OFFSET_KIND) :: len
call ncwrap( nf90mpi_create( MPI_COMM_WORLD , trim(fname) , ior( nf90_clobber , nf90_64bit_offset ) , MPI_INFO_NULL , ncid ) , __LINE__ )

len=nf90_unlimited; call ncwrap( nf90mpi_def_dim( ncid , 't' , len , t_dimid ) , __LINE__ )
len=nx_glob       ; call ncwrap( nf90mpi_def_dim( ncid , 'x' , len , x_dimid ) , __LINE__ )
len=ny_glob       ; call ncwrap( nf90mpi_def_dim( ncid , 'y' , len , y_dimid ) , __LINE__ )
len=nz_glob       ; call ncwrap( nf90mpi_def_dim( ncid , 'z' , len , z_dimid ) , __LINE__ )

call ncwrap( nf90mpi_def_var( ncid , 't' , nf90_double , 1 , (/ t_dimid /) , t_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'x' , nf90_double , 1 , (/ x_dimid /) , x_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'y' , nf90_double , 1 , (/ y_dimid /) , y_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'z' , nf90_double , 1 , (/ z_dimid /) , z_varid ) , __LINE__ )

call ncwrap( nf90mpi_def_var( ncid , 'hy_dens'       , nf90_double , 1 , (/                     z_dimid           /) ,       hy_dens_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'hy_dens_theta' , nf90_double , 1 , (/                     z_dimid           /) , hy_dens_theta_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'dens'          , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,          dens_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'uwnd'          , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,          uwnd_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'vwnd'          , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,          vwnd_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'wwnd'          , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,          wwnd_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'theta'         , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,         theta_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'windmag'       , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,       windmag_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'ke'            , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,            ke_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'vort_xy'       , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,       vort_xy_varid ) , __LINE__ )
call ncwrap( nf90mpi_def_var( ncid , 'vort_xz'       , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,       vort_xz_varid ) , __LINE__ )
do i = 1 , ntracers
  tname = trim(tracer_names(i))
  call ncwrap( nf90mpi_def_var( ncid , tname         , nf90_double , 4 , (/ x_dimid , y_dimid , z_dimid , t_dimid /) ,    tracer_varids(i) ) , __LINE__ )
enddo
call ncwrap( nf90mpi_enddef( ncid ) , __LINE__ )

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20180801/1437214d/attachment.html>


More information about the parallel-netcdf mailing list