Ecological Archives E000-000-A# {ESA Publications Office will assign this number}

Aaron M. Ellison, Leon J. Osterweil, Julian L. Hadley, Alexander Wise, Emery Boose, Lori Clarke, David R. Foster, Allen Hanson, David Jensen, Paul Kuzeja, Edward Riseman, and Howard Schultz. 2006. Analytic webs support the synthesis of ecological datasets. Ecology VOL: pp-pp.

Appendix C. Simplified XML for the create interpolation model sequence of the analytic web shown in Figures 2 and 3. Data and activity types are declared in the Type Declarations section. In the Data Flow Graph section, nodes are declared and flow is specified by defining downstream connections among nodes. In the Data Derivation Graph section, the instances utilized and / or created in a single execution of the DFG are identified by unique URLs or by direct inclusion in the XML. The information contained in the DFG and DDG is easily represented in XML and could form the basis for a process metadata standard in EML.



<?xml version="1.0" encoding="UTF-8"?>
<!--Simplified DFG and DDG for Create Interpolation Model sequence in Cflux Analytic Web-->
<!--Though this excerpt contains references to other parts of the Analytic Web (e.g., Merge Data), the complete Analytic Web is self-contained.-->
<!--SciWalker performs the transformations required to exchange objects with R. In this case, data' (the object submitted to R) is created from data by extracting the dependent and independent variables (mco2flux and tsoil). Similarly, model is created from model' (the object returned by R) by extracting the regression coefficients (a and b). Though these transformations are not explicitly represented in the DFG and DDG, the code used to implement them would be archived and documented for a particular version of SciWalker.-->
<analytic-web>
	<!--Type Declarations-->
	<type-declarations>
		<!--Data type for Selected Data node-->
		<data-type name="cflux-data">
			<table type="csv">
				<attribute name="year" type="date"/>
				<attribute name="doy" type="date"/>
				<attribute name="u" type="real"/>
				<attribute name="ustar" type="real"/>
				<attribute name="wdir" type="real"/>
				<attribute name="par" type="real"/>
				<attribute name="tair" type="real"/>
				<attribute name="dmintair" type="real"/>
				<attribute name="tsoil" type="real"/>
				<attribute name="vpd" type="real"/>
				<attribute name="mco2flux" type="real"/>
				<attribute name="eco2flux" type="real"/>
				<attribute name="source" type="character"/>
			</table>
		</data-type>
		<!--Data type for Interpolation Model node-->
		<data-type name="nighttime-model">
			<table type="csv">
				<attribute name="a" type="real"/>
				<attribute name="b" type="real"/>
			</table>
		</data-type>
		<!--Activity type for Create Interpolation Model node-->
		<activity-type name="create-model">
			<input name="data" type="cflux-data">
				<parameter name="dependent" attribute="mc02flux"/>
				<parameter name="independent" attribute="tsoil"/>
			</input>
			<output name="model" type="nighttime-model">
				<parameter name="a-coefficient" attribute="a"/>
				<parameter name="b-coefficient" attribute="b"/>
			</output>
			<description>Perform linear regression</description>
		</activity-type>
	</type-declarations>
	<!--Data Flow Graph Declaration-->
	<dfg name="nighttime-cflux">
		<!--Selected Data node-->
		<dfg-node name="selected-data" type="cflux-data"/>
		<!--Interpolation Model node-->
		<dfg-node name="interpolation-model" type="nighttime-model"/>
		<!--Create Interpolation Model node-->
		<dfg-node name="create-interpolation-model" type="create-model"/>
		<!--Node connections-->
		<connector type="fork">
			<binding from="selected-data" to="create-interpolation-model" port="data"/>
			<binding from="selected-data" to="merge-data" port="right"/>
		</connector>
		<connector type="simple">
			<binding from="create-interpolation-model" to="interpolation-model" port="model"/>
		</connector>
	</dfg>
	<!--Data Derivation Graph Declaration-->
	<ddg name="nighttime-cflux-1" dfg="nighttime-cflux">
		<!--Selected Data 1 node-->
		<ddg-node id="selected-data-1" dfg-node="selected-data">
			<url>http://server/cflux-night/1324867403167/selected-data-1.csv"</url>
		</ddg-node>
		<!--Interpolation Model 1 node-->
		<ddg-node id="interpolation-model-1" dfg-node="interpolation-model">
			<url>http://server/cflux-night/1324867404564/interpolation-model-1.csv"</url>
		</ddg-node>
		<!--Create Interpolation Model 1 node-->
		<ddg-node id="create-interpolation-model-1" dfg-node="create-interpolation-model">
			<!-- SciWalker creates data' from data by extracting mco2flux and tsoil-->
			<script language="R" version="1.9.0">
				model'=lm(log(mco2flux)~tsoil, data')
			</script>
			<!--SciWalker creates model from model' by extracting a and b coefficients-->
		</ddg-node>
	</ddg>
</analytic-web>

PDF Version