Giter Club home page Giter Club logo

genphysx's Introduction

GenPhysX Description

GenPhysX is the modern and easy-to-use surface fields generator at the CMC. It processes several geospatial databases, specifically averaging, counting, slope and aspect calculations and more. It supports hundreds of geospatial data file formats, including RPN standard files, and seamlessly manages geographical projections and datum. GenPhysX can generate surface fields at any scale for anywhere in the world. GenPhysX uses SPI at its core.

A set of databases are queried by GenPhysX to create model fields of quantities including:

  • Mean orography
  • Land/sea mask
  • Fraction of various vegetation classes
  • Soil types
  • Subgrid-scale fields (e.g. roughness length, launching height, etc.)

GenPhysX is the next-generation geophysical field generator, and is intended to replace both gengeo and genesis. Updates to both the algorithms and the underlying geospatial databases are intended to enhance GenPhysX results in comparison with its predecessors, particularly for high resolution grids.

Getting the source code

git clone --recursive [email protected]:ECCC_CMOE_APPS/GenPhysX

Building GenPhysX

You will need cmake with a version at least 3.21

. ssmuse-sh -x /fs/ssm/main/opt/cmake-3.21.1

Building GenPhysX

Optional dependencies

  • codetools and compilers
. r.load.dot rpn/code-tools/ENV/cdt-1.5.3-intel-19.0.3.199
. r.load.dot rpn/libs/19.7.0
. r.load.dot rpn/vgrid/6.5.0
  • External dependencies (GDAL. Within the ECCC/SCIENCE network, a package containing all the dependencies can be loaded
export CMD_EXT_PATH=/fs/ssm/eccc/cmd/cmds/ext/20210211; . ssmuse-sh -x $CMD_EXT_PATH

Environment setup (At CMC)

Source the right file depending on the architecture you need from the env directory. This will load the specified compiler and define the ECCI_DATA_DIR variable for the test datasets

  • Example for PPP3 and skylake specific architecture:
. ci-env/latest/ubuntu-18.04-skylake-64/intel-19.0.3.199.sh
  • Example for XC50 on intel-19.0.5
. ci-env/latest/sles-15-skylake-64/intel-19.0.5.281.sh
  • Example for CMC network and gnu 7.5:
. ci-env/latest/ubuntu-18.04-amd-64/gnu-7.5.0.sh

Build, install and package

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$SSM_DEV/workspace -DeerUtils_ROOT=$SSM_DEV/workspace/eerUtils_4.1.1-intel-19.0.3.199_ubuntu-18.04-skylake-64/ ../
make -j 4
make test
make install
make package

genphysx's People

Contributors

gauthierjp 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.