Integration of FEWS-NET into the Land Information System
October 26, 2012 15:26:14
Description of Problem
A USGS famine early warning system (FEWS-NET) drought model, Water Requirement Satisfaction Index (WRSI), stood to benefit from being integrated into NASA (Code 614.3) ‘s Land Information System (LIS), which is a software framework for high performance land surface modeling and data assimilation. LIS brings to bear a host of flexible modeling and computing capabilities for those models privileged enough to be integrated into the LIS framework. However, LIS is a general-purpose Fortran (LINUX/UNIX) batch-queue submission shell executable. Whereas, USGS’s most up-to-the-minute implementation of WRSI was a custom Visual Basic .Net (Windows) graphical user interactive (GUI) application. A phased conversion and integration process was required.
Scientific Objectives and Approach
The approach and implementation of integration of WRSI into LIS were as follows. Phase 1 required first the identification and conversion of core physics from the 20,000-line USGS visual basic code into a standalone fortran executable, and concomitant testing to ensure against lossy or inaccurate translation. In Phase 2 the new fortran physics executable is being integrated with the Land Information System.
The big accomplishments to date are as follows. Provided with just the original VB model code, and in about three months’ time, I substantially completed Phase 1 of the Task. The WRSI model physics is now re-written in fortran90 from 20,000 lines of Visual Basic .Netcode. Testing was designed and conducted by me to ensure that original and converted codes produced the same output. This work was first performed locally on an x86 32bit host, where for this project I also installed all of my own development tools from scratch unassisted. I created a Visual Studio 10 Windows environment for the Visual Basic work and utilized Gfortran, vi, and svnon Redhat5 through VMWarePlayer for the Fortran conversion work. Subsequently during this same period, I checked the codes into the LIS version control repository and successfully replicated all runs and perfect output comparisons of both using the intelcompiler iforton the NASA discover compute cluster. I have also successfully completed LIS tutorials and some preliminary steps toward completion of Phase 2 of the Task.