One of the major problems in water resources management is rainfall forecasting. With the effect of rainfall on water resources as a foregone conclusion, more accurate prediction of rainfall would enable more efficient utilization of water resources and power generation. Countries depending on agro-based economy could benefit tremendously from accurate long-term rainfall predictions. Thus, long-range forecasts require indefatigable effort and long planning using different methods. This study gives attention to long-term rainfall modelling since a long-term forecasting could provide better information for optimal management of a resource that is to be used over a substantial period of time. The aim of the study is also to investigate the capability of non-linear techniques on long-term rainfall forecasting. One of the non-linear techniques being widely used is the Artificial Neural Networks (ANN) approach which has the ability of mapping between input and output patterns without a priori knowledge of the system being modelled. The main aim of the study is to develop a model which is capable of forecasting 12 months rainfall in advance. A feedforward Artificial Neural Network (ANN) rainfall model was developed to investigate its potentials in forecasting rainfall. The study area is the west mountainous region of Iran and the model was developed for a synoptic station in this region. Three separate ANN models with three different input data sets were trained. The first model investigated the effect of the number of lags on the performance of the ANN. The number of lags varied from 1-12 previous months. The second model investigated the effect of adding monthly average to the inputs, and the third model considered seasonal average as an extra input data in addition to the ones in the second model. The effect of the number of hidden neurons on ANN modeling was also examined. The models were trained based on the Levenberg-Marquardt algorithm with tansigmoid activation function for the hidden layer and purelin activation function for the output layer. Monthly rainfall data of 1977-2002 were used for training the models. The models were tested with monthly rainfall data of 2003. It was proven that the larger lags outperform the lower ones in ANN modeling. Also, adding the extra monthly and seasonal average to the input data set leads to better model performance. The number of hidden neurons was varied from 1-30. It was demonstrated that input neurons have more effect on performance criteria than the hidden neurons. Simulation results for the independent testing data series showed that the model can perform well in simulating one year monthly rainfall in advance.