This FE library requires following libraries:
- Fortran compiler supporting Fortran 2008
- MPI library
- LAPACK
- NetCDF
- SCALE library (https://scale.riken.jp)
For visualization, we need a Python environment with several Python libraries such as Xarray and netCDF4. Note that the version of Matplotlib is assumed to be >= 3.8.
We confirm that building our codes has succeeded in the following environments:
- Ubuntu 24.04 LTS (for case of GNU compiler)
- GNU Fortran 13.2.0
- OpenMPI 4.1.6
- LAPACK 3.12.0
- NetCDF 4.9.2
- SCALE library 5.5.5
- Ubuntu 22.04 LTS (for case of Intel oneAPI HPC Toolkit 2025.0)
- Intel® Fortran Compiler
- Intel MPI Library
- Intel oneAPI Math Kernel Library
- NetCDF 4.8.0
- SCALE library develop version
- Ubuntu 22.04 LTS (for case of GNU compiler)
- GNU Fortran 11.4.0
- OpenMPI 4.1.2
- LAPACK 3.10.0
- NetCDF 4.8.1
- SCALE library 5.5.5
- macOS Sequoia
- GNU Fortran 13.2.0
- OpenMPI 5.0.3
- LAPACK 3.12.0
- NetCDF 4.9.2
- SCALE library develop version
Our codes are also verified in Fugaku and Odyssey with Fujitsu compiler.
- Preparation
- Set SCALE_FE_SYS environmental variable (see the sysdef directory)
% export SCALE_FE_SYS=MacOSX-gnu-ompi (for example)
- Set a directory in which SCALE library is contained
% export SCALE="~/workspace/scale-5.5.5/" (for example)
- If you would like to enable a thread parallelization with OpenMP, set a variable as
% export SCALE_ENABLE_OPENMP=T
- Set a directory in which a NetCDF library is contained (if necessary).
% export NETCDF="/ap/netcdf4-fortran/4.7.3/" (for example)
- If need, to indicate that a developing version of SCALE library is used, set a variable as
% export SCALE_DEVELOP=T
- Build the library in the directory of FElib
% cd rootdir/FElib/src/
% make
For example, in the case of sample/advect1d,
% cd rootdir/sample/advect1d/
% make
% make run
If you want to build a three-dimensional nonhydrostatic atmospheric model, and conduct an idealized test case, such as density current, using it,
% cd rootdir/model/atm_nonhydro3d/test/case/density_current
% make
% make run
The directory of 'visualize' includes several scripts using Python libraries. To visualize the simulation result using the scripts,
% make vis
The following options is available by setting as environment variables,
% export OPTION_NAME=T
Switch options will be activated only when the value is "T"
- SCALE_ENABLE_OPENMP : Enable a thread parallelization with OpenMP
- SCALE_IGNORE_SRCDEP : Ignore source dependency at the compilation