MODFLOW 6  version 6.9.0.dev0
USGS Modular Hydrologic Model
disncstructuredmodule::nc_export_array Interface Reference
Collaboration diagram for disncstructuredmodule::nc_export_array:
Collaboration graph

Private Member Functions

subroutine nc_export_int1d (p_mem, ncid, dim_ids, var_ids, dis, idt, mempath, nc_tag, pkgname, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, iper, nc_fname)
 netcdf export 1D integer More...
 
subroutine nc_export_int2d (p_mem, ncid, dim_ids, var_ids, dis, idt, mempath, nc_tag, pkgname, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, nc_fname)
 netcdf export 2D integer More...
 
subroutine nc_export_int3d (p_mem, ncid, dim_ids, var_ids, dis, idt, mempath, nc_tag, pkgname, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, nc_fname)
 netcdf export 3D integer More...
 
subroutine nc_export_dbl1d (p_mem, ncid, dim_ids, var_ids, dis, idt, mempath, nc_tag, pkgname, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, iper, iaux, nc_fname)
 netcdf export 1D double More...
 
subroutine nc_export_dbl2d (p_mem, ncid, dim_ids, var_ids, dis, idt, mempath, nc_tag, pkgname, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, nc_fname)
 netcdf export 2D double More...
 
subroutine nc_export_dbl3d (p_mem, ncid, dim_ids, var_ids, dis, idt, mempath, nc_tag, pkgname, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, nc_fname)
 netcdf export 3D double More...
 

Detailed Description

Definition at line 89 of file DisNCStructured.f90.

Member Function/Subroutine Documentation

◆ nc_export_dbl1d()

subroutine disncstructuredmodule::nc_export_array::nc_export_dbl1d ( real(dp), dimension(:), intent(in), pointer, contiguous  p_mem,
integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
type(inputparamdefinitiontype), intent(in), pointer  idt,
character(len=*), intent(in)  mempath,
character(len=*), intent(in)  nc_tag,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  gridmap_name,
logical(lgp), intent(in)  latlon,
integer(i4b), intent(in)  deflate,
integer(i4b), intent(in)  shuffle,
integer(i4b), intent(in)  chunk_z,
integer(i4b), intent(in)  chunk_y,
integer(i4b), intent(in)  chunk_x,
integer(i4b), intent(in)  iper,
integer(i4b), intent(in)  iaux,
character(len=*), intent(in)  nc_fname 
)
private

Definition at line 1646 of file DisNCStructured.f90.

1650  use tdismodule, only: kper
1651  real(DP), dimension(:), pointer, contiguous, intent(in) :: p_mem
1652  integer(I4B), intent(in) :: ncid
1653  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1654  type(StructuredNCVarIdType), intent(inout) :: var_ids
1655  type(DisType), pointer, intent(in) :: dis
1656  type(InputParamDefinitionType), pointer, intent(in) :: idt
1657  character(len=*), intent(in) :: mempath
1658  character(len=*), intent(in) :: nc_tag
1659  character(len=*), intent(in) :: pkgname
1660  character(len=*), intent(in) :: gridmap_name
1661  logical(LGP), intent(in) :: latlon
1662  integer(I4B), intent(in) :: deflate
1663  integer(I4B), intent(in) :: shuffle
1664  integer(I4B), intent(in) :: chunk_z
1665  integer(I4B), intent(in) :: chunk_y
1666  integer(I4B), intent(in) :: chunk_x
1667  integer(I4B), intent(in) :: iper
1668  integer(I4B), intent(in) :: iaux
1669  character(len=*), intent(in) :: nc_fname
1670  integer(I4B) :: var_id, axis_sz
1671  character(len=LINELENGTH) :: varname, longname
1672 
1673  if (idt%shape == 'NROW' .or. &
1674  idt%shape == 'NCOL' .or. &
1675  idt%shape == 'NCPL' .or. &
1676  idt%shape == 'NAUX NCPL') then
1677 
1678  if (iper == 0) then
1679  select case (idt%shape)
1680  case ('NROW')
1681  axis_sz = dim_ids%y
1682  case ('NCOL')
1683  axis_sz = dim_ids%x
1684  end select
1685 
1686  varname = export_varname(pkgname, idt%tagname, mempath)
1687  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1688  iaux=iaux, &
1689  component_type=idt%component_type, &
1690  subcomponent_type=idt%subcomponent_type)
1691 
1692  ! reenter define mode and create variable
1693  call nf_verify(nf90_redef(ncid), nc_fname)
1694  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1695  (/axis_sz/), var_id), &
1696  nc_fname)
1697 
1698  ! NROW/NCOL shapes use default chunking
1699  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1700 
1701  ! put attr
1702  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1703  (/nf90_fill_double/)), nc_fname)
1704  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1705  longname), nc_fname)
1706 
1707  ! add mf6 attr
1708  call ncvar_mf6attr(ncid, var_id, iaux, nc_tag, nc_fname)
1709 
1710  ! exit define mode and write data
1711  call nf_verify(nf90_enddef(ncid), nc_fname)
1712  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1713  nc_fname)
1714  else
1715  ! timeseries
1716  call nf_verify(nf90_put_var(ncid, &
1717  var_ids%export, p_mem, &
1718  start=(/1, 1, kper/), &
1719  count=(/dis%ncol, dis%nrow, 1/)), nc_fname)
1720  end if
1721 
1722  else
1723 
1724  if (iper == 0) then
1725  varname = export_varname(pkgname, idt%tagname, mempath, iaux=iaux)
1726  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1727  iaux=iaux, &
1728  component_type=idt%component_type, &
1729  subcomponent_type=idt%subcomponent_type)
1730 
1731  ! reenter define mode and create variable
1732  call nf_verify(nf90_redef(ncid), nc_fname)
1733  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1734  (/dim_ids%x, dim_ids%y, dim_ids%layer/), &
1735  var_id), nc_fname)
1736 
1737  ! apply chunking parameters
1738  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1739  ! deflate and shuffle
1740  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1741 
1742  ! put attr
1743  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1744  (/nf90_fill_double/)), nc_fname)
1745  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1746  longname), nc_fname)
1747 
1748  ! add grid mapping and mf6 attr
1749  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, .true., &
1750  nc_fname)
1751  call ncvar_mf6attr(ncid, var_id, iaux, nc_tag, nc_fname)
1752 
1753  ! exit define mode and write data
1754  call nf_verify(nf90_enddef(ncid), nc_fname)
1755  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1756  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1757  nc_fname)
1758  else
1759  ! timeseries
1760  call nf_verify(nf90_put_var(ncid, &
1761  var_ids%export, p_mem, &
1762  start=(/1, 1, 1, kper/), &
1763  count=(/dis%ncol, dis%nrow, dis%nlay, 1/)), &
1764  nc_fname)
1765  end if
1766  end if
integer(i4b), pointer, public kper
current stress period number
Definition: tdis.f90:26
Here is the call graph for this function:

◆ nc_export_dbl2d()

subroutine disncstructuredmodule::nc_export_array::nc_export_dbl2d ( real(dp), dimension(:, :), intent(in), pointer, contiguous  p_mem,
integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
type(inputparamdefinitiontype), intent(in), pointer  idt,
character(len=*), intent(in)  mempath,
character(len=*), intent(in)  nc_tag,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  gridmap_name,
logical(lgp), intent(in)  latlon,
integer(i4b), intent(in)  deflate,
integer(i4b), intent(in)  shuffle,
integer(i4b), intent(in)  chunk_z,
integer(i4b), intent(in)  chunk_y,
integer(i4b), intent(in)  chunk_x,
character(len=*), intent(in)  nc_fname 
)
private

Definition at line 1771 of file DisNCStructured.f90.

1774  real(DP), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1775  integer(I4B), intent(in) :: ncid
1776  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1777  type(StructuredNCVarIdType), intent(inout) :: var_ids
1778  type(DisType), pointer, intent(in) :: dis
1779  type(InputParamDefinitionType), pointer, intent(in) :: idt
1780  character(len=*), intent(in) :: mempath
1781  character(len=*), intent(in) :: nc_tag
1782  character(len=*), intent(in) :: pkgname
1783  character(len=*), intent(in) :: gridmap_name
1784  logical(LGP), intent(in) :: latlon
1785  integer(I4B), intent(in) :: deflate
1786  integer(I4B), intent(in) :: shuffle
1787  integer(I4B), intent(in) :: chunk_z
1788  integer(I4B), intent(in) :: chunk_y
1789  integer(I4B), intent(in) :: chunk_x
1790  character(len=*), intent(in) :: nc_fname
1791  character(len=LINELENGTH) :: varname
1792  integer(I4B) :: var_id
1793 
1794  varname = export_varname(pkgname, idt%tagname, mempath)
1795 
1796  ! reenter define mode and create variable
1797  call nf_verify(nf90_redef(ncid), nc_fname)
1798  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1799  (/dim_ids%x, dim_ids%y/), var_id), &
1800  nc_fname)
1801 
1802  ! apply chunking parameters
1803  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1804  ! deflate and shuffle
1805  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1806 
1807  ! put attr
1808  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1809  (/nf90_fill_double/)), nc_fname)
1810  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1811  idt%longname), nc_fname)
1812 
1813  ! add grid mapping and mf6 attr
1814  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, .false., &
1815  nc_fname)
1816  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1817 
1818  ! exit define mode and write data
1819  call nf_verify(nf90_enddef(ncid), nc_fname)
1820  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1821  count=(/dis%ncol, dis%nrow/)), &
1822  nc_fname)
Here is the call graph for this function:

◆ nc_export_dbl3d()

subroutine disncstructuredmodule::nc_export_array::nc_export_dbl3d ( real(dp), dimension(:, :, :), intent(in), pointer, contiguous  p_mem,
integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
type(inputparamdefinitiontype), intent(in), pointer  idt,
character(len=*), intent(in)  mempath,
character(len=*), intent(in)  nc_tag,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  gridmap_name,
logical(lgp), intent(in)  latlon,
integer(i4b), intent(in)  deflate,
integer(i4b), intent(in)  shuffle,
integer(i4b), intent(in)  chunk_z,
integer(i4b), intent(in)  chunk_y,
integer(i4b), intent(in)  chunk_x,
character(len=*), intent(in)  nc_fname 
)
private

Definition at line 1827 of file DisNCStructured.f90.

1830  real(DP), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1831  integer(I4B), intent(in) :: ncid
1832  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1833  type(StructuredNCVarIdType), intent(inout) :: var_ids
1834  type(DisType), pointer, intent(in) :: dis
1835  type(InputParamDefinitionType), pointer, intent(in) :: idt
1836  character(len=*), intent(in) :: mempath
1837  character(len=*), intent(in) :: nc_tag
1838  character(len=*), intent(in) :: pkgname
1839  character(len=*), intent(in) :: gridmap_name
1840  logical(LGP), intent(in) :: latlon
1841  integer(I4B), intent(in) :: deflate
1842  integer(I4B), intent(in) :: shuffle
1843  integer(I4B), intent(in) :: chunk_z
1844  integer(I4B), intent(in) :: chunk_y
1845  integer(I4B), intent(in) :: chunk_x
1846  character(len=*), intent(in) :: nc_fname
1847  integer(I4B) :: var_id
1848  character(len=LINELENGTH) :: varname, longname
1849 
1850  varname = export_varname(pkgname, idt%tagname, mempath)
1851  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1852  component_type=idt%component_type, &
1853  subcomponent_type=idt%subcomponent_type)
1854 
1855  ! reenter define mode and create variable
1856  call nf_verify(nf90_redef(ncid), nc_fname)
1857  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1858  (/dim_ids%x, dim_ids%y, dim_ids%layer/), &
1859  var_id), nc_fname)
1860 
1861  ! apply chunking parameters
1862  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1863  ! deflate and shuffle
1864  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1865 
1866  ! put attr
1867  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1868  (/nf90_fill_double/)), nc_fname)
1869  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1870  longname), nc_fname)
1871 
1872  ! add grid mapping and mf6 attr
1873  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, .true., &
1874  nc_fname)
1875  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1876 
1877  ! exit define mode and write data
1878  call nf_verify(nf90_enddef(ncid), nc_fname)
1879  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1880  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1881  nc_fname)
Here is the call graph for this function:

◆ nc_export_int1d()

subroutine disncstructuredmodule::nc_export_array::nc_export_int1d ( integer(i4b), dimension(:), intent(in), pointer, contiguous  p_mem,
integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
type(inputparamdefinitiontype), intent(in), pointer  idt,
character(len=*), intent(in)  mempath,
character(len=*), intent(in)  nc_tag,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  gridmap_name,
logical(lgp), intent(in)  latlon,
integer(i4b), intent(in)  deflate,
integer(i4b), intent(in)  shuffle,
integer(i4b), intent(in)  chunk_z,
integer(i4b), intent(in)  chunk_y,
integer(i4b), intent(in)  chunk_x,
integer(i4b), intent(in)  iper,
character(len=*), intent(in)  nc_fname 
)
private

Definition at line 1417 of file DisNCStructured.f90.

1420  use tdismodule, only: kper
1421  integer(I4B), dimension(:), pointer, contiguous, intent(in) :: p_mem
1422  integer(I4B), intent(in) :: ncid
1423  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1424  type(StructuredNCVarIdType), intent(inout) :: var_ids
1425  type(DisType), pointer, intent(in) :: dis
1426  type(InputParamDefinitionType), pointer, intent(in) :: idt
1427  character(len=*), intent(in) :: mempath
1428  character(len=*), intent(in) :: nc_tag
1429  character(len=*), intent(in) :: pkgname
1430  character(len=*), intent(in) :: gridmap_name
1431  logical(LGP), intent(in) :: latlon
1432  integer(I4B), intent(in) :: deflate
1433  integer(I4B), intent(in) :: shuffle
1434  integer(I4B), intent(in) :: chunk_z
1435  integer(I4B), intent(in) :: chunk_y
1436  integer(I4B), intent(in) :: chunk_x
1437  integer(I4B), intent(in) :: iper
1438  character(len=*), intent(in) :: nc_fname
1439  integer(I4B) :: var_id, axis_sz
1440  character(len=LINELENGTH) :: varname, longname
1441 
1442  varname = export_varname(pkgname, idt%tagname, mempath)
1443 
1444  if (idt%shape == 'NROW' .or. &
1445  idt%shape == 'NCOL' .or. &
1446  idt%shape == 'NCPL' .or. &
1447  idt%shape == 'NAUX NCPL') then
1448 
1449  if (iper == 0) then
1450  select case (idt%shape)
1451  case ('NROW')
1452  axis_sz = dim_ids%y
1453  case ('NCOL')
1454  axis_sz = dim_ids%x
1455  end select
1456 
1457  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1458  component_type=idt%component_type, &
1459  subcomponent_type=idt%subcomponent_type)
1460 
1461  ! reenter define mode and create variable
1462  call nf_verify(nf90_redef(ncid), nc_fname)
1463  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1464  (/axis_sz/), var_id), &
1465  nc_fname)
1466 
1467  ! NROW/NCOL shapes use default chunking
1468  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1469 
1470  ! put attr
1471  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1472  (/nf90_fill_int/)), nc_fname)
1473  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1474  longname), nc_fname)
1475 
1476  ! add mf6 attr
1477  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1478 
1479  ! exit define mode and write data
1480  call nf_verify(nf90_enddef(ncid), nc_fname)
1481  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1482  nc_fname)
1483  else
1484  ! timeseries
1485  call nf_verify(nf90_put_var(ncid, &
1486  var_ids%export, p_mem, &
1487  start=(/1, 1, kper/), &
1488  count=(/dis%ncol, dis%nrow, 1/)), nc_fname)
1489  end if
1490 
1491  else
1492 
1493  if (iper == 0) then
1494  ! reenter define mode and create variable
1495  call nf_verify(nf90_redef(ncid), nc_fname)
1496  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1497  (/dim_ids%x, dim_ids%y, dim_ids%layer/), &
1498  var_id), nc_fname)
1499 
1500  ! apply chunking parameters
1501  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1502  ! deflate and shuffle
1503  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1504 
1505  ! put attr
1506  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1507  (/nf90_fill_int/)), nc_fname)
1508  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1509  idt%longname), nc_fname)
1510 
1511  ! add grid mapping and mf6 attr
1512  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, .true., &
1513  nc_fname)
1514  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1515 
1516  ! exit define mode and write data
1517  call nf_verify(nf90_enddef(ncid), nc_fname)
1518  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1519  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1520  nc_fname)
1521  else
1522  ! timeseries
1523  call nf_verify(nf90_put_var(ncid, &
1524  var_ids%export, p_mem, &
1525  start=(/1, 1, 1, kper/), &
1526  count=(/dis%ncol, dis%nrow, dis%nlay, 1/)), &
1527  nc_fname)
1528  end if
1529  end if
Here is the call graph for this function:

◆ nc_export_int2d()

subroutine disncstructuredmodule::nc_export_array::nc_export_int2d ( integer(i4b), dimension(:, :), intent(in), pointer, contiguous  p_mem,
integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
type(inputparamdefinitiontype), intent(in), pointer  idt,
character(len=*), intent(in)  mempath,
character(len=*), intent(in)  nc_tag,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  gridmap_name,
logical(lgp), intent(in)  latlon,
integer(i4b), intent(in)  deflate,
integer(i4b), intent(in)  shuffle,
integer(i4b), intent(in)  chunk_z,
integer(i4b), intent(in)  chunk_y,
integer(i4b), intent(in)  chunk_x,
character(len=*), intent(in)  nc_fname 
)
private

Definition at line 1534 of file DisNCStructured.f90.

1537  integer(I4B), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1538  integer(I4B), intent(in) :: ncid
1539  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1540  type(StructuredNCVarIdType), intent(inout) :: var_ids
1541  type(DisType), pointer, intent(in) :: dis
1542  type(InputParamDefinitionType), pointer, intent(in) :: idt
1543  character(len=*), intent(in) :: mempath
1544  character(len=*), intent(in) :: nc_tag
1545  character(len=*), intent(in) :: pkgname
1546  character(len=*), intent(in) :: gridmap_name
1547  logical(LGP), intent(in) :: latlon
1548  integer(I4B), intent(in) :: deflate
1549  integer(I4B), intent(in) :: shuffle
1550  integer(I4B), intent(in) :: chunk_z
1551  integer(I4B), intent(in) :: chunk_y
1552  integer(I4B), intent(in) :: chunk_x
1553  character(len=*), intent(in) :: nc_fname
1554  character(len=LINELENGTH) :: varname
1555  integer(I4B) :: var_id
1556 
1557  varname = export_varname(pkgname, idt%tagname, mempath)
1558 
1559  ! reenter define mode and create variable
1560  call nf_verify(nf90_redef(ncid), nc_fname)
1561  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1562  (/dim_ids%x, dim_ids%y/), var_id), &
1563  nc_fname)
1564 
1565  ! apply chunking parameters
1566  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1567  ! deflate and shuffle
1568  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1569 
1570  ! put attr
1571  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1572  (/nf90_fill_int/)), nc_fname)
1573  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1574  idt%longname), nc_fname)
1575 
1576  ! add grid mapping and mf6 attr
1577  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, .false., &
1578  nc_fname)
1579  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1580 
1581  ! exit define mode and write data
1582  call nf_verify(nf90_enddef(ncid), nc_fname)
1583  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1584  count=(/dis%ncol, dis%nrow/)), &
1585  nc_fname)
Here is the call graph for this function:

◆ nc_export_int3d()

subroutine disncstructuredmodule::nc_export_array::nc_export_int3d ( integer(i4b), dimension(:, :, :), intent(in), pointer, contiguous  p_mem,
integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
type(inputparamdefinitiontype), intent(in), pointer  idt,
character(len=*), intent(in)  mempath,
character(len=*), intent(in)  nc_tag,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  gridmap_name,
logical(lgp), intent(in)  latlon,
integer(i4b), intent(in)  deflate,
integer(i4b), intent(in)  shuffle,
integer(i4b), intent(in)  chunk_z,
integer(i4b), intent(in)  chunk_y,
integer(i4b), intent(in)  chunk_x,
character(len=*), intent(in)  nc_fname 
)
private

Definition at line 1590 of file DisNCStructured.f90.

1593  integer(I4B), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1594  integer(I4B), intent(in) :: ncid
1595  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1596  type(StructuredNCVarIdType), intent(inout) :: var_ids
1597  type(DisType), pointer, intent(in) :: dis
1598  type(InputParamDefinitionType), pointer, intent(in) :: idt
1599  character(len=*), intent(in) :: mempath
1600  character(len=*), intent(in) :: nc_tag
1601  character(len=*), intent(in) :: pkgname
1602  character(len=*), intent(in) :: gridmap_name
1603  logical(LGP), intent(in) :: latlon
1604  integer(I4B), intent(in) :: deflate
1605  integer(I4B), intent(in) :: shuffle
1606  integer(I4B), intent(in) :: chunk_z
1607  integer(I4B), intent(in) :: chunk_y
1608  integer(I4B), intent(in) :: chunk_x
1609  character(len=*), intent(in) :: nc_fname
1610  character(len=LINELENGTH) :: varname
1611  integer(I4B) :: var_id
1612 
1613  varname = export_varname(pkgname, idt%tagname, mempath)
1614 
1615  ! reenter define mode and create variable
1616  call nf_verify(nf90_redef(ncid), nc_fname)
1617  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1618  (/dim_ids%x, dim_ids%y, dim_ids%layer/), &
1619  var_id), nc_fname)
1620 
1621  ! apply chunking parameters
1622  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1623  ! deflate and shuffle
1624  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1625 
1626  ! put attr
1627  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1628  (/nf90_fill_int/)), nc_fname)
1629  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1630  idt%longname), nc_fname)
1631 
1632  ! add grid mapping and mf6 attr
1633  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, .true., &
1634  nc_fname)
1635  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1636 
1637  ! exit define mode and write data
1638  call nf_verify(nf90_enddef(ncid), nc_fname)
1639  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1640  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1641  nc_fname)
Here is the call graph for this function:

The documentation for this interface was generated from the following file: