From f856e667727dc611fd209be7e0d5535444831be8 Mon Sep 17 00:00:00 2001
From: Guillaume Samson <guillaume.samson@mercator-ocean.fr>
Date: Wed, 14 Sep 2022 13:38:32 +0000
Subject: [PATCH] Resolve "add SETTE '-a' option to activate ABL with
 ORCA2_ICE_PISCES config"

---
 .../arch-X64_BELENOS_INTEL_MVAP_DEBUG.fcm     | 70 +++++++++++++++++++
 .../arch-X64_BELENOS_INTEL_OMPI_DEBUG.fcm     |  1 +
 .../batch-X64_BELENOS_INTEL_IMPI              | 66 ++---------------
 sette/input_ORCA2_ICE_PISCES.cfg              |  1 +
 sette/prepare_exe_dir.sh                      |  1 +
 sette/sette.sh                                |  8 ++-
 sette/sette_reference-configurations.sh       | 62 +++++++++++++++-
 7 files changed, 146 insertions(+), 63 deletions(-)
 create mode 100644 arch/MERCATOR/arch-X64_BELENOS_INTEL_MVAP_DEBUG.fcm
 create mode 120000 arch/MERCATOR/arch-X64_BELENOS_INTEL_OMPI_DEBUG.fcm

diff --git a/arch/MERCATOR/arch-X64_BELENOS_INTEL_MVAP_DEBUG.fcm b/arch/MERCATOR/arch-X64_BELENOS_INTEL_MVAP_DEBUG.fcm
new file mode 100644
index 000000000..4ec5587d3
--- /dev/null
+++ b/arch/MERCATOR/arch-X64_BELENOS_INTEL_MVAP_DEBUG.fcm
@@ -0,0 +1,70 @@
+# compiler options for BELENOS/TARANIS (using INTEL compiler + Intel MPI)
+#
+# --------------------------------
+# INTEL_IMPI (NEMO 4.0 + XIOS-2.5)
+# --------------------------------
+# module use /home/ext/mr/smer/samsong/modules
+# module load intel/2018.5.274 intelmpi/2018.5.274 phdf5/1.8.18 netcdf_par/4.7.1_V2 xios/2.5/rev1903
+#
+# ----------------------------------
+# INTEL_IMPI (NEMO 4.2 + XIOS-TRUNK)
+# ----------------------------------
+# module use /home/ext/mr/smer/samsong/modules
+# module load gcc/9.2.0 intel/2018.5.274 intelmpi/2018.5.274 phdf5/1.8.18 netcdf_par/4.7.1_V2 xios/trunk/rev2134
+#
+#
+# NCDF_INC    netcdf4 include file
+# NCDF_LIB    netcdf4 library
+# XIOS_INC    xios include file    (taken into accound only if key_xios is activated)
+# XIOS_LIB    xios library         (taken into accound only if key_xios is activated)
+# OASIS_INC   oasis include file   (taken into accound only if key_oasis3 is activated)
+# OASIS_LIB   oasis library        (taken into accound only if key_oasis3 is activated)
+#
+# FC          Fortran compiler command
+# FCFLAGS     Fortran compiler flags
+# FFLAGS      Fortran 77 compiler flags
+# LD          linker
+# LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries
+# FPPFLAGS    pre-processing flags
+# AR          assembler
+# ARFLAGS     assembler flags
+# MK          make
+# USER_INC    complete list of include files
+# USER_LIB    complete list of libraries to pass to the linker
+# CC          C compiler used to compile conv for AGRIF
+# CFLAGS      compiler flags used with CC
+#
+# Note that:
+#  - unix variables "$..." are accpeted and will be evaluated before calling fcm.
+#  - fcm variables are starting with a % (and not a $)
+#
+#---------------------------------------------------------------------------------------------
+#---------------------------------------------------------------------------------------------
+# All NETCDF and HDF paths are empty as they are automatically defined through environment
+# variables by the load of modules
+#---------------------------------------------------------------------------------------------
+#---------------------------------------------------------------------------------------------
+#
+#
+%NCDF_INC            -I${NETCDF_INC}
+%NCDF_LIB            -L${NETCDF_LIB} -lnetcdff -lnetcdf -L${PHDF5_LIB_DIR} -lhdf5_hl -lhdf5
+%XIOS_INC            -I${XIOS_INC}
+%XIOS_LIB            -L${XIOS_LIB} -lxios -lstdc++
+%OASIS_INC           -I${OASIS_DIR}/include
+%OASIS_LIB           -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
+
+%CPP                 cpp
+%FC                  mpiifort -c -cpp
+%FCFLAGS             -march=core-avx2 -i4 -r8 -g -O0 -debug all -traceback -fp-model strict -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
+%FFLAGS              %FCFLAGS
+%LD                  mpiifort
+%LDFLAGS             
+%FPPFLAGS            -P -traditional
+%AR                  ar
+%ARFLAGS             rs
+%MK                  gmake
+%USER_INC            %XIOS_INC %OASIS_INC %NCDF_INC
+%USER_LIB            %XIOS_LIB %OASIS_LIB %NCDF_LIB
+
+%CC                  mpiicc
+%CFLAGS              -O0
diff --git a/arch/MERCATOR/arch-X64_BELENOS_INTEL_OMPI_DEBUG.fcm b/arch/MERCATOR/arch-X64_BELENOS_INTEL_OMPI_DEBUG.fcm
new file mode 120000
index 000000000..43aab1143
--- /dev/null
+++ b/arch/MERCATOR/arch-X64_BELENOS_INTEL_OMPI_DEBUG.fcm
@@ -0,0 +1 @@
+arch-X64_BELENOS_INTEL_IMPI_DEBUG.fcm
\ No newline at end of file
diff --git a/sette/BATCH_TEMPLATE/batch-X64_BELENOS_INTEL_IMPI b/sette/BATCH_TEMPLATE/batch-X64_BELENOS_INTEL_IMPI
index fb453c207..6b7afeacf 100644
--- a/sette/BATCH_TEMPLATE/batch-X64_BELENOS_INTEL_IMPI
+++ b/sette/BATCH_TEMPLATE/batch-X64_BELENOS_INTEL_IMPI
@@ -12,11 +12,11 @@
 #SBATCH --time=01:00:00
 ##SBATCH --time=00:15:00
 
-#SBATCH -A smer
-##SBATCH -A cmems
+##SBATCH -A smer
+#SBATCH -A cmems
 
-#SBATCH --qos=normal
-##SBATCH --qos=coper
+##SBATCH --qos=normal
+#SBATCH --qos=coper
 
 
 # Test specific settings. Do not hand edit these lines; the fcm_job.sh script will set these
@@ -42,8 +42,7 @@
 # modules to load
 module purge
 module use /home/ext/mr/smer/samsong/modules
-module load gcc/9.2.0 intel/2018.5.274 intelmpi/2018.5.274 phdf5/1.8.18 netcdf_par/4.7.1_V2 xios/trunk/rev2320-impi
-#module load xios-2.5_rev1903
+module load gcc/9.2.0 intel/2018.5.274 intelmpi/2018.5.274 phdf5/1.8.18 netcdf_par/4.7.1_V2 xios/3.0/r2399_intel-impi
 export XIO_HOME=${XIOS_DIR}
 
 # Don't remove neither change the following line
@@ -76,61 +75,6 @@ export XIO_HOME=${XIOS_DIR}
   echo Running on host `hostname`
   echo Time is `date`
   echo Directory is `pwd`
-# 
-#  Run the parallel MPI executable 
-#
-
-  # Comm/Fabric
-  # -----------
-  export DAPL_ACK_RETRY=7
-  export DAPL_ACK_TIMER=20
-  export DAPL_IB_SL=0
-  export DAPL_UCM_CQ_SIZE=8192
-  export DAPL_UCM_DREQ_RETRY=4
-  export DAPL_UCM_QP_SIZE=8192
-  export DAPL_UCM_REP_TIME=8000
-  export DAPL_UCM_RTU_TIME=8000
-  export DAPL_UCM_WAIT_TIME=10000
-  export I_MPI_CHECK_DAPL_PROVIDER_COMPATIBILITY=0
-  export I_MPI_CHECK_DAPL_PROVIDER_MISMATCH=none
-  export I_MPI_DAPL_RDMA_MIXED=enable
-  export I_MPI_DAPL_SCALABLE_PROGRESS=1
-  export I_MPI_DAPL_TRANSLATION_CACHE=1
-  export I_MPI_DAPL_UD_DIRECT_COPY_THRESHOLD=65536
-  export I_MPI_DAPL_UD=on
-  export I_MPI_FABRICS=shm:dapl
-  export I_MPI_DAPL_PROVIDER=ofa-v2-mlx5_0-1u
-  export I_MPI_FALLBACK=disable
-  export I_MPI_FALLBACK_DEVICE=disable
-  export I_MPI_DYNAMIC_CONNECTION=1
-  export I_MPI_FAST_COLLECTIVES=1
-  export I_MPI_LARGE_SCALE_THRESHOLD=8192
-  # File system
-  # -----------
-  export I_MPI_EXTRA_FILESYSTEM_LIST=lustre
-  export I_MPI_EXTRA_FILESYSTEM=on
-  # Slurm
-  # -----
-  export I_MPI_HYDRA_BOOTSTRAP=slurm
-  export I_MPI_SLURM_EXT=0
-  # Force kill job
-  # --------------
-  export I_MPI_JOB_SIGNAL_PROPAGATION=on
-  export I_MPI_JOB_ABORT_SIGNAL=9
-  # Extra
-  # -----
-  export I_MPI_LIBRARY_KIND=release_mt
-  export EC_MPI_ATEXIT=0
-  export EC_PROFILE_HEAP=0
-  # Process placement (cyclic)
-  # --------------------------
-  export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=off
-  export I_MPI_PERHOST=1
-  # Process pinning
-  # ---------------
-  export I_MPI_PIN=enable
-  export I_MPI_PIN_PROCESSOR_LIST="allcores:map=scatter" # map=spread
-
   if [ $XCORES -gt 0 ]; then
 #
 #  Run MPMD case
diff --git a/sette/input_ORCA2_ICE_PISCES.cfg b/sette/input_ORCA2_ICE_PISCES.cfg
index 33408e696..55d14cd32 100644
--- a/sette/input_ORCA2_ICE_PISCES.cfg
+++ b/sette/input_ORCA2_ICE_PISCES.cfg
@@ -1 +1,2 @@
 ORCA2_ICE_v4.2.0.tar.gz ORCA2_ICE_v4.2.0
+ORCA2_ABL_v4.2.0.tar.gz ORCA2_ABL_v4.2.0
diff --git a/sette/prepare_exe_dir.sh b/sette/prepare_exe_dir.sh
index 1be9693fb..a4f2fdfa5 100755
--- a/sette/prepare_exe_dir.sh
+++ b/sette/prepare_exe_dir.sh
@@ -86,6 +86,7 @@ echo "requested by the command          : "$cmd $cmdargs          >> ./sette_con
 echo "on branch                         : "$SETTE_THIS_BRANCH     >> ./sette_config
 printf "%-33s : %s\n" USING_TIMING $USING_TIMING                  >> ./sette_config
 printf "%-33s : %s\n" USING_ICEBERGS $USING_ICEBERGS              >> ./sette_config
+printf "%-33s : %s\n" USING_ABL $USING_ABL                        >> ./sette_config
 printf "%-33s : %s\n" USING_EXTRA_HALO $USING_EXTRA_HALO          >> ./sette_config
 printf "%-33s : %s\n" USING_TILING $USING_TILING                  >> ./sette_config
 printf "%-33s : %s\n" USING_COLLECTIVES $USING_COLLECTIVES        >> ./sette_config
diff --git a/sette/sette.sh b/sette/sette.sh
index 4b816f34d..da7e29145 100755
--- a/sette/sette.sh
+++ b/sette/sette.sh
@@ -12,6 +12,7 @@ NO_REPORT=0
 #
 export USING_TIMING='yes'      # Default: yes => set ln_timing=.true.   ; use -T to disable
 export USING_ICEBERGS='yes'    # Default: yes => set ln_icebergs=.true. ; use -i to disable
+export USING_ABL='no'          # Default: no  => set ln_abl=.false.     ; use -a to set ln_abl=.true.
 export USING_EXTRA_HALO='yes'  # Default: yes => set nn_hls=2           ; use -e to set nn_hls=1
 export USING_COLLECTIVES='yes' # Default: yes => set nn_comm=2          ; use -C to set nn_comm=1
 export USING_NOGATHER='yes'    # Default: yes => set ln_nnogather=.true.; use -N to set ln_nnogather=.false.
@@ -64,7 +65,7 @@ fi
 
 # Parse command-line arguments
 if [ $# -gt 0 ]; then
-  while getopts n:x:v:g:cdrshTqQteiACFNXu option; do 
+  while getopts n:x:v:g:cdrshTqQteiACFNXua option; do 
      case $option in
         c) export SETTE_CLEAN_CONFIGS='yes'
            export SETTE_SYNC_CONFIGS='yes'
@@ -112,6 +113,9 @@ if [ $# -gt 0 ]; then
         i) export USING_ICEBERGS='no'
            echo "-i: ln_icebergs will be set to false"
            echo "";;
+        a) export USING_ABL='yes'
+           echo "-a: ln_abl will be set to true"
+           echo "";;
         C) export USING_COLLECTIVES='no'
            echo "-C: nn_comm will be set to 1"
            echo "";;
@@ -142,6 +146,7 @@ if [ $# -gt 0 ]; then
                echo '-t set ln_tile false in all tests that support it (default: true)'
                echo '-e set nn_hls=1 (default: nn_hls=2)'
                echo '-i set ln_icebergs false (default: true)'
+               echo '-a set ln_abl true (default: false)'
                echo '-C set nn_comm=1 (default: nn_comm=2 ==> use MPI3 collective comms)'
                echo '-N set ln_nnogather false for ORCA2 configurations (default: true)'
                echo '-q to remove the key_qco key (default: added)'
@@ -262,6 +267,7 @@ echo "requested by the command          : "$cmd $cmdargs
 echo "on branch                         : "$SETTE_THIS_BRANCH
 printf "%-33s : %s\n" USING_TIMING $USING_TIMING
 printf "%-33s : %s\n" USING_ICEBERGS $USING_ICEBERGS
+printf "%-33s : %s\n" USING_ABL $USING_ABL
 printf "%-33s : %s\n" USING_EXTRA_HALO $USING_EXTRA_HALO
 printf "%-33s : %s\n" USING_TILING $USING_TILING
 printf "%-33s : %s\n" USING_COLLECTIVES $USING_COLLECTIVES
diff --git a/sette/sette_reference-configurations.sh b/sette/sette_reference-configurations.sh
index 9c1099156..7503259b3 100755
--- a/sette/sette_reference-configurations.sh
+++ b/sette/sette_reference-configurations.sh
@@ -321,6 +321,20 @@ if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
     set_namelist namelist_cfg ln_cdgw .false.
     set_namelist namelist_cfg ln_sdw  .true.
     set_namelist namelist_cfg ln_stcor .true.
+    if [ ${USING_ABL} == "yes" ]; then
+      set_namelist namelist_cfg nn_date0 20130101
+      set_namelist namelist_cfg ln_blk .false.
+      set_namelist namelist_cfg ln_abl .true.
+      set_namelist namelist_cfg ln_tair_pot .true.
+      sed -i "/sn_wndi/s/u_10.15JUNE2009_fill/uwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndi/s/ 6./24./; /sn_wndi/s/U_10_MOD/uwnd/; \
+              /sn_wndi/s/true/false/; /sn_wndi/s/yearly/monthly/; /sn_wndi/s/weights_core2_orca2_bicub//" namelist_cfg 
+      sed -i "/sn_wndj/s/v_10.15JUNE2009_fill/vwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndj/s/ 6./24./; /sn_wndj/s/V_10_MOD/vwnd/; \
+              /sn_wndj/s/true/false/; /sn_wndj/s/yearly/monthly/; /sn_wndj/s/weights_core2_orca2_bicub//" namelist_cfg 
+      sed -i "/sn_tair/s/t_10.15JUNE2009_fill/tair_ERAI_L25Z10_ORCA2_ana1d/; /sn_tair/s/ 6./24./; /sn_tair/s/T_10_MOD/tair/; \
+              /sn_tair/s/true/false/; /sn_tair/s/yearly/monthly/; /sn_tair/s/weights_core2_orca2_bilin//" namelist_cfg 
+      sed -i "/sn_humi/s/q_10.15JUNE2009_fill/humi_ERAI_L25Z10_ORCA2_ana1d/; /sn_humi/s/ 6./24./; /sn_humi/s/Q_10_MOD/humi/; \
+              /sn_humi/s/true/false/; /sn_humi/s/yearly/monthly/; /sn_humi/s/weights_core2_orca2_bilin//" namelist_cfg 
+    fi
     #
     set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
     set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
@@ -356,6 +370,7 @@ if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
     set_namelist namelist_cfg nn_itend ${ITEND}
     set_namelist namelist_cfg nn_stock $(( ${ITEND} / 2 ))
     set_namelist namelist_cfg ln_rstart .true.
+    set_namelist namelist_cfg ln_rstart_abl .true.
     set_namelist namelist_cfg nn_rstctl 2
     set_namelist namelist_cfg jpni 4
     set_namelist namelist_cfg jpnj 8
@@ -366,6 +381,20 @@ if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
     set_namelist namelist_cfg ln_cdgw .false.
     set_namelist namelist_cfg ln_sdw  .true.
     set_namelist namelist_cfg ln_stcor .true.
+    if [ ${USING_ABL} == "yes" ]; then
+        set_namelist namelist_cfg nn_date0 20130101
+        set_namelist namelist_cfg ln_blk .false.
+        set_namelist namelist_cfg ln_abl .true.
+        set_namelist namelist_cfg ln_tair_pot .true.
+        sed -i "/sn_wndi/s/u_10.15JUNE2009_fill/uwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndi/s/ 6./24./; /sn_wndi/s/U_10_MOD/uwnd/; \
+                /sn_wndi/s/true/false/; /sn_wndi/s/yearly/monthly/; /sn_wndi/s/weights_core2_orca2_bicub//" namelist_cfg 
+        sed -i "/sn_wndj/s/v_10.15JUNE2009_fill/vwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndj/s/ 6./24./; /sn_wndj/s/V_10_MOD/vwnd/; \
+                /sn_wndj/s/true/false/; /sn_wndj/s/yearly/monthly/; /sn_wndj/s/weights_core2_orca2_bicub//" namelist_cfg 
+        sed -i "/sn_tair/s/t_10.15JUNE2009_fill/tair_ERAI_L25Z10_ORCA2_ana1d/; /sn_tair/s/ 6./24./; /sn_tair/s/T_10_MOD/tair/; \
+                /sn_tair/s/true/false/; /sn_tair/s/yearly/monthly/; /sn_tair/s/weights_core2_orca2_bilin//" namelist_cfg 
+        sed -i "/sn_humi/s/q_10.15JUNE2009_fill/humi_ERAI_L25Z10_ORCA2_ana1d/; /sn_humi/s/ 6./24./; /sn_humi/s/Q_10_MOD/humi/; \
+                /sn_humi/s/true/false/; /sn_humi/s/yearly/monthly/; /sn_humi/s/weights_core2_orca2_bilin//" namelist_cfg 
+    fi
     #
     set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
     set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
@@ -381,6 +410,7 @@ if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
     set_namelist namelist_cfg cn_icbrst_in \"O2L3P_LONG_${ITRST}_restart_icb\"
     set_namelist namelist_top_cfg cn_trcrst_in \"O2L3P_LONG_${ITRST}_restart_trc\"
     set_namelist namelist_ice_cfg cn_icerst_in \"O2L3P_LONG_${ITRST}_restart_ice\"
+    set_namelist namelist_cfg cn_ablrst_in \"O2L3P_LONG_${ITRST}_restart_abl\"
     set_namelist namelist_top_cfg ln_trcbc  .false.
     # put ln_ironsed, ln_hydrofe to false
     # if not you need input files, and for tests is not necessary
@@ -396,6 +426,9 @@ if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_RESTART} == "1" ] ;  then
         ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_${L_NPROC}.nc .
         ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_trc_${L_NPROC}.nc .
         ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_ice_${L_NPROC}.nc .
+        if [ ${USING_ABL} == "yes" ]; then
+            ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_abl_${L_NPROC}.nc .
+        fi
         if [ ${USING_ICEBERGS} == "yes" ]
             then
              ln -sf ../LONG/O2L3P_LONG_${ITRST}_restart_icb_${L_NPROC}.nc O2L3P_LONG_${ITRST}_restart_icb_${L_NPROC}.nc
@@ -433,7 +466,20 @@ if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_REPRO} == "1" ] ;  then
     set_namelist namelist_cfg ln_cdgw .false.
     set_namelist namelist_cfg ln_sdw  .true.
     set_namelist namelist_cfg ln_stcor .true.
-
+    if [ ${USING_ABL} == "yes" ]; then
+        set_namelist namelist_cfg nn_date0 20130101
+        set_namelist namelist_cfg ln_blk .false.
+        set_namelist namelist_cfg ln_abl .true.
+        set_namelist namelist_cfg ln_tair_pot .true.
+        sed -i "/sn_wndi/s/u_10.15JUNE2009_fill/uwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndi/s/ 6./24./; /sn_wndi/s/U_10_MOD/uwnd/; \
+                /sn_wndi/s/true/false/; /sn_wndi/s/yearly/monthly/; /sn_wndi/s/weights_core2_orca2_bicub//" namelist_cfg 
+        sed -i "/sn_wndj/s/v_10.15JUNE2009_fill/vwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndj/s/ 6./24./; /sn_wndj/s/V_10_MOD/vwnd/; \
+                /sn_wndj/s/true/false/; /sn_wndj/s/yearly/monthly/; /sn_wndj/s/weights_core2_orca2_bicub//" namelist_cfg 
+        sed -i "/sn_tair/s/t_10.15JUNE2009_fill/tair_ERAI_L25Z10_ORCA2_ana1d/; /sn_tair/s/ 6./24./; /sn_tair/s/T_10_MOD/tair/; \
+                /sn_tair/s/true/false/; /sn_tair/s/yearly/monthly/; /sn_tair/s/weights_core2_orca2_bilin//" namelist_cfg 
+        sed -i "/sn_humi/s/q_10.15JUNE2009_fill/humi_ERAI_L25Z10_ORCA2_ana1d/; /sn_humi/s/ 6./24./; /sn_humi/s/Q_10_MOD/humi/; \
+                /sn_humi/s/true/false/; /sn_humi/s/yearly/monthly/; /sn_humi/s/weights_core2_orca2_bilin//" namelist_cfg 
+    fi
     set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
     set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
     set_namelist_opt namelist_cfg nn_comm ${USING_COLLECTIVES} 2 1
@@ -478,6 +524,20 @@ if [ ${config} == "ORCA2_ICE_PISCES" ] && [ ${DO_REPRO} == "1" ] ;  then
     set_namelist namelist_cfg ln_cdgw .false.
     set_namelist namelist_cfg ln_sdw  .true.
     set_namelist namelist_cfg ln_stcor .true.
+    if [ ${USING_ABL} == "yes" ]; then
+        set_namelist namelist_cfg nn_date0 20130101
+        set_namelist namelist_cfg ln_blk .false.
+        set_namelist namelist_cfg ln_abl .true.
+        set_namelist namelist_cfg ln_tair_pot .true.
+        sed -i "/sn_wndi/s/u_10.15JUNE2009_fill/uwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndi/s/ 6./24./; /sn_wndi/s/U_10_MOD/uwnd/; \
+                /sn_wndi/s/true/false/; /sn_wndi/s/yearly/monthly/; /sn_wndi/s/weights_core2_orca2_bicub//" namelist_cfg 
+        sed -i "/sn_wndj/s/v_10.15JUNE2009_fill/vwnd_ERAI_L25Z10_ORCA2_ana1d/; /sn_wndj/s/ 6./24./; /sn_wndj/s/V_10_MOD/vwnd/; \
+                /sn_wndj/s/true/false/; /sn_wndj/s/yearly/monthly/; /sn_wndj/s/weights_core2_orca2_bicub//" namelist_cfg 
+        sed -i "/sn_tair/s/t_10.15JUNE2009_fill/tair_ERAI_L25Z10_ORCA2_ana1d/; /sn_tair/s/ 6./24./; /sn_tair/s/T_10_MOD/tair/; \
+                /sn_tair/s/true/false/; /sn_tair/s/yearly/monthly/; /sn_tair/s/weights_core2_orca2_bilin//" namelist_cfg 
+        sed -i "/sn_humi/s/q_10.15JUNE2009_fill/humi_ERAI_L25Z10_ORCA2_ana1d/; /sn_humi/s/ 6./24./; /sn_humi/s/Q_10_MOD/humi/; \
+                /sn_humi/s/true/false/; /sn_humi/s/yearly/monthly/; /sn_humi/s/weights_core2_orca2_bilin//" namelist_cfg 
+    fi
 
     set_namelist_opt namelist_cfg ln_icebergs ${USING_ICEBERGS} .true. .false.
     set_namelist_opt namelist_cfg nn_hls ${USING_EXTRA_HALO} 2 1
-- 
GitLab