HCJung-jbnu / Autocoding

0 stars 0 forks source link

KMA 슈퍼컴퓨터(duru)에 GloSea6 rose/cylc 포팅 및 수행 #12

Open HCJung-jbnu opened 1 month ago

HCJung-jbnu commented 1 month ago

contents

HCJung-jbnu commented 1 month ago

/data/mirae/ryu/

fcm, rose, cylc 모듈 로드

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

rose 환경 설정

$ cd ~/.metomi/
$ rose config > rose.conf

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
HCJung-jbnu commented 1 month ago

intel compiler 및 intel MPI

ZLIB

Cmake 및 Eccodes

HCJung-jbnu commented 1 month ago

gcom

~/_data/TI/gcom/gcom_wc/fcm-make/

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}

HDF5-parallel

~/_data/TI/utils/install-um-libs/netcdf/hdf5-parallel-1.10.3/

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}

NetCDF-fortran

~/_data/TI/utils/install-um-libs/netcdf/netcdf-fortran-4.4.4/

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}

Parallel-NetCDF

~/_data/TI/utils/install-um-libs/parallel-netcdf-1.8.1/

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}
HCJung-jbnu commented 1 month ago

libtool

~/_data/TI/utils/install-um-libs/libtool-2.4.6/

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}

GPTL

~/_data/TI/utils/install-um-libs/gptl-8.0.3/

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}
HCJung-jbnu commented 1 month ago

OASIS3-MCT

~/_data/oasis3-mct_4.0/util/make_dir/

MPIDIR = /opt/kma/kma_lib/apps/intel/21/21.3/mpi/2021.3.0

NETCDF library

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
HCJung-jbnu commented 1 month ago

CTL DATA 설치

~/roses/r13_um.xm_tr_vn11.3_LowGS6/

GCOM

$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 - for the handling of GRIB data

$eccodes_path{?} = /opt/kma/kma_lib/apps/eccodes/2.16.0/INTEL/210

Coupler

$prism_path{?} = /data/mirae/ryu/oasis3-mct_4.0/NEMO_LENOVO_INTEL

NetCDF

$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

line 23-24, 46-47, 55-56, 65-66, 79-80

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

line 74-75, 92-93, 109-110, 124-125, 138-139, 146-147

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)` &rarr; `u10m_w(i,j,1)`
  - `v10m_w(i,j)` &rarr; `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)

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)` &rarr; `ocn_u(1:oasis_imt,1:oasis_jmt_u,1)`
  - `ocn_v(1:oasis_imt,1:oasis_jmt_v)` &rarr; `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 충돌 에러 발생

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)
HCJung-jbnu commented 1 month ago

rose suite 설치 1

moci

~/rose/r7_r22_r2065_moci.xm_tr/

GCOM

$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

$grib_api_path{?} = /opt/kma/kma_lib/apps/grib_api/1.28.0/INTEL/210

PRISM

$prism_path{?} = /data/mirae/ryu/oasis3-mct_4.0/NEMO_LENOVO_INTEL

NetCDF

$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

$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

$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

OpenAcc settings:

$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` &rarr; `${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

OASIS

[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

아래 옵션은 주석 처리 또는 삭제

build.source = ${MIRROR_TARGET}/extract/redate

$MIRROR_TARGET{?} = $HOME/cylc-run/$ROSE_SUITE_NAME/share/fcm_make_redate

mirror.target = ${MIRROR_TARGET}

mirror.prop{config-file.steps} = preprocess build

</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

아래 옵션은 주석 처리 또는 삭제

$ROSE_TASK_MIRROR_TARGET{?} =

</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

HCJung-jbnu commented 1 month ago

rose suite 설치 2

~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/

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}
HCJung-jbnu commented 1 month ago

슈퍼컴퓨터에 작업 제출

cylc 7.9.3 manual

image

~/rose/r3316_N96eORCA1_kmt-ab447_mirae_auto_coding/

suite task 구조 수정 전/후

image