e2nIEE / pandapower

@@ -165,8 +165,7 @@
Loading
165 165
166 166
            The following algorithms are available:
167 167
168 -
                - "nr" Newton-Raphson (pypower implementation with numba
169 -
                accelerations)
168 +
                - "nr" Newton-Raphson (pypower implementation with numba accelerations)
170 169
171 170
                Used only for positive sequence network
172 171
@@ -206,12 +205,11 @@
Loading
206 205
        referring to P / Q mismatch of node power in MVA
207 206
208 207
        **trafo_model**
209 -
        - transformer equivalent models
210 208
209 +
            - transformer equivalent models
211 210
            - "t" - transformer is modeled as equivalent with the T-model.
212 -
            - "pi" - This is not recommended, since it is less exact than the T-model.
213 -
             So, for three phase load flow, its not
214 -
            implemented
211 +
            - "pi" - This is not recommended, since it is less exact than the T-model. So, for three phase load flow, its not implemented
212 +
215 213
216 214
        **trafo_loading** (str, "current") - mode of calculation for
217 215
        transformer loading
@@ -222,16 +220,14 @@
Loading
222 220
            the transformer.
223 221
224 222
            - "current"- transformer loading is given as ratio of current
225 -
            flow and rated current of the transformer. This is the recommended
226 -
            setting, since thermal as well as magnetic effects in the
227 -
            transformer depend on the current.
223 +
                        flow and rated current of the transformer. This is the recommended
224 +
                        setting, since thermal as well as magnetic effects in the
225 +
                        transformer depend on the current.
228 226
            - "power" - transformer loading is given as ratio of apparent
229 -
            power flow to the rated apparent power of the transformer.
230 -
231 -
        **enforce_q_lims** (bool, False)
227 +
                        power flow to the rated apparent power of the transformer.
232 228
233 -
        (Not tested with 3 Phase load flow) - respect generator reactive power
234 -
        limits
229 +
        **enforce_q_lims** (bool, False) (Not tested with 3 Phase load flow)
230 +
        - respect generator reactive power limits
235 231
236 232
            If True, the reactive power limits in net.gen.max_q_mvar/min_q_mvar
237 233
            are respected in the loadflow. This is done by running a second
@@ -243,29 +239,28 @@
Loading
243 239
244 240
245 241
        **check_connectivity** (bool, True) - Perform an extra connectivity
246 -
        test after the conversion from pandapower to PYPOWER
242 +
        test after the conversion from pandapower to PYPOWER.
247 243
248 244
            If True, an extra connectivity test based on SciPy Compressed
249 245
            Sparse Graph Routines is perfomed. If check finds unsupplied buses,
250 246
            they are set out of service in the ppc
251 247
252 248
        **voltage_depend_loads** (bool, True)
249 +
        (Not tested with 3 Phase load flow) - consideration of voltage-dependent loads.
253 250
254 -
        (Not tested with 3 Phase load flow)  - consideration of
255 -
        voltage-dependent loads. If False, net.load.const_z_percent and
256 -
        net.load.const_i_percent are not considered, i.e. net.load.p_mw and
257 -
        net.load.q_mvar are considered as constant-power loads.
251 +
            If False, ``net.load.const_z_percent`` and ``net.load.const_i_percent``
252 +
            are not considered, i.e. ``net.load.p_mw`` and ``net.load.q_mvar``
253 +
            are considered as constant-power loads.
258 254
259 -
        **consider_line_temperature** (bool, False)
255 +
        **consider_line_temperature** (bool, False) (Not tested with 3 Phase
256 +
        load flow) - adjustment of line impedance based on provided line temperature.
260 257
261 -
        (Not tested with 3 Phase load flow) - adjustment of line
262 -
        impedance based on provided line temperature. If True, net.line must
263 -
        contain a column "temperature_degree_celsius". The temperature
264 -
        dependency coefficient alpha must be provided in the net.line.alpha
265 -
            column, otherwise the default value of 0.004 is used
258 +
            If True, ``net.line`` must contain a column ``temperature_degree_celsius``.
259 +
            The temperature dependency coefficient alpha must be provided in
260 +
            the ``net.line.alpha`` column, otherwise the default value of 0.004 is used.
266 261
267 262
268 -
        **KWARGS:
263 +
        **KWARGS**:
269 264
270 265
        **numba** (bool, True) - Activation of numba JIT compiler in the
271 266
        newton solver
@@ -293,53 +288,48 @@
Loading
293 288
        transformers are considered. Valid options are "hv", "mv", "lv"
294 289
        for HV/MV/LV side or "star" for the star point.
295 290
296 -
        **v_debug** (bool, False)
297 -
298 -
        (Not tested with 3 Phase load flow) - if True, voltage values in each
299 -
        newton-raphson iteration are logged in the ppc
291 +
        **v_debug** (bool, False) (Not tested with 3 Phase load flow) - if True,
292 +
        voltage values in each newton-raphson iteration are logged in the ppc.
300 293
301 -
        **init_vm_pu** (string/float/array/Series, None)
302 -
303 -
        (Not tested with 3 Phase load flow) - Allows to define
304 -
        initialization specifically for voltage magnitudes.
305 -
        Only works with init == "auto"!
294 +
        **init_vm_pu** (string/float/array/Series, None) (Not tested with 3
295 +
        Phase load flow) - Allows to define initialization specifically for
296 +
        voltage magnitudes. Only works with ``init == "auto"``!
306 297
307 298
            - "auto": all buses are initialized with the mean value of all
308 -
            voltage controlled elements in the grid
299 +
              voltage controlled elements in the grid
309 300
            - "flat" for flat start from 1.0
310 301
            - "results": voltage magnitude vector is taken from result table
311 302
            - a float with which all voltage magnitudes are initialized
312 303
            - an iterable with a voltage magnitude value for each bus
313 -
            (length and order has to match with the buses in net.bus)
304 +
              (length and order has to match with the buses in net.bus)
314 305
            - a pandas Series with a voltage magnitude value for each bus
315 -
            (indexes have to match the indexes in net.bus)
316 -
317 -
         **init_va_degree** (string/float/array/Series, None)
306 +
              (indexes have to match the indexes in net.bus)
318 307
319 -
         (Not tested with 3 Phase load flow)-
320 -
        Allows to define initialization specifically for voltage angles.
321 -
        Only works with init == "auto"!
308 +
         **init_va_degree** (string/float/array/Series, None) (Not tested with
309 +
         3 Phase load flow) - Allows to define initialization specifically for voltage angles.
310 +
         Only works with ``init == "auto"``!
322 311
323 312
            - "auto": voltage angles are initialized from DC power flow
324 -
            if angles are calculated or as 0 otherwise
313 +
              if angles are calculated or as 0 otherwise
325 314
            - "dc": voltage angles are initialized from DC power flow
326 315
            - "flat" for flat start from 0
327 316
            - "results": voltage angle vector is taken from result table
328 317
            - a float with which all voltage angles are initialized
329 318
            - an iterable with a voltage angle value for each bus (length
330 -
            and order has to match with the buses in net.bus)
319 +
              and order has to match with the buses in net.bus)
331 320
            - a pandas Series with a voltage angle value for each bus (indexes
332 -
            have to match the indexes in net.bus)
321 +
              have to match the indexes in net.bus)
333 322
334 -
        **recycle** (dict, none)
335 -
336 -
        - Reuse of internal powerflow variables for
337 -
        time series calculation
323 +
        **recycle** (dict, none) - Reuse of internal powerflow variables for
324 +
        time series calculation.
338 325
339 326
            Contains a dict with the following parameters:
340 327
            bus_pq: If True PQ values of buses are updated
328 +
341 329
            gen: If True Sbus and the gen table in the ppc are recalculated
330 +
342 331
            Ybus: If True the admittance matrix (Ybus, Yf, Yt) is taken from
332 +
343 333
            ppc["internal"] and not reconstructed
344 334
345 335
        **neglect_open_switch_branches** (bool, False)
@@ -353,9 +343,12 @@
Loading
353 343
         To add zero sequence parameters into network from the standard type
354 344
355 345
    EXAMPLES:
356 -
        >>> from pandapower.pf.runpp_3ph import runpp_3ph
346 +
        Use this module like this:
347 +
348 +
        .. code-block:: python
357 349
358 -
        >>> runpp_3ph(net)
350 +
            from pandapower.pf.runpp_3ph import runpp_3ph
351 +
            runpp_3ph(net)
359 352
360 353
    NOTES:
361 354
        - Three phase load flow uses Sequence Frame for power flow solution.

@@ -374,14 +374,14 @@
Loading
374 374
    net.sgen.controllable / net.gen.controllable signals if a generator is controllable. If False,
375 375
    the active and reactive power are assigned as in a normal power flow. If yes, the following
376 376
    flexibilities apply:
377 -
        - net.sgen.min_p_mw / net.sgen.max_p_mw
378 -
        - net.gen.min_p_mw / net.gen.max_p_mw
379 -
        - net.load.min_p_mw / net.load.max_p_mw
380 -
381 -
        Network constraints can be defined for buses, lines and transformers the elements in the following columns:
382 -
        - net.line.max_loading_percent
383 -
        - net.trafo.max_loading_percent
384 -
        - net.trafo3w.max_loading_percent
377 +
    - net.sgen.min_p_mw / net.sgen.max_p_mw
378 +
    - net.gen.min_p_mw / net.gen.max_p_mw
379 +
    - net.load.min_p_mw / net.load.max_p_mw
380 +
381 +
    Network constraints can be defined for buses, lines and transformers the elements in the following columns:
382 +
    - net.line.max_loading_percent
383 +
    - net.trafo.max_loading_percent
384 +
    - net.trafo3w.max_loading_percent
385 385
386 386
    INPUT:
387 387
        **net** - The pandapower format network

@@ -776,7 +776,7 @@
Loading
776 776
777 777
def clear_result_tables(net):
778 778
    """
779 -
    Clears all 'res_...' DataFrames in net.
779 +
    Clears all ``res_`` DataFrames in net.
780 780
    """
781 781
    for key in net.keys():
782 782
        if isinstance(net[key], pd.DataFrame) and key[:3] == "res" and net[key].shape[0]:
@@ -1766,6 +1766,7 @@
Loading
1766 1766
def replace_impedance_by_line(net, index=None, only_valid_replace=True, max_i_ka=np.nan):
1767 1767
    """
1768 1768
    Creates lines by given impedances data, while the impedances are dropped.
1769 +
1769 1770
    INPUT:
1770 1771
        **net** - pandapower net
1771 1772
@@ -1804,6 +1805,7 @@
Loading
1804 1805
def replace_line_by_impedance(net, index=None, sn_mva=None, only_valid_replace=True):
1805 1806
    """
1806 1807
    Creates impedances by given lines data, while the lines are dropped.
1808 +
1807 1809
    INPUT:
1808 1810
        **net** - pandapower net
1809 1811
@@ -2318,7 +2320,8 @@
Loading
2318 2320
2319 2321
def replace_ward_by_internal_elements(net, wards=None):
2320 2322
    """
2321 -
    Replaces wards by loads and shunts
2323 +
    Replaces wards by loads and shunts.
2324 +
2322 2325
    INPUT:
2323 2326
        **net** - pandapower net
2324 2327
@@ -2374,6 +2377,7 @@
Loading
2374 2377
def replace_xward_by_internal_elements(net, xwards=None):
2375 2378
    """
2376 2379
    Replaces xward by loads, shunts, impedance and generators
2380 +
2377 2381
    INPUT:
2378 2382
        **net** - pandapower net
2379 2383
@@ -2430,9 +2434,9 @@
Loading
2430 2434
      **name** - Name of the element to match.
2431 2435
2432 2436
    OPTIONAL:
2433 -
      **exact_match** (boolean, True) - True: Expects exactly one match, raises
2434 -
                                                UserWarning otherwise.
2435 -
                                        False: returns all indices containing the name
2437 +
      **exact_match** (boolean, True) -
2438 +
          True: Expects exactly one match, raises UserWarning otherwise.
2439 +
          False: returns all indices containing the name
2436 2440
2437 2441
    OUTPUT:
2438 2442
      **index** - The indices of matching element(s).
@@ -2456,26 +2460,27 @@
Loading
2456 2460
    INPUT:
2457 2461
      **net** - pandapower network
2458 2462
2459 -
      **element** (str or iterable of strings) - Element table to get indices from ("line", "bus",
2460 -
            "trafo" etc.)
2463 +
      **element** (str, string iterable) - Element table to get indices from
2464 +
      ("line", "bus", "trafo" etc.).
2461 2465
2462 -
      **name** (str or iterable of strings) - Name of the element to match.
2466 +
      **name** (str) - Name of the element to match.
2463 2467
2464 2468
    OPTIONAL:
2465 -
      **exact_match** (boolean, True) - True: Expects exactly one match, raises
2466 -
                                                UserWarning otherwise.
2467 -
                                        False: returns all indices containing the name
2469 +
      **exact_match** (boolean, True)
2470 +
2471 +
          - True: Expects exactly one match, raises UserWarning otherwise.
2472 +
          - False: returns all indices containing the name
2468 2473
2469 2474
    OUTPUT:
2470 2475
      **index** (list) - List of the indices of matching element(s).
2471 2476
2472 2477
    EXAMPLE:
2473 -
        import pandapower.networks as pn
2474 -
        import pandapower as pp
2475 -
        net = pn.example_multivoltage()
2476 -
        idx1 = pp.get_element_indices(net, "bus", ["Bus HV%i" % i for i in range(1, 4)])
2477 -
        idx2 = pp.get_element_indices(net, ["bus", "line"], "HV", exact_match=False)
2478 -
        idx3 = pp.get_element_indices(net, ["bus", "line"], ["Bus HV3", "MV Line6"])
2478 +
        >>> import pandapower.networks as pn
2479 +
        >>> import pandapower as pp
2480 +
        >>> net = pn.example_multivoltage()
2481 +
        >>> idx1 = pp.get_element_indices(net, "bus", ["Bus HV%i" % i for i in range(1, 4)])
2482 +
        >>> idx2 = pp.get_element_indices(net, ["bus", "line"], "HV", exact_match=False)
2483 +
        >>> idx3 = pp.get_element_indices(net, ["bus", "line"], ["Bus HV3", "MV Line6"])
2479 2484
    """
2480 2485
    if isinstance(element, str) and isinstance(name, str):
2481 2486
        element = [element]
@@ -2523,11 +2528,16 @@
Loading
2523 2528
        **buses** (single integer or iterable of ints)
2524 2529
2525 2530
     OPTIONAL:
2526 -
        **respect_switches** (boolean, True)    - True: open switches will be respected
2527 -
                                                  False: open switches will be ignored
2528 -
        **respect_in_service** (boolean, False) - True: in_service status of connected lines will be
2529 -
                                                        respected
2530 -
                                                  False: in_service status will be ignored
2531 +
        **respect_switches** (boolean, True)
2532 +
2533 +
            - True: open switches will be respected
2534 +
            - False: open switches will be ignored
2535 +
2536 +
        **respect_in_service** (boolean, False)
2537 +
2538 +
            - True: in_service status of connected lines will be respected
2539 +
            - False: in_service status will be ignored
2540 +
2531 2541
     OUTPUT:
2532 2542
        **connected_elements** (set) - Returns connected elements.
2533 2543
@@ -2598,19 +2608,29 @@
Loading
2598 2608
        **buses** (single integer or iterable of ints)
2599 2609
2600 2610
     OPTIONAL:
2601 -
        **respect_switches** (boolean, True)        - True: open switches will be respected
2602 -
                                                      False: open switches will be ignored
2603 -
        **respect_in_service** (boolean, False)     - True: in_service status of connected buses
2604 -
                                                            will be respected
2605 -
                                                            False: in_service status will be
2606 -
                                                            ignored
2607 -
        **consider** (iterable, ("l", "s", "t", "t3", "i"))    - Determines, which types of
2611 +
        **respect_switches** (boolean, True)
2612 +
2613 +
            - True: open switches will be respected
2614 +
            - False: open switches will be ignored
2615 +
2616 +
        **respect_in_service** (boolean, False)
2617 +
2618 +
            - True: in_service status of connected buses will be respected
2619 +
            - False: in_service status will be ignored
2620 +
2621 +
        **consider** (iterable, ("l", "s", "t", "t3", "i")) - Determines, which types of
2608 2622
        connections will be considered.
2609 -
                                                      l: lines
2610 -
                                                      s: switches
2611 -
                                                      t: trafos
2612 -
                                                      t3: trafo3ws
2613 -
                                                      i: impedances
2623 +
2624 +
            l: lines
2625 +
2626 +
            s: switches
2627 +
2628 +
            t: trafos
2629 +
2630 +
            t3: trafo3ws
2631 +
2632 +
            i: impedances
2633 +
2614 2634
     OUTPUT:
2615 2635
        **cl** (set) - Returns connected buses.
2616 2636
@@ -2708,17 +2728,25 @@
Loading
2708 2728
2709 2729
        **element** (integer)
2710 2730
2711 -
        **et** (string)                             - Type of the source element:
2712 -
                                                      l, line: line
2713 -
                                                      s, switch: switch
2714 -
                                                      t, trafo: trafo
2715 -
                                                      t3, trafo3w: trafo3w
2716 -
                                                      i, impedance: impedance
2731 +
        **et** (string) - Type of the source element:
2732 +
2733 +
            l, line: line
2734 +
2735 +
            s, switch: switch
2736 +
2737 +
            t, trafo: trafo
2738 +
2739 +
            t3, trafo3w: trafo3w
2740 +
2741 +
            i, impedance: impedance
2717 2742
2718 2743
     OPTIONAL:
2719 -
        **respect_in_service** (boolean, False)     - True: in_service status of connected buses
2720 -
                                                            will be respected
2721 -
                                                      False: in_service status will be ignored
2744 +
        **respect_in_service** (boolean, False)
2745 +
2746 +
        True: in_service status of connected buses will be respected
2747 +
2748 +
        False: in_service status will be ignored
2749 +
2722 2750
     OUTPUT:
2723 2751
        **cl** (set) - Returns connected switches.
2724 2752

@@ -59,7 +59,7 @@
Loading
59 59
60 60
     OPTIONAL:
61 61
     **notravbuses** (set) - Indices of notravbuses: lines connected to these buses are
62 -
                                       not being considered in the graph
62 +
     not being considered in the graph
63 63
64 64
     OUTPUT:
65 65
        **cc** (generator) - Returns a generator that yields all clusters of buses connected
@@ -98,15 +98,17 @@
Loading
98 98
99 99
100 100
     OPTIONAL:
101 -
        **respect_switches** (boolean, True) - True: open line switches are being considered
102 -
                                                     (no edge between nodes)
103 -
                                               False: open line switches are being ignored
101 +
        **respect_switches** (boolean, True)
104 102
105 -
        **nogobuses** (integer/list, None) - nogobuses are not being considered
103 +
            True: open line switches are being considered (no edge between nodes).
106 104
107 -
        **notravbuses** (integer/list, None) - lines connected to these buses are not being
108 -
                                              considered
109 -
        **weight** (string, None) – Edge data key corresponding to the edge weight
105 +
            False: open line switches are being ignored.
106 +
107 +
        **nogobuses** (integer/list, None) - nogobuses are not being considered.
108 +
109 +
        **notravbuses** (integer/list, None) - lines connected to these buses are not being considered.
110 +
111 +
        **weight** (string, None) – Edge data key corresponding to the edge weight.
110 112
111 113
     OUTPUT:
112 114
        **dist** - Returns a pandas series with containing all distances to the source bus

@@ -82,9 +82,11 @@
Loading
82 82
                                           delete_buffer_file to False!
83 83
84 84
            **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's
85 +
85 86
                                         "opf.flowlim" parameter:
86 87
                                             "S" - apparent power flow (limit in MVA),
87 -
                                             "I" - current magnitude (limit in MVA at 1 p.u. voltage)                                    
88 +
                                             "I" - current magnitude (limit in MVA at 1 p.u. voltage)
89 +
88 90
            **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use.
89 91
    """
90 92
    net._options = {}
@@ -231,8 +233,8 @@
Loading
231 233
232 234
            **opf_flow_lim** (str, "I") - Quantity to limit for branch flow constraints, in line with matpower's
233 235
                                                 "opf.flowlim" parameter
234 -
                                                "S" - apparent power flow (limit in MVA),
235 -
                                                "I" - current magnitude (limit in MVA at 1 p.u. voltage)
236 +
                                                 "S" - apparent power flow (limit in MVA),
237 +
                                                 "I" - current magnitude (limit in MVA at 1 p.u. voltage)
236 238
237 239
            **delete_buffer_file** (Bool, True) - If True, the .json file used by powermodels will be deleted after
238 240
                                                  optimization.
@@ -265,17 +267,27 @@
Loading
265 267
               opf_flow_lim="S", pm_tol=1e-8, **kwargs):  # pragma: no cover
266 268
    """
267 269
    Runs a non-linear transmission network extension planning (tnep) optimization using PowerModels.jl.
270 +
268 271
    OPTIONAL:
269 -
        **julia_file** (str, None) - path to a custom julia optimization file
270 -
        **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure
271 -
        **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it
272 -
        **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use
273 -
        **pm_solver** (str, "juniper") - The "main" power models solver
274 -
        **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper)
275 -
        **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper)
272 +
        **julia_file** (str, None) - path to a custom julia optimization file.
273 +
        
274 +
        **pp_to_pm_callback** (function, None) - callback function to add data to the PowerModels data structure.
275 +
        
276 +
        **correct_pm_network_data** (bool, True) - checks if network data is correct. If not tries to correct it.
277 +
        
278 +
        **pm_model** (str, "ACPPowerModel") - The PowerModels.jl model to use.
279 +
        
280 +
        **pm_solver** (str, "juniper") - The "main" power models solver.
281 +
        
282 +
        **pm_mip_solver** (str, "cbc") - The mixed integer solver (when "main" solver == juniper).
283 +
        
284 +
        **pm_nl_solver** (str, "ipopt") - The nonlinear solver (when "main" solver == juniper).
285 +
        
276 286
        **pm_time_limits** (Dict, None) - Time limits in seconds for power models interface. To be set as a dict like
277 287
                                          {"pm_time_limit": 300., "pm_nl_time_limit": 300., "pm_mip_time_limit": 300.}
278 -
        **pm_log_level** (int, 0) - solver log level in power model
288 +
                                          
289 +
        **pm_log_level** (int, 0) - solver log level in power model.
290 +
        
279 291
        **pm_tol** (float, 1e-8) - default desired convergence tolerance for solver to use.
280 292
     """
281 293
    julia_file = os.path.join(pp_dir, "opf", 'run_powermodels_tnep.jl')

@@ -19,9 +19,11 @@
Loading
19 19
    """
20 20
    Creates type data in the type database. The parameters that are used for
21 21
    the loadflow have to be at least contained in data. These parameters are:
22 +
        
22 23
        - c_nf_per_km, r_ohm_per_km, x_ohm_per_km and max_i_ka (for lines)
23 24
        - sn_mva, vn_hv_kv, vn_lv_kv, vk_percent, vkr_percent, pfe_kw, i0_percent, shift_degree* (for transformers)
24 25
        - sn_hv_mva, sn_mv_mva, sn_lv_mva, vn_hv_kv, vn_mv_kv, vn_lv_kv, vk_hv_percent, vk_mv_percent, vk_lv_percent, vkr_hv_percent, vkr_mv_percent, vkr_lv_percent, pfe_kw, i0_percent, shift_mv_degree*, shift_lv_degree* (for 3-winding-transformers)
26 +
    
25 27
    additional parameters can be added and later loaded into pandapower with the function
26 28
    "parameter_from_std_type".
27 29
@@ -312,7 +314,8 @@
Loading
312 314
313 315
def add_zero_impedance_parameters(net):
314 316
    """
315 -
    Adds all parameters required for zero sequence impedance calculations
317 +
    Adds all parameters required for zero sequence impedance calculations.
318 +
    
316 319
    INPUT:
317 320
        **net** - pandapower network
318 321
        
Files Coverage
pandapower 87.67%
setup.py 0.00%
Project Totals (168 files) 87.60%

No yaml found.

Create your codecov.yml to customize your Codecov experience

Sunburst
The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file. The size and color of each slice is representing the number of statements and the coverage, respectively.
Icicle
The top section represents the entire project. Proceeding with folders and finally individual files. The size and color of each slice is representing the number of statements and the coverage, respectively.
Grid
Each block represents a single file in the project. The size and color of each block is represented by the number of statements and the coverage, respectively.
Loading