220 likes | 406 Views
Ecophysiological forest stand modelling with XL/Java and GroIMP via internet. Dirk Lanwert Institut of Forest Biometry and Informatics Göttingen 2007. Today: two aspects?. Ecophysiological forest stand model which method and scale uses the model
E N D
Ecophysiologicalforeststand modelling with XL/Java and GroIMP via internet Dirk LanwertInstitut of Forest Biometry and InformaticsGöttingen 2007
Today: two aspects? Ecophysiological forest stand model • which method and scale uses the model • how to use the growth model as via internet Slide 2 dirk lanwert
1. Aspect Method and scale of the model
Triangle of plant models Base relationship between: Structure<-> Process -> core business of FSPM Scale: higheraggegration Where we can find classical forest yield models? Quelle: Buck-Sorlin, Kurth Slide 4 dirk lanwert
Forester’s Aim how to include spatial information in forest yield models without increasing to much complexity computing time demand on underlying information Short: how to intergrate reasonable the competition between individual trees within a stand in tree growth prediction Quelle: Kurth Slide 5 dirk lanwert
Eccophysiological models are a way to occupy the upper part of the model triangle for the use in forest practice. : clasical position of FSPM-models Slide 6 dirk lanwert
Our proposal: method from Sloboda & Pfreundt 1989 • a ecophysiological forest stand model with individual trees • the estimation of light conditions within the stand using needle the biomass distribution (competition) • the calculation of the photosynthesis production efficiency using a relation between: • unshaded condition and shaded condition (biomass as independent variable) Slide 7 dirk lanwert
Stand data requirements initial data requirements: • spatial stem parameter: • position, d1.3, height, • spatial crown parameter: • position, height, diameter Slide 8 dirk lanwert
Model calculation cycle biomass Slide 9 dirk lanwert
Structure: main features • a tree consists of vertical segments • each segment owns his needle mass (beta distribution) • segments are the calculation units needle mass per segment Slide 10 dirk lanwert
shading needle biomass • calculated is all needle mass inside a cone of 60° • divided by squared distance of the owner segment Slide 11 dirk lanwert
relative photosynthetic production • maximum production rate = unshaded conditions above the tree top • shading needle biomass within the cone as independant variable of a reduction function Slide 12 dirk lanwert
Why it is a good idea to use XL and GroIMP 1 private voidkalkuliereExterneBeschattung(float winkel) 2 { 3 [ 4 s:Segment -ancestor-> best:Bestand, 5 ( s.nadelMasseGesamt > 0.0f&&best.aktiv == true) ::> 6 { 7 s.externeBeschattung = 0.0f; 8 // Ermitteln der beschattenden Segmente(a) für das aktuelle Segment (s) 9 for ((* b:Baum (-->)* a:Segment , 10 ( s.getParent() != b &&b.getLastChild() incone(s, false, winkel)), 11 ( a.nadelMasseGesamt > 0.0f && a incone(s, false, winkel)) *)) 12 { 13 s[externeBeschattung] += ( a.nadelMasseGesamt 14 * b.lichtTransmissionsKoeffizient / (distanceSquared(a, s) 15 + b.kalkuliereNadelMasseVerteilungKorrekturTerm())); 16 }; 17 if (s.externeBeschattung > 0.0f) s[color] = F_BESCHATTET; 18 } 19.] 20} Slide 13 dirk lanwert
2. Aspect Internet Connection
The idea: • the model should be accessible remotly via http • necessary stand description data can be included as http-post multipart/formdata. • calculation results will be stored in a file • the result file will delivered on demand via http-get Short: the model as a web-service Slide 15 dirk lanwert
The solution Caller Modell GroIMP Generalised stand desctiption(Forester stand description: VRML Format) sending program ( http, http-post) (multipart/formdata) understanding multipart/formdata(httpform package) understanding forester stand description (forester package) using tree data(model code) build in web-server (part of GroIMP) conecting the web-server (XL/Java class, input/output methods) Slide 16 dirk lanwert
Easy integration of the web-server importde.grogra.imp.net.* … protected voidstartup() // Startmethode für den HTTP-Server-Betrieb. { super.startup(); HttpResponse resp = HttpResponse.get(workbench()); if (resp != null) { runLater(resp); } } protected voidrun (Object info) { HttpResponse resp = (HttpResponse) info; //object with all recieved data StringBuffer buf = newStringBuffer(); // textbuffer for the answer buf.append("url=" + server + "/open?" + modelout + ";" + filename + "\n"); // write answer resp.setContent("text/text", "UTF-8", buf.toString()); //answer format resp.send(true); //send answer init(); // start model closeWorkbench(); } Slide 17 dirk lanwert
Easy integration of the web-server protected voidrun (Object info) { … // Read the form-data HttpMultipartFormData n1 = httpstartup.verarbeiteHttpInput(info); // Read Forester-Description foresterDescriptionIn = httpstartup.readForesterDescriptionFormfield(n1); // Create and send answer String filename = httpstartup.createAnswer(info,n1,foresterDescriptionIn); init(); // initialise model if(foresterDescriptionIn != null){ // specific part: start ersterSchritt(); // construct stand for (apply (simulationsPeriode)) kompletterJahresDurchlauf(); // run one year periode abspeichern(foresterDescriptionIn , ( modelOutputDir + filename) ); //specific part: end } closeWorkbench(); } Slide 18 dirk lanwert
Step 1: send the vrml file http://ufgb985.forst.uni-goettingen.de:5880/open?lichtmodel.gsz Slide 19 dirk lanwert
Step 2: Model calculation with GroIMP stored in file:bestand_100230049033 stored in file:bestand_100230061119 Slide 20 dirk lanwert
Step 3: deliver vrml file with resulting stand scene=bestand_00230061119 scene=bestand_100230049033 http://ufgb985.forst.uni-goettingen.de:5880/open?deliverscene.gs Slide 21 dirk lanwert
Thank you for your attention and Ole Kniemeyer for GroIMP