Ignore:
Timestamp:
04/26/16 13:23:31 (8 years ago)
Author:
cetlod
Message:

Phase NEMO_v6 configuration with new eORCA1 reference for CMIP6

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/UNIFORM/v6/NEMO_v6/GENERAL/DRIVER/opa9.driver

    r2719 r2814  
    3030#----------------------------------------------------------------- 
    3131function OCE_Update 
    32 { 
     32 
    3333    IGCM_debug_PushStack "OCE_Update" 
     34 
     35 
     36    ##--  
     37    if [ X"${opa9_UserChoices_Online}" = Xy ] ; then 
     38        OCE_Online_Update 
     39    else 
     40        OCE_Offline_Update 
     41    fi 
     42 
     43    # Period Length In Days between DateBegin and first day of calendar 0001 01 01 
     44    # Needed by OPA namelist to compute correct file names  
     45    (( PeriodDaysSinceJC =  $( IGCM_date_DaysSinceJC ${PeriodDateBegin} ) + 1  )) 
     46 
     47    ## Count of number of time steps from begin of OPA job 
     48    (( OPA_NIT000 = ( PeriodDaysSinceJC - DaysSinceJC ) * OPA_NDT_DAY + 1 )) 
     49    (( OPA_NDT   = PeriodLengthInDays * OPA_NDT_DAY )) 
     50    (( OPA_NITEND = OPA_NIT000 + OPA_NDT - 1)) 
     51 
     52    ## Forcing to write one restart file at the end of period 
     53    OPA_NSTOCK="${OPA_NITEND}" 
     54 
     55    ## Verification of number of time steps per day 
     56    (( NB_SEC_DAY_MODEL = OPA_NDT_DAY * OPA_RDT )) 
     57    (( NB_SEC_DAY = 60 * 60 * 24 )) 
     58 
     59    if [ ${NB_SEC_DAY_MODEL} -ne ${NB_SEC_DAY} ] 
     60        then 
     61        echo " NB_SEC_DAY_MODEL "${NB_SEC_DAY_MODEL} "NB_SEC_DAY" ${NB_SEC_DAY} "OPA_NDT_DAY" ${OPA_NDT_DAY} "OPA_RDT" ${OPA_RDT} 
     62        echo " VERIFY OPA_NDT_DAY in opa9.card " 
     63        exit 
     64    fi 
     65 
     66       
     67     ## nleapy configuration 
     68        case ${config_UserChoices_CalendarType} in 
     69                leap) 
     70                OPA_NLEAPY=1;; 
     71                noleap) 
     72                OPA_NLEAPY=0;; 
     73                360d) 
     74                OPA_NLEAPY=30;; 
     75        esac 
     76 
     77 
     78        typeset -r PRECIS=8 
     79        NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${OPA_NITEND} }" ) )  
     80 
     81   IGCM_comp_modifyNamelist blocker    namelist_cfg cn_exp    ${config_UserChoices_JobName} 
     82   IGCM_comp_modifyNamelist blocker    namelist_cfg nn_it000  ${OPA_NIT000} 
     83   IGCM_comp_modifyNamelist blocker    namelist_cfg nn_itend  ${OPA_NITEND} 
     84   IGCM_comp_modifyNamelist blocker    namelist_cfg ln_rstart ${OPA_LRSTAR} 
     85   IGCM_comp_modifyNamelist blocker    namelist_cfg nn_stock ${OPA_NSTOCK} 
     86   IGCM_comp_modifyNamelist blocker    namelist_cfg nn_rstctl ${OPA_NRSTDT} 
     87   IGCM_comp_modifyNamelist blocker    namelist_cfg nn_date0 ${PeriodDateBegin} 
     88   IGCM_comp_modifyNamelist nonblocker namelist_cfg nn_msh    ${OPA_NMSH} 
     89   IGCM_comp_modifyNamelist blocker    namelist_cfg nn_leapy  ${OPA_NLEAPY}   
     90 
     91   # update domain_def.xml file 
     92   case ${RESOL_OCE} in 
     93       ( *ORCA2* )  
     94          sed -e 's/<domain id="1point" zoom_ibegin="150" zoom_jbegin="150"/<domain id="1point" zoom_ibegin="10" zoom_jbegin="10"/' domain_def.xml > domain_def.xml.tmp  
     95          IGCM_sys_Mv domain_def.xml.tmp domain_def.xml  ; 
     96   esac 
     97 
     98 
     99    IGCM_debug_PushStack "OCE_Update" 
     100 
     101 
     102{ 
     103} 
     104function OCE_Online_Update 
     105{ 
     106    IGCM_debug_PushStack "OCE_Online_Update" 
    34107 
    35108    # Interannual run 
     
    171244 
    172245    done 
    173     # Period Length In Days between DateBegin and first day of calendar 0001 01 01 
    174     # Needed by OPA namelist to compute correct file names  
    175     (( PeriodDaysSinceJC =  $( IGCM_date_DaysSinceJC ${PeriodDateBegin} ) + 1  )) 
    176  
    177     ## Count of number of time steps from begin of OPA job 
    178     (( OPA_NIT000 = ( PeriodDaysSinceJC - DaysSinceJC ) * OPA_NDT_DAY + 1 )) 
    179     (( OPA_NDT   = PeriodLengthInDays * OPA_NDT_DAY )) 
    180     (( OPA_NITEND = OPA_NIT000 + OPA_NDT - 1)) 
    181  
    182     ## Forcing to write one restart file at the end of period 
    183     OPA_NSTOCK="${OPA_NITEND}" 
    184  
    185     ## Verification of number of time steps per day 
    186     (( NB_SEC_DAY_MODEL = OPA_NDT_DAY * OPA_RDT )) 
    187     (( NB_SEC_DAY = 60 * 60 * 24 )) 
    188  
    189     if [ ${NB_SEC_DAY_MODEL} -ne ${NB_SEC_DAY} ] 
    190         then 
    191         echo " NB_SEC_DAY_MODEL "${NB_SEC_DAY_MODEL} "NB_SEC_DAY" ${NB_SEC_DAY} "OPA_NDT_DAY" ${OPA_NDT_DAY} "OPA_RDT" ${OPA_RDT} 
    192         echo " VERIFY OPA_NDT_DAY in opa9.card " 
    193         exit 
    194     fi 
    195246 
    196247    ##-- Restart configuration 
     
    219270 
    220271    fi 
    221     
    222      ## nleapy configuration 
    223         case ${config_UserChoices_CalendarType} in 
    224                 leap) 
    225                 OPA_NLEAPY=1;; 
    226                 noleap) 
    227                 OPA_NLEAPY=0;; 
    228                 360d) 
    229                 OPA_NLEAPY=30;; 
    230         esac 
    231  
    232  
    233         typeset -r PRECIS=8 
    234         NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${OPA_NITEND} }" ) )  
    235  
    236    IGCM_comp_modifyNamelist blocker    namelist_cfg cn_exp    ${config_UserChoices_JobName} 
    237    IGCM_comp_modifyNamelist blocker    namelist_cfg nn_it000  ${OPA_NIT000} 
    238    IGCM_comp_modifyNamelist blocker    namelist_cfg nn_itend  ${OPA_NITEND} 
    239    IGCM_comp_modifyNamelist blocker    namelist_cfg ln_rstart ${OPA_LRSTAR} 
    240    IGCM_comp_modifyNamelist blocker    namelist_cfg nn_stock ${OPA_NSTOCK} 
    241    IGCM_comp_modifyNamelist blocker    namelist_cfg nn_rstctl ${OPA_NRSTDT} 
    242    IGCM_comp_modifyNamelist blocker    namelist_cfg nn_date0 ${PeriodDateBegin} 
    243    IGCM_comp_modifyNamelist nonblocker namelist_cfg nn_msh    ${OPA_NMSH} 
    244    IGCM_comp_modifyNamelist blocker    namelist_cfg nn_leapy  ${OPA_NLEAPY}   
    245  
    246    # update domain_def.xml file 
    247    case ${RESOL_OCE} in 
    248        ( *ORCA2* )  
    249           sed -e 's/<domain id="1point" zoom_ibegin="150" zoom_jbegin="150"/<domain id="1point" zoom_ibegin="10" zoom_jbegin="10"/' domain_def.xml > domain_def.xml.tmp  
    250           IGCM_sys_Mv domain_def.xml.tmp domain_def.xml  ; 
    251    esac 
    252  
    253     IGCM_debug_PopStack "OCE_Update" 
    254 } 
     272 
     273    IGCM_debug_PopStack "OCE_Online_Update" 
     274} 
     275 
     276function OCE_offline_Update 
     277{ 
     278    IGCM_debug_PushStack "OCE_Offline_Update" 
     279    IGCM_debug_PopStack "OCE_Offline_Update" 
     280 
     281} 
     282 
    255283 
    256284#----------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.