Ignore:
Timestamp:
09/26/14 11:46:12 (10 years ago)
Author:
aclsce
Message:

Modifed to have same handling of XIOS xml files as in LMDZOR configuration.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/UNIFORM/v6/IPSLCM6/GENERAL/DRIVER/orchidee.driver

    r2300 r2343  
    11#!/bin/ksh 
    2  
    32#D- Driver du script pour ORCHIDEE 
    4  
    5 function ORCHIDEE_sed 
    6 { 
    7     IGCM_debug_PushStack "ORCHIDEE_sed" 
    8      
    9     sed -e "s/^${1}\ *=.*/${1}= ${2}/" \ 
    10         orchidee.def > orchidee.def.tmp 
    11     RET=$? 
    12     echo "ORCHIDEE_sed : ${1} ${2}" 
    13     \mv orchidee.def.tmp orchidee.def 
    14      
    15     IGCM_debug_PopStack "ORCHIDEE_sed" 
    16     return $RET 
    17 } 
    18  
    19 function ORCHIDEE_sed_xml 
    20 { 
    21 # Usage : ORCHIDEE_sed_xml xml_file output_file attribute value  
    22 #         In file xml_file modify at the line containing id="output_file" the attribute "attribute=xxx" into "attribute=value" 
    23      
    24     # Test if the fichier exist 
    25     if [ ! -f ${1} ] ; then 
    26         echo "WARNING : ${1} file does not exist. Following will not be done : ORCHIDEE_sed : ${1} ${2} ${3} ${4}" 
    27         IGCM_debug_PopStack "LMDZ_sed" 
    28         return 
    29     fi 
    30     sed -e "/id=\"${2}\"/s/\(${3}=\"\)[^\"]*\(\"\)/\1${4}\2/" ${1} > ${1}.tmp 
    31     RET=$? 
    32     echo "ORCHIDEE_sed : ${1} ${2} ${3} ${4}" 
    33     \mv ${1}.tmp ${1} 
    34  
    35     return $RET 
    36 } 
    37  
    383#----------------------------------------------------------------- 
    394function SRF_Initialize 
     
    6631    IGCM_debug_PushStack "SRF_Update" 
    6732 
     33    # Activate STOMATE if the compontent SBG=stomate is set in config.card 
     34    if [ X${config_ListOfComponents_SBG} = Xstomate ] ; then 
     35        IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_OK_STOMATE y 
     36    else 
     37        IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_OK_STOMATE n 
     38    fi 
     39 
    6840    typeset SECHIBA_WRITE_STEP 
    6941 
    7042    if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    71         ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .FALSE.  
    72         ORCHIDEE_sed_xml file_def_orchidee.xml sechiba2 enabled .FALSE.  
    73         ORCHIDEE_sed XIOS_ORCHIDEE_OK y 
     43        IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .FALSE.  
     44        IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba2 enabled .FALSE.  
     45        IGCM_comp_modifyDefFile nonblocker orchidee.def XIOS_ORCHIDEE_OK y 
     46    else 
     47        IGCM_comp_modifyDefFile nonblocker orchidee.def XIOS_ORCHIDEE_OK n 
    7448    fi     
    7549 
     
    8155            (( SECHIBA_WRITE_STEP = PeriodLengthInDays * WriteInYears / PeriodLengthInYears * 86400 ))  
    8256            if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    83                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .TRUE.  
    84                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 output_freq ${WriteInYears}y 
    85                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 name sechiba_history  
     57                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
     58                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq ${WriteInYears}y 
     59                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history  
    8660            fi 
    8761            ;; 
    8862        1M) 
    8963            if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    90                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .TRUE.  
    91                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 output_freq 1mo 
    92                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 name sechiba_history  
     64                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
     65                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq 1mo 
     66                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history  
    9367            fi 
    9468            case ${config_UserChoices_PeriodLength} in 
     
    10781            WriteInMonths=$( echo ${SRF_WriteFrequency} | awk -F '[mM]' '{print $1}' ) 
    10882            if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    109                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .TRUE.  
    110                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 output_freq ${WriteInMonths}mo 
    111                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 name sechiba_history  
     83                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
     84                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq ${WriteInMonths}mo 
     85                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history  
    11286            fi 
    11387            case ${config_UserChoices_PeriodLength} in 
     
    12397                (( SECHIBA_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) * 86400 )) 
    12498                if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    125                     ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .TRUE.  
    126                     ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 output_freq ${SECHIBA_WRITE_STEP}s 
    127                     ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 name sechiba_history 
     99                    IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
     100                    IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq ${SECHIBA_WRITE_STEP}s 
     101                    IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history 
    128102                fi 
    129103                ;; 
     
    132106        5D|5d)  
    133107            if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    134                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .TRUE.  
    135                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 output_freq 5d 
    136                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 name sechiba_history  
     108                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
     109                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq 5d 
     110                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history  
    137111            fi 
    138112            (( SECHIBA_WRITE_STEP = 5 * 86400 ))  
     
    140114        1D|1d)  
    141115            if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    142                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .TRUE.  
    143                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 output_freq 1d 
    144                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 name sechiba_history  
     116                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
     117                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq 1d 
     118                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history  
    145119            fi 
    146120            (( SECHIBA_WRITE_STEP = 86400 ))  
     
    149123            WriteInSeconds=$( echo ${SRF_WriteFrequency} | awk -F '[s]' '{print $1}' ) 
    150124            if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    151                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 enabled .TRUE.  
    152                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 output_freq ${WriteInSeconds}s 
    153                 ORCHIDEE_sed_xml file_def_orchidee.xml sechiba1 name sechiba_history  
     125                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
     126                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq ${WriteInSeconds}s 
     127                IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history  
    154128            fi 
    155129            (( SECHIBA_WRITE_STEP = WriteInSeconds )) ;; 
     
    164138        (( SECHIBA_WRITE_STEP = 0 )) 
    165139    fi 
    166  
    167     ORCHIDEE_sed WRITE_STEP ${SECHIBA_WRITE_STEP} 
    168     ORCHIDEE_sed SECHIBA_HISTLEVEL ${orchidee_UserChoices_sechiba_LEVEL} 
     140    IGCM_comp_modifyDefFile nonblocker orchidee.def WRITE_STEP ${SECHIBA_WRITE_STEP} 
     141    IGCM_comp_modifyDefFile nonblocker orchidee.def SECHIBA_HISTLEVEL ${orchidee_UserChoices_sechiba_LEVEL} 
    169142 
    170143    # Outputs HF in HISTFILE2 if required 
    171144    if [ X${SRF_ok_hf} = Xy ] ; then 
    172         ORCHIDEE_sed SECHIBA_HISTFILE2 y 
     145        IGCM_comp_modifyDefFile nonblocker orchidee.def SECHIBA_HISTFILE2 y 
    173146        if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    174             ORCHIDEE_sed_xml file_def_orchidee.xml sechiba2 enabled .TRUE.  
    175             ORCHIDEE_sed_xml file_def_orchidee.xml sechiba2 output_freq 10800s 
    176             ORCHIDEE_sed_xml file_def_orchidee.xml sechiba2 name sechiba_out_2 
     147            IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba2 enabled .TRUE.  
     148            IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba2 output_freq 10800s 
     149            IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba2 name sechiba_out_2 
    177150        fi 
    178151    else 
    179         ORCHIDEE_sed SECHIBA_HISTFILE2 n 
    180     fi 
    181     ORCHIDEE_sed SECHIBA_HISTLEVEL2 1 
    182     ORCHIDEE_sed WRITE_STEP2 10800.0 
     152        IGCM_comp_modifyDefFile nonblocker orchidee.def SECHIBA_HISTFILE2 n 
     153    fi 
     154    IGCM_comp_modifyDefFile nonblocker orchidee.def SECHIBA_HISTLEVEL2 1 
     155    IGCM_comp_modifyDefFile nonblocker orchidee.def WRITE_STEP2 10800.0 
    183156 
    184157    if ( [ ${CumulPeriod} -ne 1 ] || [ "${config_SRF_Restart}" != "n" ] ) ; then 
    185         ORCHIDEE_sed SECHIBA_restart_in sechiba_rest_in.nc 
    186     else 
    187         ORCHIDEE_sed SECHIBA_restart_in NONE 
     158        IGCM_comp_modifyDefFile blocker orchidee.def SECHIBA_restart_in sechiba_rest_in.nc 
     159    else 
     160        IGCM_comp_modifyDefFile blocker orchidee.def SECHIBA_restart_in NONE 
    188161    fi 
    189162 
    190163# Modify in orchidee.def VEGET_UPDATE and LAND_COVER_CHANGE if they are set in orchidee.card section UserChoices 
    191164    if [ ! X${orchidee_UserChoices_VEGET_UPDATE} = X ] ; then 
    192         ORCHIDEE_sed VEGET_UPDATE   ${orchidee_UserChoices_VEGET_UPDATE} 
    193     else 
    194         ORCHIDEE_sed VEGET_UPDATE 0Y 
     165        IGCM_comp_modifyDefFile blocker orchidee.def VEGET_UPDATE   ${orchidee_UserChoices_VEGET_UPDATE} 
     166    else 
     167        IGCM_comp_modifyDefFile blocker orchidee.def VEGET_UPDATE 0Y 
    195168    fi 
    196169    if [ ! X${orchidee_UserChoices_LAND_COVER_CHANGE} = X ] ; then 
    197         ORCHIDEE_sed LAND_COVER_CHANGE ${orchidee_UserChoices_LAND_COVER_CHANGE} 
    198     else 
    199         ORCHIDEE_sed LAND_COVER_CHANGE n 
     170        IGCM_comp_modifyDefFile blocker orchidee.def LAND_COVER_CHANGE ${orchidee_UserChoices_LAND_COVER_CHANGE} 
     171    else 
     172        IGCM_comp_modifyDefFile blocker orchidee.def LAND_COVER_CHANGE n 
    200173    fi 
    201174 
Note: See TracChangeset for help on using the changeset viewer.