File Exchange

image thumbnail

Global Moupfouma rain CDF prediction model

version (1.96 KB) by luis emiliani
implementation of the Moupfouma-Martin rainfall rate CDF model, as per Electronic Letters paper Vol.29, No.17, Aug. 1993


Updated 12 Nov 2019

View License

%function [Pg, Rg, Pi, Ri]=Global_Moupfouma(Rzz1,ClimZone)
%Function implementing the Moupfouma-Martin model,
%as per Electronic Letters paper "Point Rainfall rate cumulative
%distribution valid at various locations"
%F. Moupfouma and L. Martin, EL, Vol.29, No.17, Aug. 1993
%Rzz1: Rain rate value exceeded 0.01% of the time (from measured data if possible)
%Climzone: string: either 'tropical' or 'temperate'
%Pg: vector of percentages of exceedance ( P(R > Rg), probability, %).
%Rg: vector of rain rate values exceeded during Pg percent of the time.
%[Pg,Rg] are a cumulative distribution function useful for telecom system
%design at frequencies above 7 GHz in tropical regions, or in general, for
%systems affected by rain attenuation
%ADDITIONAL OUTPUTS [in strict order]
%Ri : Rainfall rate, interpolated
%Pi : Probability of exceeding rainfall rate Ri, at values specified by ITU-R P.311 (P(R > Ri), probability, %)
%Example of usage:
% [Pg,Rg,Pi,Ri]=Global_Moupfouma(110,'tropical');

Cite As

luis emiliani (2019). Global Moupfouma rain CDF prediction model (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (6)

@Sunday Aboyeji: when i run it like this: [~,~,Pi,Ri]=Global_Moupfouma(95,'tropical') I obtain
Pi =
50.0 30.0 20.0 10.0 5.0 3.0 2.0 1.0 0.5 0.3 0.2 0.1 0.05 0.03 0.02 0.01 0.005 0.003 0.002 0.001
Ri= NaN NaN NaN NaN NaN NaN 2.887 6.158 11.415 16.867 22.317 34.253 49.669 63.016 74.479 95.0 115.67 130.575 142.09 161.058

Please note that you do have to supply output variables in the square brackets for the various outputs to be provided. Just calling the model without an output assignment will only return the first of the output arguments which happens to be Pg, the probability of exceedance for the reference vector Rg=[2:0.25:400]'. So it seems this is your problem, you are not providing a full set of output assignments.
for more information on matlab functions, please see

NaNs are not an issue given the model's range of application and min valid RR.

@luis emiliani please I await your reply. Thank you.

Yes. My annual average rain rate is 95mm/h and am working in tropical region. Once I run the program, this is what I type in as example suggested: Global_Moupfouma (95,'tropical'). Please I need clarification. Thank you.

@Sunday Aboyeji : how are you calling the function? are you typing exactly as the example suggests?

Thank you for the code. However, the code is only giving out single output which is the time percentage. The rain rate Rg is not part of the output. Thanks.


This program is not working well... It shows only the ITU values which is declared. It doesn't show the rain fall rate according to moupfouma model


description changes

Clarified usage of interpolated P/3011 results. Outputs now include raw data and interpolated data.
full call returns all P and R options,.

implementation issues: precende problem on Pg line and change of opeartor in the tropical part of u

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux