|
◆ volgrid6d_alloc()
subroutine, public volgrid6d_class::volgrid6d_alloc |
( |
type(volgrid6d), intent(inout) |
this, |
|
|
type(grid_dim), intent(in), optional |
dim, |
|
|
integer, intent(in), optional |
ntime, |
|
|
integer, intent(in), optional |
nlevel, |
|
|
integer, intent(in), optional |
ntimerange, |
|
|
integer, intent(in), optional |
nvar, |
|
|
logical, intent(in), optional |
ini |
|
) |
| |
Allocate the dimension descriptors of the volgrid6d object.
This method allocates the horizontal grid descriptor and the one dimensional arrays of the dimensions
- time
- vertical level
- timerange
- physical variable
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] | dim | horizontal grid size X, Y |
[in] | ntime | number of time levels |
[in] | nlevel | number of vertical levels |
[in] | ntimerange | number of different timeranges |
[in] | nvar | number of physical variables |
[in] | ini | if provided and .TRUE., for each allocated dimension descriptor the constructor is called without extra parameters, thus initializing everything as missing value |
Definizione alla linea 439 del file volgrid6d_class.F90.
439 REAL, POINTER :: voldati(:,:) 441 IF ( ASSOCIATED(this%voldati)) THEN 442 voldati => this%voldati(:,:,ilevel,itime,itimerange,ivar) 445 IF (.NOT. ASSOCIATED(voldati)) THEN 446 ALLOCATE(voldati(this%griddim%dim%nx,this%griddim%dim%ny)) 448 CALL grid_id_decode_data(this%gaid(ilevel,itime,itimerange,ivar), voldati) 451 END SUBROUTINE volgrid_get_vol_2d 467 SUBROUTINE volgrid_get_vol_3d(this, itime, itimerange, ivar, voldati) 468 TYPE(volgrid6d), INTENT(in) :: this 469 INTEGER, INTENT(in) :: itime 470 INTEGER, INTENT(in) :: itimerange 471 INTEGER, INTENT(in) :: ivar 472 REAL, POINTER :: voldati(:,:,:) 476 IF ( ASSOCIATED(this%voldati)) THEN 477 voldati => this%voldati(:,:,:,itime,itimerange,ivar) 480 IF (.NOT. ASSOCIATED(voldati)) THEN 481 ALLOCATE(voldati(this%griddim%dim%nx,this%griddim%dim%ny, SIZE(this%level))) 483 DO ilevel = 1, SIZE(this%level) 484 CALL grid_id_decode_data(this%gaid(ilevel,itime,itimerange,ivar), & 489 END SUBROUTINE volgrid_get_vol_3d 503 SUBROUTINE volgrid_set_vol_2d(this, ilevel, itime, itimerange, ivar, voldati) 504 TYPE(volgrid6d), INTENT(inout) :: this 505 INTEGER, INTENT(in) :: ilevel 506 INTEGER, INTENT(in) :: itime 507 INTEGER, INTENT(in) :: itimerange 508 INTEGER, INTENT(in) :: ivar 509 REAL, INTENT(in) :: voldati(:,:) 511 IF ( ASSOCIATED(this%voldati)) THEN 514 CALL grid_id_encode_data(this%gaid(ilevel,itime,itimerange,ivar), voldati) 517 END SUBROUTINE volgrid_set_vol_2d 531 SUBROUTINE volgrid_set_vol_3d(this, itime, itimerange, ivar, voldati) 532 TYPE(volgrid6d), INTENT(inout) :: this 533 INTEGER, INTENT(in) :: itime 534 INTEGER, INTENT(in) :: itimerange 535 INTEGER, INTENT(in) :: ivar 536 REAL, INTENT(in) :: voldati(:,:,:)
|