PRMS Directories and Files

Video Transcript
Download Video
Right-click and save to download

Detailed Description

Presents overview of directories and files necessary to run the USGS Precipitation Runoff Modeling System (PRMS) software.


Date Taken:

Length: 00:12:11

Location Taken: Lakewood, CO, US


Jacob LaFontaine: OK, this presentation will
focus on the file structure and descriptions

of the various files that you would have if
you downloaded the version 4.0.1 of PRMS from

the MOWS web page.

When you download the zip folder and then
unzip it in the location directory that you

choose, at the first level you'll see that
there's 3 folders.

A bin, a dist, and projects.

The bin folder contains the compiled executable
for PRMS.

The dist folder is pretty much support files
that are needed to run the GUI and some other

tools within the PRMS structure, and the projects
folder contains the actual applications.

The example basins that we have for 4.0.1
are for the Apalachicola-Chattahoochee-Flint

or the ACF basin and the Merced basin.

Looking at one of the examples for the ACF,
you'll see that there's three folders underneath

that directory.

The control, input, and output.

Also, there are some batch files for execution
of the PRMS model, as well as some supporting


Zooming into that ACF folder, you see the
three directories.

The control, input, and output.

We'll go through these batch scripts that
we have before actually executing the model.

The first one that's just labeled ACF is the
batch file that executes PRMS in the command

line mode.

Then, the ACF-underscore-GUI will actually
open up the GUI so you can actually run the

model and see the outputs on the screen and
adjust which outputs you want to visualize.

One thing I didn't mention is that if you
look at the bottom of the page, the actual

text inside of the script, you'll see that
this depends on the name of your control file.

So, if you change your control file name,
you need to update what's in this file.

The same thing with the ACF-underscore-GUI
is that it also depends on what your control

file name is and the location of it.

The third is the ACF-underscore-PARAM tool.

This is another batch script that opens up
the PARAM tool program.

This is a nice, easy way to look at and also
edit your parameters for your PRMS model.

This one depends...if you look at the window
at the bottom...depends on where your parameter

file is and what it's called.

Here we have ACF.PARAMS as in the input directory.

Also, in the control directory we have the
name of the control PAR name file which actually

will be created when you run the following
ACF print script.

Before you can execute the model in the GUI
mode, or running the PARAM tool, you'll...

if you haven't already run this print command
for your model, you'll need to do so.

This is another batch file and it creates
four supporting files in the control directory.

Each of these we'll go through next.

This depends on not only what your executable
is you see in the bin we have

just PRMS...but also in the control folder
directory what the control file is called.

Here in the actual control folder, we have
your control file which is ACF.control.

Then there's the four files that are created
with the print command.

So there's the MOD name, the PAR name, PARAM,
and the VAR name files.

This just goes through an example of the actual
control file.

Zooming in on a piece of that file we see
that the four pound signs designate that we're

starting to identify a new control parameter.

In this one we're looking at the data file,
what it's called and where the location is.

Data-underscore-file is that control parameter.

The one means that there's one thing you're
looking for, the four is the type of information

contained there.

For this one it's a type four because it's
a string of characters.

Then, we actually put the path and the name
of the data file on that last line.

You can either use absolute paths or relative

Here, using the dot-slash we're actually using
a relative path to get to the input directory

to go to the data file which you could do
from all the way from c-colon-slash so that

it would find it from all the way outside.

Looking at these other files that are created,
the MOD name file is deprecated now.

It did contain more information about the
actual modules you were using in your application

of PRMS.

So that's still created by the print command,
but it doesn't really add anything to your

information, so you can ignore that one.

The PAR name file actually lists all of the
parameters that are used in the configuration

of PRMS that you have.

So based on which routing method, which ET
method, solar radiation methods, it gives

you the pertinent parameters and describes
them in that file.

Here, just an example parameter.

For HRU area it tells you what module uses
that parameter, a description of what that

parameter actually is, sometimes the names
aren't complete to describe what they are.

Then, looking at the dimension, how many dimensions
it is, this one is only dimension by an HRU

and it says that there's 258 of those and
what type the number is.

It can be a decimal number, and the units
are acres in various ranges and default values.

Then if we look at the PARAM file, the print
command...actually if you do have an existing

parameter file, it will take that information
out of that file and populate this file.

It will also add anything that your application
of PRMS uses but, may not be in your actual

parameter file in the input folder

So if you've left off parameters or there's
maybe there's parameters you've never changed

the values of and you just want to use the
default values you can actually look at what

those are in this file.

The benefit is if have an incomplete parameter
file you can take this file and put it in

your input folder, rename it and run the model
with that one.

And lastly, the VAR name file.

Much like the PAR name file this one actually
outputs all the possible variables that you

could look at from a PRMS execution based
on the choices of modules that you specified.

Here's just an example of the VAR name.

For soil moisture the variable's soil-underscore-moist.

The module computes that again and then the
dimensions and the number type.

Then a short description to give you a better
idea of what that's representing as well as

the units at which it comes out of.

Moving over to the input directory, for the
ACF application there are seven files.

The is the master data file, so this
has the date and time stamps that PRMS actually

uses as available periods to run.

It also includes your observations which typically,
we have stream flow data from USGS stream


If you're not using gridded products for climate
you may have temperature and precipitation

by station.

There's also some other data that could be
included in there that you can look in the

manual to see what other ancillary data.

Here's just an example of the header information.

This is the comments section at the top.

Anything that's behind the slashes is treated
as comments.

Here we have temperature station data with
lat longs and elevation.

Then at the bottom of that we see these four
lines, t-max, t-min, precipitation, and runoff,

that actually tell you the number of each
of those observation that are included in

the file, followed by at least four pound
signs to tell PRMS that the time series will


Then it does year, month, day, hour, minute,
seconds are those three zeroes.

It does each of those observations.

All 79 t-maxes then all 79 t-mins and so forth
all the way across the line.

Looking at the ACF.PARAMS file.

This is what PRMS is using.

This is your parameter file to describe the

There's some header information this is the
example of the top end of the ACF parameter


We say what model it is, what version.

And then leads off with the dimensions for
your basins.

As far as number of rain gauges or temperature
gauges, number of HRUs stream segments are

all defined there.

Then you'll see we get down to where it actually
starts with the parameters.

We have parameters and four pound signs then
we start to go through actual parameter values.

That first one is smidx_exp, but I'll show
a different example of a parameter.

Again the four pound signs defines the start
of where we're describing a parameter.

Then the parameter name follows that.

The next one is the number of dimensions.

There are some parameters in PRMS that may
have two dimensions.

They may be up by NHRU as well as by end month,
so that would be a two in that case.

But this one is only by NHRU.

Then we say that there's 258 HRUS and that
the value type two is a float, and so it's

a decimal number.

We have some parameters that are a one, which
are integer and so forth.

And then it follows with the 258 parameter

These other five .data files are pre-processed
climate by HRU or CBH files.

For this larger basin we have pre-processed
solar radiation, precipitation, ET and air


Each of those are contained here in these
files as an example.

You'll see this in other parts of these demonstrations
as well.

We have a comment line and you say which actual
input it is.

So here it's t-max and there's 258 HRUS followed
by the pound signs again and then the time

series going across each line.

For the output folder, once you've executed
the model by running the ACF batch script,

or run it in the GUI mode, it'll create the
model and the PRMS summary in the STATVAR

file for this application and the way it's
set up.

So the model out file, this set up gives us
an indication of annual water balance, so

precipitation, ET storage, observed and simulated

The PRMS summary file is set up to give you
several basin-averaged variables.

It gives you for your time series a very convenient
CSV format.

It also gives you the units for each of those

The STATVAR file in this case is set up to
provide for basic variables that we tend to

look at.

So basin_cfs is simulated, looking at evapotranspiration,
solar radiation and runoff.

Again you have that header information so
that first four is how many variables you're


Then it has the number time series with again
the number date stamp and then going across

each line represents what you do down each

There's three R-scripts that are set up in
this release.

If you have R installed on your machine, then
you can run these scripts and it will take

these model output files and generate some
plots that will show you the storages and

fluxes for your simulations.

And with that, that concludes our initial
run through to kind of give you an idea of

all the files that are contained and what
they each represent and how they're used in

a PMRS model execution.