Faits: Faits: A. Par contrat du 4 novembre 1998, Y._ SA a remis à bail à X._ SA un terrain d'environ 1100 m2 situé à Z._ et destiné au stockage de matériaux divers. Le loyer annuel était fixé à 15'000 fr. Le contrat a été conclu pour une année à partir du 1er décembre 1998; sauf résiliation signifiée trois mois à l'avance, il se renouvelait ensuite pour une année, puis de trois mois en trois mois. En mai 1999, la bailleresse a autorisé X._ SA à construire un enclos sur le terrain loué. Par courrier du 10 juin 1999, elle informait la locataire que d'autres locataires de la parcelle et des voisins plus éloignés s'étaient plaints de la forte poussière dégagée lors de la manutention de déchets de bois entreposés sur le site; elle l'invitait à apporter au plus vite les modifications nécessaires afin que les voisins ne soient plus incommodés par son activité et lui rappelait son obligation d'obtenir une autorisation officielle pour la construction et le rehaussement de l'enclos. X._ SA a répondu que son activité, clairement précisée lors de la conclusion du bail, générait immanquablement des poussières; elle précisait par ailleurs avoir pris des mesures pour diminuer les nuisances et déposé une demande d'autorisation de rehausser le mur de l'enclos à quatre mètres. Par lettre recommandée du 26 août 1999, Y._ SA a mis un terme au contrat pour l'échéance du 30 novembre 1999; elle invoquait les demandes de dédommagement pour perte d'exploitation que deux locataires voisins lui avaient adressées ainsi que l'absence d'efficacité des mesures adoptées par la locataire pour éviter les nuisances. X._ SA a saisi la Commission de conciliation en matière de baux et loyers. Le 9 mai 2000, les parties ont signé devant la Commission un procès-verbal au terme duquel la bailleresse, pour avoir ignoré l'exigence de la formule officielle à l'époque de la résiliation du bail, retirait le congé du 26 août 1999. Dans l'intervalle, par avis officiel du 26 novembre 1999, Y._ SA avait résilié le bail pour le 29 février 2000, toujours en raison des nuisances provoquées par la locataire. B. Le 22 décembre 1999, X._ SA a saisi la Commission de conciliation d'une nouvelle requête en annulation de congé, subsidiairement en prolongation de bail. Par décision du 13 juillet 2000, la Commission a délivré, en tant que de besoin, l'autorisation de citer à la locataire. X._ SA a porté la cause devant le Tribunal des baux et loyers du canton de Genève. Par jugement du 1er octobre 2001, cette instance a déclaré inefficace le congé notifié le 26 novembre 1999 pour le 29 février 2000. Statuant le 31 mai 2002 sur appel de Y._ SA, la Chambre d'appel en matière de baux et loyers a annulé le jugement de première instance et dit que le congé donné pour le 29 février 2000 était valable. Statuant le 31 mai 2002 sur appel de Y._ SA, la Chambre d'appel en matière de baux et loyers a annulé le jugement de première instance et dit que le congé donné pour le 29 février 2000 était valable. C. X._ SA interjette un recours en réforme au Tribunal fédéral. Elle conclut, principalement, à la réforme de l'arrêt attaqué en ce sens que le congé notifié le 26 novembre 1999 pour le 29 février 2000 est inefficace. A titre subsidiaire, la locataire demande l'annulation de l'arrêt attaqué et le renvoi de la cause à la cour cantonale pour nouvelle instruction dans le sens des considérants du Tribunal fédéral. Parallèlement, la demanderesse a demandé la révision de l'arrêt cantonal. La procédure devant la cour de céans a été suspendue jusqu'à droit connu sur la requête en révision (art. 57 al. 1 OJ). Celle-ci a été déclarée non fondée par arrêt du 16 juin 2003 de la Chambre d'appel en matière de baux et loyers. Y._ SA propose le rejet du recours en réforme. 