source: CONFIG/UNIFORM/v6/IPSLCM6/GENERAL/DRIVER/orchidee.driver @ 2756

Last change on this file since 2756 was 2674, checked in by omamce, 9 years ago

O.M : mise a jour de la version rc1, apres quelques tests

File size: 4.7 KB
RevLine 
[396]1#!/bin/ksh
[763]2#D- Driver du script pour ORCHIDEE
[396]3#-----------------------------------------------------------------
4function SRF_Initialize
5{
6    IGCM_debug_PushStack "SRF_Initialize"
7
[2018]8    ##- Define variable DefSuffix set in orchidee.card
[2582]9    ##  This variable is used in orchidee.card to choose
10    ##  parameter file(orchidee.def_DefSuffix).
[2018]11    if [ ! X${orchidee_UserChoices_DefSuffix} = X ] ; then
[2582]12        DefSuffix=${orchidee_UserChoices_DefSuffix}
[2018]13    else
[2582]14        DefSuffix=Choi
[2018]15    fi
16
[396]17    IGCM_debug_PopStack "SRF_Initialize"
18}
19
20#-----------------------------------------------------------------
21function SRF_Update
22{
23    IGCM_debug_PushStack "SRF_Update"
24
[2674]25    ## 1. Modifications in orchidee.def parameter file
26
[2343]27    # Activate STOMATE if the compontent SBG=stomate is set in config.card
28    if [ X${config_ListOfComponents_SBG} = Xstomate ] ; then
[2674]29        # Activate stomate in orchidee.def
[2582]30        IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_OK_STOMATE y
[2343]31    else
[2674]32        # Deactivate stomate in orchidee.def
[2582]33        IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_OK_STOMATE n
[2674]34        # Deactivate output files for stomate
35        IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 enabled .FALSE.
36        IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 enabled .FALSE.
[2343]37    fi
38
[2674]39    # Define in orchidee.def if restart file should be used
[793]40    if ( [ ${CumulPeriod} -ne 1 ] || [ "${config_SRF_Restart}" != "n" ] ) ; then
[2582]41        IGCM_comp_modifyDefFile blocker orchidee.def SECHIBA_restart_in sechiba_rest_in.nc
[1692]42    else
[2582]43        IGCM_comp_modifyDefFile blocker orchidee.def SECHIBA_restart_in NONE
[396]44    fi
45
[2582]46    # Modify in orchidee.def VEGET_UPDATE and LAND_COVER_CHANGE if they are set in orchidee.card section UserChoices
[1536]47    if [ ! X${orchidee_UserChoices_VEGET_UPDATE} = X ] ; then
[2582]48        IGCM_comp_modifyDefFile nonblocker orchidee.def VEGET_UPDATE   ${orchidee_UserChoices_VEGET_UPDATE}
[1692]49    else
[2582]50        IGCM_comp_modifyDefFile nonblocker orchidee.def VEGET_UPDATE 0Y
[1536]51    fi
52    if [ ! X${orchidee_UserChoices_LAND_COVER_CHANGE} = X ] ; then
[2582]53        IGCM_comp_modifyDefFile nonblocker orchidee.def LAND_COVER_CHANGE ${orchidee_UserChoices_LAND_COVER_CHANGE}
[1692]54    else
[2582]55        IGCM_comp_modifyDefFile nonblocker orchidee.def LAND_COVER_CHANGE n
[1536]56    fi
57
[2674]58    # Activate creation of river description file only for the first period
59    #if [ ${CumulPeriod} -eq 1 ] ; then
60    #    IGCM_comp_modifyDefFile nonblocker orchidee.def RIVER_DESC y
61    #else
62        IGCM_comp_modifyDefFile nonblocker orchidee.def RIVER_DESC n
63    #fi
[396]64
[1622]65
[2674]66    ## 2. Mangement of output and modifications of related xml files
67
68    # Set default values for sechiba1_enabled, sechiba1_freq and sechiba2_enabled.
69    sechiba1_enabled=.FALSE.
70    sechiba2_enabled=.FALSE.
71    sechiba1_freq=0s
72
73    # Get WriteFrenquecies from config.card for SECHIBA
74    # Note that it is only possible to have one HF and one other option.
75    # If more options are set in config.card only the latest will be used.
76    for frequency in ${config_SRF_WriteFrequency} ; do
77        case ${frequency} in
78            *Y|*y) 
79                NbYears=$( echo ${frequency} | awk -F '[yY]' '{print $1}' )
80                NbDaysYear=$( IGCM_date_DaysInYear ${year} )
81                sechiba1_enabled=.TRUE.
82                sechiba1_freq=${NbYears}y ;;
83            *M|*m)
84                NbMonths=$( echo ${frequency} | awk -F '[mM]' '{print $1}' )
85                sechiba1_enabled=.TRUE.
86                sechiba1_freq=${NbMonths}mo ;;
87            *D|*d)
88                NbDays=$( echo ${frequency} | awk -F '[dD]' '{print $1}' )
89                sechiba1_enabled=.TRUE.
90                sechiba1_freq=${NbDays}d ;;
91            *s)
92                WriteInSeconds=$( echo ${frequency} | awk -F '[s]' '{print $1}' )
93                sechiba1_enabled=.TRUE.
94                sechiba1_freq=${WriteInSeconds}s ;;
95            HF|hf) 
96                sechiba2_enabled=.TRUE. ;;
97            *) 
98                IGCM_debug_Exit "SRF WriteFrequency=${frequency} is invalid. Choose between xY, xM, xD, xs and HF for Sechiba." ;;
99        esac
100    done
101
102    # Do the modifications in file_def_orchidee.xml
103    IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml sechiba1 enabled ${sechiba1_enabled}
104    IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml sechiba1 output_freq ${sechiba1_freq}
105    IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml sechiba2 enabled ${sechiba2_enabled}
106
[2300]107    # Add include of orchidee context in iodef.xml
108    # In iodef.xml add on next line after "COMPONENT CONTEXT"
109    #  <context id="orchidee" src="./context_orchidee.xml"/>
[2582]110    echo '<context id="orchidee" src="./context_orchidee.xml"/>' > add.tmp
111    cp iodef.xml iodef.xml.tmp
112    sed -e "/COMPONENT CONTEXT/r add.tmp" iodef.xml.tmp > iodef.xml
113    rm iodef.xml.tmp add.tmp
[2300]114
[396]115    IGCM_debug_PopStack "SRF_Update"
116}
117
118#-----------------------------------------------------------------
119function SRF_Finalize
120{
121    IGCM_debug_PushStack "SRF_Finalize"
122
123    IGCM_debug_PopStack "SRF_Finalize"
124}
Note: See TracBrowser for help on using the repository browser.