libsim Versione 7.2.1

◆ volgrid_set_vol_3d()

subroutine, public volgrid_set_vol_3d ( type(volgrid6d), intent(inout) this,
integer, intent(in) itime,
integer, intent(in) itimerange,
integer, intent(in) ivar,
real, dimension(:,:,:), intent(in) voldati )

Reset a 3-d x-y-z slice of a volume after the data have been modified.

This method works both with volumes having allocated and non-allocated thisvoldati array, and it updates the requested slice. In case thisvoldati is already allocated, this is a no-operation while in the other case this method encodes the field provided into the grid_id object on file or in memory. Since this method may be called many times by a program, it is optimized for speed and it does not make any check about the matching size of the field and the array or about the allocation status of this, so it should be called only when everything has been checked to be in good shape.

Parametri
[in,out]thisobject in which slice has to be updated
[in]itimeindex of time level of the slice
[in]itimerangeindex of timerange of the slice
[in]ivarindex of physical variable of the slice
[in]voldatiupdated values of the slice

Definizione alla linea 716 del file volgrid6d_class.F90.

717logical :: opened,exist
718
719#ifdef DEBUG
720call l4f_category_log(this%category,l4f_debug,"read from file")
721#endif
722
723call getarg(0,arg)
724
725if (.not. present(unit))then
726 lunit=getunit()
727else
728 if (unit==0)then
729 lunit=getunit()
730 unit=lunit
731 else
732 lunit=unit
733 end if

Generated with Doxygen.