Skip to content

[FSvolLib] Create Core input output structures #6

@BenCamps

Description

@BenCamps

input types

VolumeCalulationOptions

classDiagram 
direction LR
    class VolumeCalulationOptions {
        string fiaCode
 
        int region [something]
        int forest
        int district
        int primaryProduct
        int secondaryProduct
        VolumeCalculationType volumeCalculationType - optional - defaults to FVS
        AuxFlag auxFlag - optional 
        string ecoRegion - optional - fia only
    }
    class VolumeCalculationType {
        <<Enumeration>>
        FVS - default
        FIA
        CRUISE
        VARIABLELOGLENGTH
    }
   class AuxFlag {
        <<Enumeration>>
        NONE, 
        R10YOUNGGROWTH,
        R6DOUGFIR,
        PLANTATION,
   }
Loading

TreeMeasurments

classDiagram
    class TreeMeasurments {
        heights:
        real totalHeight
        real referenceHeight -  aka 479, UpperstemHeight
        real merchHeightPrimary
        real merchHeightSecondary
        int merchHeightLogs - if zero feet else 8,16,32
        real heightToFirstLiveLimb
        
---
        diameters:
        real DBH
        real DRC
        real referenceDiamater - aka UpperStemDiameter
        real doubleBarkThicknessAtBrestHeight
---
        other:
        int formClass
        int numberOfStems
        real crownRatio
        int cullPercent
---
        merch rule overrides:
        real stumpHeightOverride
        real minTopDibSawOverride
        real minTopDibNonSawOverride
    }

Loading

MerchHeightLogs

Instead of using MerchHeightType we are now using MerchHeightLogs where if a value is provided as either 8, 16, 32 then implicitly the MerchHeight will be Logs, otherwise MerchHeights will be in Feet

MerchRules

classDiagram
    class MerchRules {
        int evenOdd - indicates logs round to 2ft segments
        int segmentationOption
        real maxLogLength
        real minLogLength
        real minLengthTop
        real minTopDibSaw
        real minTopDibNonSaw
        real minMerchLength

        real stumpHeight
        real trim
        real barkThicknessRatio
        real minimumBoardFootDiameter - maybe remove
    }
Loading

output types

classDiagram

    TreeOutput-->LogOutput
    TreeOutput-->Biomass
    TreeOutput-->ErrorInfo

    class TreeOutput{
        Log[] logs

        float merchHeight

        int totalLogs
        real totalCubic
        real grossBoardFootPrimary
        real grossBoardFootSecondary
        real grossCubicPrimary
        real grossCubicSecondary
        real cordPrimary
        real cordsSecondary
        real greenWeightPrimary
        real greenWeightSecondary
        real dryWeightPrimary
        real dryWeightSecondary

        Biomass greeBio
        Biomass dryBio

        real merchHeightPrimary
        real merchHeightSecondary

        ErrorInfo error
    }   

    class ErrorInfo{
        int errorCode
        string errorMessage
    }

    class Biomass {
        real aboveGroundTotal
        real branches
        real foliage
        real stemTip
    }


    class LogOutput {
        real smallEndDiaScaled
        real largeEndDiaScaled
        string product 
        bool isSecondary?
        real length
        int logNumber
        real grossBoardFoot
        real grossCubicFoot
        real greenWeight
        real dryWeight
        real  internationalBoardFoot
        real hieghtToLargeEndDiameter
    }

Loading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions