576 integer(I4B),
intent(in) :: ncid
577 type(MeshNCDimIdType),
intent(inout) :: dim_ids
578 type(MeshNCVarIdType),
intent(inout) :: var_ids
579 type(DisvType),
pointer,
intent(in) :: dis
580 integer(I4B),
dimension(:),
pointer,
contiguous,
intent(in) :: p_mem
581 character(len=*),
intent(in) :: nc_varname
582 character(len=*),
intent(in) :: pkgname
583 character(len=*),
intent(in) :: tagname
584 character(len=*),
intent(in) :: gridmap_name
585 character(len=*),
intent(in) :: shapestr
586 character(len=*),
intent(in) :: longname
587 character(len=*),
intent(in) :: nc_tag
588 integer(I4B),
intent(in) :: deflate
589 integer(I4B),
intent(in) :: shuffle
590 integer(I4B),
intent(in) :: chunk_face
591 integer(I4B),
intent(in) :: iper
592 character(len=*),
intent(in) :: nc_fname
593 integer(I4B),
dimension(2) :: dis_shape
594 integer(I4B),
dimension(:, :),
pointer,
contiguous :: int2d
595 integer(I4B) :: axis_sz, nvals, k
596 integer(I4B),
dimension(:),
allocatable :: var_id
597 character(len=LINELENGTH) :: longname_l, varname_l
599 if (shapestr ==
'NCPL')
then
601 varname_l = export_varname(nc_varname)
602 longname_l = export_longname(longname, pkgname, tagname, layer=0, iper=iper)
605 axis_sz = dim_ids%nmesh_face
608 call nf_verify(nf90_redef(ncid), nc_fname)
609 call nf_verify(nf90_def_var(ncid, varname_l, nf90_int, &
610 (/axis_sz/), var_id(1)), &
614 call ncvar_chunk(ncid, var_id(1), chunk_face, nc_fname)
616 call ncvar_deflate(ncid, var_id(1), deflate, shuffle, nc_fname)
619 call nf_verify(nf90_put_att(ncid, var_id(1),
'_FillValue', &
620 (/nf90_fill_int/)), nc_fname)
621 call nf_verify(nf90_put_att(ncid, var_id(1),
'long_name', &
622 longname_l), nc_fname)
625 call ncvar_gridmap(ncid, var_id(1), gridmap_name, nc_fname)
626 call ncvar_mf6attr(ncid, var_id(1), 0, iper, 0, nc_tag, nc_fname)
629 call nf_verify(nf90_enddef(ncid), nc_fname)
630 call nf_verify(nf90_put_var(ncid, var_id(1), p_mem), &
634 allocate (var_id(dis%nlay))
637 call nf_verify(nf90_redef(ncid), nc_fname)
640 varname_l = export_varname(nc_varname, layer=k, iper=iper)
641 longname_l = export_longname(longname, pkgname, tagname, layer=k, &
644 call nf_verify(nf90_def_var(ncid, varname_l, nf90_int, &
645 (/dim_ids%nmesh_face/), var_id(k)), &
649 call ncvar_chunk(ncid, var_id(k), chunk_face, nc_fname)
651 call ncvar_deflate(ncid, var_id(k), deflate, shuffle, nc_fname)
654 call nf_verify(nf90_put_att(ncid, var_id(k),
'_FillValue', &
655 (/nf90_fill_int/)), nc_fname)
656 call nf_verify(nf90_put_att(ncid, var_id(k),
'long_name', &
657 longname_l), nc_fname)
660 call ncvar_gridmap(ncid, var_id(k), gridmap_name, nc_fname)
661 call ncvar_mf6attr(ncid, var_id(k), k, iper, 0, nc_tag, nc_fname)
665 dis_shape(1) = dis%ncpl
666 dis_shape(2) = dis%nlay
667 nvals = product(dis_shape)
668 int2d(1:dis_shape(1), 1:dis_shape(2)) => p_mem(1:nvals)
671 call nf_verify(nf90_enddef(ncid), nc_fname)
673 call nf_verify(nf90_put_var(ncid, var_id(k), int2d(:, k)), nc_fname)