Monday, October 16, 2017

ParFlow repository moved to GitHub

New ParFlow Repository Location

The ParFlow repository has been moved to GitHub.  The new repository is located here:

ParFlow GitHub Repository

The Subversion based CloudForge repository is for archival purposes, please use the GitHub repo to download the latest versions of ParFlow.

The new repository is using Git.  We are replacing Subversion since Git is a newer source code control system that is gaining widespread use for open source projects.  GitHub is a hosting site for many projects.

There are many web resources for learning Git.   There is a free Git book available here:

If you simply wish to obtain the latest version of ParFlow replace the previous "svn checkout ..." commands with:

>git clone

OS X Yosemite build instruction updates

The following are some helpful instructions provided by Laura Condon updating the build steps for installing ParFlow on OS X Yosemite.

Modifications to the ParFlow blog instructions for installation
Most of the steps on the blog are just fine but the one that needs updating is item 7 on the Yosemite installation instructions (Installing ParFlow in OSX-Yosemite), we’ve really only got two changes.

1. Navigate to your “~/ParF” folder. We’re going to download the source from the “master” branch on GitHub and this will create a folder in this directory called “parflow.” In order for the installation to succeed, the environment variable “PARFLOW_DIR” needs to match this directory name. To verify this, at the command line , type


and something like this should be returned (where
username is you’re your username):


is a directory This can actually be anything you’d like, but you’ll need to
2. Download the source from the repository.   Within “~ParF/”, type the following:

>git clone -b master --single-branch

“git” tells the system we’re using a command for the repository, “clone” tells it to make a local copy, “-b master --single-branch” extracts only the main branch of the development tree and the URL is the path to the repository. If you google “github parflow” and navigate into the source tree, on the right had side you’ll see a green box that contains that URL when you click on it.
When you enter that command you should the download start. After its done, type “ls” and you should see a folder called “parflow.” If you’d like to rename it to reflect the version you can type

>mv parflow parflow.3.2.0

Or any other name you’d like, just make sure to update the $PARFLOW_DIR variable to reflect your name.

Saturday, January 16, 2016

Setup guide for OS X 10.11 El Capitan

by Nick Engdahl

By now you've probably upgraded your Mac to OS X El Capitan (version 10.11) and if you had a previous installation of ParFlow on OS X Yosemite on your system, it's probably working just fine. The reason is that, unlike some previous OS X updates, very little has changed under the hood between the two most recent releases that would have any effect on ParFlow. So to make this arguably the shortest blog post of all time, if you're trying to get a new installation set up on El Capitan the instructions for OS X Yosemite are all you'll need:

OS X Yosemite instructions

But before you click over there, we have come across a very important compatibility issue with Hypre you need to know about. The most recent version (2.10) has changed some function calls and is not compatible with the current ParFlow release. Fortunately, the Hypre developers leave most of their versions available for download so be sure to use Hypre release 2.9.0b or the ParFlow installation will fail.

All of the other components have been tested and we can report that GCC version 6.0, Silo version 4.10.2, and OpenMPI 1.10.2 all work, it's just Hypre that is being difficult. We're looking into an efficient solution but for now, just stick with the legacy version and you'll be fine. And one last reminder, you may and/or probably will need to reinstall command line tools, but that's a mere "xcode-select --install" away (entered at the command line of course).

See, I told you it would be the shortest post ever.

Thursday, October 29, 2015

CLM Modules

by Jen Jefferson
Keywords: CLM, modules, flowchart, steps

At some point when using PF-CLM you might want to know more about the data that is output to you. For example, you might want to know how CLM is computing a particular quantity of interest or what value is being used for a constant within the code. In order to do so you are going to need to know where to look!

CLM is called as a subroutine within PF and consists of a series of modules that contain a lot of equations (too many to count!). These equations are used to parameterize land surface processes and, in some cases, use soil moisture information that is passed from PF to CLM. PF is coupled to a modified version of CLM 3.0 as its “base” [Dai et al., 2001, 2003]; where PF replaces the subsurface and certain equations within the CLM modules have been modified to include soil moisture.

The flowchart below shows the general order of how computations within CLM are executed. A brief description and list of some of the variables computed in each module are also included.

The actual modules can be located in the “clm” folder (e.g., …/ParF/parflow/pfsimulator/clm). A couple other files might be of interest if you decide to dig into the modules:
   1.     A list of global CLM variables (denoted by clm%abc) and their units can be found in clm_typini.F90. Keep in mind that there are several variables computed within the modules that are not global variables. 
   2.     A list of constant values used in computations are located in clm_varcon.F90.

Dai, Y., X. Zeng, and R. E. Dickinson (2001), Common Land Model (CLM) 
Technical Documentation and User’s Guide.

Dai, Y. et al. (2003), The Common Land Model, Bull. Am. Meteorol. Soc., 84(8), 1013–1023, doi:10.1175/BAMS-84-8-1013.