Coder Social home page Coder Social logo

magnusumet / snap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from metno/snap

0.0 1.0 0.0 17.74 MB

Severe Nuclear Accident Programme

License: GNU General Public License v3.0

Makefile 2.45% Shell 2.93% XSLT 0.31% Fortran 49.05% Python 43.39% HTML 1.87%

snap's Introduction

SNAP

SNAP, the Severe Nuclear Accident Programme is a lagrangian type atmospheric dispersion model specialized on modelling dispersion of radioactive debris. A model description can be found at this link.

Meteorological input fields

SNAP needs meteorological driver data from NWP models in sigma or eta-hybrid model-levels, in the netcdf format. The minimum list of parameters are for the surface layer:

  • surface-air-pressure
  • precipitation (eventually split into convective and large-scale)
  • x- and y-wind-10m

And for the model layers:

  • x- and y-wind
  • air-temperature or potential-temperature
  • ap and b hybrid level values, or sigma level values

Parameter names can be specified in readfield_nc.f90.

And example on how to set up downloading of freely available meteorological data from the NOAA GFS model can be found under src/naccident/examples/gfs/

Dependencies

SNAP requires the following libraries and programs to be installed for compilation

  • fortran77/90 compiler, e.g. gfortran or ifort
  • NetCDF (netcdf > 4.1.1)
  • NetCDF-fortran
  • Python3 (optional)
  • git (optional)
  • fimex (optional)

Installation

Create a file current.mk in the src directory. Use e.g the file ubuntuXenial.mk as a template. The most important parameters to modify are NCDIR and BINDIR, where the final files will be installed to. THE MIINC and MILIB should be uncommented.

In the src directory run then:

make install

This will install bsnap_naccident to BINDIR. Run SNAP using the command

bsnap_naccident snap.input

Examples of snap.input can be found in the directory src/naccident/examples/.

Versioning

The master branch in git is used for development. Stable versions are tagged as 'vX.YY.ZZ'. Releases should also have a DOI for citation, see https://doi.org/10.5281/zenodo.1155159 . For the user-interface snappy, we use tags like 'snappy-vX.YY.ZZ' with independent version numbers. Other tags are used internally.

The build system uses automatic versioning based on git tags and revision numbers and embeds this into the resulting program. If git or python3 is unavailable, this logic should be bypassed by setting the environment variable VERSION to some value, e.g.

env VERSION="some_version_number" make install

License

SNAP: Servere Nuclear Accident Programme
Copyright (C) 1992-2023  Norwegian Meteorological Institute

SNAP is free software: you can
redistribute it and/or modify it under the terms of the
GNU General Public License as published by the
Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program, i.e. see COPYING for more information.
If not, see <https://www.gnu.org/licenses/>.

snap's People

Contributors

babrodtk avatar charlienegri avatar dulte avatar heikoklein avatar juerg1s avatar magnusumet avatar

Watchers

 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.