nfdata

Multimedia spatiotemporal model of nanomaterial fate, speciation and bio-uptake.

https://github.com/nerc-ceh/nanofase

Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization nerc-ceh has institutional domain (www.ceh.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Multimedia spatiotemporal model of nanomaterial fate, speciation and bio-uptake.

Basic Info
  • Host: GitHub
  • Owner: NERC-CEH
  • License: bsd-3-clause
  • Language: Fortran
  • Default Branch: develop
  • Size: 42.2 MB
Statistics
  • Stars: 0
  • Watchers: 5
  • Forks: 0
  • Open Issues: 6
  • Releases: 0
Created almost 6 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Citation

README.md

NanoFASE model

🏗️ This model is under active development. Use at your own risk! 🏗️

Multimedia spatiotemporal environmental fate and exposure model for engineered nanomaterials. See the project website for information about the EU Horizon 2020 project that led to the development of this model.

Getting the code

Simply clone this repo, making sure to specify --recurse-submodules to pull in code for the submodules in the vendor/ directory:

console $ git clone https://github.com/nerc-ceh/nanofase.git --recurse-submodules $ cd nanofase

If you forget the --recurse-submodule flag, then run the following from the repo directory:

console $ git submodule update --init --recursive

Compiling

We recommend compiling using GFortran version 10 or higher. The only dependency is NetCDF, which must be installed prior to building (see the Dependencies section below).

Using make

An example makefile (Makefile.example) is provided. If you already have NetCDF installed, then compiling the model is as simple as making the bin directory to place your exectuble in, then running make:

console $ cp Makefile.example Makefile $ mkdir bin $ make

The example makefile provides targets for debug, release and "fast" compilation. The main make target builds the debug version, whilst the release and fast targets build optimised release versions (release uses -O3, fast uses -Ofast -march=native -mtune=native). Run times can be significantly improved using the release and fast targets, and so unless you need detailed debugging or profiling, then it is recommended to use one of these.

```console

Build the debug version

$ make

OR, build the release version

$ make release

OR the fast version, with non-standard optimizations

$ make fast ```

Using cmake

The model can also be built using cmake, using the CMakeLists.txt file. Use the standard cmake procedure to compile the model:

console $ mkdir build && cd build $ cmake .. $ make

Use the -DCMAKE_BUILD_TYPE=Debug|Release flag to control whether you want to build the debug (default) or release version.

Note that, whilst cmake can be used to compile the model using the ifort or ifx compilers (e.g. by using the -DCMAKE_Fortran_COMPILER=ifort flag), issues can arise when the installed version of NetCDF that the cmake script finds isn't a version compiled by an Intel compiler. Therefore, we recommend compiling using the compiler that your NetCDF installation used. As a workaround, you can explicitly point cmake to the correct version of NetCDF by declaring NETCDF_INCLUDES (include directories) and NETCDF_LIBRARIES_F90 (link libraries) (e.g. by specifying -DNETCDF_INCLUDES=.. -DNETCDF_LIBRARIES_F90=..).

Dependencies

The only dependency outside of the vendor directory (which are compiled from source when the model is compiled, so don't worry about these) is the NetCDF Fortran library, which must already be installed on your system. NetCDF4 is available on most default application repositories, such as those for Ubuntu and Red Hat, and this is the easiest way to install. For example, on Ubuntu:

console $ sudo apt-get install libnetcdf-dev $ sudo apt-get install libnetcdff-dev

If your system has multiple versions of gfortran, make sure that the NetCDF libraries are compiled using the same compiler version. Issues can occur if, for instance, you have an older version of gfortran installed that is run using the gfortran command, and version 9 installed that is run using gfortran-9. apt-get will default to compiling NetCDF using the gfortran command, and thus the compiled libraries will not be compatible with NanoFASE model code compiled using gfortran-9.

If you're on Windows, it is highly recommended to use Cygwin or a Linux container (e.g. using Docker) and install NetCDF using these. Otherwise, you will likely have to compile NetCDF Fortran from source.

Running

The model requires a config file to run. An example is placed at config.example/config.example.nml. The example is commented and should be relatively self-explanatory. Copy this to a new file and edit as you wish. Make sure the directories you specify for output data and logs exist, otherwise the model will fail. Then pass this config file as the first argument when calling the model executable. For example, if you compiled the model to ./bin/main:

console $ ./bin/main /path/to/config/file.nml

Input data

The config file is responsible for telling the model where the input data are (via the &data group). To compile your own input data for the NanoFASE model, it is highly recommended that you use the NanoFASE data module. This module is responsible for (amongst other things) compiling multiple spatial and/or temporal input files into the main NetCDF input file required by the model. It is included as a submodule to this repo: vendor/nanofase-data.

Output data

Output data is documented here.

Batch runs and checkpointing

The model allows for multiple simulations to be chained together into batch runs, and model simulations to be saved and reinstated by use of checkpointing. See the following for more details: - Batch runs - Checkpointing

Example workflows

A few example workflows are provided in the example workflows doc.

Acknowledgements

This model has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement numbers 646002 (NanoFASE), 814572 (NanoSolveIT), 862419 (SAbyNA), 862444 (ASINA) and 731032 (NanoCommons).

Owner

  • Name: UK Centre for Ecology & Hydrology
  • Login: NERC-CEH
  • Kind: organization
  • Location: UK

Citation (CITATION.cff)

cff-version: 1.1.0
message: If you use this software, please cite it using these metadata.
title: NanoFASE model
version: 0.0.4
abstract: >-
  The NanoFASE model is a multimedia, spatiotemporal model of nanomaterial fate and
  speciation in terrestrial and aquatic environments, covering soil, surface water
  and sediment.
authors:
  - family-names: Harrison
    given-names: Sam
    affiliation: UK Centre for Ecology & Hydrology
    orcid: https://orcid.org/0000-0001-8491-4720
    email: sharrison@ceh.ac.uk
  - family-names: Keller
    given-names: Virginie D
    affiliation: UK Centre for Ecology & Hydrology
    orcid: https://orcid.org/0000-0003-4489-5363
  - family-names: Williams
    given-names: Richard J
    affiliation: UK Centre for Ecology & Hydrology
    orcid: https://orcid.org/0000-0002-9876-0491
  - family-names: Hutchins
    given-names: Michael
    affiliation: UK Centre for Ecology & Hydrology
    orcid: https://orcid.org/0000-0003-3764-5331
  - family-names: Lofts
    given-names: Stephen
    affiliation: UK Centre for Ecology & Hydrology
    orcid: https://orcid.org/0000-0002-3627-851X
date-released: 2021-08-05
license: BSD-3-Clause
url: https://github.com/nerc-ceh/nanofase.git

GitHub Events

Total
  • Issues event: 3
  • Delete event: 2
  • Issue comment event: 2
  • Push event: 15
  • Create event: 2
Last Year
  • Issues event: 3
  • Delete event: 2
  • Issue comment event: 2
  • Push event: 15
  • Create event: 2

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 9
  • Total pull requests: 0
  • Average time to close issues: 6 months
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.78
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.25
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • samharrison7 (9)
Pull Request Authors
Top Labels
Issue Labels
enhancement (5) documentation (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 34 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
  • Total maintainers: 1
pypi.org: nfdata

Compile and edit input data for the NanoFASE model

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 34 Last month
Rankings
Dependent packages count: 10.7%
Average: 35.5%
Dependent repos count: 60.4%
Maintainers (1)
Last synced: 7 months ago

Dependencies

.github/workflows/gh-pages.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • peaceiris/actions-gh-pages v3.9.3 composite
docs/requirements.txt pypi
  • jupyter-book *
  • matplotlib *
  • numpy *
  • sphinxcontrib-mermaid *
.github/workflows/ci-cd.yaml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/upload-artifact v4 composite
  • mamba-org/setup-micromamba v2 composite
  • prefix-dev/rattler-build-action v0.2.31 composite