# Josh Language v=20250924 Josh is a domain-specific language (DSL) designed for ecological modeling, with a particular focus on vegetation and agent-based simulations. It is **strongly** recommended to review [llms-full.txt](llms-full.txt) which contains the complete Josh language specification. ## Resources - [Full Documentation](llms-full.txt) - Complete Josh language specification and reference - [Tutorial Series](docs/guide/md/index.md) - Step-by-step tutorials for simulation development - [Getting Started](docs/guide/md/hello.md) - Basic introduction to Josh interface and concepts - [Two Trees Tutorial](docs/guide/md/two_trees.md) - Intermediate modeling with multiple species - [Fire Dynamics](docs/guide/md/grass_shrub_fire.md) - Advanced fire modeling and disturbance events - [State Management](docs/guide/md/states.md) - Working with entity states and transitions - [Python Integration](docs/guide/md/python.md) - Using Josh with Python for analysis - [Command Line Interface](docs/guide/md/cli.md) - Josh CLI tools and preprocessing - [Data Integration](docs/guide/md/data.md) - Working with external geospatial data ## Tutorial Series Overview **Beginner Tutorials:** Basic interface, entities, and simple simulations - [Hello Grid](docs/guide/md/hello.md) - Interface overview and basic Josh concepts - [Data Integration](docs/guide/md/data.md) - Working with external data sources **Intermediate Tutorials:** Multi-species modeling and spatial interactions - [Two Trees](docs/guide/md/two_trees.md) - Multiple species and competitive interactions - [State Management](docs/guide/md/states.md) - Entity states and behavioral transitions **Advanced Tutorials:** Complex dynamics and tool integration - [Fire Dynamics](docs/guide/md/grass_shrub_fire.md) - Disturbance modeling and fire effects - [Python Integration](docs/guide/md/python.md) - Analysis workflows with Python - [Command Line Tools](docs/guide/md/cli.md) - Preprocessing and batch execution ## Key Capabilities **Ecological Modeling:** Multi-species vegetation simulations with patch-based spatial organization and agent-based individual behaviors **Execution Environments:** Browser via WebAssembly, local JVM, and distributed via JoshCloud with no code changes required **Geospatial Integration:** Preprocessing of GeoTIFF and NetCDF data into optimized .jshd format with coordinate system transformations **Configuration Management:** External .jshc configuration files for parameter variation without code modification **Josh Lang:** Human-readable domain-specific language with stanza-based entity definitions and event-driven behavioral modeling **Data Export:** Multiple output formats including CSV, NetCDF, and GeoTIFF for analysis and visualization workflows