submodels

package
v0.0.0-...-4d38a07 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2026 License: GPL-3.0, GPL-3.0-or-later Imports: 7 Imported by: 0

Documentation

Overview

Package submodels provides scripts for managing submodels (actual systems) within the JAM model.

The HatchingRate submodel creates the hatching of mosquito eggs based on a logistic function of egg age and water level. Creation of new dormant egg entities is handled in the Diapause system.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ContainerWaterLevel

type ContainerWaterLevel struct {
	// contains filtered or unexported fields
}

ContainerWaterLevel models the water level in an idealized open cylindrical container for Mosquito breeding.

func (*ContainerWaterLevel) Finalize

func (c *ContainerWaterLevel) Finalize(w *ecs.World)

func (*ContainerWaterLevel) Initialize

func (c *ContainerWaterLevel) Initialize(w *ecs.World)

func (*ContainerWaterLevel) Update

func (c *ContainerWaterLevel) Update(w *ecs.World)

type Development

type Development struct {
	// contains filtered or unexported fields
}

The Development system updates the development stage of mosquito cohorts based on temperature.

func (*Development) Finalize

func (s *Development) Finalize(w *ecs.World)

func (*Development) Initialize

func (s *Development) Initialize(w *ecs.World)

func (*Development) Update

func (s *Development) Update(w *ecs.World)

type Diapause

type Diapause struct {
	// contains filtered or unexported fields
}

Diapause sets the photoperiod-dependent diapause state for egg cohorts based on the current photoperiod duration and the assigned diapause function.

func (*Diapause) Finalize

func (s *Diapause) Finalize(w *ecs.World)

func (*Diapause) Initialize

func (s *Diapause) Initialize(w *ecs.World)

func (*Diapause) Update

func (s *Diapause) Update(w *ecs.World)

type EggBank

type EggBank struct {
	// contains filtered or unexported fields
}

The EggBank system splits egg cohorts into an active and a dormant fraction. The doramant fraction is determined by a parameter. The original cohort is split based on the parameter. The active fraction remains in the original cohort and can immediately develop and hatch. The dormant fraction is moved to a new cohort (clone) with the same components as the original plus the EggBank component. The clone is marked as dormant and will not develop or hatch until the next year.

func (*EggBank) Finalize

func (s *EggBank) Finalize(w *ecs.World)

func (*EggBank) Initialize

func (s *EggBank) Initialize(w *ecs.World)

func (*EggBank) Update

func (s *EggBank) Update(w *ecs.World)

type EggInfo

type EggInfo struct {
	GridRow, GridCol int
	Count            int
}

EggInfo struct holds the necessary information for creating new egg entities in batches.

type Fecundity

type Fecundity struct {
	// contains filtered or unexported fields
}

The fecundity system defines the parameters for calculating fecundity (e.g. number of eggs per female) based on temperature and wing length.

func (*Fecundity) Finalize

func (s *Fecundity) Finalize(w *ecs.World)

func (*Fecundity) Initialize

func (s *Fecundity) Initialize(w *ecs.World)

func (*Fecundity) Update

func (s *Fecundity) Update(w *ecs.World)

type Gonotrophic

type Gonotrophic struct {
	// contains filtered or unexported fields
}

The Gonotrophic submodel updates the gonotrophic score of female mosquito cohorts based on the local temperature and a specified gonotrophic function.

func (*Gonotrophic) Finalize

func (s *Gonotrophic) Finalize(w *ecs.World)

func (*Gonotrophic) Initialize

func (s *Gonotrophic) Initialize(w *ecs.World)

func (*Gonotrophic) Update

func (s *Gonotrophic) Update(w *ecs.World)

type HatchingRate

type HatchingRate struct {
	// contains filtered or unexported fields
}

HatchingRate struct for the hatching rate submodel, which creates the hatching of mosquito eggs based on a logistic function of egg age and water level.

func (*HatchingRate) Finalize

func (s *HatchingRate) Finalize(w *ecs.World)

func (*HatchingRate) Initialize

func (s *HatchingRate) Initialize(w *ecs.World)

func (*HatchingRate) Update

func (s *HatchingRate) Update(w *ecs.World)

type Mating

type Mating struct {
	// contains filtered or unexported fields
}

The Mating submodel implements the mating behavior of mosquitoes based on local densities. Based on: Kuno, E. Simple mathematical models to describe the rate of mating in insect populations. Res Popul Ecol 20, 50–60 (1978). https://doi.org/10.1007/BF02512974

func (*Mating) Finalize

func (s *Mating) Finalize(w *ecs.World)

func (*Mating) Initialize

func (s *Mating) Initialize(w *ecs.World)

func (*Mating) Update

func (s *Mating) Update(w *ecs.World)

type Metamorphosis

type Metamorphosis struct {
	// contains filtered or unexported fields
}

Metamorphosis holds the necessary filters, maps, and resources to implement the stage transition of mosquitoes.

func (*Metamorphosis) Finalize

func (s *Metamorphosis) Finalize(w *ecs.World)

func (*Metamorphosis) Initialize

func (s *Metamorphosis) Initialize(w *ecs.World)

func (*Metamorphosis) Update

func (s *Metamorphosis) Update(w *ecs.World)

type Mortality

type Mortality struct {
	// contains filtered or unexported fields
}

The Mortality system implements temperature-dependent mortality of mosquitoes. For stages other than adults, mortality is applied when individuals transition to the next stage. Adult mortality is applied daily.

func (*Mortality) Finalize

func (s *Mortality) Finalize(w *ecs.World)

func (*Mortality) Initialize

func (s *Mortality) Initialize(w *ecs.World)

func (*Mortality) Update

func (s *Mortality) Update(w *ecs.World)

type Oviposition

type Oviposition struct {
	// contains filtered or unexported fields
}

The oviposition system manages the egg-laying behavior of female mosquitoes.

func (*Oviposition) Finalize

func (s *Oviposition) Finalize(w *ecs.World)

func (*Oviposition) Initialize

func (s *Oviposition) Initialize(w *ecs.World)

func (*Oviposition) Update

func (s *Oviposition) Update(w *ecs.World)

Source Files

  • container_water_level.go
  • development.go
  • diapause.go
  • doc.go
  • egg_bank.go
  • fecundity.go
  • gonotrophic_cycle.go
  • hatching_rate.go
  • mating.go
  • metamorphosis.go
  • mortality.go
  • oviposition.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL