@@ -981,6 +981,10 @@ void WriteMultiLevelPlotfileHDF5 (const std::string& plotfilename,
981981
982982 // Write data for each level
983983 char level_name[32 ];
984+
985+ hid_t dcpl_id = H5Pcreate (H5P_DATASET_CREATE);
986+ H5Pset_fill_time (dcpl_id, H5D_FILL_TIME_NEVER);
987+
984988 for (int level = 0 ; level <= finest_level; ++level) {
985989 sprintf (level_name, " level_%d" , level);
986990#ifdef AMREX_USE_HDF5_ASYNC
@@ -1007,9 +1011,9 @@ void WriteMultiLevelPlotfileHDF5 (const std::string& plotfilename,
10071011 boxdataspace = H5Screate_simple (1 , flatdims, NULL );
10081012
10091013#ifdef AMREX_USE_HDF5_ASYNC
1010- boxdataset = H5Dcreate_async (grp, bdsname.c_str (), babox_id, boxdataspace, H5P_DEFAULT, H5P_DEFAULT , H5P_DEFAULT, es_id_g);
1014+ boxdataset = H5Dcreate_async (grp, bdsname.c_str (), babox_id, boxdataspace, H5P_DEFAULT, dcpl_id , H5P_DEFAULT, es_id_g);
10111015#else
1012- boxdataset = H5Dcreate (grp, bdsname.c_str (), babox_id, boxdataspace, H5P_DEFAULT, H5P_DEFAULT , H5P_DEFAULT);
1016+ boxdataset = H5Dcreate (grp, bdsname.c_str (), babox_id, boxdataspace, H5P_DEFAULT, dcpl_id , H5P_DEFAULT);
10131017#endif
10141018 if (boxdataset < 0 ) { std::cout << " H5Dcreate [" << bdsname << " ] failed!" << std::endl; break ; }
10151019
@@ -1037,19 +1041,19 @@ void WriteMultiLevelPlotfileHDF5 (const std::string& plotfilename,
10371041 oflatdims[0 ] = sortedGrids.size () + 1 ;
10381042 offsetdataspace = H5Screate_simple (1 , oflatdims, NULL );
10391043#ifdef AMREX_USE_HDF5_ASYNC
1040- offsetdataset = H5Dcreate_async (grp, odsname.c_str (), H5T_NATIVE_LLONG, offsetdataspace, H5P_DEFAULT, H5P_DEFAULT , H5P_DEFAULT, es_id_g);
1044+ offsetdataset = H5Dcreate_async (grp, odsname.c_str (), H5T_NATIVE_LLONG, offsetdataspace, H5P_DEFAULT, dcpl_id , H5P_DEFAULT, es_id_g);
10411045#else
1042- offsetdataset = H5Dcreate (grp, odsname.c_str (), H5T_NATIVE_LLONG, offsetdataspace, H5P_DEFAULT, H5P_DEFAULT , H5P_DEFAULT);
1046+ offsetdataset = H5Dcreate (grp, odsname.c_str (), H5T_NATIVE_LLONG, offsetdataspace, H5P_DEFAULT, dcpl_id , H5P_DEFAULT);
10431047#endif
10441048 if (offsetdataset < 0 ) { std::cout << " create offset dataset failed! ret = " << offsetdataset << std::endl; break ;}
10451049
10461050 hsize_t centerdims[1 ];
10471051 centerdims[0 ] = sortedGrids.size () ;
10481052 centerdataspace = H5Screate_simple (1 , centerdims, NULL );
10491053#ifdef AMREX_USE_HDF5_ASYNC
1050- centerdataset = H5Dcreate_async (grp, centername.c_str (), center_id, centerdataspace, H5P_DEFAULT, H5P_DEFAULT , H5P_DEFAULT, es_id_g);
1054+ centerdataset = H5Dcreate_async (grp, centername.c_str (), center_id, centerdataspace, H5P_DEFAULT, dcpl_id , H5P_DEFAULT, es_id_g);
10511055#else
1052- centerdataset = H5Dcreate (grp, centername.c_str (), center_id, centerdataspace, H5P_DEFAULT, H5P_DEFAULT , H5P_DEFAULT);
1056+ centerdataset = H5Dcreate (grp, centername.c_str (), center_id, centerdataspace, H5P_DEFAULT, dcpl_id , H5P_DEFAULT);
10531057#endif
10541058 if (centerdataset < 0 ) { std::cout << " Create center dataset failed! ret = " << centerdataset << std::endl; break ;}
10551059
@@ -1198,6 +1202,7 @@ void WriteMultiLevelPlotfileHDF5 (const std::string& plotfilename,
11981202 H5Tclose (center_id);
11991203 H5Tclose (babox_id);
12001204 H5Pclose (fapl);
1205+ H5Pclose (dcpl_id);
12011206 H5Pclose (dxpl_col);
12021207 H5Pclose (dxpl_ind);
12031208 H5Pclose (dcpl);
0 commit comments