libsim  Versione8.0.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 3508 del file volgrid6d_class.F90.

3508 nlevel=count_distinct(roundlevel,back=.true.)
3509 ntime=size(vg6din%time)
3510 ntimerange=count_distinct(roundtimerange,back=.true.)
3511 nvar=size(vg6din%var)
3512 
3513 call init(vg6dout, vg6din%griddim, vg6din%time_definition, categoryappend="generated by vg6d_reduce")
3514 call volgrid6d_alloc(vg6dout, vg6din%griddim%dim, ntime, nlevel, ntimerange, nvar)
3515 
3516 if ( ASSOCIATED(vg6din%voldati) .or. optio_log(merge)) then
3517  call volgrid6d_alloc_vol(vg6dout,inivol=.true.,decode=.true.)
3518  allocate(vol2d(nx,ny))
3519 else
3520  call volgrid6d_alloc_vol(vg6dout,inivol=.true.,decode=.false.)
3521 end if
3522 
3523 vg6dout%time=vg6din%time
3524 vg6dout%var=vg6din%var
3525 vg6dout%timerange=pack_distinct(roundtimerange,ntimerange,back=.true.)
3526 vg6dout%level=pack_distinct(roundlevel,nlevel,back=.true.)
3527 ! sort modified dimensions
3528 CALL sort(vg6dout%timerange)
3529 CALL sort(vg6dout%level)
3530 
3531 do ilevel=1,size(vg6din%level)
3532  indl=index(vg6dout%level,roundlevel(ilevel))
3533  do itimerange=1,size(vg6din%timerange)
3534  indt=index(vg6dout%timerange,roundtimerange(itimerange))
3535  do ivar=1, nvar
3536  do itime=1,ntime
3537 
3538  if ( ASSOCIATED(vg6din%voldati)) then
3539  vol2d=vg6din%voldati(:,:,ilevel,itime,itimerange,ivar)
3540  end if
3541 
3542  if (optio_log(merge)) then
3543 
3544  if ( .not. ASSOCIATED(vg6din%voldati)) then
3545  CALL grid_id_decode_data(vg6din%gaid(ilevel,itime,itimerange,ivar), vol2d)
3546  end if
3547 
3548  !! merge present data point by point
3549  where (.not. c_e(vg6dout%voldati(:,:,indl,itime,indt,ivar)))
3550 
3551  vg6dout%voldati(:,:,indl,itime,indt,ivar)=vol2d
3552 
3553  end where
3554  else if ( ASSOCIATED(vg6din%voldati)) then
3555  if (.not. any(c_e(vg6dout%voldati(:,:,indl,itime,indt,ivar))))then
3556  vg6dout%voldati(:,:,indl,itime,indt,ivar)=vol2d
3557  end if
3558  end if
3559 
Index method.

Generated with Doxygen.