|
◆ qc_compute_normalizeddensityindex()
subroutine, public modqccli::qc_compute_normalizeddensityindex |
( |
type(qcclitype), intent(inout) |
this, |
|
|
real, dimension(:), intent(in) |
perc_vals, |
|
|
type(cyclicdatetime), intent(in) |
cyclicdt, |
|
|
real, optional |
presentperc, |
|
|
integer, optional |
presentnumb, |
|
|
logical, intent(in), optional |
data_normalized |
|
) |
| |
- Parametri
-
[in,out] | this | volume providing data to be computed and output data. Input data are not modified by the method, apart from performing a vol7d_alloc_vol on it |
[in] | perc_vals | percentile values to use in compute, between 0. and 100. |
[in] | cyclicdt | cyclic date and time |
| presentperc | rate of data present for compute on expected values (default=not used) |
| presentnumb | number of data present for compute (default= not used) |
[in] | data_normalized | data input are normalized and the output will be not differentiated by area/height. |
Definizione alla linea 1899 del file modqccli.F90.
1899 do j=1, size(mask,1) 1900 if (areav(j) /= area(i)) mask(j,:,:) =.false. 1903 if (this%height2level) then 1904 allocate (maskplus( size(this%v7d%ana), size(this%v7d%time), size(this%v7d%network))) 1907 CALL l4f_category_log(this%category, l4f_debug, 'k has value '//t2c(k)) 1910 do iana=1, size(mask,1) 1911 if (iclv(iana) /= k) maskplus(iana,:,:) =.false. 1912 if (iclv(iana) == k) maskplus(iana,:,:) = mask(iana,:,:) 1915 call sub_ndi(mymask=maskplus) 1918 deallocate(maskplus) 1923 call sub_ndi(mymask=mask) 1931 mask = spread(spread((this%v7d%time == cyclicdt ),1, size(this%v7d%ana)),3, size(this%v7d%network)) 1935 call sub_ndi(mymask=mask) 1943 deallocate (ndi,limbins,mask) 1944 if (.NOT.(lnorm)) deallocate(area) 1948 subroutine sub_ndi(mymask) 1950 logical :: mymask(:,:,:) 1954 ( c_e(lpresentperc) .and. ((float(count & 1955 (mymask .and. c_e(this%v7d%voldatir(:,:, indlevel, indtimerange, inddativarr,:)))& 1957 float(count(mymask))) < lpresentperc)) & 1961 ( c_e(lpresentnumb) .and. (count & 1962 (mymask .and. c_e(this%v7d%voldatir(:,:, indlevel, indtimerange, inddativarr,:))) < lpresentnumb)& 1969 call normalizeddensityindex (& 1970 pack(this%v7d%voldatir(:,:, indlevel, indtimerange, inddativarr,:), & 1972 perc_vals, ndi, limbins) 1974 do j=1, size(perc_vals)-1 1975 indana=(k-1)*( size(perc_vals)-1)*narea + (j-1)*narea + i 1976 this%clima%voldatir(indana, indtime, indlevel, indtimerange, inddativarr, indnetwork)=& 1978 this%clima%voldatiattrr(indana, indtime, indlevel, indtimerange, inddativarr, indnetwork,indattr)=& 1982 end subroutine sub_ndi 1985 end SUBROUTINE qc_compute_normalizeddensityindex 1993 Function to check whether a value is missing or not.
Controllo di qualità climatico.
|