SUBROUTINE save_binning_diagnostic_params(params)
IMPLICIT NONE
TYPE(KORC_PARAMS), INTENT(IN) :: params
CHARACTER(MAX_STRING_LENGTH) :: filename
CHARACTER(MAX_STRING_LENGTH) :: gname
CHARACTER(MAX_STRING_LENGTH), DIMENSION(:), ALLOCATABLE :: attr_array
CHARACTER(MAX_STRING_LENGTH) :: dset
CHARACTER(MAX_STRING_LENGTH) :: attr
INTEGER(HID_T) :: h5file_id
INTEGER(HID_T) :: group_id
CHARACTER(19) :: tmp_str
INTEGER :: h5error
REAL(rp) :: units
if (.NOT.(params%restart.OR.params%proceed)) then
if (params%mpi_params%rank .EQ. 0) then
filename = TRIM(params%path_to_outputs) // "binning_diagnostic.h5"
call h5fcreate_f(TRIM(filename), H5F_ACC_TRUNC_F, h5file_id, h5error)
gname = "binning_diagnostic_params"
call h5gcreate_f(h5file_id, TRIM(gname), group_id, h5error)
dset = TRIM(gname) // "/start_at"
attr = "Time at which camera starts working (s)"
call save_to_hdf5(h5file_id,dset,binning_params%start_at,attr)
dset = TRIM(gname) // "/num_bins"
call save_1d_array_to_hdf5(h5file_id,dset,binning_params%num_bins)
dset = TRIM(gname) // "/rlim"
call save_1d_array_to_hdf5(h5file_id,dset,binning_params%rlim)
dset = TRIM(gname) // "/zlim"
call save_1d_array_to_hdf5(h5file_id,dset,binning_params%zlim)
dset = TRIM(gname) // "/dr"
attr = "Size of bin along the radial direction (m)"
call save_to_hdf5(h5file_id,dset,binning_params%dr,attr)
dset = TRIM(gname) // "/dz"
attr = "Size of bin along the radial direction (m)"
call save_to_hdf5(h5file_id,dset,binning_params%dr,attr)
dset = TRIM(gname) // "/rnodes"
call save_1d_array_to_hdf5(h5file_id,dset,binning_params%rnodes)
dset = TRIM(gname) // "/znodes"
call save_1d_array_to_hdf5(h5file_id,dset,binning_params%znodes)
dset = TRIM(gname) // "/toroidal_sections"
attr = "Logical variable: 1=decomposed in toroidal sections, 0=no toroidal decomposition"
if (binning_params%toroidal_sections) then
call save_to_hdf5(h5file_id,dset,1_idef,attr)
dset = TRIM(gname) // "/ntor_sections"
attr = "Number of toroidal sections"
call save_to_hdf5(h5file_id,dset,binning_params%ntor_sections,attr)
else
call save_to_hdf5(h5file_id,dset,0_idef,attr)
end if
call h5gclose_f(group_id, h5error)
call h5fclose_f(h5file_id, h5error)
end if
if (params%mpi_params%rank.EQ.0_idef) then
filename = TRIM(params%path_to_outputs) //"binning_diagnostic_snapshots.h5"
call h5fcreate_f(TRIM(filename), H5F_ACC_TRUNC_F, h5file_id, h5error)
call h5fclose_f(h5file_id, h5error)
end if
end if
END SUBROUTINE save_binning_diagnostic_params