Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,576 changes: 607 additions & 969 deletions include/HDF5_Typedef.h

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions include/Macro.h
Original file line number Diff line number Diff line change
Expand Up @@ -1227,6 +1227,7 @@
# define FORMAT_ULONG %- 21lu
# define FORMAT_BOOL %- 21d
# define FORMAT_REAL %- 21.14e
# define FORMAT_STRING %- 21s
# define PRINT_RESET_PARA( name, format, reason ) \
{ \
if ( MPI_Rank == 0 ) \
Expand Down
21 changes: 14 additions & 7 deletions include/TestProb.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,27 @@
#else
struct HDF5_Output_t
{
void Add( const char NewKey[], void* NewPtr )
template <typename T>
void Add( const char NewKey[], T* NewPtr, const int Dim, int *Len, const bool Compare,
const bool Fatal_Nonexist, const bool Fatal_Compr )
{
}
template <typename T>
void Add( const char NewKey[], const T KeyVal, const int Dim, int *Len, const bool Compare,
const bool Fatal_Nonexist, const bool Fatal_Compr )
{
}
};
#endif


// common macro
# define LOAD_PARA( load_mode, para_name, para_ptr, ... ) \
{ \
if ( load_mode == LOAD_HDF5_OUTPUT ) HDF5_InputTest->Add( para_name, para_ptr ); \
else if ( load_mode == LOAD_READPARA ) ReadPara->Add( para_name, para_ptr, __VA_ARGS__ ); \
else Aux_Error( ERROR_INFO, "unsupported load_mode (%d) !!\n", load_mode ); \
}
#define LOAD_PARA( load_mode, para_name, para_ptr, ... ) \
{ \
if ( load_mode == LOAD_HDF5_OUTPUT ) HDF5_InputTest->Add( para_name, para_ptr, 0, NULL, false, false, false );\
else if ( load_mode == LOAD_READPARA ) ReadPara->Add( para_name, para_ptr, __VA_ARGS__ ); \
else Aux_Error( ERROR_INFO, "unsupported load_mode (%d) !!\n", load_mode ); \
}


// common function prototypes
Expand Down
1,667 changes: 155 additions & 1,512 deletions src/Init/Init_ByRestart_HDF5.cpp

Large diffs are not rendered by default.

3,040 changes: 1,038 additions & 2,002 deletions src/Output/Output_DumpData_Total_HDF5.cpp

Large diffs are not rendered by default.

87 changes: 47 additions & 40 deletions src/TestProblem/ELBDM/HaloMerger/Init_TestProb_ELBDM_HaloMerger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1393,11 +1393,15 @@ void SetGridIC( real fluid[], const double x, const double y, const double z, co
// Function : Output_HDF5_UserPara_HaloMerger
// Description : Store user-specified parameters in an HDF5 snapshot at User/UserPara
//
// Note : 1. This function is only called by the root MPI rank
// 2. Support int, uint, long, ulong, bool, float, double, and string datatypes
// 3. HDF5_UserPara MUST store at least one parameter
// 4. The data pointer (i.e., the second argument passed to HDF5_UserPara->Add()) MUST persist outside this function (e.g., global variables)
// 5. Linked to the function pointer Output_HDF5_UserPara_Ptr
// Note : 1. This function is only called by the root MPI rank
// 2. Support int, uint, long, ulong, bool, float, double, string, and their corresponding array types
// 3. HDF5_UserPara MUST store at least one parameter
// 4. The second argument passed to HDF5_UserPara->Add() can be:
// a. pointer : Support int, uint, long, ulong, bool, float, double, and string datatypes
// b. variable : Support int, uint, long, ulong, bool, float, and double datatypes
// 5. Linked to the function pointer Output_HDF5_UserPara_Ptr
// 6. The string size MUST be `MAX_STRING`
// 7. The memeory space of the array MUST be continuous
//
// Parameter : HDF5_UserPara : Structure storing all parameters to be written
//
Expand All @@ -1406,6 +1410,9 @@ void SetGridIC( real fluid[], const double x, const double y, const double z, co
void Output_HDF5_UserPara_HaloMerger( HDF5_Output_t *HDF5_UserPara )
{

const bool Compare_Yes = true, Compare_No = false;
const bool Fatal_Yes = true, Fatal_No = false;

// halo-related parameters
if ( HaloMerger_Halo_Num > 0 )
{
Expand Down Expand Up @@ -1451,23 +1458,23 @@ void Output_HDF5_UserPara_HaloMerger( HDF5_Output_t *HDF5_UserPara )
Aux_Error( ERROR_INFO, "unsupported initialization mode (%s = %d) !!\n",
"HaloMerger_Halo_InitMode", HaloMerger_Halo_InitMode );

HDF5_UserPara->Add( HaloMerger_Halo_i_CenCoordX, &HaloMerger_Halo_CenCoord[index_halo][0] );
HDF5_UserPara->Add( HaloMerger_Halo_i_CenCoordY, &HaloMerger_Halo_CenCoord[index_halo][1] );
HDF5_UserPara->Add( HaloMerger_Halo_i_CenCoordZ, &HaloMerger_Halo_CenCoord[index_halo][2] );
HDF5_UserPara->Add( HaloMerger_Halo_i_VelocityX, &HaloMerger_Halo_Velocity[index_halo][0] );
HDF5_UserPara->Add( HaloMerger_Halo_i_VelocityY, &HaloMerger_Halo_Velocity[index_halo][1] );
HDF5_UserPara->Add( HaloMerger_Halo_i_VelocityZ, &HaloMerger_Halo_Velocity[index_halo][2] );
HDF5_UserPara->Add( HaloMerger_Halo_i_CenCoordX, &HaloMerger_Halo_CenCoord[index_halo][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_CenCoordY, &HaloMerger_Halo_CenCoord[index_halo][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_CenCoordZ, &HaloMerger_Halo_CenCoord[index_halo][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_VelocityX, &HaloMerger_Halo_Velocity[index_halo][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_VelocityY, &HaloMerger_Halo_Velocity[index_halo][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_VelocityZ, &HaloMerger_Halo_Velocity[index_halo][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );

if ( HaloMerger_Halo_InitMode == 1 )
{
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_Filename, HaloMerger_Halo_HALO_IC_Filename[index_halo] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_BoxLenX, &HaloMerger_Halo_HALO_IC_BoxLen [index_halo][0] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_BoxLenY, &HaloMerger_Halo_HALO_IC_BoxLen [index_halo][1] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_BoxLenZ, &HaloMerger_Halo_HALO_IC_BoxLen [index_halo][2] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_NCellsX, &HaloMerger_Halo_HALO_IC_NCells [index_halo][0] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_NCellsY, &HaloMerger_Halo_HALO_IC_NCells [index_halo][1] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_NCellsZ, &HaloMerger_Halo_HALO_IC_NCells [index_halo][2] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_Float8, &HaloMerger_Halo_HALO_IC_Float8 [index_halo] );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_Filename, HaloMerger_Halo_HALO_IC_Filename[index_halo], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_BoxLenX, &HaloMerger_Halo_HALO_IC_BoxLen [index_halo][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_BoxLenY, &HaloMerger_Halo_HALO_IC_BoxLen [index_halo][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_BoxLenZ, &HaloMerger_Halo_HALO_IC_BoxLen [index_halo][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_NCellsX, &HaloMerger_Halo_HALO_IC_NCells [index_halo][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_NCellsY, &HaloMerger_Halo_HALO_IC_NCells [index_halo][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_NCellsZ, &HaloMerger_Halo_HALO_IC_NCells [index_halo][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Halo_i_HALO_IC_Float8, &HaloMerger_Halo_HALO_IC_Float8 [index_halo], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
} // if ( HaloMerger_Halo_InitMode == 1 )
else
Aux_Error( ERROR_INFO, "unsupported initialization mode (%s = %d) !!\n",
Expand Down Expand Up @@ -1519,23 +1526,23 @@ void Output_HDF5_UserPara_HaloMerger( HDF5_Output_t *HDF5_UserPara )
Aux_Error( ERROR_INFO, "unsupported initialization mode (%s = %d) !!\n",
"HaloMerger_Soliton_InitMode", HaloMerger_Soliton_InitMode );

HDF5_UserPara->Add( HaloMerger_Soliton_i_CoreRadius, &HaloMerger_Soliton_CoreRadius[index_soliton] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CoreRho, &HaloMerger_Soliton_CoreRho [index_soliton] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CenCoordX, &HaloMerger_Soliton_CenCoord [index_soliton][0] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CenCoordY, &HaloMerger_Soliton_CenCoord [index_soliton][1] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CenCoordZ, &HaloMerger_Soliton_CenCoord [index_soliton][2] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_VelocityX, &HaloMerger_Soliton_Velocity [index_soliton][0] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_VelocityY, &HaloMerger_Soliton_Velocity [index_soliton][1] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_VelocityZ, &HaloMerger_Soliton_Velocity [index_soliton][2] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CoreRadius, &HaloMerger_Soliton_CoreRadius[index_soliton], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CoreRho, &HaloMerger_Soliton_CoreRho [index_soliton], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CenCoordX, &HaloMerger_Soliton_CenCoord [index_soliton][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CenCoordY, &HaloMerger_Soliton_CenCoord [index_soliton][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_CenCoordZ, &HaloMerger_Soliton_CenCoord [index_soliton][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_VelocityX, &HaloMerger_Soliton_Velocity [index_soliton][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_VelocityY, &HaloMerger_Soliton_Velocity [index_soliton][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_VelocityZ, &HaloMerger_Soliton_Velocity [index_soliton][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );

if ( HaloMerger_Soliton_InitMode == 1 )
{
HDF5_UserPara->Add( HaloMerger_Soliton_i_DensProf_Filename, HaloMerger_Soliton_DensProf_Filename[index_soliton] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_DensProf_Rescale, &HaloMerger_Soliton_DensProf_Rescale [index_soliton] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_DensProf_Filename, HaloMerger_Soliton_DensProf_Filename[index_soliton], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_Soliton_i_DensProf_Rescale, &HaloMerger_Soliton_DensProf_Rescale [index_soliton], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
} // if ( HaloMerger_Soliton_InitMode == 1 )
else if ( HaloMerger_Soliton_InitMode == 2 )
{
HDF5_UserPara->Add( HaloMerger_Soliton_i_OuterSlope, &HaloMerger_Soliton_OuterSlope [index_soliton] );
HDF5_UserPara->Add( HaloMerger_Soliton_i_OuterSlope, &HaloMerger_Soliton_OuterSlope [index_soliton], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
} // else if ( HaloMerger_Soliton_InitMode == 2 )
else
Aux_Error( ERROR_INFO, "unsupported initialization mode (%s = %d) !!\n",
Expand Down Expand Up @@ -1580,19 +1587,19 @@ void Output_HDF5_UserPara_HaloMerger( HDF5_Output_t *HDF5_UserPara )
Aux_Error( ERROR_INFO, "unsupported initialization mode (%s = %d) !!\n",
"HaloMerger_ParCloud_InitMode", HaloMerger_ParCloud_InitMode );

HDF5_UserPara->Add( HaloMerger_ParCloud_i_CenCoordX, &HaloMerger_ParCloud_CenCoord[index_parcloud][0] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_CenCoordY, &HaloMerger_ParCloud_CenCoord[index_parcloud][1] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_CenCoordZ, &HaloMerger_ParCloud_CenCoord[index_parcloud][2] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_VelocityX, &HaloMerger_ParCloud_Velocity[index_parcloud][0] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_VelocityY, &HaloMerger_ParCloud_Velocity[index_parcloud][1] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_VelocityZ, &HaloMerger_ParCloud_Velocity[index_parcloud][2] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_CenCoordX, &HaloMerger_ParCloud_CenCoord[index_parcloud][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_CenCoordY, &HaloMerger_ParCloud_CenCoord[index_parcloud][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_CenCoordZ, &HaloMerger_ParCloud_CenCoord[index_parcloud][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_VelocityX, &HaloMerger_ParCloud_Velocity[index_parcloud][0], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_VelocityY, &HaloMerger_ParCloud_Velocity[index_parcloud][1], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_VelocityZ, &HaloMerger_ParCloud_Velocity[index_parcloud][2], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );

if ( HaloMerger_ParCloud_InitMode == 1 )
{
HDF5_UserPara->Add( HaloMerger_ParCloud_i_DensProf_Filename, HaloMerger_ParCloud_DensProf_Filename[index_parcloud] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_DensProf_MaxR, &HaloMerger_ParCloud_DensProf_MaxR [index_parcloud] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_RSeed, &HaloMerger_ParCloud_RSeed [index_parcloud] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_NPar, &HaloMerger_ParCloud_NPar [index_parcloud] );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_DensProf_Filename, HaloMerger_ParCloud_DensProf_Filename[index_parcloud], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_DensProf_MaxR, &HaloMerger_ParCloud_DensProf_MaxR [index_parcloud], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_RSeed, &HaloMerger_ParCloud_RSeed [index_parcloud], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
HDF5_UserPara->Add( HaloMerger_ParCloud_i_NPar, &HaloMerger_ParCloud_NPar [index_parcloud], 0, NULL, Compare_No, NULL_BOOL, NULL_BOOL );
} // if ( HaloMerger_ParCloud_InitMode == 1 )
else
Aux_Error( ERROR_INFO, "unsupported initialization mode (%s = %d) !!\n",
Expand Down
19 changes: 8 additions & 11 deletions tool/analysis/gamer_compare_data/GAMER_Functions/LoadData_HDF5.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,8 @@ void LoadData_HDF5( const char *FileName, AMR_t &amr, int &Format, int &NField,
int FormatVersion, NPatchTotal[NLEVEL], NPatchAllLv, DumpID;
long Step;
double Time[NLEVEL];
char **FieldLabel_In=NULL, **MagLabel_In=NULL, **ParAttFltLabel_In=NULL, **ParAttIntLabel_In=NULL;
char (*FieldLabel_In)[MAX_STRING]=NULL, (*MagLabel_In)[MAX_STRING]=NULL;
char (*ParAttFltLabel_In)[MAX_STRING]=NULL, (*ParAttIntLabel_In)[MAX_STRING]=NULL;
int *NullPtr=NULL;
int WithPar;

Expand Down Expand Up @@ -193,23 +194,23 @@ void LoadData_HDF5( const char *FileName, AMR_t &amr, int &Format, int &NField,
} // if ( WithPar ) ... else ...

// field and particle attribute labels
FieldLabel_In = new char* [NField];
FieldLabel_In = new char [NField][MAX_STRING];
for (int v=0; v<NField; v++)
{
char Key[MAX_STRING];
sprintf( Key, "FieldLabel%02d", v );
LoadField( Key, &FieldLabel_In[v], H5_SetID_InputPara, H5_TypeID_InputPara, Fatal, NullPtr, -1, NonFatal );
}

MagLabel_In = new char* [NMag];
MagLabel_In = new char [NMag][MAX_STRING];
for (int v=0; v<NMag; v++)
{
char Key[MAX_STRING];
sprintf( Key, "MagLabel%02d", v );
LoadField( Key, &MagLabel_In[v], H5_SetID_InputPara, H5_TypeID_InputPara, Fatal, NullPtr, -1, NonFatal );
}

ParAttFltLabel_In = new char* [NParAttFlt];
ParAttFltLabel_In = new char [NParAttFlt][MAX_STRING];
for (int v=0; v<NParAttFlt; v++)
{
char Key[MAX_STRING];
Expand All @@ -218,7 +219,7 @@ void LoadData_HDF5( const char *FileName, AMR_t &amr, int &Format, int &NField,
LoadField( Key, &ParAttFltLabel_In[v], H5_SetID_InputPara, H5_TypeID_InputPara, Fatal, NullPtr, -1, NonFatal );
}

ParAttIntLabel_In = new char* [NParAttInt];
ParAttIntLabel_In = new char [NParAttInt][MAX_STRING];
for (int v=0; v<NParAttInt; v++)
{
char Key[MAX_STRING];
Expand Down Expand Up @@ -459,12 +460,8 @@ void LoadData_HDF5( const char *FileName, AMR_t &amr, int &Format, int &NField,


// 5. close all HDF5 objects and free memory
for (int v=0; v<NField; v++) free( FieldLabel_In[v] );
for (int v=0; v<NMag; v++) free( MagLabel_In[v] );
for (int v=0; v<NParAttFlt; v++) free( ParAttFltLabel_In[v] );
for (int v=0; v<NParAttInt; v++) free( ParAttIntLabel_In[v] );
delete [] FieldLabel_In;
delete [] MagLabel_In;
delete [] FieldLabel_In;
delete [] MagLabel_In;
delete [] ParAttFltLabel_In;
delete [] ParAttIntLabel_In;
delete [] CrList_AllLv;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ void LoadData_HDF5( const char *FileName )
int Model_RS, PatchSize_RS, NLevel_RS, NCompFluid_RS, NCompPassive_RS, Float8_RS;
int FormatVersion, Gravity, Particle, ExtBC_RS[6], NPatchTotal[NLEVEL], NPatchAllLv;
int LoadPot = 0; // must be integer
char *PassiveFieldName_Grid[NCOMP_PASSIVE]; // for format version < 2300
char *FieldName_In[NCOMP_TOTAL]; // for format version >= 2300
char (*PassiveFieldName_Grid)[MaxString]; // for format version < 2300
char (*FieldName_In)[MaxString]; // for format version >= 2300
int *NullPtr = NULL;

# if ( MODEL == HYDRO )
Expand Down Expand Up @@ -178,6 +178,7 @@ void LoadData_HDF5( const char *FileName )
// field labels
if ( FormatVersion >= 2300 )
{
FieldName_In = new char [NCOMP_TOTAL][MaxString];
for (int v=0; v<NCOMP_TOTAL; v++)
{
char Key[MaxString];
Expand All @@ -189,6 +190,7 @@ void LoadData_HDF5( const char *FileName )

else
{
PassiveFieldName_Grid = new char [NCOMP_PASSIVE][MaxString];
for (int v=0; v<NCOMP_PASSIVE; v++)
{
char Key[MaxString];
Expand Down Expand Up @@ -384,6 +386,8 @@ void LoadData_HDF5( const char *FileName )
{
for (int v=0; v<NCOMP_TOTAL; v++)
sprintf( FieldName[v], "%s", FieldName_In[v] );

delete [] FieldName_In;
}

else
Expand All @@ -406,6 +410,8 @@ void LoadData_HDF5( const char *FileName )

for (int v=0; v<NCOMP_PASSIVE; v++)
sprintf( FieldName[ NCOMP_FLUID + v ], "%s", PassiveFieldName_Grid[v] );

delete [] PassiveFieldName_Grid;
}

// set the names of potential and particle/total density
Expand Down
Loading