forked from dalesteam/dales
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Minor updates for modsurface and modbulkmicro3
- Loading branch information
Showing
10 changed files
with
569 additions
and
397 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# CHEOPS GCC - v. 2018 | ||
# use with: | ||
# module load gnu/4.8.2 netcdf/4.1.3-gcc-4.8.2 intelmpi/2018 | ||
# module load hdf5/1.8.11 szlib | ||
# module load cmake | ||
|
||
set(CMAKE_Fortran_COMPILER "gfortran" ) # "ifort") #"gfortran") | ||
set(Fortran_COMPILER_WRAPPER mpif90 ) # mpiifort) | ||
|
||
set(USER_Fortran_FLAGS "-fbacktrace -finit-real=nan -fdefault-real-8 -fno-f2c -ffree-line-length-none") | ||
set(USER_Fortran_FLAGS_RELEASE "-funroll-all-loops -O3") | ||
set(USER_Fortran_FLAGS_DEBUG "-W -Wall -Wuninitialized -fcheck=all -fbacktrace -O0 -g -ffpe-trap=invalid,zero,overflow") | ||
|
||
set(NETCDF_INCLUDE_DIR "/opt/rrzk/lib/netcdf/4.1.3-gcc-4.8.2/include") # set(NETCDF_INCLUDE_DIR "/opt/rrzk/lib/netcdf/4.1.3/include") | ||
set(NETCDF_LIB_1 "/opt/rrzk/lib/netcdf/4.1.3-gcc-4.8.2/lib/libnetcdff.so") # set(NETCDF_LIB_1 "/opt/rrzk/lib/netcdf/4.1.3/lib/libnetcdff.so") | ||
set(NETCDF_LIB_2 "/opt/rrzk/lib/netcdf/4.1.3-gcc-4.8.2/lib/libnetcdf.so") # set(NETCDF_LIB_2 "/opt/rrzk/lib/netcdf/4.1.3/lib/libnetcdf.so") | ||
# set(NETCDF_LIB_3 "/opt/rrzk/lib/netcdf/netcdf-4.1.3/f90/netcdf.mod") | ||
set(HDF5_LIB_1 "/opt/rrzk/lib/hdf5/1.8.11/lib/libhdf5_hl.so") # set(HDF5_LIB_1 "/opt/rrzk/lib/hdf5/1.8.11/lib/libhdf5_hl.so") | ||
set(HDF5_LIB_2 "/opt/rrzk/lib/hdf5/1.8.11/lib/libhdf5.so") # set(HDF5_LIB_2 "/opt/rrzk/lib/hdf5/1.8.11/lib/libhdf5.so") | ||
set(SZIP_LIB "/opt/rrzk/lib/szip/szip-2.1/lib/libsz.so") | ||
set(LIBS ${NETCDF_LIB_1} ${NETCDF_LIB_2} ${HDF5_LIB_1} ${HDF5_LIB_2} ${SZIP_LIB} m z curl) | ||
# set(LIBS ${NETCDF_LIB_1} ${NETCDF_LIB_2} ${NETCDF_LIB_3} ${HDF5_LIB_1} ${HDF5_LIB_2} ${SZIP_LIB} m z curl) | ||
# | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
### Choose CMAKE Type | ||
if(NOT CMAKE_BUILD_TYPE) | ||
set (CMAKE_BUILD_TYPE RELEASE CACHE STRING | ||
"Choose the type of build, options are: None Debug Release." | ||
FORCE) | ||
endif() | ||
|
||
### Set compiler flags | ||
if("$ENV{SYST}" STREQUAL "HUYGENS") | ||
set(CMAKE_Fortran_COMPILER "mpfort") | ||
set(CMAKE_Fortran_FLAGS "-qfree=F90 -qrealsize=8 -qwarn64 -qflttrap=en:ov:zero:inv:imp -qflag=w:e" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_RELEASE "-O4 -qnoipa -qstrict=none:exceptions" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_DEBUG "-O2 -g -qfullpath -C -qflttrp=enable:nanq:overflow:zerodivide -qsigtrap -qinitauto=ff" CACHE STRING "") | ||
elseif("$ENV{SYST}" STREQUAL "CARTESIUS") | ||
set(CMAKE_Fortran_COMPILER "mpiifort") | ||
set(CMAKE_Fortran_FLAGS "-r8 -ftz -extend_source" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_DEBUG "-traceback -fpe1 -O0 -g -check all" CACHE STRING "") | ||
elseif("$ENV{SYST}" STREQUAL "localpc_ifort") | ||
set(CMAKE_Fortran_COMPILER "mpif90") | ||
set(CMAKE_Fortran_FLAGS "-r8 -ftz -extend_source" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_DEBUG "-traceback -fpe1 -O0 -g -check all" CACHE STRING "") | ||
elseif("$ENV{SYST}" STREQUAL "HYDRA") | ||
set(CMAKE_Fortran_COMPILER "mpiifort") | ||
set(CMAKE_Fortran_FLAGS "-r8 -ftz -extend_source" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3" CACHE STRING "") | ||
set(CMAKE_Fortran_FLAGS_DEBUG "-traceback -fpe1 -O0 -g -check all" CACHE STRING "") | ||
else() | ||
set(CMAKE_Fortran_COMPILER "mpif90") | ||
set(CMAKE_Fortran_FLAGS "-finit-real=nan -W -Wall -fdefault-real-8 -ffree-line-length-none" CACHE STRING "") | ||
set (CMAKE_Fortran_FLAGS_RELEASE "-funroll-all-loops -fno-f2c -O3" CACHE STRING "") | ||
set (CMAKE_Fortran_FLAGS_DEBUG "-fbounds-check -fbacktrace -fno-f2c -O0 -g -ffpe-trap=invalid,zero,overflow" CACHE STRING "") | ||
endif() | ||
|
||
## Project parameters | ||
PROJECT(DALES Fortran) | ||
cmake_minimum_required(VERSION 2.6) | ||
set(VERSION_MAJOR "4") | ||
set(VERSION_MINOR "1") | ||
set(VERSION_PATCH "0") | ||
|
||
### If necessary, resort to BASH-methods to find netcdf-directory | ||
EXEC_PROGRAM(${CMAKE_CURRENT_SOURCE_DIR}/findnetcdf OUTPUT_VARIABLE ADDMODULEPATH) | ||
|
||
### Find NetCDF files | ||
FIND_PATH(NETCDF_INCLUDE_DIR netcdf.mod NETCDF.mod | ||
PATHS | ||
$ENV{SARA_NETCDF_INCLUDE} | ||
$ENV{SURFSARA_NETCDF_INCLUDE} | ||
$ENV{NETCDF_INCLUDE} | ||
${ADDMODULEPATH}/include | ||
/usr/include | ||
$ENV{HOME}/include | ||
/usr/lib64/gfortran/modules | ||
/opt/rrzk/lib/netcdf/4.1.3-gcc-4.8.2/f90/ | ||
DOC "NetCDF include directory (must contain netcdf.mod)" | ||
) | ||
|
||
FIND_LIBRARY(NETCDF_C_LIB netcdf | ||
PATHS | ||
$ENV{SARA_NETCDF_LIB} | ||
$ENV{SURFSARA_NETCDF_LIB} | ||
$ENV{NETCDF_LIB} | ||
${ADDMODULEPATH}/lib | ||
${ADDMODULEPATH}/lib64 | ||
/usr/lib | ||
/usr/lib64 | ||
$ENV{HOME}/lib | ||
$ENV{HOME}/lib64 | ||
/opt/rrzk/lib/netcdf/4.1.3-gcc-4.8.2/lib/ | ||
DOC "NetCDF C library" | ||
) | ||
|
||
FIND_LIBRARY(NETCDF_FORTRAN_LIB netcdff | ||
PATHS | ||
$ENV{SARA_NETCDF_LIB} | ||
$ENV{SURFSARA_NETCDF_LIB} | ||
$ENV{NETCDF_LIB} | ||
${ADDMODULEPATH}/lib | ||
${ADDMODULEPATH}/lib64 | ||
/usr/lib | ||
/usr/lib64 | ||
$ENV{HOME}/lib | ||
$ENV{HOME}/lib64 | ||
/opt/rrzk/lib/netcdf/4.1.3-gcc-4.8.2/lib/ | ||
DOC "NetCDF Fortran library" | ||
) | ||
|
||
if(NETCDF_INCLUDE_DIR) | ||
include_directories(${NETCDF_INCLUDE_DIR}) | ||
else(NETCDF_INCLUDE_DIR) | ||
MESSAGE(STATUS "WARNING: No NETCDF bindings are found.") | ||
endif(NETCDF_INCLUDE_DIR) | ||
|
||
if(NETCDF_C_LIB) | ||
set(NETCDF_LIBS ${NETCDF_C_LIB}) | ||
else(NETCDF_C_LIB) | ||
MESSAGE(STATUS "WARNING: No NETCDF bindings are found.") | ||
endif(NETCDF_C_LIB) | ||
|
||
if(NETCDF_FORTRAN_LIB) | ||
set(NETCDF_LIBS ${NETCDF_LIBS} ${NETCDF_FORTRAN_LIB}) | ||
else(NETCDF_FORTRAN_LIB) | ||
MESSAGE(STATUS "WARNING: No Fortran NETCDF bindings are found.") | ||
endif(NETCDF_FORTRAN_LIB) | ||
|
||
### Documentation | ||
INCLUDE(FindDoxygen) | ||
if(DOXYGEN) | ||
ADD_SUBDIRECTORY(utils/doc) | ||
else() | ||
MESSAGE(STATUS "WARNING: Doxygen not found - Reference manual will not be created") | ||
endif() | ||
|
||
### Set case | ||
if(NOT CASE) | ||
set (CASE standard CACHE STRING | ||
"Set the case." | ||
FORCE) | ||
endif() | ||
|
||
### Add case specific file | ||
FILE(GLOB usrfile "${CMAKE_CURRENT_SOURCE_DIR}/cases/${CASE}/moduser.f90") | ||
if(usrfile STREQUAL "") | ||
set(usrfile "${CMAKE_CURRENT_SOURCE_DIR}/cases/standard/moduser.f90") | ||
endif() | ||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${usrfile} ${CMAKE_CURRENT_SOURCE_DIR}/src/moduser.f90) | ||
MESSAGE(STATUS "Case " ${CASE} " uses " ${usrfile}) | ||
|
||
ADD_SUBDIRECTORY(src) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
! This file is used on Cheops and Juwels | ||
! to supplement missing Git/Cmake functionalities | ||
! Variables in this file are filled in by CMake at build time, | ||
! used to record the git version and hash. | ||
|
||
module modversion | ||
|
||
implicit none | ||
|
||
character(80) :: git_version='2.17' ! "@GIT_VERSION@" | ||
|
||
end module modversion |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
#!/bin/bash -l | ||
#SBATCH --ntasks=16 | ||
#SBATCH --mem-per-cpu=20gb | ||
#SBATCH --time=120:00:00 | ||
#SBATCH --account=UniKoeln | ||
|
||
# number of nodes in $SLURM_NNODES (default: 1) | ||
# number of tasks in $SLURM_NTASKS (default: 1) | ||
# number of tasks per node in $SLURM_NTASKS_PER_NODE (default: 1) | ||
# number of threads per task in $SLURM_CPUS_PER_TASK (default: 1) | ||
|
||
|
||
#module avail | ||
#module load intelmpi/4.1.0 netcdf/4.1.3 | ||
module load gnu/4.8.2 netcdf/4.1.3-gcc-4.8.2 intelmpi/2018 | ||
module load hdf5/1.8.11 szlib | ||
# module load cmake | ||
|
||
#echo $PATH | ||
|
||
echo "# of nodes, tasks:" $SLURM_NNODES $SLURM_NTASKS | ||
|
||
#LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/rneggers/bin/netcdf-4.3.0_ifort/lib" | ||
#LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/rrzk/lib/netcdf/4.1.3/lib" | ||
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/rrzk/lib/netcdf/4.1.3-gcc-4.8.2/lib" | ||
|
||
srun -n $SLURM_NTASKS ./dales4 |
Oops, something went wrong.