Earth System Modeling Framework: Difference between revisions

Content deleted Content added
Script-assisted fixes: per MOS:NUM, MOS:CAPS, MOS:LINK
Dexbot (talk | contribs)
m WP:CHECKWIKI error fix. Section heading problem. Violates WP:MOSHEAD.
Line 6:
The ESMF project is distinguished by its strong emphasis on community [[governance]] and [[distributed development]], and by a diverse customer base that includes modeling groups from universities, major U.S. research centers, the [[National Weather Service]], the [[United States Department of Defense|Department of Defense]], and [[NASA]]. The ESMF development team was centered at [[NCAR]] until 2009, after which it moved to the [[NOAA]] [[Earth System Research Laboratory]].
 
===Purpose===
 
ESMF increases the interoperability of Earth-science modeling software developed at different sites and promotes [[code reuse]]. The idea is to transform distributed, specialized knowledge and resources into a collaborative, integrated modeling community that operates more efficiently, can address a wider variety of problems more effectively, and is more responsive to societal needs.
 
===Software architecture===
 
ESMF is based on principles of [[component-based software engineering]]. The components within an ESMF software application usually represent large-scale physical domains such as the [[atmosphere]], ocean, [[cryosphere]], or land surface. Some models also represent specific processes (e.g. ocean biogeochemistry, the impact of [[solar radiation]] on the atmosphere) as components. In ESMF, components can create and drive other components so that an ocean biogeochemistry component can be part of a larger ocean component.
 
The software that connects physical domains is called a coupler in the Earth system modeling community. Couplers follow the [[mediator pattern]] and take the outputs from one component and transform them into the inputs that are needed to run another component. Transformations may include unit conversions, grid interpolation or remapping, mergers (i.e., combining land and ocean surfaces to form a completely covered global surface) or other specialized transformations. In ESMF, couplers are also software components.
 
===Capabilities===
 
ESMF represents user data in the form of [[data object]]s such as grids, fields, and arrays. The user data within a component may be copied or referenced into these ESMF objects. Once user data is part of an ESMF data object, framework methods can be used to transform and transfer the data as required to other components in the system. This generally happens within a coupler component.
 
Line 21 ⟶ 24:
ESMF can associate [[metadata]] with data objects. The metadata, in the form of name and value pairs, is grouped into packages, which can be written out in [[XML]] and other standard formats. ESMF metadata packages are based on community conventions including the [[Climate and Forecast Metadata Conventions]] and the [[METAFOR]] Common Information Model.
 
===History===
 
The ESMF collaboration had its roots in the [[Common Modeling Infrastructure]] Working Group (CMIWG), an unfunded, grass-roots effort to explore ways of enhancing collaborative Earth system model development. The CMIWG attracted broad participation from major weather and climate modeling groups at research and operational centers. In a series of meetings held from 1998 to 2000, CMIWG members established general requirements and a preliminary design for a common [[software framework]].