Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

`aggregate`: explicit feedback about un-aggregatable outcome

Ouverte
#789 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
data

Piste de recherche

Commencez par le point d’entrée cf.aggregate et reproduisez l’exemple avec cf.example_fields(), en vérifiant d’abord le résultat inchangé, puis la sortie avec verbose=2. Done doit inclure un récapitulatif explicite lorsqu’un FieldList ne peut pas être davantage agrégé, avec des indications sur l’assouplissement des conditions d’agrégation si cela est approprié, tout en conservant les retours existants pour chaque champ.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.".

Langage dominant
Python
Étoiles
151
Forks
23
Merge moyen
1 j 2 h
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de NCAS-CMS/cf-python

Toutes les issues de NCAS-CMS/cf-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.