food_chain/ecology/profiles.js

11 lines
931 B
JavaScript
Raw Normal View History

2026-09-29 19:10:03 +09:00
export const TERRESTRIAL = Object.freeze({
2026-09-29 23:45:12 +09:00
id:'terrestrial',type:'terrestrial',producer:{rMaxPerDay:.03,carryingCapacityKgPerM2:.5},feeding:{preferredPredatorPreyMassRatio:35,massRatioSigma:1.05},environment:{light:.82,nutrientN:.78,nutrientP:.78,dissolvedOxygen:1}
2026-09-29 19:10:03 +09:00
});
export const FRESHWATER = Object.freeze({
2026-09-29 23:45:12 +09:00
id:'freshwater',type:'freshwater',producer:{carryingCapacityKgPerM2:.18},feeding:{preferredPredatorPreyMassRatio:80,massRatioSigma:1.12},environment:{light:.72,nutrientN:.58,nutrientP:.52,dissolvedOxygen:.82}
2026-09-29 19:10:03 +09:00
});
export const MARINE = Object.freeze({
2026-09-29 23:45:12 +09:00
id:'marine',type:'marine',producer:{carryingCapacityKgPerM2:.14},feeding:{preferredPredatorPreyMassRatio:55,massRatioSigma:1.08},environment:{light:.76,nutrientN:.54,nutrientP:.48,dissolvedOxygen:.9}
2026-09-29 19:10:03 +09:00
});
export const PROFILES=Object.freeze({terrestrial:TERRESTRIAL,freshwater:FRESHWATER,marine:MARINE});
export function getProfile(id){return PROFILES[id]||null}