New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 1596 for branches/libIGCM/ORCA2_LIM/IGCM00/COMP/opa9.driver – NEMO

Ignore:
Timestamp:
2009-08-10T12:11:36+02:00 (15 years ago)
Author:
flavoni
Message:

Changes in opa9.card and opa9.driver to have possibility to do interannual runs, see ticket : #524

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/libIGCM/ORCA2_LIM/IGCM00/COMP/opa9.driver

    r1404 r1596  
    5252    (( DaysSinceJC = $( IGCM_date_DaysSinceJC ${DateBegin} ) + 1 )) 
    5353 
     54    # Definition from opa9.card of List_jobsbc and List_runsbc used to do to interannual and climatological runs  
     55   IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_jobsbc 
     56   IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_runsbc 
     57        set -A ListFormulationJobsbc -- \${opa9_Interannual_Listjobsc${opa9_Interannual_List_jobsbc}[*]} 
     58        set -A ListFormulationRunsbc -- \${opa9_Interannual_Listrunsbc${opa9_Interannual_List_runsbc}[*]} 
     59 
    5460    IGCM_debug_PopStack "OCE_Initialize" 
    5561} 
     
    5864function OCE_Update 
    5965{ 
    60 ###    set -vx 
    6166    IGCM_debug_PushStack "OCE_Update" 
     67 
     68    # Interannual run 
     69    # In this case job need to calculate previous and following year and give, and if every run needs to add "_y" before every year  
     70    if [ X${opa9_UserChoices_Interannual_Run} = Xy ] ; then 
     71 
     72   typeset file fileo 
     73 
     74        eval NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
     75 
     76   (( i = 0 )) 
     77   while [ $i -lt ${NbFileInter} ] ; do 
     78       eval file=${opa9_Interannual_List_jobsbc[$i]} 
     79       eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 
     80       eval jobsbc_file_y=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     81       eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     82     # Copy of List_jobsbc in List_runsbc if this last one is empty  
     83            if [ X${opa9_Interannual_List_runsbc[$i]} = X${NULL_STR} ] ; then 
     84         eval fileo=${opa9_Interannual_List_jobsbc[$i]} 
     85               eval runsbc_file_ym1=${file}_y$(( year - 1 )).nc 
     86               eval runsbc_file_y=${file}_y${year}.nc 
     87               eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 
     88       else 
     89         eval fileo=${opa9_Interannual_List_runsbc[$i]} 
     90               eval runsbc_file_ym1=${fileo}_y$(( year - 1 )).nc 
     91               eval runsbc_file_y=${fileo}_y${year}.nc 
     92               eval runsbc_file_yp1=${fileo}_y$(( year + 1 )).nc 
     93      fi 
     94 
     95       if [ X${Period} = X1 ] ; then 
     96      if [ ${month} -eq 01 ] ; then 
     97          IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 
     98      fi 
     99      if [ ! -f ${runsbc_file_y} ] ; then 
     100          IGCM_sys_Get ${jobsbc_file_y} ${runsbc_file_y} 
     101      fi 
     102      if [ ! -f ${runsbc_file_yp1} ] ; then 
     103          IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
     104      fi 
     105       else  
     106      if [ ! -f ${runsbc_file_yp1} ] ; then 
     107          IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
     108      fi 
     109       fi  
     110 
     111       (( i = i + 1 )) 
     112   done 
     113    # End interannual 
     114    elif [ X${opa9_UserChoices_Interannual_Run} = Xn ] ; then 
     115    # Climatological run 
     116       typeset file fileo 
     117 
     118       eval NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
     119 
     120        (( i = 0 )) 
     121        while [ $i -lt ${NbFileInter} ] ; do 
     122            eval file=${opa9_Interannual_List_jobsbc[$i]} 
     123            eval jobsbc_file=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}.nc 
     124            eval NbFilerunsbc=${#opa9_Interannual_List_runsbc[*]} 
     125            if [ ${NbFilerunsbc} -eq 0  ] ; then 
     126                eval fileo=${opa9_Interannual_List_jobsbc[$i]} 
     127                eval runsbc_file=${file}.nc 
     128            else 
     129                eval fileo=${opa9_Interannual_List_runsbc[$i]} 
     130                eval runsbc_file=${fileo}.nc 
     131            fi 
     132            IGCM_sys_Get ${jobsbc_file} ${runsbc_file} 
     133            (( i = i + 1 )) 
     134   done 
     135    fi 
     136    # End climatological 
    62137 
    63138    NbFreq=$( echo ${config_OCE_WriteFrequency} | wc -w ) 
Note: See TracChangeset for help on using the changeset viewer.