Code Monkey home page Code Monkey logo

forestbiometrics.jl's People

Contributors

crghilardi avatar femtocleaner[bot] avatar mkborregaard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

forestbiometrics.jl's Issues

Integrate Unitful.jl units for forestry calcs

This is more of a long-term goal, but the ability to define logic for metric and imperial calculations is a huge opportunity and I think would be massively popular. Currently, most models I see are written in one or the other with no "easy" way to switch or select. See this ticket for the FVS example where they have to chose when and where to convert and other difficult decisions.

Update docs and example notebooks for v0.2.0 release

There have been some syntax changes (re: gingrich_chart and HeightDub) that have yet to be updated in the docs or the example notebooks.

I would also like to see if we can figure out how to build the notebooks on deploy, rather than have static ones.

Refactor plotting functions

SDI_graph and GingrichStocking_graph need to be re done and put into a function form. The existing code is something I created around Julia 0.3 for playing around with, so they are clunky and slow.

Edit: I have since moved the charting functions from Gadfly to Plots.jl. I have been having problems with Gadfly for a while and it seems like Plots is the focus of much more energy than Gadfly.

To do:

  • wrap plotting into actual functions
  • Plot recipes?
  • fix axis label formatting issue on SDI chart
  • streamline behind the scenes calculations for the actual lines

Figure out how HeightDub should actually work?

While I have something (sort of?) working for @HeightDub, I don't think I am doing exactly what I want to be doing. As a result I wanted to write up a short little explanation for what I am trying to accomplish for anyone else who looks at this project.

Height-diameter equations are simple to compute once you decide on a equation form and have your fitted parameters ready. The problem arises where height diameter equations cover decades of research and have proliferated to account for such a wide array of factors such as species, regional differences, etc.

Typically, growth and yield models will have some height-diameter logic built in but it will be hardcoded based on who wrote in and what region they are working in with no options to change model form or parameters.

My goal for the @HeightDub macro was to create logic such that the equation form and parameters are modular and can be switched out as needed for a wide array of routinely used forms and/or parameter sets (FVS variants for instance) or the user can designate a whole new form/parameter set if pre-allocated ones do not fit the need.

Currently, I use a dictionary to hold the species level coeffecients in the form of String: Array{Float64}, and I use anonymous functions in the form of (x,b)->x+b[1]^2n where x is the dimater of the tree record and b is an array of an arbitrary number of coeffcients to account for 2 vs 3 vs n parameter forms of the equations.

I started thinking about this a while ago and even inquired on SO as to how I should approach this. I am not devoted to the idea of a macro, but it was the only way I could produce the desired behavior.

add ability to define heights other than 4.5 in height equations

Currently all formula and functionality add 4.5 to account for diameter at breast height. In the future, I hope to add the ability to take heights from any arbitrary point.

I am not sure what this would look like if it would be better to add a parameter to the HeightDiameter type, or some kind of macro on the backend to modify the formula lambdas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.