Skip to content

scale-met/scale

Repository files navigation

SCALE
=========

SCALE (Scalable Computing for Advanced Library and Environment), which stands for Scalable Computing for Advanced Library and Environment, is a basic library for weather and climate model of the earth and planets aimed to be widely used in various models.
The SCALE library is developed with co-design by researchers of computational science and computer science.
(https://scale.riken.jp/)


Contributing
------------
SCALE is developed by Team SCALE.

License
-------
- License: The BSD 2-Clause License

Build and Run
-----
- set SCALE_SYS environmental variable (see the sysdef directory)
 % export SCALE_SYS=Linux64-gnu-ompi (example)

- set NetCDF library environmental variables
 % export SCALE_NETCDF_INCLUDE="-I/opt/netcdf4-fortran/x.x.x/include"
 % export SCALE_NETCDF_LIBS="-L/opt/netcdf4-fortran/x.x.x/lib -L/ap/netcdf4/y.y.y/lib -L/ap/HDF5/z.z.z/lib  -lnetcdff -lnetcdf -lhdf5_hl -lhdf5"

- build the execution binary files 
 e.g.,
 % make -j 4

- generate the initial files and run the integration
 e.g.,
 % cd scale-top-dir/scale-rm/test/tutorial/ideal
 % ln -s ../../../../bin/scale-rm_init ./
 % mpirun -n 2 ./scale-rm_init init_R20kmDX500m.conf
 % ln -s ../../../../bin/scale-rm      ./
 % mpirun -n 2 ./scale-rm run_R20kmDX500m.conf


Available Option List
-----
- Switches
You can enable options below by setting as environment variables, for example,
 % export OPTION_NAME=T
Switch options will be activated only when the value is "T"

* SCALE_DEBUG           : Activate debug option
* SCALE_QUICKDEBUG      : Activate quick debug option (fast optimization option + fp trap)
* SCALE_USE_SINGLEFP    : Use single floating-point precision
* SCALE_ENABLE_OPENMP   : Enable to use OpenMP
* SCALE_ENABLE_OPENACC  : Enable to use OpenACC
* SCALE_USE_AGRESSIVEOPT: Use agressive options of optimization for some compilers
* SCALE_ENABLE_PNETCDF  : Enable to use parallel NetCDF
* SCALE_COMPAT_NETCDF3  : Keep compatibility with NetCDF3
* SCALE_COMPAT_MPI      : Not to use MPI Fortra08 binding interface (for legacy MPI compilers)
* SCALE_ENABLE_MATHLIB  : Enable to use MATH library
* SCALE_ENABLE_PAPI     : Enable to use PAPI library
* SCALE_DISABLE_LOCALBIN: Supress to make executables in local directory
* SCALE_IGNORE_SRCDEP   : Ignore source dependency at the compilation
* SCALE_ENABLE_SDM      : Enable to use Super Droplet Model

If you want to use SCALE_ENABLE_MATHLIB, please set SCALE_MATHLIB_LIBS for MATH library path.
If you want to use SCALE_ENABLE_PAPI, please set SCALE_PAPI_INCLUDE and SCALE_PAPI_LIBS for PAPI library path.