|
◆ volgrid6d_alloc_vol()
subroutine, public volgrid6d_class::volgrid6d_alloc_vol |
( |
type(volgrid6d), intent(inout) |
this, |
|
|
logical, intent(in), optional |
ini, |
|
|
logical, intent(in), optional |
inivol, |
|
|
logical, intent(in), optional |
decode |
|
) |
| |
Allocate the data array of the volgrid6d object.
This method allocates the main 6-dimensional data array thisvoldati and the 4-dimensional grid_id array thisgaid with a shape dictated by the previous call(s) to vol7d_alloc(). if any descriptor (except horizontal grid) has not been allocated yet, it is allocated here with a size of 1. This method should be explicitly used only in rare cases, it is usually called implicitly through the import interface.
- Parametri
-
[in,out] | this | object whose decriptors should be allocated |
[in] | ini | if provided and .TRUE., for each dimension descriptor not yet allocated and allocated here the constructor is called without extra parameters, thus initializing the element as missing value |
[in] | inivol | if provided and .FALSE., the allocated volumes will not be initialized to missing values |
[in] | decode | if provided and .TRUE., the thisvoldati volume is allocated, otherwise only thisgaid will be allocated |
Definizione alla linea 533 del file volgrid6d_class.F90.
533 REAL, INTENT(in) :: voldati(:,:,:) 537 IF ( ASSOCIATED(this%voldati)) THEN 540 DO ilevel = 1, SIZE(this%level) 541 CALL grid_id_encode_data(this%gaid(ilevel,itime,itimerange,ivar), & 546 END SUBROUTINE volgrid_set_vol_3d 552 SUBROUTINE volgrid6d_delete(this) 553 TYPE(volgrid6d), INTENT(inout) :: this 555 INTEGER :: i, ii, iii, iiii 558 call l4f_category_log(this%category,l4f_debug, "delete") 561 if ( associated(this%gaid)) then 563 DO i=1 , SIZE(this%gaid,1) 564 DO ii=1 , SIZE(this%gaid,2) 565 DO iii=1 , SIZE(this%gaid,3) 566 DO iiii=1 , SIZE(this%gaid,4) 567 CALL delete(this%gaid(i,ii,iii,iiii)) 572 DEALLOCATE(this%gaid) 576 call delete(this%griddim) 583 if ( associated( this%time )) deallocate(this%time) 584 if ( associated( this%timerange )) deallocate(this%timerange) 585 if ( associated( this%level )) deallocate(this%level) 586 if ( associated( this%var )) deallocate(this%var) 588 if ( associated(this%voldati)) deallocate(this%voldati) 592 call l4f_category_delete(this%category) 594 END SUBROUTINE volgrid6d_delete 606 subroutine volgrid6d_write_on_file (this,unit,description,filename,filename_auto) 608 TYPE(volgrid6d), INTENT(IN) :: this 609 integer, optional, intent(inout) :: unit 610 character(len=*), intent(in), optional :: filename 611 character(len=*), intent(out), optional :: filename_auto
|