|
◆ count_distinct_var6d()
integer function volgrid6d_var_class::count_distinct_var6d |
( |
type(volgrid6d_var), dimension(:), intent(in) |
vect, |
|
|
logical, dimension(:), intent(in), optional |
mask, |
|
|
logical, intent(in), optional |
back |
|
) |
| |
|
private |
conta gli elementi distinti in vect
Definizione alla linea 591 del file volgrid6d_var_class.F90.
599 ALLOCATE(conv_fwd(n),stat=stallo)
600 IF (stallo /= 0) THEN
601 CALL l4f_log(l4f_fatal, "allocating memory")
602 CALL raise_fatal_error()
605 conv_fwd(:) = vg6d_v7d_var_conv_miss
606 CALL import_var_conv(un, conv_fwd)
610 un = open_package_file( 'vargrib2bufr.csv', filetype_data)
622 ALLOCATE(conv_bwd(n),stat=stallo)
623 IF (stallo /= 0) THEN
624 CALL l4f_log(l4f_fatal, "allocating memory")
625 CALL raise_fatal_error()
628 conv_bwd(:) = vg6d_v7d_var_conv_miss
629 CALL import_var_conv(un, conv_bwd)
631 conv_bwd(i)%c_func%a = 1./conv_bwd(i)%c_func%a
632 conv_bwd(i)%c_func%b = - conv_bwd(i)%c_func%b
638 SUBROUTINE import_var_conv(un, conv_type)
639 INTEGER, INTENT(in) :: un
640 TYPE(vg6d_v7d_var_conv), INTENT(out) :: conv_type(:)
643 TYPE(csv_record) :: csv
644 CHARACTER(len=1024) :: line
645 CHARACTER(len=10) :: btable
646 INTEGER :: centre, category, number, discipline
648 DO i = 1, SIZE(conv_type)
649 READ(un, '(A)', END=200)line
651 CALL csv_record_getfield(csv, btable)
652 CALL csv_record_getfield(csv)
653 CALL csv_record_getfield(csv)
654 CALL init(conv_type(i)%v7d_var, btable=btable)
656 CALL csv_record_getfield(csv, centre)
657 CALL csv_record_getfield(csv, category)
658 CALL csv_record_getfield(csv, number)
659 CALL csv_record_getfield(csv, discipline)
660 CALL init(conv_type(i)%vg6d_var, centre=centre, category=category, &
|