Code Monkey home page Code Monkey logo

dfn_darkflight's Introduction

DFN_darkflight

DFN implementation of meteor darkflight calculation

setup

It is easiest to run in a conda environment. install anaconda or miniconda, setup conda environment: conda create --name darkflight_env --file df_conda_spec.txt

Additionally, you need to setup the library STRM.py, see comment in DFN_darkflight.py for details. The STRM data is downloaded to a cache, which is stored in a hardcoded directory within darkflight.py this is currently hardcoded to /home/dfn-user/, you need to modify this line in DFN_darkflight.py

Additionally you need nrlmsise atmosphere model python interface, from: https://github.com/DeepHorizons/Python-NRLMSISE-00.git to provide the following files in the same folder as DFN_darkflight.py: nrlmsise_00_data.py nrlmsise_00_header.py nrlmsise_00.py The version in pypi is out of date, you need the git version.

usage

edit the cfg file to match your meteorite edit the wind profile file to match your winds

python DFN_darkflight.py <options>
  -h, --help            show this help message and exit
  -e EVENTFILE, --eventFile EVENTFILE
                        Event file for propagation [.ECSV, .CFG or .FITS]
  -w WINDFILE, --windFile WINDFILE
                        Wind file for the corresponding event [.CSV] (overrides cfg value)
  -v {eks,grits,raw}, --velocityModel {eks,grits,raw}
                        Specify which velocity model to use for darkflight. raw is preferred
  -m MASS, --mass MASS  Mass of the meteoroid, kg (default='fall-line')
  -d DENSITY, --density DENSITY
                        Density of the meteoroid (default=3500[kg/m3])
  -s SHAPE, --shape SHAPE
                        Specify the meteorite shape for the darkflight
                        (default=cylinder)
                        values permitted are s, c, b (for sphere,cylinder,brick) 
                        or a float for intermediate values
  -g H_GROUND, --h_ground H_GROUND
                        Height of the ground at landing site (m), float or 'a'
                        for auto, which uses SRTM data
  -k, --kml             use this option if you don't want to generate KMLs
  -J, --geojson         use this option if you want to generate geojson (must
                        have KMLs as well
  -K TRAJECTORYKEYWORD, --trajectorykeyword TRAJECTORYKEYWORD
                        Add a personalised keyword to output trajectory folder name.
  -mc MONTECARLO, --MonteCarlo MONTECARLO
                        Number of Monte Carlo simulations for the darkflight (overrides cfg value)
  -me MASS_ERR, --mass_err MASS_ERR
                        mass error range as 1-x,1+x multiplier to -m for MC
                        (default=0.1)
  -se SHAPE_ERR, --shape_err SHAPE_ERR
                        shape error as +/- for MC (default=0.15)
  -we WIND_ERR, --wind_err WIND_ERR
                        wind magnitude error in each layer as +/- for MC
                        (default=2.0 m/s)

notes

for Montecarlo: -s 1.4 -se 0.15 will simulate drags of ~1.2 to ~1.6, matching the drag range of sphere to rounded brick

If your system is set up appropriately, you can do: mpirun -n N python DFN_darkflight.py <options> -mc 1000 (where N is the number of cores you want to use.) So the 1000 Montecarlo runs will be split accross N cores on a multicore processor. It's faster!

-g a will use Shuttle Radar Topography (STRM) to get terrain heights, and automatically set ground height. STRM covers +/-52 deg latitude. The ASTER dataset is file compatible, and has higher latitude coverage. You will need to download the appropriate files, and proably tweak the code, but file formats are the same.

dfn_darkflight's People

Contributors

morvan68 avatar hdevillepoix 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.