MODFLOW 6  version 6.7.0.dev1
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 (ncid, dim_ids, var_ids, dis, p_mem, nc_varname, pkgname, tagname, shapestr, longname, nc_tag, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, iper, nc_fname)
 netcdf export 1D integer More...
 
subroutine nc_export_int2d (ncid, dim_ids, var_ids, dis, p_mem, nc_varname, pkgname, tagname, shapestr, longname, nc_tag, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, nc_fname)
 netcdf export 2D integer More...
 
subroutine nc_export_int3d (ncid, dim_ids, var_ids, dis, p_mem, nc_varname, pkgname, tagname, shapestr, longname, nc_tag, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, nc_fname)
 netcdf export 3D integer More...
 
subroutine nc_export_dbl1d (ncid, dim_ids, var_ids, dis, p_mem, nc_varname, pkgname, tagname, shapestr, longname, nc_tag, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, iper, nc_fname)
 netcdf export 1D double More...
 
subroutine nc_export_dbl2d (ncid, dim_ids, var_ids, dis, p_mem, nc_varname, pkgname, tagname, shapestr, longname, nc_tag, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, nc_fname)
 netcdf export 2D double More...
 
subroutine nc_export_dbl3d (ncid, dim_ids, var_ids, dis, p_mem, nc_varname, pkgname, tagname, shapestr, longname, nc_tag, gridmap_name, latlon, deflate, shuffle, chunk_z, chunk_y, chunk_x, iper, iaux, nc_fname)
 netcdf export 3D double More...
 

Detailed Description

Definition at line 83 of file DisNCStructured.f90.

Member Function/Subroutine Documentation

◆ nc_export_dbl1d()

subroutine disncstructuredmodule::nc_export_array::nc_export_dbl1d ( integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
real(dp), dimension(:), intent(in), pointer, contiguous  p_mem,
character(len=*), intent(in)  nc_varname,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  tagname,
character(len=*), intent(in)  shapestr,
character(len=*), intent(in)  longname,
character(len=*), intent(in)  nc_tag,
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 1258 of file DisNCStructured.f90.

1262  use constantsmodule, only: dnodata
1263  integer(I4B), intent(in) :: ncid
1264  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1265  type(StructuredNCVarIdType), intent(inout) :: var_ids
1266  type(DisType), pointer, intent(in) :: dis
1267  real(DP), dimension(:), pointer, contiguous, intent(in) :: p_mem
1268  character(len=*), intent(in) :: nc_varname
1269  character(len=*), intent(in) :: pkgname
1270  character(len=*), intent(in) :: tagname
1271  character(len=*), intent(in) :: shapestr
1272  character(len=*), intent(in) :: longname
1273  character(len=*), intent(in) :: nc_tag
1274  character(len=*), intent(in) :: gridmap_name
1275  logical(LGP), intent(in) :: latlon
1276  integer(I4B), intent(in) :: deflate
1277  integer(I4B), intent(in) :: shuffle
1278  integer(I4B), intent(in) :: chunk_z
1279  integer(I4B), intent(in) :: chunk_y
1280  integer(I4B), intent(in) :: chunk_x
1281  integer(I4B), intent(in) :: iper
1282  character(len=*), intent(in) :: nc_fname
1283  integer(I4B) :: var_id, axis_sz
1284  real(DP) :: fill_value
1285  character(len=LINELENGTH) :: longname_l
1286 
1287  if (shapestr == 'NROW' .or. &
1288  shapestr == 'NCOL' .or. &
1289  shapestr == 'NCPL') then
1290 
1291  select case (shapestr)
1292  case ('NROW')
1293  axis_sz = dim_ids%y
1294  case ('NCOL')
1295  axis_sz = dim_ids%x
1296  case ('NCPL')
1297  axis_sz = dim_ids%ncpl
1298  end select
1299 
1300  ! reenter define mode and create variable
1301  call nf_verify(nf90_redef(ncid), nc_fname)
1302  call nf_verify(nf90_def_var(ncid, nc_varname, nf90_double, &
1303  (/axis_sz/), var_id), &
1304  nc_fname)
1305 
1306  ! NROW/NCOL shapes use default chunking
1307  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1308 
1309  ! put attr
1310  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1311  (/nf90_fill_double/)), nc_fname)
1312  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1313  longname), nc_fname)
1314 
1315  ! add mf6 attr
1316  call ncvar_mf6attr(ncid, var_id, 0, 0, nc_tag, nc_fname)
1317 
1318  ! exit define mode and write data
1319  call nf_verify(nf90_enddef(ncid), nc_fname)
1320  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1321  nc_fname)
1322 
1323  else
1324  if (iper > 0) then
1325  fill_value = dnodata
1326  else
1327  fill_value = nf90_fill_double
1328  end if
1329 
1330  longname_l = export_longname(longname, pkgname, tagname, layer=0, iper=iper)
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, nc_varname, nf90_double, &
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  (/fill_value/)), nc_fname)
1346  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1347  longname_l), 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, iper, 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)
1358  end if
This module contains simulation constants.
Definition: Constants.f90:9
real(dp), parameter dnodata
real no data constant
Definition: Constants.f90:95
Here is the call graph for this function:

◆ nc_export_dbl2d()

subroutine disncstructuredmodule::nc_export_array::nc_export_dbl2d ( integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
real(dp), dimension(:, :), intent(in), pointer, contiguous  p_mem,
character(len=*), intent(in)  nc_varname,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  tagname,
character(len=*), intent(in)  shapestr,
character(len=*), intent(in)  longname,
character(len=*), intent(in)  nc_tag,
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 1363 of file DisNCStructured.f90.

1367  integer(I4B), intent(in) :: ncid
1368  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1369  type(StructuredNCVarIdType), intent(inout) :: var_ids
1370  type(DisType), pointer, intent(in) :: dis
1371  real(DP), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1372  character(len=*), intent(in) :: nc_varname
1373  character(len=*), intent(in) :: pkgname
1374  character(len=*), intent(in) :: tagname
1375  character(len=*), intent(in) :: shapestr
1376  character(len=*), intent(in) :: longname
1377  character(len=*), intent(in) :: nc_tag
1378  character(len=*), intent(in) :: gridmap_name
1379  logical(LGP), intent(in) :: latlon
1380  integer(I4B), intent(in) :: deflate
1381  integer(I4B), intent(in) :: shuffle
1382  integer(I4B), intent(in) :: chunk_z
1383  integer(I4B), intent(in) :: chunk_y
1384  integer(I4B), intent(in) :: chunk_x
1385  character(len=*), intent(in) :: nc_fname
1386  integer(I4B) :: var_id
1387 
1388  ! reenter define mode and create variable
1389  call nf_verify(nf90_redef(ncid), nc_fname)
1390  call nf_verify(nf90_def_var(ncid, nc_varname, nf90_double, &
1391  (/dim_ids%x, dim_ids%y/), var_id), &
1392  nc_fname)
1393 
1394  ! apply chunking parameters
1395  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1396  ! deflate and shuffle
1397  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1398 
1399  ! put attr
1400  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1401  (/nf90_fill_double/)), nc_fname)
1402  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1403  longname), nc_fname)
1404 
1405  ! add grid mapping and mf6 attr
1406  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1407  call ncvar_mf6attr(ncid, var_id, 0, 0, nc_tag, nc_fname)
1408 
1409  ! exit define mode and write data
1410  call nf_verify(nf90_enddef(ncid), nc_fname)
1411  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1412  count=(/dis%ncol, dis%nrow/)), &
1413  nc_fname)
Here is the call graph for this function:

◆ nc_export_dbl3d()

subroutine disncstructuredmodule::nc_export_array::nc_export_dbl3d ( integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
real(dp), dimension(:, :, :), intent(in), pointer, contiguous  p_mem,
character(len=*), intent(in)  nc_varname,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  tagname,
character(len=*), intent(in)  shapestr,
character(len=*), intent(in)  longname,
character(len=*), intent(in)  nc_tag,
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 1418 of file DisNCStructured.f90.

1422  use constantsmodule, only: dnodata
1423  integer(I4B), intent(in) :: ncid
1424  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1425  type(StructuredNCVarIdType), intent(inout) :: var_ids
1426  type(DisType), pointer, intent(in) :: dis
1427  real(DP), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1428  character(len=*), intent(in) :: nc_varname
1429  character(len=*), intent(in) :: pkgname
1430  character(len=*), intent(in) :: tagname
1431  character(len=*), intent(in) :: shapestr
1432  character(len=*), intent(in) :: longname
1433  character(len=*), intent(in) :: nc_tag
1434  character(len=*), intent(in) :: gridmap_name
1435  logical(LGP), intent(in) :: latlon
1436  integer(I4B), intent(in) :: deflate
1437  integer(I4B), intent(in) :: shuffle
1438  integer(I4B), intent(in) :: chunk_z
1439  integer(I4B), intent(in) :: chunk_y
1440  integer(I4B), intent(in) :: chunk_x
1441  integer(I4B), intent(in) :: iper
1442  integer(I4B), intent(in) :: iaux
1443  character(len=*), intent(in) :: nc_fname
1444  integer(I4B) :: var_id
1445  real(DP) :: fill_value
1446  character(len=LINELENGTH) :: longname_l
1447 
1448  if (iper > 0) then
1449  fill_value = dnodata
1450  else
1451  fill_value = nf90_fill_double
1452  end if
1453 
1454  longname_l = export_longname(longname, pkgname, tagname, layer=0, iper=iper)
1455 
1456  ! reenter define mode and create variable
1457  call nf_verify(nf90_redef(ncid), nc_fname)
1458  call nf_verify(nf90_def_var(ncid, nc_varname, nf90_double, &
1459  (/dim_ids%x, dim_ids%y, dim_ids%z/), var_id), &
1460  nc_fname)
1461 
1462  ! apply chunking parameters
1463  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1464  ! deflate and shuffle
1465  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1466 
1467  ! put attr
1468  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1469  (/fill_value/)), nc_fname)
1470  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1471  longname_l), nc_fname)
1472 
1473  ! add grid mapping and mf6 attr
1474  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1475  call ncvar_mf6attr(ncid, var_id, iper, iaux, nc_tag, nc_fname)
1476 
1477  ! exit define mode and write data
1478  call nf_verify(nf90_enddef(ncid), nc_fname)
1479  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1480  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1481  nc_fname)
Here is the call graph for this function:

◆ nc_export_int1d()

subroutine disncstructuredmodule::nc_export_array::nc_export_int1d ( integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
integer(i4b), dimension(:), intent(in), pointer, contiguous  p_mem,
character(len=*), intent(in)  nc_varname,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  tagname,
character(len=*), intent(in)  shapestr,
character(len=*), intent(in)  longname,
character(len=*), intent(in)  nc_tag,
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 1051 of file DisNCStructured.f90.

1055  integer(I4B), intent(in) :: ncid
1056  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1057  type(StructuredNCVarIdType), intent(inout) :: var_ids
1058  type(DisType), pointer, intent(in) :: dis
1059  integer(I4B), dimension(:), pointer, contiguous, intent(in) :: p_mem
1060  character(len=*), intent(in) :: nc_varname
1061  character(len=*), intent(in) :: pkgname
1062  character(len=*), intent(in) :: tagname
1063  character(len=*), intent(in) :: shapestr
1064  character(len=*), intent(in) :: longname
1065  character(len=*), intent(in) :: nc_tag
1066  character(len=*), intent(in) :: gridmap_name
1067  logical(LGP), intent(in) :: latlon
1068  integer(I4B), intent(in) :: deflate
1069  integer(I4B), intent(in) :: shuffle
1070  integer(I4B), intent(in) :: chunk_z
1071  integer(I4B), intent(in) :: chunk_y
1072  integer(I4B), intent(in) :: chunk_x
1073  integer(I4B), intent(in) :: iper
1074  character(len=*), intent(in) :: nc_fname
1075  integer(I4B) :: var_id, axis_sz
1076  character(len=LINELENGTH) :: longname_l
1077 
1078  if (shapestr == 'NROW' .or. &
1079  shapestr == 'NCOL' .or. &
1080  shapestr == 'NCPL') then
1081 
1082  select case (shapestr)
1083  case ('NROW')
1084  axis_sz = dim_ids%y
1085  case ('NCOL')
1086  axis_sz = dim_ids%x
1087  case ('NCPL')
1088  axis_sz = dim_ids%ncpl
1089  end select
1090 
1091  longname_l = export_longname(longname, pkgname, tagname, layer=0, iper=iper)
1092 
1093  ! reenter define mode and create variable
1094  call nf_verify(nf90_redef(ncid), nc_fname)
1095  call nf_verify(nf90_def_var(ncid, nc_varname, nf90_int, &
1096  (/axis_sz/), var_id), &
1097  nc_fname)
1098 
1099  ! NROW/NCOL shapes use default chunking
1100  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1101 
1102  ! put attr
1103  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1104  (/nf90_fill_int/)), nc_fname)
1105  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1106  longname_l), nc_fname)
1107 
1108  ! add mf6 attr
1109  call ncvar_mf6attr(ncid, var_id, iper, 0, nc_tag, nc_fname)
1110 
1111  ! exit define mode and write data
1112  call nf_verify(nf90_enddef(ncid), nc_fname)
1113  call nf_verify(nf90_put_var(ncid, var_id, p_mem), &
1114  nc_fname)
1115 
1116  else
1117  ! reenter define mode and create variable
1118  call nf_verify(nf90_redef(ncid), nc_fname)
1119  call nf_verify(nf90_def_var(ncid, nc_varname, nf90_int, &
1120  (/dim_ids%x, dim_ids%y, dim_ids%z/), var_id), &
1121  nc_fname)
1122 
1123  ! apply chunking parameters
1124  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1125  ! deflate and shuffle
1126  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1127 
1128  ! put attr
1129  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1130  (/nf90_fill_int/)), nc_fname)
1131  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1132  longname), nc_fname)
1133 
1134  ! add grid mapping and mf6 attr
1135  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1136  call ncvar_mf6attr(ncid, var_id, 0, 0, nc_tag, nc_fname)
1137 
1138  ! exit define mode and write data
1139  call nf_verify(nf90_enddef(ncid), nc_fname)
1140  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1141  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1142  nc_fname)
1143  end if
Here is the call graph for this function:

◆ nc_export_int2d()

subroutine disncstructuredmodule::nc_export_array::nc_export_int2d ( integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
integer(i4b), dimension(:, :), intent(in), pointer, contiguous  p_mem,
character(len=*), intent(in)  nc_varname,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  tagname,
character(len=*), intent(in)  shapestr,
character(len=*), intent(in)  longname,
character(len=*), intent(in)  nc_tag,
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 1148 of file DisNCStructured.f90.

1152  integer(I4B), intent(in) :: ncid
1153  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1154  type(StructuredNCVarIdType), intent(inout) :: var_ids
1155  type(DisType), pointer, intent(in) :: dis
1156  integer(I4B), dimension(:, :), pointer, contiguous, intent(in) :: p_mem
1157  character(len=*), intent(in) :: nc_varname
1158  character(len=*), intent(in) :: pkgname
1159  character(len=*), intent(in) :: tagname
1160  character(len=*), intent(in) :: shapestr
1161  character(len=*), intent(in) :: longname
1162  character(len=*), intent(in) :: nc_tag
1163  character(len=*), intent(in) :: gridmap_name
1164  logical(LGP), intent(in) :: latlon
1165  integer(I4B), intent(in) :: deflate
1166  integer(I4B), intent(in) :: shuffle
1167  integer(I4B), intent(in) :: chunk_z
1168  integer(I4B), intent(in) :: chunk_y
1169  integer(I4B), intent(in) :: chunk_x
1170  character(len=*), intent(in) :: nc_fname
1171  integer(I4B) :: var_id
1172 
1173  ! reenter define mode and create variable
1174  call nf_verify(nf90_redef(ncid), nc_fname)
1175  call nf_verify(nf90_def_var(ncid, nc_varname, nf90_int, &
1176  (/dim_ids%x, dim_ids%y/), var_id), &
1177  nc_fname)
1178 
1179  ! apply chunking parameters
1180  call ncvar_chunk2d(ncid, var_id, chunk_x, chunk_y, nc_fname)
1181  ! deflate and shuffle
1182  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1183 
1184  ! put attr
1185  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1186  (/nf90_fill_int/)), nc_fname)
1187  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1188  longname), nc_fname)
1189 
1190  ! add grid mapping and mf6 attr
1191  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1192  call ncvar_mf6attr(ncid, var_id, 0, 0, nc_tag, nc_fname)
1193 
1194  ! exit define mode and write data
1195  call nf_verify(nf90_enddef(ncid), nc_fname)
1196  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1/), &
1197  count=(/dis%ncol, dis%nrow/)), &
1198  nc_fname)
Here is the call graph for this function:

◆ nc_export_int3d()

subroutine disncstructuredmodule::nc_export_array::nc_export_int3d ( integer(i4b), intent(in)  ncid,
type(structuredncdimidtype), intent(inout)  dim_ids,
type(structuredncvaridtype), intent(inout)  var_ids,
type(distype), intent(in), pointer  dis,
integer(i4b), dimension(:, :, :), intent(in), pointer, contiguous  p_mem,
character(len=*), intent(in)  nc_varname,
character(len=*), intent(in)  pkgname,
character(len=*), intent(in)  tagname,
character(len=*), intent(in)  shapestr,
character(len=*), intent(in)  longname,
character(len=*), intent(in)  nc_tag,
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 1203 of file DisNCStructured.f90.

1207  integer(I4B), intent(in) :: ncid
1208  type(StructuredNCDimIdType), intent(inout) :: dim_ids
1209  type(StructuredNCVarIdType), intent(inout) :: var_ids
1210  type(DisType), pointer, intent(in) :: dis
1211  integer(I4B), dimension(:, :, :), pointer, contiguous, intent(in) :: p_mem
1212  character(len=*), intent(in) :: nc_varname
1213  character(len=*), intent(in) :: pkgname
1214  character(len=*), intent(in) :: tagname
1215  character(len=*), intent(in) :: shapestr
1216  character(len=*), intent(in) :: longname
1217  character(len=*), intent(in) :: nc_tag
1218  character(len=*), intent(in) :: gridmap_name
1219  logical(LGP), intent(in) :: latlon
1220  integer(I4B), intent(in) :: deflate
1221  integer(I4B), intent(in) :: shuffle
1222  integer(I4B), intent(in) :: chunk_z
1223  integer(I4B), intent(in) :: chunk_y
1224  integer(I4B), intent(in) :: chunk_x
1225  character(len=*), intent(in) :: nc_fname
1226  integer(I4B) :: var_id
1227 
1228  ! reenter define mode and create variable
1229  call nf_verify(nf90_redef(ncid), nc_fname)
1230  call nf_verify(nf90_def_var(ncid, nc_varname, nf90_int, &
1231  (/dim_ids%x, dim_ids%y, dim_ids%z/), var_id), &
1232  nc_fname)
1233 
1234  ! apply chunking parameters
1235  call ncvar_chunk3d(ncid, var_id, chunk_x, chunk_y, chunk_z, nc_fname)
1236  ! deflate and shuffle
1237  call ncvar_deflate(ncid, var_id, deflate, shuffle, nc_fname)
1238 
1239  ! put attr
1240  call nf_verify(nf90_put_att(ncid, var_id, '_FillValue', &
1241  (/nf90_fill_int/)), nc_fname)
1242  call nf_verify(nf90_put_att(ncid, var_id, 'long_name', &
1243  longname), nc_fname)
1244 
1245  ! add grid mapping and mf6 attr
1246  call ncvar_gridmap(ncid, var_id, gridmap_name, latlon, nc_fname)
1247  call ncvar_mf6attr(ncid, var_id, 0, 0, nc_tag, nc_fname)
1248 
1249  ! exit define mode and write data
1250  call nf_verify(nf90_enddef(ncid), nc_fname)
1251  call nf_verify(nf90_put_var(ncid, var_id, p_mem, start=(/1, 1, 1/), &
1252  count=(/dis%ncol, dis%nrow, dis%nlay/)), &
1253  nc_fname)
Here is the call graph for this function:

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