libsim  Versione6.3.0

◆ volgrid_get_vol_3d()

subroutine, public volgrid6d_class::volgrid_get_vol_3d ( type(volgrid6d), intent(in)  this,
integer, intent(in)  itime,
integer, intent(in)  itimerange,
integer, intent(in)  ivar,
real, dimension(:,:,:), pointer  voldati 
)

Return a 3-d pointer to a x-y-z slice of a volume.

This method works both with volumes having allocated and non-allocated thisvoldati array, and it returns a pointer to a 3-d slice either from the allocated thisvoldati array or from the grid_id object on file or in memory. In the second case the pointer should be either ALLOCATE'd to the expected size or NULLIFY'ed, and if NULLIFY'ed, it is allocated within the method, thus it will have to be deallocated by the caller when not in use anymore. 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 pointer 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]thisobject from which the slice has to be retrieved
[in]itimeindex of time level of the slice
[in]itimerangeindex of timerange of the slice
[in]ivarindex of physical variable of the slice
voldatipointer to the data, if thisvoldati is already allocated, it will just point to the requested slice, otherwise it will be allocated if and only if it is nullified on entry

Definizione alla linea 681 del file volgrid6d_class.F90.

681 
682 call write_unit( this%griddim,lunit)
683 write(unit=lunit) ntime, ntimerange, nlevel, nvar
684 
685 !! prime 4 dimensioni
686 if (associated(this%time)) call write_unit(this%time, lunit)
687 if (associated(this%level)) write(unit=lunit)this%level
688 if (associated(this%timerange)) write(unit=lunit)this%timerange
689 if (associated(this%var)) write(unit=lunit)this%var
690 
691 
692 !! Volumi di valori dati
693 
694 if (associated(this%voldati)) write(unit=lunit)this%voldati
695 
696 if (.not. present(unit)) close(unit=lunit)
697 
698 end subroutine volgrid6d_write_on_file
699 
700 
Scrive un oggetto datetime/timedelta o un vettore di oggetti datetime/timedelta su un file FORMATTED ...

Generated with Doxygen.