Closed rgknox closed 8 years ago
Finally figured out how to look at this. I like the extraction of the ED elements from the SurfaceRadiation. That looks like the core thing that we need to extract these elements...
Just so I understand, this implies that the host model(s) split out the sunshadefracs calculations from SurfaceRadiationMod. How do we manage passing back these changes into the host model architecture?
On 23 March 2016 at 18:04, Ryan Knox notifications@github.com wrote:
I merged in a branch that included some machine files I needed for testing, continued with a new branch name at that point:
rgknox@e3e23f2 https://github.com/rgknox/ed-clm/commit/e3e23f234492c5663b257e168c2bc901bba54600
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/NGEET/ed-clm/issues/40#issuecomment-200588789
Dr Rosie A. Fisher
Terrestrial Sciences Section Climate and Global Dynamics National Center for Atmospheric Research 1850 Table Mesa Drive Boulder, Colorado, 80305 USA. +1 303-497-1706
Summary of Issue:
The following is some strawman type of interface work.
This work is on-going, and the design is very early phase. Comments and collaboration from the team are encouraged. Work on this issue has started here: https://github.com/NGEET/ed-clm/pull/45
As part of the interface design of ED with generic model drivers, one task is to start moving code with ED memory structures out of non-ed routines and into ED routines that are accessed via an interface. One example of this that is fairly well contained is the calculations of sun/shade fractions in the canopy, previously via clm_driv -> SurfaceRadiation.
A branch has been started to migrate the calculations of ED relevant sun and shade fractions from CLM's SurfaceRadiation to ED code (see above).
Some summary points thus far:
1) A new file has been created called clmed_interface.F90. This file (as it stands now) is specially crafted for the driver model (in this case CLM), as we move forward we can try to make this more generalized and extensible. The file holds memory structures and functions useful for the CLM driver model to communicate with ED. It by design will contain all subroutine and function calls where CLM communicates with ED.
2) The calculations for sun/shade fractions that were inherently ED were moved out of SurfaceRadiation to there own call from clm_driv, and the non-ED counterparts were also moved to their own call in clm_driv.
3) SurfaceRadiation() still contains calculations applicable to use_ed and .not.use_ed.
4) EDSurfaceAlbedoMod was renamed to EDSurfaceRadiationMod, as the routine has and will continue to do more than just calculate albedo's.
5) It is occurring to me that yes EDCLMLinkMod is somewhat of an interface pre-cursor. Perhaps some debate on what kind of role or change this file and its functions will continue to play. It does hold the variable definitions of both file IO and internal CLM-ED communicator definitions.
6) Moved the definition of ed_allsites_inst to EDTypes. Note that the type was already defined there. This move seemed necessary as part of this group of changes to avoid circular dependencies, as ed_allsitesinst is called frequently now as a global from the CLMEDInterf subroutines.