function cc_doubles_factor() result(factor) real(dp) :: factor real(dp) :: fac_triples, fac_quads, weight weight = 1.0_dp / 4.0_dp ! essentiall we would need the triples influence too.. ! but Manu said this is not necessary.. hm.. lets try if (cc_amp_norm(norm_comp, 3) < EPS) then fac_triples = 0.0_dp weight = 0.0_dp else fac_triples = min(AllEXLEVEL_WNorm(0, 3, 1) / & cc_amp_norm(norm_comp, 3), 1.0_dp) end if if (cc_amp_norm(norm_comp, 4) < EPS) then fac_quads = 0.0_dp weight = 1.0_dp else fac_quads = min(AllEXLEVEL_WNorm(0, 4, 1) / & cc_amp_norm(norm_comp, 4), 1.0_dp) end if factor = 1.0_dp - (weight * fac_triples + (1.0_dp - weight) * fac_quads) end function cc_doubles_factor