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 1336 of file DisNCStructured.f90.

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

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

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

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

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

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

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