MODFLOW 6  version 6.7.0.dev3
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 1326 of file DisNCStructured.f90.

1330  use netcdfcommonmodule, only: ixstp
1331  real(DP), dimension(:), pointer, contiguous, intent(in) :: p_mem
1332  integer(I4B), intent(in) :: ncid
1333  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1334  type(StructuredNCVarIdType), intent(inout) :: var_ids
1335  type(DisType), pointer, intent(in) :: dis
1336  type(InputParamDefinitionType), pointer, intent(in) :: idt
1337  character(len=*), intent(in) :: mempath
1338  character(len=*), intent(in) :: nc_tag
1339  character(len=*), intent(in) :: pkgname
1340  character(len=*), intent(in) :: gridmap_name
1341  logical(LGP), intent(in) :: latlon
1342  integer(I4B), intent(in) :: deflate
1343  integer(I4B), intent(in) :: shuffle
1344  integer(I4B), intent(in) :: chunk_z
1345  integer(I4B), intent(in) :: chunk_y
1346  integer(I4B), intent(in) :: chunk_x
1347  integer(I4B), intent(in) :: iper
1348  integer(I4B), intent(in) :: iaux
1349  character(len=*), intent(in) :: nc_fname
1350  integer(I4B) :: var_id, axis_sz, istp
1351  character(len=LINELENGTH) :: varname, longname
1352 
1353  if (idt%shape == 'NROW' .or. &
1354  idt%shape == 'NCOL' .or. &
1355  idt%shape == 'NCPL' .or. &
1356  idt%shape == 'NAUX NCPL') then
1357 
1358  if (iper == 0) then
1359  select case (idt%shape)
1360  case ('NROW')
1361  axis_sz = dim_ids%y
1362  case ('NCOL')
1363  axis_sz = dim_ids%x
1364  end select
1365 
1366  varname = export_varname(pkgname, idt%tagname, mempath)
1367  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1368  iaux=iaux)
1369 
1370  ! reenter define mode and create variable
1371  call nf_verify(nf90_redef(ncid), nc_fname)
1372  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1373  (/axis_sz/), var_id), &
1374  nc_fname)
1375 
1376  ! NROW/NCOL shapes use default chunking
1377  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1378 
1379  ! put attr
1380  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1381  (/nf90_fill_double/)), nc_fname)
1382  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1383  longname), nc_fname)
1384 
1385  ! add mf6 attr
1386  call ncvar_mf6attr(ncid, var_id, iaux, nc_tag, nc_fname)
1387 
1388  ! exit define mode and write data
1389  call nf_verify(nf90_enddef(ncid), nc_fname)
1390  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1391  nc_fname)
1392  else
1393  ! timeseries
1394  istp = ixstp()
1395  call nf_verify(nf90_put_var(ncid, &
1396  var_ids%export, p_mem, &
1397  start=(/1, istp/), &
1398  count=(/dis%ncol, dis%nrow, 1/)), nc_fname)
1399  end if
1400 
1401  else
1402 
1403  if (iper == 0) then
1404  varname = export_varname(pkgname, idt%tagname, mempath, iaux=iaux)
1405  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath, &
1406  iaux=iaux)
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  (/dim_ids%x, dim_ids%y, dim_ids%z/), &
1412  var_id), nc_fname)
1413 
1414  ! apply chunking parameters
1415  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1416  ! deflate and shuffle
1417  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1418 
1419  ! put attr
1420  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1421  (/nf90_fill_double/)), nc_fname)
1422  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1423  longname), nc_fname)
1424 
1425  ! add grid mapping and mf6 attr
1426  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1427  call ncvar_mf6attr(ncid, var_id, iaux, nc_tag, nc_fname)
1428 
1429  ! exit define mode and write data
1430  call nf_verify(nf90_enddef(ncid), nc_fname)
1431  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1432  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1433  nc_fname)
1434  else
1435  ! timeseries
1436  istp = ixstp()
1437  call nf_verify(nf90_put_var(ncid, &
1438  var_ids%export, p_mem, &
1439  start=(/1, 1, 1, istp/), &
1440  count=(/dis%ncol, dis%nrow, dis%nlay, 1/)), &
1441  nc_fname)
1442  end if
1443  end if
This module contains the NetCDFCommonModule.
Definition: NetCDFCommon.f90:6
integer(i4b) function, public ixstp()
step index for timeseries data
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 1448 of file DisNCStructured.f90.

1451  real(DP), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1452  integer(I4B), intent(in) :: ncid
1453  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1454  type(StructuredNCVarIdType), intent(inout) :: var_ids
1455  type(DisType), pointer, intent(in) :: dis
1456  type(InputParamDefinitionType), pointer, intent(in) :: idt
1457  character(len=*), intent(in) :: mempath
1458  character(len=*), intent(in) :: nc_tag
1459  character(len=*), intent(in) :: pkgname
1460  character(len=*), intent(in) :: gridmap_name
1461  logical(LGP), intent(in) :: latlon
1462  integer(I4B), intent(in) :: deflate
1463  integer(I4B), intent(in) :: shuffle
1464  integer(I4B), intent(in) :: chunk_z
1465  integer(I4B), intent(in) :: chunk_y
1466  integer(I4B), intent(in) :: chunk_x
1467  character(len=*), intent(in) :: nc_fname
1468  character(len=LINELENGTH) :: varname
1469  integer(I4B) :: var_id
1470 
1471  varname = export_varname(pkgname, idt%tagname, mempath)
1472 
1473  ! reenter define mode and create variable
1474  call nf_verify(nf90_redef(ncid), nc_fname)
1475  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1476  (/dim_ids%x, dim_ids%y/), var_id), &
1477  nc_fname)
1478 
1479  ! apply chunking parameters
1480  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1481  ! deflate and shuffle
1482  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1483 
1484  ! put attr
1485  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1486  (/nf90_fill_double/)), nc_fname)
1487  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1488  idt%longname), nc_fname)
1489 
1490  ! add grid mapping and mf6 attr
1491  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1492  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1493 
1494  ! exit define mode and write data
1495  call nf_verify(nf90_enddef(ncid), nc_fname)
1496  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1497  count=(/dis%ncol, dis%nrow/)), &
1498  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 1503 of file DisNCStructured.f90.

1506  real(DP), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1507  integer(I4B), intent(in) :: ncid
1508  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1509  type(StructuredNCVarIdType), intent(inout) :: var_ids
1510  type(DisType), pointer, intent(in) :: dis
1511  type(InputParamDefinitionType), pointer, intent(in) :: idt
1512  character(len=*), intent(in) :: mempath
1513  character(len=*), intent(in) :: nc_tag
1514  character(len=*), intent(in) :: pkgname
1515  character(len=*), intent(in) :: gridmap_name
1516  logical(LGP), intent(in) :: latlon
1517  integer(I4B), intent(in) :: deflate
1518  integer(I4B), intent(in) :: shuffle
1519  integer(I4B), intent(in) :: chunk_z
1520  integer(I4B), intent(in) :: chunk_y
1521  integer(I4B), intent(in) :: chunk_x
1522  character(len=*), intent(in) :: nc_fname
1523  integer(I4B) :: var_id
1524  character(len=LINELENGTH) :: varname, longname
1525 
1526  varname = export_varname(pkgname, idt%tagname, mempath)
1527  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath)
1528 
1529  ! reenter define mode and create variable
1530  call nf_verify(nf90_redef(ncid), nc_fname)
1531  call nf_verify(nf90_def_var(ncid, varname, nf90_double, &
1532  (/dim_ids%x, dim_ids%y, dim_ids%z/), var_id), &
1533  nc_fname)
1534 
1535  ! apply chunking parameters
1536  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1537  ! deflate and shuffle
1538  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1539 
1540  ! put attr
1541  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1542  (/nf90_fill_double/)), nc_fname)
1543  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1544  longname), nc_fname)
1545 
1546  ! add grid mapping and mf6 attr
1547  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1548  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1549 
1550  ! exit define mode and write data
1551  call nf_verify(nf90_enddef(ncid), nc_fname)
1552  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1553  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1554  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 1100 of file DisNCStructured.f90.

1103  use netcdfcommonmodule, only: ixstp
1104  integer(I4B), dimension(:), pointer, contiguous, intent(in) :: p_mem
1105  integer(I4B), intent(in) :: ncid
1106  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1107  type(StructuredNCVarIdType), intent(inout) :: var_ids
1108  type(DisType), pointer, intent(in) :: dis
1109  type(InputParamDefinitionType), pointer, intent(in) :: idt
1110  character(len=*), intent(in) :: mempath
1111  character(len=*), intent(in) :: nc_tag
1112  character(len=*), intent(in) :: pkgname
1113  character(len=*), intent(in) :: gridmap_name
1114  logical(LGP), intent(in) :: latlon
1115  integer(I4B), intent(in) :: deflate
1116  integer(I4B), intent(in) :: shuffle
1117  integer(I4B), intent(in) :: chunk_z
1118  integer(I4B), intent(in) :: chunk_y
1119  integer(I4B), intent(in) :: chunk_x
1120  integer(I4B), intent(in) :: iper
1121  character(len=*), intent(in) :: nc_fname
1122  integer(I4B) :: var_id, axis_sz, istp
1123  character(len=LINELENGTH) :: varname, longname
1124 
1125  varname = export_varname(pkgname, idt%tagname, mempath)
1126 
1127  if (idt%shape == 'NROW' .or. &
1128  idt%shape == 'NCOL' .or. &
1129  idt%shape == 'NCPL' .or. &
1130  idt%shape == 'NAUX NCPL') then
1131 
1132  if (iper == 0) then
1133  select case (idt%shape)
1134  case ('NROW')
1135  axis_sz = dim_ids%y
1136  case ('NCOL')
1137  axis_sz = dim_ids%x
1138  end select
1139 
1140  longname = export_longname(idt%longname, pkgname, idt%tagname, mempath)
1141 
1142  ! reenter define mode and create variable
1143  call nf_verify(nf90_redef(ncid), nc_fname)
1144  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1145  (/axis_sz/), var_id), &
1146  nc_fname)
1147 
1148  ! NROW/NCOL shapes use default chunking
1149  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1150 
1151  ! put attr
1152  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1153  (/nf90_fill_int/)), nc_fname)
1154  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1155  longname), nc_fname)
1156 
1157  ! add mf6 attr
1158  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1159 
1160  ! exit define mode and write data
1161  call nf_verify(nf90_enddef(ncid), nc_fname)
1162  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1163  nc_fname)
1164  else
1165  ! timeseries
1166  istp = ixstp()
1167  call nf_verify(nf90_put_var(ncid, &
1168  var_ids%export, p_mem, &
1169  start=(/1, istp/), &
1170  count=(/dis%ncol, dis%nrow, 1/)), nc_fname)
1171  end if
1172 
1173  else
1174 
1175  if (iper == 0) then
1176  ! reenter define mode and create variable
1177  call nf_verify(nf90_redef(ncid), nc_fname)
1178  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1179  (/dim_ids%x, dim_ids%y, dim_ids%z/), &
1180  var_id), nc_fname)
1181 
1182  ! apply chunking parameters
1183  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1184  ! deflate and shuffle
1185  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1186 
1187  ! put attr
1188  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1189  (/nf90_fill_int/)), nc_fname)
1190  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1191  idt%longname), nc_fname)
1192 
1193  ! add grid mapping and mf6 attr
1194  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1195  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1196 
1197  ! exit define mode and write data
1198  call nf_verify(nf90_enddef(ncid), nc_fname)
1199  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1200  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1201  nc_fname)
1202  else
1203  ! timeseries
1204  istp = ixstp()
1205  call nf_verify(nf90_put_var(ncid, &
1206  var_ids%export, p_mem, &
1207  start=(/1, 1, 1, istp/), &
1208  count=(/dis%ncol, dis%nrow, dis%nlay, 1/)), &
1209  nc_fname)
1210  end if
1211  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 1216 of file DisNCStructured.f90.

1219  integer(I4B), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1220  integer(I4B), intent(in) :: ncid
1221  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1222  type(StructuredNCVarIdType), intent(inout) :: var_ids
1223  type(DisType), pointer, intent(in) :: dis
1224  type(InputParamDefinitionType), pointer, intent(in) :: idt
1225  character(len=*), intent(in) :: mempath
1226  character(len=*), intent(in) :: nc_tag
1227  character(len=*), intent(in) :: pkgname
1228  character(len=*), intent(in) :: gridmap_name
1229  logical(LGP), intent(in) :: latlon
1230  integer(I4B), intent(in) :: deflate
1231  integer(I4B), intent(in) :: shuffle
1232  integer(I4B), intent(in) :: chunk_z
1233  integer(I4B), intent(in) :: chunk_y
1234  integer(I4B), intent(in) :: chunk_x
1235  character(len=*), intent(in) :: nc_fname
1236  character(len=LINELENGTH) :: varname
1237  integer(I4B) :: var_id
1238 
1239  varname = export_varname(pkgname, idt%tagname, mempath)
1240 
1241  ! reenter define mode and create variable
1242  call nf_verify(nf90_redef(ncid), nc_fname)
1243  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1244  (/dim_ids%x, dim_ids%y/), var_id), &
1245  nc_fname)
1246 
1247  ! apply chunking parameters
1248  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1249  ! deflate and shuffle
1250  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1251 
1252  ! put attr
1253  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1254  (/nf90_fill_int/)), nc_fname)
1255  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1256  idt%longname), nc_fname)
1257 
1258  ! add grid mapping and mf6 attr
1259  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1260  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1261 
1262  ! exit define mode and write data
1263  call nf_verify(nf90_enddef(ncid), nc_fname)
1264  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1265  count=(/dis%ncol, dis%nrow/)), &
1266  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 1271 of file DisNCStructured.f90.

1274  integer(I4B), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1275  integer(I4B), intent(in) :: ncid
1276  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1277  type(StructuredNCVarIdType), intent(inout) :: var_ids
1278  type(DisType), pointer, intent(in) :: dis
1279  type(InputParamDefinitionType), pointer, intent(in) :: idt
1280  character(len=*), intent(in) :: mempath
1281  character(len=*), intent(in) :: nc_tag
1282  character(len=*), intent(in) :: pkgname
1283  character(len=*), intent(in) :: gridmap_name
1284  logical(LGP), intent(in) :: latlon
1285  integer(I4B), intent(in) :: deflate
1286  integer(I4B), intent(in) :: shuffle
1287  integer(I4B), intent(in) :: chunk_z
1288  integer(I4B), intent(in) :: chunk_y
1289  integer(I4B), intent(in) :: chunk_x
1290  character(len=*), intent(in) :: nc_fname
1291  character(len=LINELENGTH) :: varname
1292  integer(I4B) :: var_id
1293 
1294  varname = export_varname(pkgname, idt%tagname, mempath)
1295 
1296  ! reenter define mode and create variable
1297  call nf_verify(nf90_redef(ncid), nc_fname)
1298  call nf_verify(nf90_def_var(ncid, varname, nf90_int, &
1299  (/dim_ids%x, dim_ids%y, dim_ids%z/), var_id), &
1300  nc_fname)
1301 
1302  ! apply chunking parameters
1303  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1304  ! deflate and shuffle
1305  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1306 
1307  ! put attr
1308  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1309  (/nf90_fill_int/)), nc_fname)
1310  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1311  idt%longname), nc_fname)
1312 
1313  ! add grid mapping and mf6 attr
1314  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1315  call ncvar_mf6attr(ncid, var_id, 0, nc_tag, nc_fname)
1316 
1317  ! exit define mode and write data
1318  call nf_verify(nf90_enddef(ncid), nc_fname)
1319  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1320  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1321  nc_fname)
Here is the call graph for this function:

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