|
◆ 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 597 del file volgrid6d_var_class.F90.
601 ALLOCATE(conv_fwd(n),stat=stallo)
602 IF (stallo /= 0) THEN
603 CALL l4f_log(l4f_fatal, "allocating memory")
604 CALL raise_fatal_error()
607 conv_fwd(:) = vg6d_v7d_var_conv_miss
608 CALL import_var_conv(un, conv_fwd)
612 un = open_package_file( 'vargrib2bufr.csv', filetype_data)
624 ALLOCATE(conv_bwd(n),stat=stallo)
625 IF (stallo /= 0) THEN
626 CALL l4f_log(l4f_fatal, "allocating memory")
627 CALL raise_fatal_error()
630 conv_bwd(:) = vg6d_v7d_var_conv_miss
631 CALL import_var_conv(un, conv_bwd)
633 conv_bwd(i)%c_func%a = 1./conv_bwd(i)%c_func%a
634 conv_bwd(i)%c_func%b = - conv_bwd(i)%c_func%b
640 SUBROUTINE import_var_conv(un, conv_type)
641 INTEGER, INTENT(in) :: un
642 TYPE(vg6d_v7d_var_conv), INTENT(out) :: conv_type(:)
645 TYPE(csv_record) :: csv
646 CHARACTER(len=1024) :: line
647 CHARACTER(len=10) :: btable
648 INTEGER :: centre, category, number, discipline
650 DO i = 1, SIZE(conv_type)
651 READ(un, '(A)', END=200)line
653 CALL csv_record_getfield(csv, btable)
654 CALL csv_record_getfield(csv)
655 CALL csv_record_getfield(csv)
656 CALL init(conv_type(i)%v7d_var, btable=btable)
658 CALL csv_record_getfield(csv, centre)
659 CALL csv_record_getfield(csv, category)
660 CALL csv_record_getfield(csv, number)
661 CALL csv_record_getfield(csv, discipline)
662 CALL init(conv_type(i)%vg6d_var, centre=centre, category=category, &
663 number=number, discipline=discipline)
665 CALL csv_record_getfield(csv, conv_type(i)%c_func%a)
666 CALL csv_record_getfield(csv, conv_type(i)%c_func%b)
|