libsim  Versione 7.2.1

◆ volgrid6d_init()

subroutine volgrid6d_init ( type(volgrid6d this,
type(griddim_def), optional  griddim,
integer, intent(in), optional  time_definition,
character(len=*), intent(in), optional  categoryappend 
)

Constructor, it creates a new instance of the object.

The constructor should be explicitly used only in rare cases, volgrid6d objects are usually created through the import interface.

Parametri
thisobject to be initialized
griddimgrid descriptor
[in]time_definition0=time is reference time; 1=time is validity time
[in]categoryappendappend this suffix to log4fortran namespace category

Definizione alla linea 371 del file volgrid6d_class.F90.

372  CALL raise_fatal_error()
373  ENDIF
374 
375 ! this is not really needed if we can check other flags for a full
376 ! field missing values
377  IF (linivol) this%voldati = rmiss
378  this%voldati = rmiss
379  ENDIF
380  ENDIF
381 
382  IF (.NOT.ASSOCIATED(this%gaid)) THEN
383 #ifdef DEBUG
384  CALL l4f_category_log(this%category,l4f_debug,"alloc gaid volume")
385 #endif
386  ALLOCATE(this%gaid(SIZE(this%level), SIZE(this%time), &
387  SIZE(this%timerange), SIZE(this%var)),stat=stallo)
388  IF (stallo /= 0)THEN
389  CALL l4f_category_log(this%category,l4f_fatal,"allocating memory")
390  CALL raise_fatal_error()
391  ENDIF
392 
393  IF (linivol) THEN
394 !!$ DO i=1 ,SIZE(this%gaid,1)
395 !!$ DO ii=1 ,SIZE(this%gaid,2)
396 !!$ DO iii=1 ,SIZE(this%gaid,3)
397 !!$ DO iiii=1 ,SIZE(this%gaid,4)
398 !!$ this%gaid(i,ii,iii,iiii) = grid_id_new() ! optimize?
399 !!$ ENDDO
400 !!$ ENDDO
401 !!$ ENDDO
402 !!$ ENDDO
403 
404  this%gaid = grid_id_new()
405  ENDIF
406  ENDIF

Generated with Doxygen.