-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·36 lines (32 loc) · 2 KB
/
Copy pathbuild.sh
File metadata and controls
executable file
·36 lines (32 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
# Main script to build application DLROMS: [CDEPS, GeoGate, ROMS]
# -DDEBUG=ON can be passed to GeoGate build_args to enable debugging
# Load environment
source envs/derecho_env_gnu.sh
# Clean old build
rm -rf build install esmxBuild.yaml
# Create esmxBuild.yaml
echo "application:" >> esmxBuild.yaml
echo " disable_comps: ESMX_Data" >> esmxBuild.yaml
echo " link_libraries: piof conduit catalyst catalyst_fortran python3.12" >> esmxBuild.yaml
echo "components:" >> esmxBuild.yaml
echo " datm:" >> esmxBuild.yaml
echo " source_dir: src/CDEPS" >> esmxBuild.yaml
echo " build_type: cmake.external" >> esmxBuild.yaml
echo " build_args: \"-DDISABLE_FoX=ON -DCPRGNU=ON -DPIO_C_LIBRARY=$PIO_C_LIBRARY -DPIO_C_INCLUDE_DIR=$PIO_C_INCLUDE_DIR -DPIO_Fortran_LIBRARY=$PIO_Fortran_LIBRARY -DPIO_Fortran_INCLUDE_DIR=$PIO_Fortran_INCLUDE_DIR -DCMAKE_Fortran_FLAGS=-ffree-line-length-none\"" >> esmxBuild.yaml
echo " fort_module: cdeps_datm_comp.mod" >> esmxBuild.yaml
echo " libraries: datm dshr streams cdeps_share" >> esmxBuild.yaml
echo " geogate:" >> esmxBuild.yaml
echo " source_dir: src/GeoGate/src" >> esmxBuild.yaml
echo " build_type: cmake.external" >> esmxBuild.yaml
echo " build_args: \"-DGEOGATE_USE_PYTHON=ON -DGEOGATE_USE_CATALYST=ON\"" >> esmxBuild.yaml
echo " fort_module: geogate_nuopc.mod" >> esmxBuild.yaml
echo " libraries: geogate geogate_io geogate_python geogate_catalyst geogate_shared" >> esmxBuild.yaml
echo " roms:" >> esmxBuild.yaml
echo " source_dir: src/ROMS" >> esmxBuild.yaml
echo " build_type: cmake.external" >> esmxBuild.yaml
echo " build_args: \"-DROMS_EXECUTABLE=OFF -DLIBTYPE=STATIC -DROMS_SRC_DIR=src/ROMS -DMY_HEADER_DIR=../../../apps -DROMS_APP=IRENE -DMPI=ON\"" >> esmxBuild.yaml
echo " fort_module: cmeps_roms_mod" >> esmxBuild.yaml
echo " libraries: ROMS" >> esmxBuild.yaml
# Build application
ESMX_Builder -v --build-jobs=4 --build-args="-DCMAKE_Fortran_FLAGS=-I${ESMF_ROOT}/include" --cmake-args="-DCMAKE_Fortran_FLAGS=-I${PWD}/build/roms/module"