Code Monkey home page Code Monkey logo

models's Introduction

models

This repository stores allometric models used in the R package allometric. Because there are thousands of allometric models in existence, a separate repository is needed to store and track their development. This repository is used for this purpose. We treat models as a data repository, and not as an R package.

Users interested in contributing models to allometric are in the right location.

Users interested in using allometric models for analysis, please refer to the allometric package.

How Can I Help?

The primary benefit of allometric is an open source platform such that anyone can contribute allometric models. Here is a list of items you can help with, ranked from least to most difficult.

  1. Add missing publications as an Issue. We always need help finding publications to add. If you know of a publication that is missing, feel free to add it as an Issue and we will eventually install the models contained inside.
  2. Find source material for a publication. Some publications are missing their original source material. Usually these are very old legacy publications. If you know where a publication might be found, or who to contact, leave a note on any of these issues.
  3. Help us digitize publications. We always need help digitizing legacy reports, at this link you will find a list of reports that need manual digitization. These can be handled by anyone with Excel and a cup of coffee.
  4. Learn how to install and write models. Motivated users can learn how to install models directly using the package functions and git pull requests. Users comfortable with R and git can handle this task.

Other ideas? Contact [email protected] to help out.

Versioning (Developers Only)

This repository is versioned separately from allometric using semantic-release, a Node.js tool that facilitates semantic versioning. This enables a rigid release framework for new allometric models and modifications therein.

To install the versioning dependencies: npm install To create a release commit: npx semantic-release --no-ci

Versioning Philosophy:

  • Breaking releases - Occur only when breaking changes happen to allometric/models, this might occur do to downstream effects on allometric/allometric or other software. These should be exceptionally rare.
  • Feature releases - Are meant to accommodate batch releases of several publications at a time. New publications should be added as feat. These should occur for every 3-7 new publications.
  • Fix releases - Are meant to accommodate edits to publication files and parameters, but not additions. Edits to models should be added as fix and a new release should be made for each fix.

models's People

Contributors

bfrank5 avatar boenomarcus avatar brycefrank avatar semantic-release-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

bfrank5

models's Issues

Garcia et al. (2015)

@article{rojas2015database,
  title={Database of 478 allometric equations to estimate biomass for Mexican trees and forests},
  author={Rojas-Garc{\'\i}a, Fabiola and De Jong, Bernardus HJ and Mart{\'\i}nez-Zurimend{\'\i}, Pablo and Paz-Pellat, Fernando},
  journal={Annals of forest science},
  volume={72},
  number={6},
  pages={835--864},
  year={2015},
  publisher={BioMed Central}
}

https://annforsci.biomedcentral.com/articles/10.1007/s13595-015-0456-y

This seems very easy to ingest, with a complete spreadsheet of models.

Attached is a rough bibtex file containing the citations in the table. It is not complete, but should provide a good starting point.

garcia_2015_rough.zip

Hanson et al. (2003)

@article{hanson2003site,
  title={Site index equations and mean annual increment equations for Pacific Northwest Research Station forest inventory and analysis inventories, 1985-2001.},
  author={Hanson, Erica J and Azuma, David L and Hiserote, Bruce A},
  journal={Res. Note PNW-RN-533. Portland, OR: US Department of Agriculture, Forest Service, Pacific Northwest Research Station. 24 p},
  volume={533},
  year={2003}
}

There is probably substantial overlap with this and any FVS oriented publications.

`hahn_1984` Circus canadensis model missing site index base age

See hstix definition below.

[ins] r$> models %>% select_model("539629a5")
Model Call:
hst = f(dsob, hstix, d, gs_s)

hst [ft]: total height of the stem
dsob [in]: diameter of the stem, outside bark at breast height
hstix [ft]: variable not defined
d [in]: Top d.o.b., a value of 0 gives total height.
gs_s [ft2 acre-1]: basal area (stand-level)

Parameter Estimates:
# A tibble: 1 x 6
    b_1   b_2   b_3   b_4   b_5    b_6
  <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>
1  6.96 0.266     1 0.487 0.770 0.0162

Model Descriptors: 
# A tibble: 1 x 5
  country region    family       genus  species
  <chr>   <list>    <chr>        <chr>  <chr>
1 US      <chr [3]> Accipitridae Circus canadensis

Clary and Tiedemann (1987)

Provide a citation of the publication you want us to add.

@article{clary1986distribution,
  title={Distribution of biomass within small tree and shrub form Quercus gambelii stands},
  author={Clary, Warren P and Tiedemann, Arthur R},
  journal={Forest Science},
  volume={32},
  number={1},
  pages={234--242},
  year={1986},
  publisher={Oxford University Press}
}

Describe where the models are in the report.
Table 2

Forrester et al. (2017)

Provide a citation of the publication you want us to add.
Forrester, D.I., Tachauer, I.H.H., Annighoefer, P., Barbeito, I., Pretzsch, H., Ruiz-Peinado, R., Stark, H., Vacchiano, G., Zlatanov, T., Chakraborty, T., Saha, S., Sileshi, G.W., 2017. Generalized biomass and leaf area allometric equations for European tree species incorporating stand structure, tree age and climate. Forest Ecology and Management 396, 160-175.

Describe where the models are in the report.
The model parameters are in the supplementary information Table A.5.

Remove duplicate models (across Taxa) in existing publications

This is an extremely low priority item, but it would be proper to remove duplicate models from publications now that the Taxa structure exists. For example

KP,5.188,-13.801,Pinaceae,Pinus,attenuata
LL,5.188,-13.801,Pinaceae,Larix,lyallii

can be grouped into a taxa containing two taxons.

We also should make a standard procedure for structuring a parameter csv for this purpose, and any modifications needed to aggregate_taxa to accommodate this grouping structure. Maybe taxa_group_id column, which is discarded?

Create an action that tests models for installability

We need to be confident that when models are added that they can be successfully installed when using allometric. This is similar to a CI test, but more light weight. The CI server will need to download the latest allometric version from GitHub, install it, then run a specific test in the repository.

Rolim and Piotto (2018)

Provide a citation of the publication you want us to add.

@book{book,
author = {Rolim, Samir and Piotto, Daniel},
year = {2018},
month = {06},
pages = {},
title = {Silvicultura e Tecnologia de Espécies da Mata Atlântica},
isbn = {978-85-62805-90-5}
}

The report in Portuguese is available here:
https://www.researchgate.net/publication/326262183_Silvicultura_e_Tecnologia_de_Especies_da_Mata_Atlantica
I have the version in English that I will try to attach here. If that fails (it is 23MB), I have documented where the equations are below, so you may not need the English version. However, the page numbers may be slightly off in the Portuguese version, but probably not by more than a page or so.

Simbiosys_Silviculture2019_LowRes.pdf

Describe where the models are in the report.
For all model equations see p23 Table 1
For top-ranked model parameters:
Hypsometry (total height): Naslund model, p24 Table 2. Also here:

hypsometry_rolim <- function(d){
	return((d / (0.1749 * d + 1.6080))^2)
}

Hyposmetry (stem height): Logistic model, p24 Table 2

Volumetric model: Shumacher-Hall p25 Table 3 (see equation form in bold just above Table 3 caption)

AGB model: "Model 5" in Table 4, p26 (see equation form in bold just above Table 4, on p25) - also here:

allometry_rolim <- function(d, h, rho){
	return(0.1009 * (d^2.2472) * (h^0.4333) * (rho^0.7865))
}

Species-specific growth models (n=35, p35 Table 2) - provided below

Additional context
This is an incredible collection of data-driven forest models for tropical species in Brazil. (I have no connection to the authors).

Congrats and appreciation for your continued efforts in maintaining this valuable R package.

I have coded up the growth models in a list in R in case this saves you time, and provide an R vector of the species names in Table 2 p35:

gm.spp <- c("Amburana cearensis", "Aspidosperma pyricollum", "Astronium concinnum", "Astronium graveolens", "Barnebydendron riedelii", "Bowdichia virgilioides", "Cariniana legalis", "Centrolobium tomentosum", "Clarisia racemosa", "Copaifera langsdorffii", "Cordia trichotoma", "Dalbergia nigra", "Goniorrhachis marginata", "Handroanthus serratifolius", "Hymenaea courbaril var. stilbocarpa", "Joannesia princeps", "Lecythis pisonis", "Libidibia ferrea var. parvifolia", "Manilkara longifolia", "Moldenhawera papillanthera", "Myracrodruon urundeuva", "Pachira endecaphylla", "Paratecoma peroba", "Parkia pendula", "Paubrasilia echinata", "Pterocarpus rohrii", "Pterygota brasiliensis", "Senegalia polyphylla", "Simarouba amara", "Spondias venulosa", "Tachigali vulgaris", "Terminalia mameluco", "Vatairea heteroptera", "Vataireopsis araroba", "Zeyheria tuberculosa")
# growth models:
gm <- list()
gm[[1]] <- function(t){return(26.11*((1+344.74*exp(-2.32*log(t)))^(-1)))}
gm[[2]] <- function(t){return(53.88*(1-exp(-0.0348*(t^0.7192))))}
gm[[3]] <- function(t){return(23.66*exp(-3.99*(t^-0.8775)))}
gm[[4]] <- function(t){return(39.24*exp(-1.81*exp(-0.03925*t)))}
gm[[5]] <- function(t){return(47.11*exp(-4.2*t^-0.5434))}
gm[[6]] <- function(t){return(83.54*((1+42.02*exp(-0.8551*log(t)))^-1))}
gm[[7]] <- function(t){return(46.4*exp(-11.38*t^-0.9855))}
gm[[8]] <- function(t){return(46.43*exp(-8.3*t^-0.7437))}
gm[[9]] <- function(t){return(36.23*exp(-4.92*exp(-0.1038*t)))}
gm[[10]] <- function(t){return(76.46*(1+190.22*exp(-1.2478*log(t)))^-1)}
gm[[11]] <- function(t){return(41.27*exp(-2.15*exp(-0.0484*t)))}
gm[[12]] <- function(t){return(61.47*exp(-3.92*t^-0.4838))}
gm[[13]] <- function(t){return(49.36*exp(-5.15*t^-0.5634))}
gm[[14]] <- function(t){return(49.86*exp(-4.66*(t^-0.5405)))}
gm[[15]] <- function(t){return(47.67*exp(-4.08*t^-0.5847))}
gm[[16]] <- function(t){return(44.59*exp(-2.32*t^-0.3574))}
gm[[17]] <- function(t){return(60.82*exp(-4.774*t^-0.4848))}
gm[[18]] <- function(t){return(30.9*exp(-4.97*t^-0.7867))}
gm[[19]] <- function(t){return(25.25*exp(-9.59*t^-1.0455))}
gm[[20]] <- function(t){return(73.09*(1+104.6*exp(-1.059*log(t)))^-1)}
gm[[21]] <- function(t){return(60.42*(1+20.075*exp(-0.9038*log(t)))^-1)}
gm[[22]] <- function(t){return(29.124*(1-exp(-0.0413*t^1.3736)))}
gm[[23]] <- function(t){return(71.15*exp(-3.8343*t^-0.3558))}
gm[[24]] <- function(t){return(70.98*exp(-4.61*t^-0.5052))}
gm[[25]] <- function(t){return(40.69*exp(-6.03*t^-0.6845))}
gm[[26]] <- function(t){return(81.48*exp(-4.48*t^-0.4487))}
gm[[27]] <- function(t){return(89.77*(1+44.28*exp(-0.9057*log(t)))^-1)}
gm[[28]] <- function(t){return(77.54*exp(-3.935*t^-0.344))}
gm[[29]] <- function(t){return(43.98*exp(-2.34*exp(-0.0587*t)))}
gm[[30]] <- function(t){return(82.59*exp(-2.97*t^-0.4292))}
gm[[31]] <- function(t){return(90.41*exp(-5.12*t^-0.5003))}
gm[[32]] <- function(t){return(31.74*(1+168.87*exp(-1.617*log(t)))^-1)}
gm[[33]] <- function(t){return(29.25*exp(-5.62*t^-0.8561))}
gm[[34]] <- function(t){return(48.59*exp(-3.54*t^-0.4858))}
gm[[35]] <- function(t){return(37.62*(1+19.9*exp(-1.13823*log(t)))^-1)}

Castañeda-Mendoza et al. (2005)

@Article{castaneda2005acumulacion,
title={Carbon Accumulation in the Aboveground Biomass of a Bambusa oldhamii Plantation},
author={Casta{~n}eda-Mendoza, Arturo and Vargas-Hern{'a}ndez, Jes{'u}s and G{'o}mez-Guerrero, Armando and Valdez-Hern{'a}ndez, Juan I and Vaquera-Huerta, Humberto},
journal={Agrociencia},
volume={39},
number={1},
pages={107--116},
year={2005},
publisher={Colegio de Postgraduados}
}

https://www.redalyc.org/pdf/302/30239110.pdf

#17

Zeide and Vanderschaaf (2002)

@inproceedings{zeide2002effect,
  title={The effect of density on the height-diameter relationship},
  author={Zeide, Boris and Vanderschaaf, Curtis},
  booktitle={Proceedings of the 11th Biennial Southern Silvicultural Research Conference},
  pages={463--466},
  year={2002},
  organization={General Technical Report SRS-48. USDA, Forest Service. Southern Research~…}
}

Available here

Barrett (2006)

@article{barrett2006optimizing,
  title={Optimizing efficiency of height modeling for extensive forest inventories},
  author={Barrett, TM},
  journal={Canadian Journal of Forest Research},
  volume={36},
  number={9},
  pages={2259--2269},
  year={2006},
  publisher={NRC Research Press Ottawa, Canada}
}

Návar (2009)

Provide a citation of the publication you want us to add.

@article{navar2009biomass,
  title={Biomass component equations for Latin American species and groups of species},
  author={N{\'a}var, Jos{\'e}},
  journal={Annals of Forest Science},
  volume={66},
  number={2},
  pages={1--21},
  year={2009},
  publisher={EDP Sciences}
}

Describe where the models are in the report.
Please refer to page numbers, table numbers, or other locations of the models you want us to add.

https://www.afs-journal.org/articles/forest/pdf/2009/02/f08164.pdf

f08164-olm.pdf

FVS Staff (2008)

citation = RefManageR::BibEntry(
  key = "fvs_2008",
  bibtype = "techreport",
  title = "Pacific Northwest Coast (PN) Variant Overview – Forest Vegetation Simulator",
  author = "FVS Staff",
  year = 2008,
  institution = "U.S. Department of Agriculture, Forest Service, Forest Management Service Center"
)

This tracks all original parameter estimates given in the PN Variant #7 (e.g., Table 4.1.1.a, etc.).

Návar (2004)

@article{navar2001preliminary,
  title={Preliminary estimates of biomass growth in the Tamaulipan thornscrub in north-eastern Mexico},
  author={N{\'a}var, Jos{\'e} and N{\'a}jera, Juan and Jurado, Enrique},
  journal={Journal of Arid Environments},
  volume={47},
  number={3},
  pages={281--290},
  year={2001},
  publisher={Elsevier}
}

References #17

Add github action to ensure currently listed CRAN version passes tests

Frequently the master branch of allometric is out of sync with CRAN. This can cause errors for users if breaking changes are made in the master branch of allomteric. We have no way of knowing if this has occurred without a user reporting the error manually. It should be easy to run the installation test each time models is updated

Brickell (1966)

Provide a citation of the publication you want us to add.

@book{brickell1966site,
  title={Site index curves for Engelmann spruce in the northern and central Rocky Mountains},
  author={Brickell, James Earl},
  volume={42},
  year={1966},
  publisher={US Department of Agriculture, Forest Service, Intermountain Forest \& Range~…}
}

Describe where the models are in the report.

Add the model used by Hanson et al., item 6. See equation 1.

Additional context
Part of #24

Myers (1964b)

Provide a citation of the publication you want us to add.

@book{myers1964volume,
  title={Volume tables and point-sampling factors for lodgepole pine in Colorado and Wyoming},
  author={Myers, Clifford A},
  volume={6},
  year={1964},
  publisher={Rocky Mountain Forest and Range Experiment Station, Forest Service, US~…}
}

Grier et al. (1992)

Provide a citation of the publication you want us to add.

@article{grier1992biomass,
  title={Biomass distribution and productivity of Pinus edulis—Juniperus monosperma woodlands of north-central Arizona},
  author={Grier, Charles C and Elliott, Katherine J and McCullough, Deborah G},
  journal={Forest Ecology and Management},
  volume={50},
  number={3-4},
  pages={331--350},
  year={1992},
  publisher={Elsevier}
}

Describe where the models are in the report.
Table 2, p. 340

Additional context
Should provide some interesting challenges for the VNS. E.g., "old twigs"? I think handling these with custom response variable names is best. For example, "old twigs" -> bb, then change the description of the response to reflect the paper.

McArdle et al. (1961)

@article{mcardle1961yield,
  title={The yield of Douglas-fir in the Pacific Northwest. Tech},
  author={McArdle, Richard E and Meyer, Walter H and Bruce, Donald},
  journal={Bull},
  volume={201},
  pages={50--55},
  year={1961}
}

Attached to #24

I'm only concerned with the site index functions here.

Barnes (1962)

Provide a citation of the publication you want us to add.

@book{barnes1962yield,
  title={Yield of even-aged stands of western hemlock},
  author={Barnes, George H},
  number={1273},
  year={1962},
  publisher={US Department of Agriculture}
}

Describe where the models are in the report.
Tough to find the equation, but Hanson et al. report it in 5.b.

Additional context
Part of #24

Add DOIs to existing publications

RefManager::BibEntry allows for a doi field. However, many publications are missing this information. This would greatly increase the quality and robustness of the publication files.

Here is an example. hibbs_2007.R currently has this publication, with no DOI field defined

hibbs_2007 <- Publication(
citation = RefManageR::BibEntry(
bibtype = "article",
key = "hibbs_2011",
title = "Stem taper and volume of managed red alder",
author = "Hibbs, David and Bluhm, Andrew and Garber, Sean",
journal = "Western Journal of Applied Forestry",
volume = 22,
number = 1,
pages = "61--66",
year = 2007,
publisher = "Oxford University Press"
),
descriptors = list(
country = c("US", "CA"),
region = c("US-OR", "US-WA", "CA-BC"),
family = "Betulaceae",
genus = "Alnus",
species = "rubra"
)
)

but it is clear that a DOI is available. Adding the DOI is as simple as adding doi = "https://doi.org/10.1093/wjaf/22.1.61" to the BibEntry call. More concretely:

 hibbs_2007 <- Publication( 
   citation = RefManageR::BibEntry( 
     bibtype = "article", 
     key = "hibbs_2011", 
     title = "Stem taper and volume of managed red alder", 
     author = "Hibbs, David and Bluhm, Andrew and Garber, Sean", 
     journal = "Western Journal of Applied Forestry", 
     volume = 22, 
     number = 1, 
     pages = "61--66", 
     year = 2007, 
     publisher = "Oxford University Press",
     doi = "https://doi.org/10.1093/wjaf/22.1.61"
   ), 
   descriptors = list( 
     country = c("US", "CA"), 
     region = c("US-OR", "US-WA", "CA-BC"), 
     family = "Betulaceae", 
     genus = "Alnus", 
     species = "rubra" 
   ) 
 ) 

You are welcome to make a pull requests to add these. People who are unfamiliar with git are free to provide a table (e.g., a csv file) with the following information instead

pub_id       doi
hibbs_2007   https://doi.org/10.1093/wjaf/22.1.61

for each publication that has a DOI available. It is likely the case that most publications do not have a DOI, due to the age of many of the publications, and because many of the publications are from non-peer reviewed sources. So, the total number of DOI updates will not be large.

Cochran (1979b)

@book{cochran1979site,
  title={Site index and height growth curves for managed, even-aged stands of Douglas-fir east of the Cascades in Oregon and Washington},
  author={Cochran, PH},
  volume={251},
  year={1979},
  publisher={Department of Agriculture, Forest Service, Pacific Northwest Forest and~…}
}

Attached to #24

Cairns et al. (2003)

Provide a citation of the publication you want us to add.

@article{cairns2003composition,
  title={Composition and aboveground tree biomass of a dry semi-evergreen forest on Mexico’s Yucatan Peninsula},
  author={Cairns, Michael A and Olmsted, Ingrid and Granados, Juli{\'a}n and Argaez, Jorge},
  journal={Forest ecology and Management},
  volume={186},
  number={1-3},
  pages={125--132},
  year={2003},
  publisher={Elsevier}
}

https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=1ebcc5de072f115ed11c8e7de1e5e86e7bfd71bb

References #42

Curtis (1967)

@article{curtis1967height,
  title={Height-diameter and height-diameter-age equations for second-growth Douglas-fir},
  author={Curtis, Robert O},
  journal={Forest science},
  volume={13},
  number={4},
  pages={365--375},
  year={1967},
  publisher={Oxford University Press}
}

Tracks #7

Wykoff et al. (1982)

@book{wykoff1982user,
  title={User's guide to the stand prognosis model},
  author={Wykoff, William},
  volume={133},
  year={1982},
  publisher={US Department of Agriculture, Forest Service, Intermountain Forest and Range~…}
}

This is a user manual for PROGNOSIS. Some models appear to be original works from the publication, others are referenced. As such, this is treated as an omnibus.

Priority is given first to those models referenced in #7.

Winck et al. 2015

Source

https://www.researchgate.net/publication/285256370_Regional_prediction_models_for_the_aboveground_biomass_estimation_of_eucalyptus_grandis_in_Northeastern_Argentina

Citation

@article{article,
author = {Winck, Rosa and Fassola, Hugo and Barth, Sara Regina and Crechi, Ernesto and Keller, Aldo and Videla, Daniel and Zaderenko, Constantino},
year = {2015},
month = {07},
pages = {595-606},
title = {Regional prediction models for the aboveground biomass estimation of eucalyptus grandis in Northeastern Argentina},
volume = {25},
journal = {Ciencia Florestal},
doi = {10.5902/1980509819611}
}

Models location

  • Models: page 8
  • BEF: page 7

Additional context

  • Language: Spanish
  • Species: Eucalyptus grandis
  • Geographic region: NE Argentina (Misiones province)
  • Information of interest: Aboveground biomass estimation models, biomass expansion factor

Browne (1962)

Provide a citation of the publication you want us to add.

@book{browne1962standard,
  title={Standard cubic-foot volume tables for the commercial tree species of British Columbia},
  author={Browne, JE},
  year={1962},
  publisher={British Columbia Forest Service, Forest Surveys and Inventory Division}
}

Failing to connect to mongodb inside `mongo.update.yaml`

The following error occurs

Failed to initialize security context, error code: 0x80090304: An internal error occurred.

For now, it's probably fine if we just update the mongodb manually, or using some other process outside of a github action (maybe a git pre-commit hook?)

Optimize running of publication files

Currently, all publication files are ran each time we push to main. Instead, we could check which publication and parameter files are updated from the previous commit and only rerun those. The process would look like:

  1. Push to main.
  2. Build a list of changed files from previous commit
  3. Rerun only those publications that have changed, storing the publication list in memory
  4. Load models.RDS into memory
  5. Delete all old copies of models matching the list in (3)
  6. Insert new models into dataframe
  7. Rewrite models.RDS

We should allow for an action that reruns all pub files if desired.

Hughes et al. (1999)

@article{hughes1999biomass,
  title={Biomass, carbon, and nutrient dynamics of secondary forests in a humid tropical region of Mexico},
  author={Hughes, R Flint and Kauffman, J Boone and Jaramillo, V{\'\i}ctor J},
  journal={Ecology},
  volume={80},
  number={6},
  pages={1892--1907},
  year={1999},
  publisher={Wiley Online Library}
}

Kemp (1956)

@techreport{kemp1956region,
  title={Region 1 volume tables for ADP cruise computations. Timber Cruising Handbook},
  author={Kemp, PD},
  year={1956},
  institution={R1-2430-31. Missoula, MT: US Department of Agriculture, Forest Service~…}
}

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.