SCALE

April 23, 2024 ยท View on GitHub

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.