For the real-time online risk assessment in case of hazardous material release into the atmosphere, Genie.jl has been used to build a web service to run atmospheric dispersion models upon client requests that follow the OpenApi specification. Typical issues related to web API development have been addressed (authentication, DB management, server-to-client communication...). Moreover, multiple Julia packages for running dispersion models and operating on geospatial data have been developed.
An atmospheric transport and dispersion modeling framework for the online impact assessment of CBRN-type incidents (Chemical, Biological, Radiological and Nuclear) is currently being developed by the Royal Military Academy of Belgium and is hosted on the European Weather Cloud system. The backend of the framework is entirely written with Julia and uses Genie.jl to serve a REST API following the OpenApi specification (OAS). The goal of this presentation is twofold:
Genie.jl is a comprehensive framework for building full-stack web applications in Julia. Due to the complexity of this modeling framework, the computing and data management parts are decoupled from the frontend GUI, and Genie.jl is used to set up a server listening to specific routes defined and documented following the OpenApi specification. It uses SwaggerUI.jl to render a user-friendly version of the API documentation. A JSON Web Token authentication standard has been implemented to authenticate the client requests to the API, and relies on JSONWebTokens.jl. Database management and interaction are handled by the ORM layer of Genie SearchLight.jl.
Besides the web development-related part of the project, various new packages for atmospheric transport and dispersion modeling have been developed, along with utility packages for geospatial computing:
These packages will be briefly described and some typical usage examples will be shown.