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

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

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

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

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

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

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

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