Giter VIP home page Giter VIP logo

figaero_model's Introduction

FIGAERO model

DOI

Purpose

This is a model framework for simulating:

  1. the molecular-level evaporation of (single compounds of) a spherical aerosol particle in a heated clean flow of nitrogen, optionally including
    • the dissociation and/or formation of physical entities, themselves assumed non-volatile (e.g. low-volatility oligomers), but able to release and/or take up molecules able to evaporate, and
  2. the subsequent ad- and desorption of the evaporated molecules to surfaces.

The underlying idea is that modeling these processes achieves a reproduction of the signal measured for individual compositions during the thermal desorption of aerosol particles using a Filter Inlet for Gases and AEROsols coupled to a Time-of-Flight Chemical Ionization Mass Spectrometer (FIGAERO-CIMS, see Lopez-Hilfiker et al., 2014). Particle measurements using the FIGAERO-CIMS consist of first collecting aerosol particles on a PTFE filter, followed by their thermal desorption using the controlled heat of a clean flow of nitrogen. Molecules evaporating from the particles travel through the filter and into the CIMS detector, where they are ionized and their exact mass measured, which determines their molecular formulas. Typically, the desorption temperature is ramped linearly with time, yielding so-called thermograms for each composition, i.e. signal vs. desorption temperature. Features of these thermograms have previously been related to molecular and hence aerosol properties. The aim of our model here is to improve the scientific interpretation of these data. The model and its application to organic aerosol data are thoroughly described in Schobesberger et al. (2018).

Commitment history

The initially committed version of this model is based on the internal (pre-release) version v2j3, which was the one actually used for preparing our paper. For commitment, that version has been:

  • cleaned up (removed derelict code that has not been in use anymore)
  • a bit simplified (removed a few orphaned model options that have been of limited usefulness and stopped being maintained during model development)
  • better commented

However, the model has not been thoroughly tested in this shape, so bugs are currently likely. Apologies in advance!

Model content

The model consists of .m-files containing scripts to be run using MATLAB. The code was developed using version R2016b. MATLAB a proprietary software, but the model is open-source, obviously, and fairly simple, so adaptation to other high-level programming languages such as R or Python could be feasible.

To run the model, open FIGAEROmodel_MAIN.m. For an initial demonstration (using included example experimental data), run its script from the beginning to the end. A description of the example data is provided in the corresponding data folder.

Description of individual functions:

FIGAEROmodel_MAIN.m is the main script, where: (1) experimental data is selected, loaded, and prepared for comparison to simulation results, (2) general model parameters are chosen, (3) compound-specific parameters are chosen, and (4) the model is run by calling thermogram_simul.m

prepare_paras_for_simul.m is a collection of scripts executed by FIGAEROmodel_MAIN.m for preparing some parameters for the eventual model runs, getting additional variables, and putting variables into the structure params (if not included yet), which will be passed on to thermogram_simul.m (the function running the simulation).

bundle_solutions.m is a script called by FIGAEROmodel_MAIN.m to bundle all parameters that are typically being optimized for reproducing the observations into the structure sols.

get_goal.m is a function called by FIGAEROmodel_MAIN.m, outputting the variables goal (= experiental data, synchronized to the expected model output) and shift (= shift in seconds needed for that sychronization).

thermogram_simul.m is the major function called by FIGAEROmodel_MAIN.m. It prepares the initial conditions plus some parameters for the ODE solver, calls it, and gathers and cleans up its output. This function's output is the "model results".

thermogram_simul_ODE.m is the major function called by thermogram_simul.m. It defines the ODE set and calculates temperature- or time-dependent parameters.

diffusivity_H2O.m is a function that calculates the diffusivity of water vapor in air (m^2/s).

make_rough_plots.m is a function containing scripts to create 5 to 8 plots to quickly check out the model results. It also calls the scripts in N_vs_t_plots.m. (Both these files are currently poorly documented.)

Note about tofTools

This model package includes functions from tofTools (version 6.08), developed by Heikki Junninen, Gustaf Lönn, and others (University of Helsinki, see for example Junninen et al., 2010). TofTools is licensed under GNU GPL v.3, permitting open-source use such as here. The full & latest tofTools package (not needed for this model) is available for free download.

figaero_model's People

Contributors

sschobes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.