|
◆ display_volgrid6d()
subroutine display_volgrid6d |
( |
type(volgrid6d), intent(in) |
this | ) |
|
Display object on screen.
Show brief content on screen. - Parametri
-
[in] | this | object to display |
Definizione alla linea 3445 del file volgrid6d_class.F90.
3446 real, allocatable :: vol2d(:,:)
3448 nx=vg6din%griddim%dim%nx
3449 ny=vg6din%griddim%dim%ny
3450 nlevel=count_distinct(roundlevel,back=.true.)
3451 ntime= size(vg6din%time)
3452 ntimerange=count_distinct(roundtimerange,back=.true.)
3453 nvar= size(vg6din%var)
3455 call init(vg6dout, vg6din%griddim, vg6din%time_definition, categoryappend= "generated by vg6d_reduce")
3456 call volgrid6d_alloc(vg6dout, vg6din%griddim%dim, ntime, nlevel, ntimerange, nvar)
3458 if ( ASSOCIATED(vg6din%voldati) .or. optio_log(merge)) then
3459 call volgrid6d_alloc_vol(vg6dout,inivol=.true.,decode=.true.)
3460 allocate(vol2d(nx,ny))
3462 call volgrid6d_alloc_vol(vg6dout,inivol=.true.,decode=.false.)
3465 vg6dout%time=vg6din%time
3466 vg6dout%var=vg6din%var
3467 vg6dout%timerange=pack_distinct(roundtimerange,ntimerange,back=.true.)
3468 vg6dout%level=pack_distinct(roundlevel,nlevel,back=.true.)
3470 CALL sort(vg6dout%timerange)
3471 CALL sort(vg6dout%level)
3473 do ilevel=1, size(vg6din%level)
3474 indl= index(vg6dout%level,roundlevel(ilevel))
3475 do itimerange=1, size(vg6din%timerange)
3476 indt= index(vg6dout%timerange,roundtimerange(itimerange))
3480 if ( ASSOCIATED(vg6din%voldati)) then
3481 vol2d=vg6din%voldati(:,:,ilevel,itime,itimerange,ivar)
3484 if (optio_log(merge)) then
3486 if ( .not. ASSOCIATED(vg6din%voldati)) then
3487 CALL grid_id_decode_data(vg6din%gaid(ilevel,itime,itimerange,ivar), vol2d)
3491 where (.not. c_e(vg6dout%voldati(:,:,indl,itime,indt,ivar)))
3493 vg6dout%voldati(:,:,indl,itime,indt,ivar)=vol2d
3496 else if ( ASSOCIATED(vg6din%voldati)) then
3497 if (.not. any(c_e(vg6dout%voldati(:,:,indl,itime,indt,ivar)))) then
|