libsim  Versione6.3.0

◆ vol7d_display()

subroutine, private vol7d_class::vol7d_display ( type(vol7d), intent(in)  this)
private

stampa a video una sintesi del contenuto

Parametri
[in]thisoggetto da visualizzare

Definizione alla linea 710 del file vol7d_class.F90.

710 SUBROUTINE dat_vect_display(this,idat,rdat,ddat,bdat,cdat)
711 
712 TYPE(vol7d_var),intent(in) :: this(:)
714 REAL :: rdat(:)
716 DOUBLE PRECISION :: ddat(:)
718 INTEGER :: idat(:)
720 INTEGER(kind=int_b) :: bdat(:)
722 CHARACTER(len=*):: cdat(:)
723 
724 integer :: i
725 
726 do i =1,size(this)
727  call display(this(i),idat(i),rdat(i),ddat(i),bdat(i),cdat(i))
728 end do
729 
730 end SUBROUTINE dat_vect_display
731 
732 
733 FUNCTION to_char_dat(this,idat,rdat,ddat,bdat,cdat)
734 #ifdef HAVE_DBALLE
735 #ifdef HAVE_DBALLEF_MOD
736 USE dballef
737 #else
738 include 'dballeff.h'
739 #endif
740 #endif
741 TYPE(vol7d_var),INTENT(in) :: this
743 REAL :: rdat
745 DOUBLE PRECISION :: ddat
747 INTEGER :: idat
749 INTEGER(kind=int_b) :: bdat
751 CHARACTER(len=*) :: cdat
752 CHARACTER(len=80) :: to_char_dat
753 
754 CHARACTER(len=LEN(to_char_dat)) :: to_char_tmp
755 
756 
757 #ifdef HAVE_DBALLE
758 INTEGER :: handle, ier
759 
760 handle = 0
761 to_char_dat="VALUE: "
762 
763 if (c_e(idat)) to_char_dat=trim(to_char_dat)//" ;int> "//trim(to_char(idat))
764 if (c_e(rdat)) to_char_dat=trim(to_char_dat)//" ;real> "//trim(to_char(rdat))
765 if (c_e(ddat)) to_char_dat=trim(to_char_dat)//" ;double> "//trim(to_char(ddat))
766 if (c_e(bdat)) to_char_dat=trim(to_char_dat)//" ;byte> "//trim(to_char(bdat))
767 
768 if ( c_e(cdat))then
769  ier = idba_messaggi(handle,"/dev/null", "w", "BUFR")
770  ier = idba_spiegab(handle,this%btable,cdat,to_char_tmp)
771  ier = idba_fatto(handle)
772  to_char_dat=trim(to_char_dat)//" ;char> "//trim(to_char_tmp)
773 endif
774 
775 #else
776 
777 to_char_dat="VALUE: "
778 if (c_e(idat)) to_char_dat=trim(to_char_dat)//" ;int> "//trim(to_char(idat))
779 if (c_e(rdat)) to_char_dat=trim(to_char_dat)//" ;real> "//trim(to_char(rdat))
780 if (c_e(ddat)) to_char_dat=trim(to_char_dat)//" ;double> "//trim(to_char(ddat))
781 if (c_e(bdat)) to_char_dat=trim(to_char_dat)//" ;byte> "//trim(to_char(bdat))
782 if (c_e(cdat)) to_char_dat=trim(to_char_dat)//" ;char> "//trim(cdat)
783 
784 #endif
785 
786 END FUNCTION to_char_dat
787 
788 
791 FUNCTION vol7d_c_e(this) RESULT(c_e)
792 TYPE(vol7d), INTENT(in) :: this
793 
794 LOGICAL :: c_e
795 
796 c_e = ASSOCIATED(this%ana) .OR. ASSOCIATED(this%time) .OR. &
797  ASSOCIATED(this%level) .OR. ASSOCIATED(this%timerange) .OR. &
798  ASSOCIATED(this%network) .OR. &
799  ASSOCIATED(this%anavar%r) .OR. ASSOCIATED(this%anavar%d) .OR. &
800  ASSOCIATED(this%anavar%i) .OR. ASSOCIATED(this%anavar%b) .OR. &
801  ASSOCIATED(this%anavar%c) .OR. &
802  ASSOCIATED(this%anaattr%r) .OR. ASSOCIATED(this%anaattr%d) .OR. &
803  ASSOCIATED(this%anaattr%i) .OR. ASSOCIATED(this%anaattr%b) .OR. &
804  ASSOCIATED(this%anaattr%c) .OR. &
805  ASSOCIATED(this%dativar%r) .OR. ASSOCIATED(this%dativar%d) .OR. &
806  ASSOCIATED(this%dativar%i) .OR. ASSOCIATED(this%dativar%b) .OR. &
807  ASSOCIATED(this%dativar%c) .OR. &
808  ASSOCIATED(this%datiattr%r) .OR. ASSOCIATED(this%datiattr%d) .OR. &
809  ASSOCIATED(this%datiattr%i) .OR. ASSOCIATED(this%datiattr%b) .OR. &
810  ASSOCIATED(this%datiattr%c)
811 
812 END FUNCTION vol7d_c_e
813 
814 
853 SUBROUTINE vol7d_alloc(this, nana, ntime, nlevel, ntimerange, nnetwork, &
854  nanavarr, nanavard, nanavari, nanavarb, nanavarc, &
855  nanaattrr, nanaattrd, nanaattri, nanaattrb, nanaattrc, &
856  nanavarattrr, nanavarattrd, nanavarattri, nanavarattrb, nanavarattrc, &
857  ndativarr, ndativard, ndativari, ndativarb, ndativarc, &
858  ndatiattrr, ndatiattrd, ndatiattri, ndatiattrb, ndatiattrc, &
859  ndativarattrr, ndativarattrd, ndativarattri, ndativarattrb, ndativarattrc, &
860  ini)
861 TYPE(vol7d),INTENT(inout) :: this
862 INTEGER,INTENT(in),OPTIONAL :: nana
863 INTEGER,INTENT(in),OPTIONAL :: ntime
864 INTEGER,INTENT(in),OPTIONAL :: nlevel
865 INTEGER,INTENT(in),OPTIONAL :: ntimerange
866 INTEGER,INTENT(in),OPTIONAL :: nnetwork
868 INTEGER,INTENT(in),OPTIONAL :: &
869  nanavarr, nanavard, nanavari, nanavarb, nanavarc, &
870  nanaattrr, nanaattrd, nanaattri, nanaattrb, nanaattrc, &
871  nanavarattrr, nanavarattrd, nanavarattri, nanavarattrb, nanavarattrc, &
872  ndativarr, ndativard, ndativari, ndativarb, ndativarc, &
873  ndatiattrr, ndatiattrd, ndatiattri, ndatiattrb, ndatiattrc, &
874  ndativarattrr, ndativarattrd, ndativarattri, ndativarattrb, ndativarattrc
875 LOGICAL,INTENT(in),OPTIONAL :: ini
876 
877 INTEGER :: i
878 LOGICAL :: linit
879 
880 IF (PRESENT(ini)) THEN
881  linit = ini
882 ELSE
883  linit = .false.
884 ENDIF
885 
886 ! Dimensioni principali
887 IF (PRESENT(nana)) THEN
888  IF (nana >= 0) THEN
889  IF (ASSOCIATED(this%ana)) DEALLOCATE(this%ana)
890  ALLOCATE(this%ana(nana))
891  IF (linit) THEN
892  DO i = 1, nana
893  CALL init(this%ana(i))
894  ENDDO
895  ENDIF
896  ENDIF
897 ENDIF
898 IF (PRESENT(ntime)) THEN
899  IF (ntime >= 0) THEN
900  IF (ASSOCIATED(this%time)) DEALLOCATE(this%time)
Restituiscono il valore dell'oggetto in forma di stringa stampabile.
Costruttori per le classi datetime e timedelta.

Generated with Doxygen.