source: branches/ORCHIDEE_EXT/ORCHIDEE_OL/OOL_SEC/COMP/orchidee_ol.driver @ 382

Last change on this file since 382 was 382, checked in by didier.solyga, 13 years ago

Merge the revisions 373 + 376 to 389 from the trunk in the externalized version

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