libsim  Versione6.3.0

◆ volgrid6dv_transform()

subroutine volgrid6d_class::volgrid6dv_transform ( type(transform_def), intent(in)  this,
type(griddim_def), intent(in), optional  griddim,
type(volgrid6d), dimension(:), intent(inout)  volgrid6d_in,
type(volgrid6d), dimension(:), pointer  volgrid6d_out,
type(vol7d_level), dimension(:), intent(in), optional  lev_out,
type(volgrid6d), intent(in), optional  volgrid6d_coord_in,
real, dimension(:,:), intent(in), optional  maskgrid,
real, dimension(:), intent(in), optional  maskbounds,
logical, intent(in), optional  clone,
logical, intent(in), optional  decode,
character(len=*), intent(in), optional  categoryappend 
)
private

Performs the specified abstract transformation on the arrays of data provided.

The abstract transformation is specified by this parameter; the corresponding specifical transformation (grid_transform object) is created and destroyed internally. The output transformed object is created internally and it does not require preliminary initialisation. According to the input data and to the transformation type, the output array may have of one or more volgrid6d elements on different grids.

Parametri
[in]thisobject specifying the abstract transformation
[in]griddimgriddim specifying the output grid (required by most transformation types)
[in,out]volgrid6d_inobject to be transformed, it is an array of volgrid6d objects, each of which will be transformed, it is not modified, despite the INTENT(inout)
volgrid6d_outtransformed object, it is a non associated pointer to an array of volgrid6d objects which will be allocated by the method
[in]lev_outvol7d_level object defining target vertical grid
[in]volgrid6d_coord_inobject providing time constant input vertical coordinate for some kind of vertical interpolations
[in]maskgrid2D field to be used for defining subareas according to its values, it must have the same shape as the field to be interpolated (for transformation subtype 'maskfill')
[in]maskboundsarray of boundary values for defining a subset of valid points where the values of maskgrid are within the first and last value of maskbounds (for transformation type 'metamorphosis:maskfill')
[in]cloneif provided and .TRUE. , clone the gaid's from volgrid6d_in to volgrid6d_out
[in]decodeif provided and .FALSE. the data volume is not allocated, but work is performed on grid_id's
[in]categoryappendappend this suffix to log4fortran namespace category

Definizione alla linea 2115 del file volgrid6d_class.F90.

2115 
2116 call vg6d_wind_unrot(volgrid6d_in)
2117 
2118 ntime=0
2119 ntimerange=0
2120 nlevel=0
2121 nvar=0
2122 nnetwork=1
2123 
2124 call get_val(this,time_definition=time_definition)
2125 if (.not. c_e(time_definition)) then
2126  time_definition=1 ! default to validity time
2127 endif
2128 
2129 IF (PRESENT(v7d)) THEN
2130  CALL vol7d_copy(v7d, v7d_locana)
2131 ELSE
2132  CALL init(v7d_locana)
2133 ENDIF
2134 
2135 if (associated(volgrid6d_in%timerange)) ntimerange=size(volgrid6d_in%timerange)
2136 
2137 if (associated(volgrid6d_in%time)) then
2138 
2139  ntime=size(volgrid6d_in%time)
2140 
2141  if (time_definition /= volgrid6d_in%time_definition) then
2142 
2143  ! converto reference in validity
Costruttori per le classi datetime e timedelta.

Generated with Doxygen.