Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

`aggregate`: explicit feedback about un-aggregatable outcome

Abierto
#789 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
data

Línea de trabajo

Comienza en el punto de entrada cf.aggregate y reproduce el ejemplo con cf.example_fields(), comprobando primero el resultado sin cambios y después la salida con verbose=2. Done debe incluir un resumen explícito cuando un FieldList no se pueda agregar más, con indicaciones sobre cómo relajar las condiciones de agregación si corresponde, manteniendo a la vez los comentarios existentes por campo.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

aggregation API review (4.0.0) enhancement

(In our summit today) a user has conveyed that they would like to get explicit notification when a call to cf.aggregate doesn't aggregate the input any further, e.g for the case of h from the example below unless verbosity is set to at least level of 2/info there is nothing that indicates that the entire FieldList was not aggregatable further, i.e. aggregation didn't work, and even at level 2 you have to count the fields that are mentioned as being unaggregatable or check the length of the resultant FieldList to confirm this.

I agree that the above is not ideal since lack of combination of fields from the input could easily be seen as a 'failure' outcome and therefore to me merits at least a 3/warning level output, with a summary line to cover the whole FieldList result and not just each field individually as per the log output from 2.

Example
>>> import cf
>>> f = cf.example_fields()
>>> g = cf.aggregate(f)  # pre-aggregate down
>>> 
>>> len(g)
11
>>> h = cf.aggregate(g)  # won't aggregate further
>>> len(h)
11
>>> h = cf.aggregate(g, verbose=2)  # won't aggregate further
Unaggregatable 'air_temperature' has been output: <CF AuxiliaryCoordinate: long_name=Grid latitude name(10) > has no identity or no data
Unaggregatable 'precipitation_flux' has been output: <CF AuxiliaryCoordinate: cf_role=timeseries_id(4) > has no identity or no data
Unaggregatable 'air_temperature' has been output: <CF AuxiliaryCoordinate: cf_role=timeseries_id(3) > has no identity or no data
Unaggregatable 'precipitation_amount' has been output: <CF AuxiliaryCoordinate: cf_role=timeseries_id(2) > has no identity or no data
Unaggregatable 'mole_fraction_of_ozone_in_air' has been output: <CF AuxiliaryCoordinate: cf_role=trajectory_id(1) > has no identity or no data

My suggestion is, specifically, that h = cf.aggregate(g) # won't aggregate further will here report a line stating something along the lines of "FieldList was not aggregatable." and perhaps we can make the suggestion of (after the previous) "Try applying further keywords to relax the aggregation conditions if you wish to try to combine the fields further.".

Lenguaje dominante
Python
Estrellas
151
Forks
23
Merge medio
21 h 29 min
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NCAS-CMS/cf-python

Todos los issues de NCAS-CMS/cf-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.