source: tags/ORCHIDEE_1_9_6/ORCHIDEE_OL/OOL_SEC_STO/COMP/orchidee_ol.driver @ 881

Last change on this file since 881 was 865, checked in by didier.solyga, 12 years ago

New scripts compatible the externalization done for OOL_SEC, OOL_SEC_STO, FORCESOIL, TESTSTOMATE and SPINUP configurations. These scripts use an unique empty run.def.

File size: 3.0 KB
Line 
1#!/bin/ksh
2
3#D- Driver du script pour ORCHIDEE_OL (off-line)
4
5function ORCHIDEE_def
6{
7    IGCM_debug_PushStack "ORCHIDEE_def"
8   
9    typeset ORCHIDEE_def_KEY ORCHIDEE_default_KEY
10   
11    ORCHIDEE_def_KEY=$( grep -e "^${1}\ *=" run.def | gawk -- 'BEGIN {FS="="} {print $2}')
12    ORCHIDEE_default_KEY=$( grep -e "^${1}\ *=" ${SUBMIT_DIR}/PARAM/orchidee.default | gawk -- 'BEGIN {FS="="} {print $2}')
13
14    if [ X"${ORCHIDEE_def_KEY}" != X ] ; then
15        IGCM_debug_Print 2 "ORCHIDEE : ${1} has already been set in def file."
16        IGCM_debug_Print 2 " default value : ${ORCHIDEE_default_KEY}"
17        IGCM_debug_Print 2 " script value : ${2}"
18        IGCM_debug_Print 2 " USER value : ${ORCHIDEE_def_KEY}"
19        IGCM_debug_Print 2 "               We will not set in again !"
20    else
21        echo "${1}= ${2}" >> run.def
22        echo ""  >> run.def
23        echo "ORCHIDEE_def : ${1} ${2}"
24    fi
25   
26    IGCM_debug_PopStack "ORCHIDEE_def"
27    return $RET
28}
29
30#-----------------------------------------------------------------
31function OOL_Initialize
32{
33    IGCM_debug_PushStack "OOL_Initialize"
34
35    NUM_PROC=1
36#D- Number of processors used for lmdz and oasis coupler computed from PBS variable
37    if [ X"${BATCH_NUM_PROC_TOT}" != X ] ; then
38        NUM_PROC=${BATCH_NUM_PROC_TOT}
39    fi
40    echo BATCH_NUM_PROC_TOT=${BATCH_NUM_PROC_TOT}
41    echo NUM_PROC=${NUM_PROC}
42
43    if ( [ X${BATCH_NUM_PROC_TOT} != X ] && [ "${BATCH_NUM_PROC_TOT}" -gt 1 ] ) ; then
44        MPIRUN_COMMAND=${HOST_MPIRUN_COMMAND}
45    fi
46
47    IGCM_card_DefineArrayFromSection ${SUBMIT_DIR}/COMP/orchidee_ol.card UserChoices
48    RESOL=${orchidee_ol_UserChoices_RESOL}
49
50    if [ ! -f ${SUBMIT_DIR}/PARAM/run.def ] ; then
51        echo "#orchidee add :" > ${SUBMIT_DIR}/PARAM/run.def
52    else
53        echo "#orchidee add :" >> ${SUBMIT_DIR}/PARAM/run.def
54    fi
55    echo "" >> ${SUBMIT_DIR}/PARAM/run.def
56
57    IGCM_debug_PopStack "OOL_Initialize"
58}
59
60#-----------------------------------------------------------------
61function OOL_Update
62{
63    IGCM_debug_PushStack "OOL_Update"
64
65    if [ X"${orchidee_ol_UserChoices_TIMELENGTH}" = Xy ] ; then
66        case ${config_UserChoices_PeriodLength} in
67            *Y|*y|*M|*m|*D|*d)
68                ORCHIDEE_def TIME_LENGTH ${PeriodLengthInDays}D
69                ;;
70            *s)
71                ORCHIDEE_def TIME_LENGTH ${config_UserChoices_PeriodLength}
72        esac
73    fi
74
75    if ( ${FirstInitialize} ) ; then
76        if ( [ "${config_OOL_Restart}" = "y" ] ) ; then
77            ORCHIDEE_def RESTART_FILEIN driver_rest_in.nc
78        else
79            ORCHIDEE_def TIME_SKIP $( IGCM_date_DaysBetweenGregorianDate ${DateBegin} ${year}0101 )D
80        fi
81    else
82        if [ X${orchidee_ol_UserChoices_NORESTART} = Xn ] ; then
83            ORCHIDEE_def RESTART_FILEIN driver_rest_in.nc
84        else
85            if [ ${DRYRUN} -le 2 ] ; then
86                IGCM_sys_Rm driver_rest_in.nc
87            fi
88            ORCHIDEE_def RESTART_FILEIN NONE
89        fi
90    fi
91
92#    IGCM_sys_Put_Out run.def ${R_OUT_OOL}/${PREFIX}_run.def
93    FileToBeDeleted[${#FileToBeDeleted[@]}]=run.def
94
95    IGCM_debug_PopStack "OOL_Update"
96}
97
98#-----------------------------------------------------------------
99function OOL_Finalize
100{
101    IGCM_debug_PushStack "OOL_Finalize"
102
103    echo FINALIZE OOL !!!
104
105    IGCM_debug_PopStack "OOL_Finalize"
106}
Note: See TracBrowser for help on using the repository browser.