Ignore:
Timestamp:
04/27/16 13:03:08 (8 years ago)
Author:
cetlod
Message:

minor correction of opa driver

File:
1 edited

Legend:

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

    r2814 r2815  
    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 } 
    104 function OCE_Online_Update 
    105 { 
    106     IGCM_debug_PushStack "OCE_Online_Update" 
    10734 
    10835    # Interannual run 
     
    244171 
    245172    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 
    246195 
    247196    ##-- Restart configuration 
     
    270219 
    271220    fi 
    272  
    273     IGCM_debug_PopStack "OCE_Online_Update" 
    274 } 
    275  
    276 function OCE_offline_Update 
    277 { 
    278     IGCM_debug_PushStack "OCE_Offline_Update" 
    279     IGCM_debug_PopStack "OCE_Offline_Update" 
    280  
    281 } 
    282  
     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} 
    283255 
    284256#----------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.