libsim Versione 7.1.11

◆ grid_transform_get_val()

subroutine grid_transform_get_val ( type(grid_transform), intent(in)  this,
type(vol7d_level), dimension(:), optional, pointer  output_level_auto,
logical, dimension(:), intent(out), optional, allocatable  point_mask,
integer, dimension(:), intent(out), optional, allocatable  point_index,
integer, dimension(:), intent(out), optional, allocatable  output_point_index,
integer, intent(out), optional  levshift,
integer, intent(out), optional  levused 
)
private

Method for returning the contents of the object.

Only a few selected memebrs of grid_transform object can be queried, this is mainly for use by volgrid6d_class, rather than for public use.

Parametri
[in]thisobject to examine
output_level_autoarray of auto-generated output levels
[out]point_maskmask array indicating the input points that are kept in the output, for metamorphosis transformations
[out]point_indexarray of indices indicating the polygon to which every input point has been assigned, if applicable
[out]output_point_indexarray of indices indicating the polygon to which every output point has been assigned, if applicable
[out]levshiftshift between input and output levels for vertint
[out]levusednumber of input levels used for vertint

Definizione alla linea 3024 del file grid_transform_class.F90.

3026call l4f_category_log(this%category,L4F_DEBUG, &
3027 "start grid_transform_compute "//trim(this%trans%trans_type)//':'// &
3028 trim(this%trans%sub_type))
3029#endif
3030
3031IF (this%trans%trans_type == 'zoom') THEN
3032
3033 field_out(this%outinx:this%outfnx, &
3034 this%outiny:this%outfny,:) = &
3035 field_in(this%iniox:this%infox, &
3036 this%inioy:this%infoy,:)
3037
3038ELSE IF (this%trans%trans_type == 'boxregrid') THEN
3039
3040 IF (this%trans%sub_type == 'average') THEN
3041 IF (vartype == var_dir360) THEN
3042 DO k = 1, innz
3043 jj = 0
3044 DO j = 1, this%inny - this%trans%box_info%npy + 1, this%trans%box_info%npy
3045 je = j+this%trans%box_info%npy-1
3046 jj = jj+1
3047 ii = 0
3048 DO i = 1, this%innx - this%trans%box_info%npx + 1, this%trans%box_info%npx
3049 ie = i+this%trans%box_info%npx-1
3050 ii = ii+1
3051 navg = count(field_in(i:ie,j:je,k) /= rmiss)
3052 IF (navg > 0) THEN
3053 field_out(ii,jj,k) = find_prevailing_direction(field_in(i:ie,j:je,k), &
3054 0.0, 360.0, 5.0)
3055 ENDIF
3056 ENDDO
3057 ENDDO
3058 ENDDO
3059

Generated with Doxygen.