libsim  Versione6.3.0

◆ display_volgrid6d()

subroutine volgrid6d_class::display_volgrid6d ( type(volgrid6d), intent(in)  this)
private

Display object on screen.

Show brief content on screen.

Parametri
[in]thisobject to display

Definizione alla linea 3459 del file volgrid6d_class.F90.

3459 vg6dout%time=vg6din%time
3460 vg6dout%var=vg6din%var
3461 vg6dout%timerange=pack_distinct(roundtimerange,ntimerange,back=.true.)
3462 vg6dout%level=pack_distinct(roundlevel,nlevel,back=.true.)
3463 ! sort modified dimensions
3464 CALL sort(vg6dout%timerange)
3465 CALL sort(vg6dout%level)
3466 
3467 do ilevel=1,size(vg6din%level)
3468  indl=index(vg6dout%level,roundlevel(ilevel))
3469  do itimerange=1,size(vg6din%timerange)
3470  indt=index(vg6dout%timerange,roundtimerange(itimerange))
3471  do ivar=1, nvar
3472  do itime=1,ntime
3473 
3474  if ( ASSOCIATED(vg6din%voldati)) then
3475  vol2d=vg6din%voldati(:,:,ilevel,itime,itimerange,ivar)
3476  end if
3477 
3478  if (optio_log(merge)) then
3479 
3480  if ( .not. ASSOCIATED(vg6din%voldati)) then
3481  CALL grid_id_decode_data(vg6din%gaid(ilevel,itime,itimerange,ivar), vol2d)
3482  end if
3483 
3484  !! merge present data point by point
3485  where (.not. c_e(vg6dout%voldati(:,:,indl,itime,indt,ivar)))
3486 
3487  vg6dout%voldati(:,:,indl,itime,indt,ivar)=vol2d
3488 
3489  end where
3490  else if ( ASSOCIATED(vg6din%voldati)) then
3491  if (.not. any(c_e(vg6dout%voldati(:,:,indl,itime,indt,ivar))))then
3492  vg6dout%voldati(:,:,indl,itime,indt,ivar)=vol2d
3493  end if
3494  end if
3495 
3496  if (c_e(vg6din%gaid(ilevel,itime,itimerange,ivar)).and. .not. c_e(vg6dout%gaid(indl,itime,indt,ivar)))then
3497  call copy (vg6din%gaid(ilevel,itime,itimerange,ivar), vg6dout%gaid(indl,itime,indt,ivar))
3498  end if
3499  end do
3500  end do
3501  end do
3502 end do
3503 
3504 if ( ASSOCIATED(vg6din%voldati) .or. optio_log(merge)) then
3505  deallocate(vol2d)
3506 end if
3507 
3508 end subroutine vg6d_reduce
3509 
3510 
Index method.

Generated with Doxygen.