File Exchange

image thumbnail


version (8.17 KB) by Drew Compston
NRL MSIS-E-00 atmosphere model.


Updated 07 Dec 2019

View License

Computes the MSIS-E-00, which is a model for Earth's atmosphere from the ground into the exosphere. I would call it more of a hack than a true MSIS implementation as it works by querying the online interface at using the curl command on an operating system terminal. Because of this, it requires an internet connection and is pretty slow, but if high speed is not an important issue for you, this can be an easy way to get MSIS data into MATLAB.

An example script for how to use the function is given as msistest.m. This is also the script that generated the attached screenshot. It took a little less than 3 minutes to run on my computer.

As stated, the query is made using the command curl in an operating system terminal. This program is built-in to Unix (and Mac I believe) but not Windows. Windows users can download cURL from You'll have to download the appropriate executable for your operating system, and I recommend putting it in the same directory as msis.m.

Cite As

Drew Compston (2020). MSIS-E-00 (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

15 February 2020: I had to replace

data = sscanf(result(newlines(200)+1 : newlines(200 + sweeplen)-1), '%f');


data = sscanf(result(newlines(203)+1 : newlines(203 + sweeplen)-1), '%f');

I'm trying to use this model with changes of Lutz, but it doesn't work. I have this error:

Error using msis>parseresult (line 518)
The online interface returned:

301 Moved Permanently

Moved Permanently
The document has moved here.

Error in msis (line 364)
(index-1)) = parseresult(fpath, sweeplen(index));

Error in msistest (line 35)
[rho, T] = msis(time, latitude(index), longitude(:), altitude);

Could someone help me? Thanks!

The MSIS-90 model executable at the CCMC now allows up to sweeplen=1000 positions.

Lutz Rastaetter, Community Coordinated Modeling Center

Omniweb at GSFC stopped offering running the MSIS-90 model.
The service has been shifted to the Community Coordinated Modeling Center (CCMC).
The online form at the CCMC to run MSIS-90 is

These changes are needed in the Matlab drivers (msis.m, msistest.m):
1) All instances of "" should be replaced by "".
2) Success in parseresult() is different since the CCMC web page returns more HTML code compared to the Omniweb server:
For MSIS-90, returned data used to start at line 37, now data start at line 201 (also replace 36 with 200).

3) The number of outputs permitted at CCMC is currently 150 so the msistest example fails as it expects sweeplen=360 output lines. I will post an update when I have successfully ran an updated model executable that would permit more output lines.

Lutz Rastaetter, Community Coordinated Modeling Center (


Changed Title and Summary to reflect new MSIS.

Updated website where data can be accessed.

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

Inspired by: International Reference Ionosphere (IRI) Model