[Wrf-users] C++ rewrite of ARWpost

Eric Urban hydrogen18 at gmail.com
Tue Jul 6 12:43:31 MDT 2010


Hi,
My name is Eric Urban. Earlier this summer I posted to the list about
ARWpost. Since then I have been doing a C++ rewrite of ARWpost. The first
goal of University of South Alabama's CHILI was to modify ARWpost to allow
plotting of only the desired fields. With this in mind I hacked together
some F90 modules and C++ classes to dictate a new input configuration file
format based upon the old namelist.ARWpost format. I seem to have produced a
stable product in that respect but have yet to work with any users of
ARWpost to extensively test it.

Secondarily, I have started a 'bottom up' approach to rewriting ARWpost in
C++. This is because of the somewhat messy structure of ARWpost's original
code base. My current task is implementing C++ bindings for WRF I/O with
netCDF as the underlying file format. My reasoning for this is because it is
hard to make any sort of stability improvement(removing memory leaks) or
performance improvement(optmizing I/O) with the current structure of the
codebase. The original target language of Fortran 90 was quite advanced when
it came out but is quite dated by modern standards and the non-use or
absence of modern programming paradigms has resulted in a functional
implementation of ARWpost that is not very flexible. I applaud the authors
in their efforts in creating a useful program, but unfortunately it has
shortcomings. The existing source code base has reasonably high cohesion but
extremely high coupling between modules. The latter property has the effect
of creating a codebase in which small changes in one module are impossible
without a high number of corresponding changes in another. I have other
criticisms but they most likely not of interest to the non programmer.

 I can safely say that
http://www.mmm.ucar.edu/wrf/WG2/Tigers/IOAPI/index.html#_Toc55177333 is in
no way a reflection of the newest version of WRF's IO system. It is rife
with errors, omissions, and incomplete specifications.

At the moment I could use any kind of help I can get. I have become a master
by neccessity of calling Fortran code from C++. What I really need is
someone familiar with ARWpost to help me test it my modified and redesigned
version. You would need a linux based system with the PGI compiler to help
me in that respect. Also of great help would be anyone familiar with the WRF
IO API in its current form willing to answer questions when needed. Or if
anyone has more complete,modern documentation from their own work that would
be excellent as well.



Thanks,
Eric Urban
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/wrf-users/attachments/20100706/0a6b7fab/attachment.html 


More information about the Wrf-users mailing list