Fix abort if num_grids > INT_MAX. This issue is caused by maximum send count in MPI_Bcast is INT_MAX. We fixed it by broadcasting the array in separate part if exceeding the range.
Deal with case num_grids_local <= 0, this will cause new [0] and we want to avoid that.
Fix log message not working properly. Messages will print to stdout or stderr according to:
YT_INFO: stdout
YT_WARNING, YT_DEBUG, YT_ERROR: stderr
Update
Check num_species and species_list in yt_param_yt struct.
Print species_list in yt_param_yt method show().
Delete unused data member grids_MPI in yt_param_yt struct.
Load magnetic_unit = 1 to yt when it is not set.
Input field_list to python more efficiently.
Move all the check data procedure to check_data.cpp.
Naming
Change enum yt_ftype to yt_dtype, and YT_FTYPE_UNKNOWN to YT_DTYPE_UNKNOWN, d stands for data.
New Features
Record field data type in yt_field and in yt_grid data member field_data
Move variable that stores field data type from yt_param_yt to yt_field. Now, yt_field stores field data type field_dtype, and each field can have different data type.
If one field has some grids that have data type other than field_dtype, it can also set it through data_dtype in yt_data.
Set code specific parameter in libyt frontend in yt
We no longer need to set code specific parameter by hand, so that the libyt frontend is hidden from user.
libyt API yt_add_user_parameter_*() will load input to libyt python moduleparam_user dictionary.
Be careful that we'll load all the key-value pairs in libyt.param_user dictionary to libytDataset as new attributes.
Update 2021.8.11
Bugs
num_grids > INT_MAX
. This issue is caused by maximum send count inMPI_Bcast
isINT_MAX
. We fixed it by broadcasting the array in separate part if exceeding the range.num_grids_local <= 0
, this will causenew [0]
and we want to avoid that.YT_INFO
: stdoutYT_WARNING
,YT_DEBUG
,YT_ERROR
: stderrUpdate
num_species
andspecies_list
inyt_param_yt
struct.species_list
inyt_param_yt
methodshow()
.grids_MPI
inyt_param_yt
struct.magnetic_unit = 1
toyt
when it is not set.field_list
to python more efficiently.check_data.cpp
.Naming
yt_ftype
toyt_dtype
, andYT_FTYPE_UNKNOWN
toYT_DTYPE_UNKNOWN
,d
stands for data.New Features
Record field data type in
yt_field
and inyt_grid
data memberfield_data
yt_param_yt
toyt_field
. Now,yt_field
stores field data typefield_dtype
, and each field can have different data type.field_dtype
, it can also set it throughdata_dtype
inyt_data
.Set code specific parameter in
libyt frontend
inyt
libyt frontend
is hidden from user.libyt
APIyt_add_user_parameter_*()
will load input tolibyt python module
param_user
dictionary.libyt.param_user
dictionary tolibytDataset
as new attributes.yt
part updateDo check or not interface
check_data
inyt_param_libyt
.check_data = true
,libyt
will check data, such as hierarchy, grids information, etc.