Ignore:
Timestamp:
01/07/16 16:13:28 (8 years ago)
Author:
acosce
Message:

update lmdzorinca configuration to fit with last versions of lmdz and orchidee

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/UNIFORM/v6/LMDZORINCA_v6/GENERAL/DRIVER/stomate.driver

    r2346 r2694  
    11#!/bin/ksh 
    22 
    3 #D- Driver du script pour ORCHIDEE 
     3#D- Driver pour ORCHIDEE stomate component 
    44 
    55#----------------------------------------------------------------- 
     
    88    IGCM_debug_PushStack "SBG_Initialize" 
    99 
    10     RESOL_SBG=ALL 
    11      
    1210    IGCM_debug_PopStack "SBG_Initialize" 
    1311} 
     
    1715{ 
    1816    IGCM_debug_PushStack "SBG_Update" 
     17     
     18    # Output management 
    1919 
    20     typeset STOMATE_WRITE_STEP 
     20    # Set default values for stomate output files. 
     21    stomate_enabled=.FALSE. 
     22    stomate_freq=0s 
    2123 
    22     if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    23         IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .FALSE.  
    24         IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .FALSE.  
    25     fi    
    26     case ${config_SBG_WriteFrequency} in 
    27         *Y|*y)  
    28             WriteInYears=$( echo ${config_SBG_WriteFrequency} | awk -F '[yY]' '{print $1}' ) 
    29             PeriodLengthInYears=$( echo ${config_UserChoices_PeriodLength} | awk -F '[yY]' '{print $1}' ) 
    30             (( STOMATE_WRITE_STEP = PeriodLengthInDays * WriteInYears / PeriodLengthInYears ))  
    31             if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    32                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE.  
    33                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq ${WriteInYears}y 
    34                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history  
    35                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE.  
    36                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${WriteInYears}y 
    37                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history  
     24    # Read WriteFrequency set in config.card section SBG.  
     25    # Only one choice can be set as WriteFrequency. The same choice will be used for  
     26    # both stomate_history and stomate_ipcc_history files.  
     27    for frequency in ${config_SBG_WriteFrequency} ; do 
     28        case ${frequency} in 
     29            *Y|*y)  
     30                NbYears=$( echo ${frequency} | awk -F '[yY]' '{print $1}' ) 
     31                NbDaysYear=$( IGCM_date_DaysInYear ${year} ) 
     32                stomate_enabled=.TRUE. 
     33                stomate_freq=${NbYears}y ;; 
     34            *M|*m)  
     35                NbMonths=$( echo ${frequency} | awk -F '[mM]' '{print $1}' ) 
     36                stomate_enabled=.TRUE. 
     37                stomate_freq=${NbMonths}mo ;; 
     38            *D|*d) 
     39                NbDays=$( echo ${frequency} | awk -F '[dD]' '{print $1}' ) 
     40                stomate_enabled=.TRUE. 
     41                stomate_freq=${NbDays}d ;; 
     42            *)  
     43                IGCM_debug_Exit "SBG WriteFrequency=${frequency} is invalid. Choose between xY, xM and xD for Stomate." ;; 
     44        esac 
     45    done 
    3846 
    39             fi 
    40             ;; 
    41         1M|1m)  
    42             if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    43                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE.  
    44                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq 1mo 
    45                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history  
    46                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE.  
    47                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq 1mo 
    48                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history  
    49             fi 
    50             case ${config_UserChoices_PeriodLength} in 
    51             *Y|*y) 
    52                 STOMATE_WRITE_STEP=-1. 
    53                 ;; 
    54             *M|*m) 
    55                 STOMATE_WRITE_STEP=-1. 
    56                 ;; 
    57             *) 
    58                 (( STOMATE_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) )) ;; 
    59             esac 
    60             ;; 
    61         *M|*m)  
    62             WriteInMonths=$( echo ${config_SBG_WriteFrequency} | awk -F '[mM]' '{print $1}' ) 
    63             if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    64                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE.  
    65                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq ${WriteInMonths}mo 
    66                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history  
    67                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE.  
    68                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${WriteInMonths}mo 
    69                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history  
    70             fi 
    71             case ${config_UserChoices_PeriodLength} in 
    72             *Y|*y) 
    73                 PeriodLengthInYears=$( echo ${config_UserChoices_PeriodLength} | awk -F '[yY]' '{print $1}' ) 
    74                 (( STOMATE_WRITE_STEP = 30 )) 
    75                 ;; 
    76             *M|*m) 
    77                 PeriodLengthInMonths=$( echo ${config_UserChoices_PeriodLength} | awk -F '[mM]' '{print $1}' ) 
    78                 (( STOMATE_WRITE_STEP = PeriodLengthInDays * WriteInMonths / PeriodLengthInMonths )) 
    79                 ;; 
    80             *) 
    81                 (( STOMATE_WRITE_STEP = $( IGCM_date_DaysInMonth $year $month ) ))  
    82                 if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    83                     IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE.  
    84                     IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq ${STOMATE_WRITE_STEP}s 
    85                     IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history 
    86                     IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE.  
    87                     IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${STOMATE_WRITE_STEP}s 
    88                     IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history 
    89                 fi 
    90                 ;; 
    91             esac 
    92             ;; 
    93         5D|5d)  
    94             (( STOMATE_WRITE_STEP = 5 )) 
    95             if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    96                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE.  
    97                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq 5d 
    98                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history  
    99                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE.  
    100                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq 5d 
    101                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history  
    102             fi 
    103             ;; 
    104         1D|1d)  
    105             (( STOMATE_WRITE_STEP = 1 ))  
    106             if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    107                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 enabled .TRUE.  
    108                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 output_freq 1d 
    109                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate1 name stomate_history  
    110                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE.  
    111                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq 1d 
    112                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history  
    113             fi 
    114             ;; 
    115         *s) 
    116             WriteInSeconds=$( echo ${config_SBG_WriteFrequency} | awk -F '[s]' '{print $1}' ) 
    117             if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    118                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 enabled .TRUE.  
    119                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 output_freq ${WriteInSeconds}s 
    120                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml sechiba1 name sechiba_history  
    121                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 enabled .TRUE.  
    122                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 output_freq ${WriteInSeconds}s 
    123                 IGCM_comp_modifyXmlFile force file_def_orchidee.xml stomate2 name stomate_ipcc_history  
    124             fi 
    125             (( STOMATE_WRITE_STEP = 1 )) ;; 
    126         *)  
    127             IGCM_debug_Exit "SBG_Update " ${config_SBG_WriteFrequency} " invalid WriteFrequency : choose in 1Y, 1M, 5D, 1D."  
    128             IGCM_debug_Verif_Exit ;; 
    129     esac 
     47    # Modify file_def_orchidee.xml 
     48    IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 enabled ${stomate_enabled} 
     49    IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate1 output_freq ${stomate_freq} 
     50    IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 enabled ${stomate_enabled} 
     51    IGCM_comp_modifyXmlFile nonblocker file_def_orchidee.xml stomate2 output_freq ${stomate_freq} 
     52     
    13053 
    131  
    132 #Use of XIOS library only 
    133  
    134     if [ X${orchidee_UserChoices_XIOS} = Xy ] ; then 
    135         (( STOMATE_WRITE_STEP = 0 )) 
    136     fi 
    137  
    138     IGCM_comp_modifyDefFile nonblocker orchidee.def STOMATE_HIST_DT ${STOMATE_WRITE_STEP} 
    139     IGCM_comp_modifyDefFile nonblocker orchidee.def STOMATE_HISTLEVEL ${stomate_UserChoices_stomate_LEVEL} 
    140  
     54    # Define in orchidee.def if restart file should be used 
    14155    if ( [ ${CumulPeriod} -eq 1 ] && [ "${config_SBG_Restart}" = "n" ] ) ; then 
    142         echo "STOMATE : without restart" 
    143         IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN NONE 
     56        echo "STOMATE : without restart" 
     57        IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN NONE 
    14458    else 
    145         IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN stomate_rest_in.nc 
     59        IGCM_comp_modifyDefFile blocker orchidee.def STOMATE_RESTART_FILEIN stomate_rest_in.nc 
    14660    fi 
    14761 
     
    15266function SBG_Finalize 
    15367{ 
    154 #set -vx 
    15568    IGCM_debug_PushStack "SBG_Finalize" 
    156  
    157     if [ $( IGCM_date_DaysBetweenGregorianDate ${PeriodDateEnd} ${year}1230 ) -ge 0 ] ; then 
    158         IGCM_sys_Put_Out stomate_Cforcing.nc ${R_OUT_SBG_R}/${config_UserChoices_JobName}_${PeriodDateEnd}_stomate_Cforcing.nc 
    159         IGCM_sys_Put_Out stomate_forcing.nc  ${R_OUT_SBG_R}/${config_UserChoices_JobName}_${PeriodDateEnd}_stomate_forcing.nc 
    160 #       rm -f stomate_Cforcing.nc 
    161 #       rm -f stomate_forcing.nc 
    162     fi 
    163  
     69     
    16470    IGCM_debug_PopStack "SBG_Finalize" 
    16571} 
Note: See TracChangeset for help on using the changeset viewer.