@@ -409,6 +409,7 @@ contains
409409 integer , dimension (num_procs) :: meshtypes
410410 integer :: i
411411 integer :: ierr
412+ integer :: extents_size
412413
413414 if (format == format_silo) then
414415 ! For multidimensional data sets, the spatial extents of all of the grid(s) handled by the local processor(s) are
@@ -441,7 +442,8 @@ contains
441442
442443 err = DBSET2DSTRLEN(len (meshnames(1 )))
443444 err = DBMKOPTLIST(2 , out %optlist)
444- err = DBADDIOPT(out %optlist, DBOPT_EXTENTS_SIZE, size (out %spatial_extents, 1 ))
445+ extents_size = size (out %spatial_extents, 1 )
446+ err = DBADDIOPT(out %optlist, DBOPT_EXTENTS_SIZE, extents_size)
445447 err = DBADDDOPT(out %optlist, DBOPT_EXTENTS, out %spatial_extents)
446448 err = DBPUTMMESH(out %dbroot, ' rectilinear_grid' , 16 , num_procs, meshnames, len_trim (meshnames), meshtypes, &
447449 & out %optlist, ierr)
@@ -549,6 +551,7 @@ contains
549551 integer , dimension (num_procs) :: vartypes
550552 integer :: i, j, k
551553 integer :: ierr
554+ integer :: extents_size
552555
553556 if (format == format_silo) then
554557 ! Determining the extents of the flow variable on each local process and gathering all this information on root process
@@ -567,7 +570,8 @@ contains
567570
568571 err = DBSET2DSTRLEN(len (varnames(1 )))
569572 err = DBMKOPTLIST(2 , out %optlist)
570- err = DBADDIOPT(out %optlist, DBOPT_EXTENTS_SIZE, 2 )
573+ extents_size = size (out %data_extents, 1 )
574+ err = DBADDIOPT(out %optlist, DBOPT_EXTENTS_SIZE, extents_size)
571575 err = DBADDDOPT(out %optlist, DBOPT_EXTENTS, out %data_extents)
572576 err = DBPUTMVAR(out %dbroot, trim (varname), len_trim (varname), num_procs, varnames, len_trim (varnames), vartypes, &
573577 & out %optlist, ierr)
0 commit comments