MODFLOW 6  version 6.8.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 85 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 1362 of file DisNCStructured.f90.

1366  use tdismodule, only: kper
1367  real(DP), dimension(:), pointer, contiguous, intent(in) :: p_mem
1368  integer(I4B), intent(in) :: ncid
1369  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1370  type(StructuredNCVarIdType), intent(inout) :: var_ids
1371  type(DisType), pointer, intent(in) :: dis
1372  type(InputParamDefinitionType), pointer, intent(in) :: idt
1373  character(len=*), intent(in) :: mempath
1374  character(len=*), intent(in) :: nc_tag
1375  character(len=*), intent(in) :: pkgname
1376  character(len=*), intent(in) :: gridmap_name
1377  logical(LGP), intent(in) :: latlon
1378  integer(I4B), intent(in) :: deflate
1379  integer(I4B), intent(in) :: shuffle
1380  integer(I4B), intent(in) :: chunk_z
1381  integer(I4B), intent(in) :: chunk_y
1382  integer(I4B), intent(in) :: chunk_x
1383  integer(I4B), intent(in) :: iper
1384  integer(I4B), intent(in) :: iaux
1385  character(len=*), intent(in) :: nc_fname
1386  integer(I4B) :: var_id, axis_sz
1387  character(len=LINELENGTH) :: varname, longname
1388 
1389  if (idt%shape == 'NROW' .or. &
1390  idt%shape == 'NCOL' .or. &
1391  idt%shape == 'NCPL' .or. &
1392  idt%shape == 'NAUX NCPL') then
1393 
1394  if (iper == 0) then
1395  select case (idt%shape)
1396  case ('NROW')
1397  axis_sz = dim_ids%y
1398  case ('NCOL')
1399  axis_sz = dim_ids%x
1400  end select
1401 
1402  varname = export_varname(pkgname, idt%tagname, mempath)
1403  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1404  iaux=iaux, &
1405  component_type=idt%component_type, &
1406  subcomponent_type=idt%subcomponent_type)
1407 
1408  ! reenter define mode and create variable
1409  call nf_verify(nf90_redef(ncid), nc_fname)
1410  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1411  (/axis_sz/), var_id), &
1412  nc_fname)
1413 
1414  ! NROW/NCOL shapes use default chunking
1415  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1416 
1417  ! put attr
1418  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1419  (/nf90_fill_double/)), nc_fname)
1420  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1421  longname), nc_fname)
1422 
1423  ! add mf6 attr
1424  call ncvar_mf6attr(ncid, var_id, iaux, nc_tag, nc_fname)
1425 
1426  ! exit define mode and write data
1427  call nf_verify(nf90_enddef(ncid), nc_fname)
1428  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1429  nc_fname)
1430  else
1431  ! timeseries
1432  call nf_verify(nf90_put_var(ncid, &
1433  var_ids%export, p_mem, &
1434  start=(/1, 1, kper/), &
1435  count=(/dis%ncol, dis%nrow, 1/)), nc_fname)
1436  end if
1437 
1438  else
1439 
1440  if (iper == 0) then
1441  varname = export_varname(pkgname, idt%tagname, mempath, iaux=iaux)
1442  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1443  iaux=iaux, &
1444  component_type=idt%component_type, &
1445  subcomponent_type=idt%subcomponent_type)
1446 
1447  ! reenter define mode and create variable
1448  call nf_verify(nf90_redef(ncid), nc_fname)
1449  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1450  (/dim_ids%x, dim_ids%y, dim_ids%z/), &
1451  var_id), nc_fname)
1452 
1453  ! apply chunking parameters
1454  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1455  ! deflate and shuffle
1456  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1457 
1458  ! put attr
1459  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1460  (/nf90_fill_double/)), nc_fname)
1461  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1462  longname), nc_fname)
1463 
1464  ! add grid mapping and mf6 attr
1465  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1466  call ncvar_mf6attr(ncid, var_id, iaux, nc_tag, nc_fname)
1467 
1468  ! exit define mode and write data
1469  call nf_verify(nf90_enddef(ncid), nc_fname)
1470  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1471  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1472  nc_fname)
1473  else
1474  ! timeseries
1475  call nf_verify(nf90_put_var(ncid, &
1476  var_ids%export, p_mem, &
1477  start=(/1, 1, 1, kper/), &
1478  count=(/dis%ncol, dis%nrow, dis%nlay, 1/)), &
1479  nc_fname)
1480  end if
1481  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 1486 of file DisNCStructured.f90.

1489  real(DP), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1490  integer(I4B), intent(in) :: ncid
1491  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1492  type(StructuredNCVarIdType), intent(inout) :: var_ids
1493  type(DisType), pointer, intent(in) :: dis
1494  type(InputParamDefinitionType), pointer, intent(in) :: idt
1495  character(len=*), intent(in) :: mempath
1496  character(len=*), intent(in) :: nc_tag
1497  character(len=*), intent(in) :: pkgname
1498  character(len=*), intent(in) :: gridmap_name
1499  logical(LGP), intent(in) :: latlon
1500  integer(I4B), intent(in) :: deflate
1501  integer(I4B), intent(in) :: shuffle
1502  integer(I4B), intent(in) :: chunk_z
1503  integer(I4B), intent(in) :: chunk_y
1504  integer(I4B), intent(in) :: chunk_x
1505  character(len=*), intent(in) :: nc_fname
1506  character(len=LINELENGTH) :: varname
1507  integer(I4B) :: var_id
1508 
1509  varname = export_varname(pkgname, idt%tagname, mempath)
1510 
1511  ! reenter define mode and create variable
1512  call nf_verify(nf90_redef(ncid), nc_fname)
1513  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1514  (/dim_ids%x, dim_ids%y/), var_id), &
1515  nc_fname)
1516 
1517  ! apply chunking parameters
1518  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1519  ! deflate and shuffle
1520  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1521 
1522  ! put attr
1523  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1524  (/nf90_fill_double/)), nc_fname)
1525  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1526  idt%longname), nc_fname)
1527 
1528  ! add grid mapping and mf6 attr
1529  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1530  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1531 
1532  ! exit define mode and write data
1533  call nf_verify(nf90_enddef(ncid), nc_fname)
1534  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1535  count=(/dis%ncol, dis%nrow/)), &
1536  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 1541 of file DisNCStructured.f90.

1544  real(DP), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1545  integer(I4B), intent(in) :: ncid
1546  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1547  type(StructuredNCVarIdType), intent(inout) :: var_ids
1548  type(DisType), pointer, intent(in) :: dis
1549  type(InputParamDefinitionType), pointer, intent(in) :: idt
1550  character(len=*), intent(in) :: mempath
1551  character(len=*), intent(in) :: nc_tag
1552  character(len=*), intent(in) :: pkgname
1553  character(len=*), intent(in) :: gridmap_name
1554  logical(LGP), intent(in) :: latlon
1555  integer(I4B), intent(in) :: deflate
1556  integer(I4B), intent(in) :: shuffle
1557  integer(I4B), intent(in) :: chunk_z
1558  integer(I4B), intent(in) :: chunk_y
1559  integer(I4B), intent(in) :: chunk_x
1560  character(len=*), intent(in) :: nc_fname
1561  integer(I4B) :: var_id
1562  character(len=LINELENGTH) :: varname, longname
1563 
1564  varname = export_varname(pkgname, idt%tagname, mempath)
1565  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1566  component_type=idt%component_type, &
1567  subcomponent_type=idt%subcomponent_type)
1568 
1569  ! reenter define mode and create variable
1570  call nf_verify(nf90_redef(ncid), nc_fname)
1571  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1572  (/dim_ids%x, dim_ids%y, dim_ids%z/), var_id), &
1573  nc_fname)
1574 
1575  ! apply chunking parameters
1576  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1577  ! deflate and shuffle
1578  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1579 
1580  ! put attr
1581  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1582  (/nf90_fill_double/)), nc_fname)
1583  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1584  longname), nc_fname)
1585 
1586  ! add grid mapping and mf6 attr
1587  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1588  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1589 
1590  ! exit define mode and write data
1591  call nf_verify(nf90_enddef(ncid), nc_fname)
1592  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1593  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1594  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 1136 of file DisNCStructured.f90.

1139  use tdismodule, only: kper
1140  integer(I4B), dimension(:), pointer, contiguous, intent(in) :: p_mem
1141  integer(I4B), intent(in) :: ncid
1142  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1143  type(StructuredNCVarIdType), intent(inout) :: var_ids
1144  type(DisType), pointer, intent(in) :: dis
1145  type(InputParamDefinitionType), pointer, intent(in) :: idt
1146  character(len=*), intent(in) :: mempath
1147  character(len=*), intent(in) :: nc_tag
1148  character(len=*), intent(in) :: pkgname
1149  character(len=*), intent(in) :: gridmap_name
1150  logical(LGP), intent(in) :: latlon
1151  integer(I4B), intent(in) :: deflate
1152  integer(I4B), intent(in) :: shuffle
1153  integer(I4B), intent(in) :: chunk_z
1154  integer(I4B), intent(in) :: chunk_y
1155  integer(I4B), intent(in) :: chunk_x
1156  integer(I4B), intent(in) :: iper
1157  character(len=*), intent(in) :: nc_fname
1158  integer(I4B) :: var_id, axis_sz
1159  character(len=LINELENGTH) :: varname, longname
1160 
1161  varname = export_varname(pkgname, idt%tagname, mempath)
1162 
1163  if (idt%shape == 'NROW' .or. &
1164  idt%shape == 'NCOL' .or. &
1165  idt%shape == 'NCPL' .or. &
1166  idt%shape == 'NAUX NCPL') then
1167 
1168  if (iper == 0) then
1169  select case (idt%shape)
1170  case ('NROW')
1171  axis_sz = dim_ids%y
1172  case ('NCOL')
1173  axis_sz = dim_ids%x
1174  end select
1175 
1176  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1177  component_type=idt%component_type, &
1178  subcomponent_type=idt%subcomponent_type)
1179 
1180  ! reenter define mode and create variable
1181  call nf_verify(nf90_redef(ncid), nc_fname)
1182  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1183  (/axis_sz/), var_id), &
1184  nc_fname)
1185 
1186  ! NROW/NCOL shapes use default chunking
1187  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1188 
1189  ! put attr
1190  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1191  (/nf90_fill_int/)), nc_fname)
1192  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1193  longname), nc_fname)
1194 
1195  ! add mf6 attr
1196  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1197 
1198  ! exit define mode and write data
1199  call nf_verify(nf90_enddef(ncid), nc_fname)
1200  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1201  nc_fname)
1202  else
1203  ! timeseries
1204  call nf_verify(nf90_put_var(ncid, &
1205  var_ids%export, p_mem, &
1206  start=(/1, 1, kper/), &
1207  count=(/dis%ncol, dis%nrow, 1/)), nc_fname)
1208  end if
1209 
1210  else
1211 
1212  if (iper == 0) then
1213  ! reenter define mode and create variable
1214  call nf_verify(nf90_redef(ncid), nc_fname)
1215  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1216  (/dim_ids%x, dim_ids%y, dim_ids%z/), &
1217  var_id), nc_fname)
1218 
1219  ! apply chunking parameters
1220  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1221  ! deflate and shuffle
1222  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1223 
1224  ! put attr
1225  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1226  (/nf90_fill_int/)), nc_fname)
1227  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1228  idt%longname), nc_fname)
1229 
1230  ! add grid mapping and mf6 attr
1231  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1232  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1233 
1234  ! exit define mode and write data
1235  call nf_verify(nf90_enddef(ncid), nc_fname)
1236  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1237  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1238  nc_fname)
1239  else
1240  ! timeseries
1241  call nf_verify(nf90_put_var(ncid, &
1242  var_ids%export, p_mem, &
1243  start=(/1, 1, 1, kper/), &
1244  count=(/dis%ncol, dis%nrow, dis%nlay, 1/)), &
1245  nc_fname)
1246  end if
1247  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 1252 of file DisNCStructured.f90.

1255  integer(I4B), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1256  integer(I4B), intent(in) :: ncid
1257  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1258  type(StructuredNCVarIdType), intent(inout) :: var_ids
1259  type(DisType), pointer, intent(in) :: dis
1260  type(InputParamDefinitionType), pointer, intent(in) :: idt
1261  character(len=*), intent(in) :: mempath
1262  character(len=*), intent(in) :: nc_tag
1263  character(len=*), intent(in) :: pkgname
1264  character(len=*), intent(in) :: gridmap_name
1265  logical(LGP), intent(in) :: latlon
1266  integer(I4B), intent(in) :: deflate
1267  integer(I4B), intent(in) :: shuffle
1268  integer(I4B), intent(in) :: chunk_z
1269  integer(I4B), intent(in) :: chunk_y
1270  integer(I4B), intent(in) :: chunk_x
1271  character(len=*), intent(in) :: nc_fname
1272  character(len=LINELENGTH) :: varname
1273  integer(I4B) :: var_id
1274 
1275  varname = export_varname(pkgname, idt%tagname, mempath)
1276 
1277  ! reenter define mode and create variable
1278  call nf_verify(nf90_redef(ncid), nc_fname)
1279  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1280  (/dim_ids%x, dim_ids%y/), var_id), &
1281  nc_fname)
1282 
1283  ! apply chunking parameters
1284  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1285  ! deflate and shuffle
1286  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1287 
1288  ! put attr
1289  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1290  (/nf90_fill_int/)), nc_fname)
1291  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1292  idt%longname), nc_fname)
1293 
1294  ! add grid mapping and mf6 attr
1295  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1296  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1297 
1298  ! exit define mode and write data
1299  call nf_verify(nf90_enddef(ncid), nc_fname)
1300  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1301  count=(/dis%ncol, dis%nrow/)), &
1302  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 1307 of file DisNCStructured.f90.

1310  integer(I4B), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1311  integer(I4B), intent(in) :: ncid
1312  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1313  type(StructuredNCVarIdType), intent(inout) :: var_ids
1314  type(DisType), pointer, intent(in) :: dis
1315  type(InputParamDefinitionType), pointer, intent(in) :: idt
1316  character(len=*), intent(in) :: mempath
1317  character(len=*), intent(in) :: nc_tag
1318  character(len=*), intent(in) :: pkgname
1319  character(len=*), intent(in) :: gridmap_name
1320  logical(LGP), intent(in) :: latlon
1321  integer(I4B), intent(in) :: deflate
1322  integer(I4B), intent(in) :: shuffle
1323  integer(I4B), intent(in) :: chunk_z
1324  integer(I4B), intent(in) :: chunk_y
1325  integer(I4B), intent(in) :: chunk_x
1326  character(len=*), intent(in) :: nc_fname
1327  character(len=LINELENGTH) :: varname
1328  integer(I4B) :: var_id
1329 
1330  varname = export_varname(pkgname, idt%tagname, mempath)
1331 
1332  ! reenter define mode and create variable
1333  call nf_verify(nf90_redef(ncid), nc_fname)
1334  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1335  (/dim_ids%x, dim_ids%y, dim_ids%z/), var_id), &
1336  nc_fname)
1337 
1338  ! apply chunking parameters
1339  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1340  ! deflate and shuffle
1341  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1342 
1343  ! put attr
1344  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1345  (/nf90_fill_int/)), nc_fname)
1346  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1347  idt%longname), nc_fname)
1348 
1349  ! add grid mapping and mf6 attr
1350  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1351  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1352 
1353  ! exit define mode and write data
1354  call nf_verify(nf90_enddef(ncid), nc_fname)
1355  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1356  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1357  nc_fname)
Here is the call graph for this function:

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