Open HCJung-jbnu opened 1 month ago
export UMDIR=/data/mirae/ryu/TI/UM
# GloSea6
module purge
module load fcm/2019.09.0 module load rose/2019.01.5 module load cylc/7.9.3
## svn 구축
$ mkdir ~/repo $ svnadmin create ~/repo/glosea6
![image](https://github.com/user-attachments/assets/6eb33bde-0d0c-47c4-8479-2a1249dfb46d)
## import glosea source code
$ cd /data/mirae/ryu/GloSea6_DATA/ $ svn import ./nemo file:///${HOME}/repo/glosea6/nemo -m ‘init import nemo’
모든 폴더를 같은 방법으로 `import` 수행
![image](https://github.com/user-attachments/assets/06184551-3472-4554-83e7-e9ac3b3a14d0)
## svn keyword 설정
$ mkdir -p ~/.metomi/fcm $ cd ~/.metomi/fcm/
- vi keyword.cfg
location{primary}[casim.xm] = file:///${HOME}/repo/glosea6/monc/casim location{primary}[cice.xm] = file:///${HOME}/repo/glosea6/cice/main location{primary}[gcom.xm] = file:///${HOME}/repo/glosea6/gcom/main location{primary}[jules.xm] = file:///${HOME}/repo/glosea6/jules/main location{primary}[glosea.xm] = file:///${HOME}/repo/glosea6 location{primary}[gs.xm-br] = file:///${HOME}/repo/glosea6/glosea/main/branches location{primary}[kmt.xm] = file:///${HOME}/repo/glosea6/kmt location{primary}[moci.xm] = file:///${HOME}/repo/glosea6/moci/main location{primary}[moci.xm_br] = file:///${HOME}/repo/glosea6/moci/main/branches location{primary}[moci.xm_tr] = file:///${HOME}/repo/glosea6/moci/main/trunk location{primary}[NEMO.xm] = file:///${HOME}/repo/glosea6/nemo/main location{primary}[roses-u] = file:///${HOME}/repo/glosea6/roses-u location{primary}[shumlib.xm] = file:///${HOME}/repo/glosea6/utils/shumlib location{primary}[socrates.xm] = file:///${HOME}/repo/glosea6/socrates/main location{primary}[um_nims] = file:///${HOME}/repo/glosea6/um/main location{primary}[um.xm] = file:///${HOME}/repo/glosea6/um/main location{primary}[um.xm_br] = file:///${HOME}/repo/glosea6/um/main/branches location{primary}[um.xm_tr] = file:///${HOME}/repo/glosea6/um/main/trunk location{primary}[um_aux.xm] = file:///${HOME}/repo/glosea6/um/aux location{primary}[lapack.xm] = file:///${HOME}/repo/glosea6/var/branches/pkg/lapack location{primary}[var.xm] = file:///${HOME}/repo/glosea6/var location{primary}[ops.xm] = file:///${HOME}/repo/glosea6/ops
- vi external.cfg
graphic-diff = tkdiff graphic-merge = kdiff3
## ssh config 설정
$ mkdir ~/ssh-keygen/enter1 $ cp ~/.ssh/id* ~/ssh-keygen/enter1/
- vi ~/.ssh/config
``` bash
Host enter1
Hostname 210.125.45.201
User ryu
Port 20022
ForwardX11 yes
$ cd ~/.metomi/
$ rose config > rose.conf
meta-path=/opt/kma/kma_lib/apps/rose/2019.01.5/
group{linux} = enter1
icon-path-scheduler=/opt/kma/kma_lib/apps/cylc/cylc-flow-7.9.3/lib/cylc/gui/images/icon.png
prefix-location.kmt=file:///${HOME}/repo/glosea6/kmt prefix-location.tmp=file:///${HOME}/repo/glosea6/kmt prefix-location.u=file:///${HOME}/repo/glosea6/u
## cylc 환경 설정
$ mkdir ~/.cylc/7.9.3 $ cd ~/.cylc/7.9.3/ $ cylc get-global-config > global.rc
- vi ~/.cylc/7.9.3/global.rc
``` jinja2
[communication]
method = http
[suite host self-identification]
host = enter1
[hosts]
[[enter1]]
task communication method = ssh
module load intel/21.3
module load impi/2021.3.0
별도로 로드/설치할 필요가 없다.
앞서 rose/2019.01.5
모듈을 로드할 때 함께 로드된다.
rose/2019.01.5
모듈과 함께 로드되는 모듈fcm/2019.09.0
모듈과 함께 로드되는 모듈module load cmake/3.16.2
module load eccodes/2.16.0
$gcom_test_fflags = -i8 -r8
$mpl_test_fflags = -i8 -r8
$tune_fflags = -i8 -r8 -O3
build.prop{cc} = icc
$mpich_dir{?} = /opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0
- vi ./machines/kma_linux_ifort_impi_serial.cfg
$gcom_test_fflags = -i8 -r8 $mpl_test_fflags = -i8 -r8 $tune_fflags = -i8 -r8 -O3
build.prop{cc} = icc
$mpich_dir{?} = /opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0
- vi ./machines/kma_linux_ifort_impi_mpich3.cfg
$gcom_test_fflags = -i8 -r8 $mpl_test_fflags = -i8 -r8 $tune_fflags = -i8 -r8 -O3
$mpich_dir{?} = /opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0
preprocess.prop{cpp} = $mpich_dir/bin/mpiicc
build.prop{fc} = $mpich_dir/bin/mpiifort build.prop{cc} = $mpich_dir/bin/mpiicc
- vi ./ext_scripts/kma_linux_ext_bld.scr
config_list="kma_linux_ifort_impi_mpich3 kma_linux_ifort_impi_serial kma_linux32B_ifort_impi_serial"
BASE_DIR=/data/mirae/ryu/TI/gcom
EXTRACT_PATH="gcom6.8_intel_impi/"
- **_compile_**
$ OMP_NUM_THREADS=2 ./gcom_test.sh |& tee gcom_test_log.txt
## shumlib
#### ~/_data/TI/shumlib/shumlib-2019.10.1/
- vi ./make/meto-x86-ifort12+-gcc.mk
FCFLAGS_OPENMP=-qopenmp
- vi ./make/meto-x86-ifort15+-gcc.mk
CC=icc
- **_compile_**
make clean -f make/meto-x86-ifort12+-gcc.mk make -f make/meto-x86-ifort12+-gcc.mk |& tee make.log
## HDF5
#### ~/_data/TI/utils/install-um-libs/netcdf/hdf5-1.10.3/
- vi ./configure
export FC=ifort export CC=icc export CXX=icpc
- **_compile_**
./configure --prefix=/home/mirae/ryu/lrf/modulefiles/hdf5/1.10.3/INTEL/ --enable-fortran --enable-cxx –-with-zlib=/opt/kma/kma_lib/apps/zlib/1.2.11 --enable-hl |& tee c.txt
make clean make |& tee make.log make check |& tee make_check.log make install |& tee make_install.log make check-install |& tee make_check_install.log
- vi ~/.bashrc
``` bash
### HDF5
export HDF5_HOME=/home/mirae/ryu/lrf/modulefiles/Utils/hdf5/1.10.3/INTEL
export LD_LIBRARY_PATH=${HDF5_HOME}/lib:${LD_LIBRARY_PATH}
export PATH=${HDF5_HOME}/bin:${PATH}
export FC=mpiifort
export CC=mpiicc
export CXX=mpiicpc
export CFLAGS="-fPIC"
export FCFLAGS="-fPIC"
export LDFLAGS="-L/opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0/lib -I/opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0/include -lmpifort -lmpi -lmpicxx"
export CPPFLAGS="-I/opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0/include"
./configure --prefix=/home/mirae/ryu/lrf/modulefiles/hdf5-parallel/1.10.3/INTEL_impi/ --enable-fortran --enable-parallel –-with-zlib=/opt/kma/kma_lib/apps/zlib/1.2.11 –-enable-hl --enable-shared |& tee configure_impi.log
make clean make |& tee make_impi.log make check |& tee make_check _impi.log make install |& tee make_install impi.log make check-install |& tee make_check_install_impi.log
## NetCDF-c
#### ~/_data/TI/utils/install-um-libs/netcdf/netcdf-c-4.7.3/
- vi ./configure
export CPPFLAGS=-I/home/mirae/ryu/lrf/modulefiles/Utils/hdf5/1.10.3/INTEL/include export LDFLAGS=-L/home/mirae/ryu/lrf/modulefiles/Utils/hdf5/1.10.3/INTEL/lib export LD_LIBRARY_PATH=/home/mirae/ryu/lrf/modulefiles/Utils/hdf5/1.10.3/INTEL/lib export FC=ifort export CC=icc export CXX=icpc
- **_compile_**
./configure --prefix=/home/mirae/ryu/lrf/modulefiles/netcdf-c/4.7.3/INTEL/ --enable-netcdf-4 –-disable-dap |& tee configure.log
make clean make |& tee make.log make check |& tee make_check.log make install |& tee make_install.log
- vi ~/.bashrc
``` bash
### NETCDF
export NETCDF=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-c/4.7.3/INTEL
export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH}
export PATH=${NETCDF}/bin:${PATH}
export NCDIR=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-c/4.7.3/INTEL
export CC=icc
export FC=ifort
export CPPFLAGS=-I${NCDIR}/include
export LDFLAGS=-L${NCDIR}/lib
export NFDIR=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-fortran/4.4.4/INTEL
./configure --prefix=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-fortran/4.4.4/INTEL/ |& tee configure.log
make clean make |& tee make.log make install |& tee make_install.log
- vi ~/.bashrc
``` bash
### NETCDF-FORTRAN
export NETCDFF=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-fortran/4.4.4/INTEL
export LD_LIBRARY_PATH=${NETCDFF}/lib:${LD_LIBRARY_PATH}
export PATH=${NETCDFF}/bin:${PATH}
PKGCONFIG_IN = pnetcdf_pc.in
export MPICC=mpiicc
export MPICXX=mpiicpc
export MPIF77=mpiifort
export MPIF90=mpiifort
export CFLAGS='-g -O2 -fPIC'
./configure --prerix=/home/mirae/ryu/lrf/modulefiles/Utils/PnetCDF/1.8.1/INTEL/ |& tee configure.log
make clean make |& tee make.log make install prefix=/home/mirae/ryu/lrf/modulefiles/Utils/PnetCDF/1.8.1/INTEL/ |& tee make_install.log
- vi ~/.bashrc
``` bash
### PNETCDF
export PNETCDF=/home/mirae/ryu/lrf/modulefiles/Utils/PnetCDF/1.8.1/INTEL_impi
export LD_LIBRARY_PATH=${PNETCDF}/lib:${LD_LIBRARY_PATH}
export PATH=${PNETCDF}/bin:${PATH}
./configure --prefix=/home/mirae/ryu/lrf/modulefiles/Utils/libtool/2.4.6/INTEL/
make clean make |& tee make.log make install |& tee make_install.log install-recursive
- vi ~/.bashrc
``` bash
### LIBTOOL
#export LIBTOOL=/home/mirae/ryu/lrf/modulefiles/Utils/libtool/2.4.6/INTEL
#export LD_LIBRARY_PATH=${LIBTOOL}/lib:${LD_LIBRARY_PATH}
#export PATH=${LIBTOOL}/bin:${PATH}
export CC=mpiicc
export FC=mpiifort
./configure --prefix=/home/mirae/ryu/lrf/modulefiles/Utils/gptl/8.0.3/INTEL/ |& tee configure_impi.log
make clean make |& tee make_impi.log make install |& tee make_install.log install-recursive
- vi ~/.bashrc
``` bash
### GPTL
#export GPTL=/home/mirae/ryu/lrf/modulefiles/Utils/gptl/8.0.3/INTEL_impi
#export LD_LIBRARY_PATH=${GPTL}/lib:${LD_LIBRARY_PATH}
#export PATH=${GPTL}/bin:${PATH}
include ${HOME}/_data/oasis3-mct_4.0/util/make_dir/make.intel_impi_nemo_lenovo_openmp
COUPLE = /data/mirae/ryu/oasis3-mct_4.0
MPIDIR = /opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0
NETCDF_LIB_DIR=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-fortran/4.4.4/INTEL/lib NETCDF_INC_DIR=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-fortran/4.4.4/INTEL/include NETCDF_INCLUDE = ${NETCDF_INC_DIR} NETCDF_LIBRARY = -L${NETCDF_LIB_DIR} -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl
F90 = $(MPIBIN)/mpiifort -I$(MPI_INCLUDE)
CC = $(MPIBIN)/mpiicc -I$(MPI_INCLUDE) LD = $(MPIBIN)/mpiifort $(MPILIB)
- **_compile_**
make cleanlibs -f TopMakefileOasis3 make -f TopMakefileOasis3 |& tee make.log
## XIOS 2.0
#### ~/_data/xios-2.0_clena/
$ ln -s /home/mirae/ryu/_data/xios-2.0_clena/arch/arch-ifort_CICLAD.env arch.env $ ln -s /home/mirae/ryu/_data/xios-2.0_clena/arch/arch-ifort_CICLAD.fcm arch.fcm $ ln -s /home/mirae/ryu/_data/xios-2.0_clena/arch/arch-ifort_CICLAD.path arch.path
- vi ./arch.env
module purge module load intel/21.3 module load impi/2021.3.0 module load zlib/1.2.11 module load gcc/8.3
export HDF5_INC_DIR=$HDF5_HOME/include export HDF5_LIB_DIR=$HDF5_HOME/lib
export NETCDF_INC_DIR=$NETCDF/include export NETCDF_LIB_DIR=$NETCDF/lib
export NETCDFF_INC_DIR=$NETCDFF/include export NETCDFF_LIB_DIR=$NETCDFF/lib
- vi ./arch.fcm
%CCOMPILER mpiicc %FCOMPILER mpiifort %LINKER mpiifort -nofor-main
%BASE_CFLAGS -D_GLIBCXX_USE_CXX11_API=0 -fPIC -std=c++11 %PROD_CFLAGS -O3 -D BOOST_DISABLE_ASSERTS %DEV_CFLAGS -g %DEBUG_CFLAGS -DBZ_DEBUG -g -fno-inline
%BASE_FFLAGS -fPIC -DNONE %PROD_FFLAGS -O3 %DEV_FFLAGS -g -O2 -traceback %DEBUG_FFLAGS -g -traceback
%BASE_INC -DNONE %BASE_LD -lstdc++
%CPP mpiicc -EP %FPP cpp -P %MAKE gmake
- vi ./arch.path
NETCDF_INCDIR="-I $NETCDFF_INC_DIR -I $NETCDF_INC_DIR" NETCDF_LIBDIR="-L $NETCDFF_LIB_DIR -L $NETCDF_LIB_DIR" NETCDF_LIB="-lnetcdff -lnetcdf" MPI_INCDIR="-I $MPI_INC_DIR" MPI_LIBDIR="-L $MPI_LIB_DIR" MPI_LIB="-lmpi" HDF5_INCDIR="-I $HDF5_INC_DIR" HDF5_LIBDIR="-L $HDF5_LIB_DIR" HDF5_LIB="-lhdf5_hl -lhdf5 -lhdf5 -lz"
- **_compile_**
./make_xios --prod --full --arch ifort_CICLAD --jobs 8 |& tee compile_log_impi.txt
## nco
#### ~/_data/Library/nco-4.7.5/
- vi ./configure
export CC=icc export CXX=icpc export GSL_ROOT=/opt/kma/kma_lib/apps/gsl/1.16 export NETCDF_ROOT=/home/mirae/ryu/lrf/modulefiles/Utils/netcdf-c/4.7.3/INTEL export NETCDF_INC=${NETCDF_ROOT}/include export NETCDF_LIB=${NETCDF_ROOT}/lib export UDUNITS2_PATH=/opt/kma/kma_lib/apps/udunits/2.2.26
- vi ~/.bashrc
``` bash
module load flex/2.5.35
module load szip/2.1.1
module load gsl/1.16
module load udunits/2.2.26
make distclean
./configure --prefix=/home/mirae/ryu/lrf/modulefiles/Utils/nco/4.7.5/INTEL |& tee configure.log
make clean
make |& tee make.log
make check |& tee make_check.log
make install |& tee make_install.log
# Library root directory
$lib_root_path{?} = /data/mirae/ryu/TI
$gcom_root_path{?} = /data/mirae/ryu/TI/gcom/gcom6.8_intel_impi $gcom_mpp_path = $gcom_root_path/kma_linux_ifort_impi_mpich3/build $gcom_serial_path = $gcom_root_path/kma_linux_ifort_impi_serial/build
$eccodes_path{?} = /opt/kma/kma_lib/apps/eccodes/2.16.0/INTEL/210
$prism_path{?} = /data/mirae/ryu/oasis3-mct_4.0/NEMO_LENOVO_INTEL
$netcdf_c_path = /home/mirae/ryu/lrf/modulefiles/Utils/netcdf-c/4.7.3/INTEL $netcdf_f_path = /home/mirae/ryu/lrf/modulefiles/Utils/netcdf-fortran/4.4.4/INTEL
`$ fcm ci`
</br>
### ~/roses/r13_um.xm_tr_vn11.3/
- vi ./rose-stem/rose-suite.conf
HOST_SOURCE_UM_BASE='fcm:um.xm_br/dev/ryu/r13_um.xm_tr_vn11.3_LowGS6'
REMOTE_USER='ryu'
- vi ./rose-stem/site/kma/family-linux.rc
host = enter1 owner = ryu
PATH = /opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0/bin:$PATH
[[KMA_LINUX_BUILD_GCC_IFORT]] inherit = KMA_LINUX_BUILD_SETTINGS [[[environment]]] PLATFORM=kma-sd530-impi-intel
- vi ./rose-stem/site/kma/runtime-install.rc
HOST_SOURCE_UM_BASE="fcm:um.xm/tags/vn11.3"
- vi ./rose-stem/site/kma/runtime-linux-common.rc
host = enter1 owner = ryu
- vi ./rose-stem/site/kma/variables.rc
{%- set ECCODES_LINUX_ROOT_DIR='/opt/kma/kma_lib/apps/eccodes/2.16.0/INTEL/210' %}
{%- set PREBUILD_LINUX_ROOT_DIR='/data/mirae/ryu/cylc-run/vn11.3_prebuilds/share' %}
- vi ./rose-stem/app/fcm_make_libs/rose-app.conf
- vi ./rose-stem/app/fcm_make_utils_mpp/rose-app.conf
- vi ./rose-stem/app/fcm_make_utils_serial/rose-app.conf
- vi ./rose-stem/app/fcm_make_createbc/rose-app.conf
config_root_path=fcm:um_nims/branches/dev/ryu/r13_um.xm_tr_vn11.3_LowGS6
platform_config_dir=kma-sd530-impi-intel
um_sources=fcm:um_nims/branches/dev/ryu/r13_um.xm_tr_vn11.3
`$ fcm ci`
</br>
#### 소스 코드 수정
**`./src/control/coupling/oasis_atm_data_mod.F90`에서 3차원으로 선언되는데, 아래의 코드에서 2차원으로 사용되어 에러 발생**
- vi ./src/control/coupling/oasis3_puta2w.F90
- `u10m_w(i,j)` → `u10m_w(i,j,1)`
- `v10m_w(i,j)` → `v10m_w(i,j,1)`
``` fortran
77 u10m_w(i,j,1)=c_u10m_w(i,j)
86 v10m_w(i,j,1)=c_v10m_w(i,j)
evap2d(i,j)
→ evap2d(i,j,1)
145 evap2d(i,j,1)=c_evap(i,j)
163 -(sensible2d(i,j)+latentHeatOfCond*evap2d(i,j,1)
- vi ./src/control/coupling/oasis3_geto2a.F90
- `ocn_u(1:oasis_imt,1:oasis_jmt_u)` → `ocn_u(1:oasis_imt,1:oasis_jmt_u,1)`
- `ocn_v(1:oasis_imt,1:oasis_jmt_v)` → `ocn_v(1:oasis_imt,1:oasis_jmt_v,1)`
``` fortran
788 ocn_u(1:oasis_imt,1:oasis_jmt_u,1)
790 ocn_v(1:oasis_imt,1:oasis_jmt_v,1)
변수 INT
충돌 에러 발생
INT
→ 'ins'
83 INTEGER :: ins ! No of obs thinned out (skipped)
106 ins=0
161 ins=inobs-(lenobt+inb+ina+inf)
168 ContA(5)=ins
`$ fcm ci`
</br>
### 설치
`$ rose stem --group=linux_install -S CENTRAL_INSTALL=true -S PREBUILDS=false`
![image](https://github.com/user-attachments/assets/df81f812-1f4b-46af-993c-ce9d015c5fa7)
# Paths for external libraries and includes.
$gcom_root_path{?} = /data/mirae/ryu/TI/gcom/gcom6.8_intel_impi/ $gcom_mpp_path = $gcom_root_path/kma_linux_ifort_impi_mpich3 $gcom_serial_path = $gcom_root_path/kma_linux_ifort_impi_serial $gcom_serial_32B_path = $gcom_root_path/kma_linux32B_ifort_impi_serial
$grib_api_path{?} = /opt/kma/kma_lib/apps/grib_api/1.28.0/INTEL/210
$prism_path{?} = /data/mirae/ryu/oasis3-mct_4.0/NEMO_LENOVO_INTEL
$netcdf_path{?} = /home/mirae/ryu/lrf/modulefiles/Utils/netcdf-c/4.7.3/INTEL $netcdf_inc_path = $netcdf_path/include $netcdf_lib_path = $netcdf_path/lib $netcdff_path{?} = /home/mirae/ryu/lrf/modulefiles/Utils/netcdf-fortran/4.4.4/INTEL $netcdff_inc_path = $netcdff_path/include $netcdff_lib_path = $netcdff_path/lib
$hdf5_path{?} = /home/mirae/ryu/lrf/modulefiles/Utils/hdf5/1.10.3/INTEL $hdf5_inc_path = $hdf5_path/include $hdf5_lib_path = $hdf5_path/lib
$zlib_path{?} = /opt/kma/kma_lib/apps/zlib/1.2.11 $zlib_lib_path = $zlib_path/lib
- vi ./fcm-make/kma-x86-ifort/inc/parallel.cfg
$fcflags_acc{?} =
- vi ./fcm-make/kma-x86-ifort/inc/nemo-cice.cfg
- `$xios_path`를 인식하지 못하는 오류
- Edit ./fcm-make/kma-x86-ifort/inc/nemo-cice.cfg :: `$xios_path` → `${xios_path}`
$ldflags_xios{?} = -L${xios_path}/lib -I${xios_path}/inc $use_xios -lstdc++
`$ fcm ci`
</br>
## install_cold
#### ~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/install_cold/
- vi ./rose-app.conf
AUX_ROOT=/data/mirae/ryu/TI
[file:$ROSE_DATA/etc/oasis_builds] mode=symlink+ source=/data/mirae/ryu/oasis3-mct_4.0
[file:$ROSE_SUITE_DIR/share/fcm_make_mean_nemo/build/bin] source=/data/mirae/ryu/TI/OCEAN/nemo/utils/bin
[file:$ROSE_SUITE_DIR/share/fcm_make_netcdf/operators/bin] mode=symlink+ source=/home/mirae/ryu/lrf/modulefiles/Utils/nco/4.7.5/INTEL/bin
[file:$ROSE_SUITE_DIR/share/fcm_make_rebuild] mode=symlink+ source=/data/mirae/ryu/TI/OCEAN/nemo/utils/src/REBUILD_NEMO/BLD/bin/rebuild_nemo.exe
</br>
## um
#### ~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/um/
- vi ./rose-app.conf
UM_ANCIL_SMOW_DIR=/data/mirae/ryu/TI/UM/ancil/atmos/n96e/orca025/smc_snow/gswp2_hwsd_vg/v2
[naelist:nlstcgen] !!grep_dump_ref=1
</br>
## nemo-cice
#### ~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/nemo-cice/
- vi ./rose-app.conf
NEMO_INIT_DIR=/data/mirae/ryu/TI/OCEAN/hadgem3/initial/dumps/init_ORCA1
</br>
## fcm_make_um 및 fcm_make_um_build
**~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/fcm_make_um/**
**~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/fcm_make_um_build/**
- vi ./rose-app.conf
config_root_path=fcm:um.xm_br/dev/ryu/r13_um.xm_tr_vn11.3_LowGS6
fcflags_overrides=
platform_config_dir=kma-sd530-impi-intel
prism_path=/data/mirae/ryu/oasis3-mct_4.0/NEMO_LENOVO_INTEL
um_base=branches/dev/ryu/r13_um.xm_tr_vn11.3
um_sources=fcm:um.xm_br/dev/ryu/r13_um.xm_tr_vn11.3
</br>
## fcm_make_ocean 및 fcm_make_ocean_build
**~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/fcm_make_ocean/**
**~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/fcm_make_ocean_build/**
- vi ./rose-app.conf
config_revision=@HEAD config_root_path=fcm:moci.xm_br/dev/ryu/r7_r22_r2065_moci.xm_tr
fcflags_cice_overrides=-no-heap-arrays -warn all -I/opt/kma/kma_lib/apps/netcdf/4.7.3/INTEL/210/include -L/opt/kma/kma_lib/apps/netcdf/4.7.3/INTEL/210/lib -I/opt/kma/kma_lib/apps/netcdf-fortran/4.4.4/INTEL/210/include -L/opt/kma/kma_lib/apps/netcdf-fortran/4.4.4/INTEL/210/lib -lnetcdf -lnetcdff -init=zero -r8
fcflags_nemo_overrides=-no-heap-arrays -warn all -I/opt/kma/kma_lib/apps/netcdf/4.7.3/INTEL/210/include -L/opt/kma/kma_lib/apps/netcdf/4.7.3/INTEL/210/lib -I/opt/kma/kma_lib/apps/netcdf-fortran/4.4.4/INTEL/210/include -L/opt/kma/kma_lib/apps/netcdf-fortran/4.4.4/INTEL/210/lib -lnetcdf -lnetcdff -init=zero -r8
fcflags_prec=-r8
nemo_rev=HEAD nemo_sources=fcm:NEMO.xm/branches/UKMO/dev_r5518_GO6_package@HEAD
platform_config_dir=kma-x86-ifort
prism_path = /data/mirae/ryu/oasis3-mct_4.0/NEMO_LENOVO_INTEL
xios_path=/data/mirae/ryu/xios-2.0_clena
</br>
## fcm_make_redate
#### ~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/fcm_make_um_redate/
- vi ./file/fcm-make.cfg
steps = extract preprocess build
build.prop{fc}[redate] = ifort
</br>
## fcm_make_ocean
#### ~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/fcm_make_ocean/
- vi ./file/fcm-make.cfg
$steplist{?} = extract preprocess-ocean
</br>
## fcm_make_drivers
#### ~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/app/fcm_make_drivers/
- vi ./file/fcm-make.cfg
steps = extract preprocess build
APRUN_HOST="enter1"
EXTRACT_HOST='localhost'
HOST_LINUX='localhost'
ROOT_HOST='enter1'
gcom_path='/data/mirae/ryu/TI/gcom/gcom6.8_intel_impi/kma_linux_ifort_impi_mpich3/build'
- vi suite.rc
``` jinja
[[dependencies]]
[[[ R1 ]]]
graph = """
{% if MAKE_BUILDS%}
install_cold => fcm_make_redate & fcm_make_drivers & fcm_make_um
fcm_make_um => fcm_make_ocean => auto_coding_um => auto_coding_ocean => fcm_make_ocean_build => fcm_make_um_build
fcm_make_um_build & fcm_make_redate & fcm_make_drivers => gs_start
{% endif %} # MAKE_BUILDS
...
"""
[runtime]
[[root]]
[[[environment]]]
UMDIR = /data/mirae/ryu/TI/UM
[[LOCAL]], [[KMA_LINUX]], [[install_cold]]
[[[remote]]]
host = enter1
owner = ryu
[[COUPLED]], [[gsfc_get_analysis]]
REBUILD_NEMO = /data/mirae/ryu/TI/OCEAN/nemo/utils/src/REBUILD_NEMO/BLD/bin/rebuild_nemo.exe
[[USE_FOAM]]
ROSE_DATAC_FOAM = /data/mirae/ryu/TI/OCEAN/hadgem3/initial/dumps/init_ORCA1/${YMDH_CYCLE_TIME}
[[USE_GLOBAL]]
ROSE_DATAC_GLOBAL = /data/mirae/ryu/TI/OCEAN/hadgem3/initial/dumps/init_ORCA1/${YMDH_CYCLE_TIME}
[runtime]
[[GSFC_M{{ MEMBER }}]]
GS_NEMO_DATA_1D = {{ GSFC_RESUB_DAYS }}
GS_NEMO_DATA_12H = {{ GSFC_RESUB_DAYS }}
GS_NEMO_DATA_3H = {{ GSFC_RESUB_DAYS }}
vi suite.rc
[runtime]
[[KMA_LINUX]]
[[[job]]]
batch system = lsf
[[[directives]]]
#-W umask = 0022
#-r = n
[[KMA_LINUX_SHARED_QUEUE]]
[[[directives]]]
# -l ncpus=6
-n = 1 --ptile 6
-q = {{ CLASS_SHARED}}
[[EXTRACT]]
[[[directives]]]
-n = 1 --ptile 18
-M = 6GB
[[fcm_make_um_build]]
#inherit = KMA_LINUX_SHARED_QUEUE
inherit = KMA_LINUX_PARALLEL_QUEUE
[[[directives]]]
#-l ncpus=18
#-l mem=6GB
-n = 1 --ptile 18
#-M = 6GB
[[fcm_make_ocean]]
[[[directives]]]
#-l ncpus=6
#-l mem=10GB
-n = 1 --ptile 6
-M = 10GB
[[fcm_make_ocean_build]]
[[[directives]]]
#-l ncpus=6
#-l mem=10GB
-n = 1 --ptile 6
-M = 10GB
[[RECON]]
#inherit = UM_MODEL, KMA_LINUX_SHARED_QUEUE
inherit = UM_MODEL, KMA_LINUX_PARALLEL_QUEUE
[[[directives]]]
#-l mem=30GB
#-l ncpus={{ RECON_NPROCX + RECON_NPROCY }}
-n = 1 --ptile {{ RECON_NPROCX + RECON_NPROCY }}
-M = 30GB
[[gsfc_recon]]
[[[directives]]]
#-l ncpus=16
-n = 1 --ptile 16
[[COUPLED_RESOURCES]]
[[[directives]]]
#-l select={{ATMOS_NODES + OCEAN_NODES + XIOS_NODES}}:ncpus=24
-n = {{ATMOS_NODES + OCEAN_NODES + XIOS_NODES}} --ptile 24
[[POST_MODEL]]
[[[directives]]]
#-l mem=10GB
-M = 10GB
[[NCDF_PROC]]
#inherit = KMA_LINUX_SHARED_QUEUE
inherit = KMA_LINUX_PARALLEL_QUEUE
[[[directives]]]
#-l ncpus=18
#-l mem=80GB
-n = 1 --ptile 18
-M = 80GB
[[PROCESS]]
#inherit = KMA_LINUX_SHARED_QUEUE
inherit = KMA_LINUX_PARALLEL_QUEUE
[[[directives]]]
#-l mem=10GB
#-M = 10GB
[[gsfc_get_analysis]]
[[[directives]]]
#-l ncpus=24
#-l mem=2GB
-n = 1 --ptile 24
-M = 2GB
[[gsfc_redate_cice]]
[[[directives]]]
#-l mem=1GB
-M = 1GB
vi ./suite-runtime-gsfc.rc
[[gsfc_ncdf_proc_{{ MEM_STEP }}]]
[[[directives]]]
#-l mem=118GB
-M = 118GB
contents