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 2575 for trunk/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/IGCM00/COMP/opa9.driver – NEMO

Ignore:
Timestamp:
2011-02-02T15:12:09+01:00 (13 years ago)
Author:
cetlod
Message:

Update card & driver for PISCES configurations when running with libIGCM library

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/IGCM00/COMP/opa9.driver

    r2528 r2575  
    5151    # Definition from opa9.card of List_jobsbc and List_runsbc used to do to interannual and climatological runs  
    5252   IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_jobsbc 
    53    IGCM_card_DefineArrayFromOption ${SUBMIT_DIR}/COMP/opa9.card Interannual List_runsbc 
    5453        set -A ListFormulationJobsbc -- \${opa9_Interannual_Listjobsc${opa9_Interannual_List_jobsbc}[*]} 
    55         set -A ListFormulationRunsbc -- \${opa9_Interannual_Listrunsbc${opa9_Interannual_List_runsbc}[*]} 
    5654 
    5755    ##--Variables used for XMLIO_SERVER configuration file 
     
    7169    if [ X${opa9_UserChoices_Interannual_Run} = Xy ] ; then 
    7270 
    73    typeset file fileo 
    74  
    75         eval NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
    76  
     71   typeset file  
     72 
     73   (( PeriodCumulPeriod =  ${CumulPeriod} - 1 ))  
     74   (( PeriodInitYear =${InitYear} + ${PeriodCumulPeriod} * ${PeriodLengthInYears} )) 
     75   (( PeriodFinalYear =${InitYear} + ${PeriodLengthInYears}*${CumulPeriod} - 1 )) 
     76 
     77        NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
     78        (( NbFileInter_tot=${#opa9_Interannual_List_jobsbc[*]} * ${PeriodLengthInYears} )) 
    7779   (( i = 0 )) 
    78    while [ $i -lt ${NbFileInter} ] ; do 
    79        eval file=${opa9_Interannual_List_jobsbc[$i]} 
    80        eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 
    81        eval jobsbc_file_y=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
    82        eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
    83      # Copy of List_jobsbc in List_runsbc if this last one is empty  
    84             if [ X${opa9_Interannual_List_runsbc[0]} = X${NULL_STR} ] ; then 
    85          eval fileo=${opa9_Interannual_List_jobsbc[$i]} 
    86                eval runsbc_file_ym1=${file}_y$(( year - 1 )).nc 
    87                eval runsbc_file_y=${file}_y${year}.nc 
    88                eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 
    89        else 
    90          eval fileo=${opa9_Interannual_List_runsbc[$i]} 
    91                eval runsbc_file_ym1=${fileo}_y$(( year - 1 )).nc 
    92                eval runsbc_file_y=${fileo}_y${year}.nc 
    93                eval runsbc_file_yp1=${fileo}_y$(( year + 1 )).nc 
    94       fi 
    95  
    96        if [ X${Period} = X1 ] ; then 
    97       if [ ${month} -eq 01 ] ; then 
    98           IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 
     80 
     81   while [ ${year} -le ${PeriodFinalYear} ] ; do #copy in ONCE of ALL necessary files for all PeriodLength 
     82        
     83       while [ $i -lt ${NbFileInter} ] ; do 
     84       
     85      eval file=${opa9_Interannual_List_jobsbc[$i]} 
     86      if [ X${year} = X${PeriodInitYear} ] ; then   
     87                           if [ ${month} -eq 01 ] ; then 
     88                  # if year-1 does not exist we create a file _noym1.nc copy of year 
     89                  eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 
     90                  if  [ ! -f ${jobsbc_file_ym1} ] ; then 
     91                     eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     92                     eval runsbc_file_ym1=${file}_noym1.nc 
     93                  else 
     94                      eval jobsbc_file_ym1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year - 1 )).nc 
     95                      eval runsbc_file_ym1=${file}_y$(( year - 1 )).nc 
     96                  fi 
     97 
     98                            IGCM_sys_Get ${jobsbc_file_ym1} ${runsbc_file_ym1} 
     99                           fi 
    99100      fi 
     101       
     102            # download year  
     103      eval jobsbc_file_y=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     104      eval runsbc_file_y=${file}_y${year}.nc 
     105       
    100106      if [ ! -f ${runsbc_file_y} ] ; then 
    101107          IGCM_sys_Get ${jobsbc_file_y} ${runsbc_file_y} 
    102108      fi 
    103       if [ ! -f ${runsbc_file_yp1} ] ; then 
    104           IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
     109       
     110      # download (year+1) if it is last year of run 
     111      if [ X${year} = X${PeriodFinalYear} ] ; then     
     112    
     113          eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     114          eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 
     115           
     116          if  [ ! -f ${runsbc_file_yp1} ] ; then 
     117          
     118              # if year+1 does not exist we create a file _noyp1.nc copy of year 
     119            eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     120         if  [ ! -f ${jobsbc_file_yp1} ] ; then 
     121             eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_${year}.nc 
     122                eval runsbc_file_yp1=${file}_noyp1.nc 
     123         else 
     124             eval jobsbc_file_yp1=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}_$(( year + 1 )).nc 
     125             eval runsbc_file_yp1=${file}_y$(( year + 1 )).nc 
     126         fi 
     127         IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
     128          fi 
     129           
    105130      fi 
    106        else  
    107       if [ ! -f ${runsbc_file_yp1} ] ; then 
    108           IGCM_sys_Get ${jobsbc_file_yp1} ${runsbc_file_yp1} 
    109       fi 
    110        fi  
    111  
    112        (( i = i + 1 )) 
     131      (( i = i + 1 )) 
     132    
     133       done 
     134    
     135       (( year = year + 1 )) 
     136     
     137       (( i = 0 )) 
    113138   done 
     139 
    114140    # End interannual 
    115141    elif [ X${opa9_UserChoices_Interannual_Run} = Xn ] ; then 
    116142    # Climatological run 
    117        typeset file fileo 
     143       typeset file  
    118144 
    119145       eval NbFileInter=${#opa9_Interannual_List_jobsbc[*]} 
     
    123149            eval file=${opa9_Interannual_List_jobsbc[$i]} 
    124150            eval jobsbc_file=${R_BC}/OCE/${config_UserChoices_TagName}/${opa9_UserChoices_OPA_version}/${file}.nc 
    125             if [ X${opa9_Interannual_List_runsbc[0]} = X${NULL_STR} ] ; then 
    126          eval fileo=${opa9_Interannual_List_jobsbc[$i]} 
    127                eval runsbc_file=${fileo}.nc 
    128        else 
    129          eval fileo=${opa9_Interannual_List_runsbc[$i]} 
    130                eval runsbc_file=${fileo}.nc 
    131       fi 
     151            eval runsbc_file=${file}.nc 
    132152 
    133153            IGCM_sys_Get ${jobsbc_file} ${runsbc_file} 
     
    224244   NEMO_END=$( echo $( awk "BEGIN { printf \"%0${PRECIS}d\",${OPA_NITEND} }" ) )  
    225245 
    226     sed -e "s%${PAT_CEXPER}%       cn_exp=\"${config_UserChoices_JobName}\"%" \ 
     246    sed -e "s%${PAT_CEXPER}%       cn_exp=\"${config_UserChoices_JobName}\"%"  \ 
    227247   -e "s%${PAT_NIT000}%       nn_it000=${OPA_NIT000}%"                    \ 
    228248   -e "s%${PAT_NITEND}%       nn_itend=${OPA_NITEND}%"                    \ 
    229    -e "s%${PAT_RESTAR}%       ln_rstart=${OPA_LRSTAR}%"                 \ 
     249   -e "s%${PAT_RESTAR}%       ln_rstart=${OPA_LRSTAR}%"                   \ 
    230250   -e "s%${PAT_NSTOCK}%       nn_stock=${OPA_NSTOCK}%"                    \ 
    231    -e "s%${PAT_NRSTAR}%       nn_rstctl=${OPA_NRSTDT}%"                    \ 
    232    -e "s%${PAT_NDATE0}%       nn_date0=${PeriodDateBegin}%"                \ 
     251   -e "s%${PAT_NRSTAR}%       nn_rstctl=${OPA_NRSTDT}%"                   \ 
     252   -e "s%${PAT_NDATE0}%       nn_date0=${PeriodDateBegin}%"               \ 
    233253   -e "s%${PAT_NMSH}%         nn_msh=${OPA_NMSH}%"                        \ 
    234    -e "s%${PAT_NLEAPY}%       nn_leapy=${OPA_NLEAPY}%"                 \ 
     254   -e "s%${PAT_NLEAPY}%       nn_leapy=${OPA_NLEAPY}%"                  \ 
    235255   namelist > namelist.tmp 
    236256 
    237257    IGCM_sys_Mv namelist.tmp namelist 
     258 
    238259 
    239260    # update xmlio_server.def 
Note: See TracChangeset for help on using the changeset viewer.