Sorry for the delayed reply.
For this application, the tool we have in development will likely be helpful to you. This tool, called LILAC (Lightweight Land-Atmosphere Coupler), is still in development, but we have a preliminary coupling between CTSM and WRF using this infrastructure. There are a couple of presentations here
ESCOMP/CTSM that give you an overview (search for LILAC on that page). Here is some preliminary code illustrating what this coupling looks like for WRF:
billsacks/WRF . A lot of that code is specific to WRF, but if you search for "call lilac" in that file, you'll get a sense of the interface. Note, though, that the interface is still changing somewhat, and that WRF code is already a bit out of date (I need to update it next week). Another example you can look at is the demo atmosphere driver we put together here, which feeds CTSM with fake atmospheric forcing data:
ESCOMP/CTSM . Again, search for 'call lilac' in that file.
There are some big caveats here:
- This coupling infrastructure is still undergoing some changes, and is not yet documented. We can't provide much support for it at this point, but will be able to provide support within a year or so.
- The build system is awkward right now, though we aim to improve it in the next month or so. (I can post an update to this thread once this is done.)
- Namelist settings are also awkward right now, though we also aim to improve that in the next month or so.
- Model initialization can be a big issue for weather forecasting applications. We are still working on a strategy and implementation for initializing CTSM in a weather forecasting context.