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 1144 for trunk/NVTK/INSTALL/JOBS/job_ZAGRIF.ksh – NEMO

Ignore:
Timestamp:
2008-06-25T11:25:34+02:00 (16 years ago)
Author:
ctlod
Message:

trunk: improve the treatment of namelists in NVTK jobs based on sed and grep UNIX commands, see ticket: #222

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NVTK/INSTALL/JOBS/job_ZAGRIF.ksh

    r1128 r1144  
    6767cp ${MAINDIR}/modipsl/config/${CONF}/EXP00/AGRIF_FixedGrids.in AGRIF_FixedGrids.in 
    6868 
     69# Local function to find namelists parameters 
     70supergrep () { 
     71    grep "^ *$1 *=" $2 | sed -e "s% *\!.*%%" 
     72} 
     73 
    6974for CHGFILE in `ls *namelist` 
    7075do 
    7176     # namelist modifications 
    72      PAT_NIT000=$( grep 'nit000      =' ${CHGFILE} ) 
    73      PAT_NITEND=$( grep 'nitend      =' ${CHGFILE} ) 
    74      PAT_NSTOCK=$( grep 'nstock      =' ${CHGFILE} ) 
    75      PAT_NWRITE=$( grep 'nwrite      =' ${CHGFILE} ) 
    76      PAT_NRSTDT=$( grep 'nrstdt      =' ${CHGFILE} ) 
    77      PAT_NBITCM=$( grep 'nbit_cmp   ='   ${CHGFILE} ) 
    78      PAT_TRACEN=$( grep 'ln_traadv_cen2   =' ${CHGFILE} ) 
    79      PAT_TRATVD=$( grep 'ln_traadv_tvd    =' ${CHGFILE} ) 
    80      PAT_N_CLAA=$( grep 'n_cla       =' ${CHGFILE} ) 
    81      PAT_NSOLVV=$( grep 'nsolv       =' ${CHGFILE} ) 
    82      PAT_RESTAR=$( grep 'ln_rstart   =' ${CHGFILE} ) 
    83      PAT_RESMLD=$( grep 'ln_trdmld_restart =' ${CHGFILE} ) 
     77     PAT_NIT000=$( supergrep nit000            ${CHGFILE} ) 
     78     PAT_NITEND=$( supergrep nitend            ${CHGFILE} ) 
     79     PAT_NSTOCK=$( supergrep nstock            ${CHGFILE} ) 
     80     PAT_NWRITE=$( supergrep nwrite            ${CHGFILE} ) 
     81     PAT_NRSTDT=$( supergrep nrstdt            ${CHGFILE} ) 
     82     PAT_NBITCM=$( supergrep nbit_cmp           ${CHGFILE} ) 
     83     PAT_TRACEN=$( supergrep ln_traadv_cen2    ${CHGFILE} ) 
     84     PAT_TRATVD=$( supergrep ln_traadv_tvd      ${CHGFILE} ) 
     85     PAT_N_CLAA=$( supergrep n_cla              ${CHGFILE} ) 
     86     PAT_NSOLVV=$( supergrep nsolv              ${CHGFILE} ) 
     87     PAT_RESTAR=$( supergrep ln_rstart          ${CHGFILE} ) 
     88     PAT_RESMLD=$( supergrep ln_trdmld_restart ${CHGFILE} ) 
    8489 
    8590    if [ ${CHGFILE} = 'namelist' ] ; then 
     
    9398    fi 
    9499 
    95      sed    -e "s%$PAT_RESTAR%   ln_rstart   =  .false.%" \ 
    96      -e "s%$PAT_NAMECF%$PAT_NAMECF_tmp%" \ 
    97      -e "s%$PAT_NIT000%   nit000     =     1%" \ 
    98      -e "s%$PAT_NITEND%   nitend     =     ${ORCA_NITEND}%" \ 
    99      -e "s%$PAT_NSTOCK%   nstock     =     ${ORCA_NITEND}%" \ 
    100      -e "s%$PAT_NWRITE%   nwrite     =     ${ORCA_NSTOCK}%" \ 
    101      -e "s%$PAT_NRSTDT%   nrstdt     =     0%" \ 
    102      -e "s%$PAT_NBITCM%   nbit_cmp =     1%" \ 
    103      -e "s%$PAT_TRACEN%   ln_traadv_cen2   =  .false.%" \ 
    104      -e "s%$PAT_TRATVD%   ln_traadv_tvd    =  .true.%" \ 
    105      -e "s%$PAT_N_CLAA%   n_cla   = 0%" \ 
    106      -e "s%$PAT_NSOLVV%   nsolv     =      2%" \ 
    107      -e "s%$PAT_RESMLD%   ln_trdmld_restart =  .false.%" \ 
    108      ${CHGFILE} > nam.$$ 
     100     sed -e "s%$PAT_RESTAR%   ln_rstart   =  .false.%"           \ 
     101         -e "s%$PAT_NAMECF%$PAT_NAMECF_tmp%"                     \ 
     102         -e "s%$PAT_NIT000%   nit000     =     1   %"            \ 
     103         -e "s%$PAT_NITEND%   nitend     =     ${ORCA_NITEND} %" \ 
     104         -e "s%$PAT_NSTOCK%   nstock     =     ${ORCA_NITEND} %" \ 
     105         -e "s%$PAT_NWRITE%   nwrite     =     ${ORCA_NSTOCK} %" \ 
     106         -e "s%$PAT_NRSTDT%   nrstdt     =     0   %"            \ 
     107         -e "s%$PAT_NBITCM%   nbit_cmp =     1%"                 \ 
     108         -e "s%$PAT_TRACEN%   ln_traadv_cen2   =  .false.%"      \ 
     109         -e "s%$PAT_TRATVD%   ln_traadv_tvd    =  .true.%"       \ 
     110         -e "s%$PAT_N_CLAA%   n_cla   = 0%"                      \ 
     111         -e "s%$PAT_NSOLVV%   nsolv     =      2%"               \ 
     112         -e "s%$PAT_RESMLD%   ln_trdmld_restart =  .false.%" ${CHGFILE} > nam.$$ 
    109113      
    110114     mv nam.$$ ${CHGFILE} && rm -f nam.$$ 
     
    143147    do 
    144148        # namelist modifications 
    145         PAT_NIT000=$( grep 'nit000     =' ${CHGFILE} ) 
    146         PAT_NITEND=$( grep 'nitend     =' ${CHGFILE} ) 
    147         PAT_NRSTDT=$( grep 'nrstdt     =' ${CHGFILE} ) 
    148         PAT_RESTAR=$( grep 'ln_rstart   =' ${CHGFILE} ) 
    149         PAT_RESMLD=$( grep 'ln_trdmld_restart =' ${CHGFILE} ) 
     149        PAT_NIT000=$( supergrep nit000            ${CHGFILE} ) 
     150        PAT_NITEND=$( supergrep nitend            ${CHGFILE} ) 
     151        PAT_NRSTDT=$( supergrep nrstdt            ${CHGFILE} ) 
     152        PAT_RESTAR=$( supergrep ln_rstart          ${CHGFILE} ) 
     153        PAT_RESMLD=$( supergrep ln_trdmld_restart ${CHGFILE} ) 
    150154 
    151155        if [ ${CHGFILE} = 'namelist' ] ; then 
     
    157161        fi 
    158162         
    159         sed    -e "s%$PAT_RESTAR%   ln_rstart   =  .true.%" \ 
    160         -e "s%$PAT_NIT000%   nit000     =     $ORCA_NIT000%" \ 
    161         -e "s%$PAT_NITEND%   nitend     =     $ORCA_NITEND%" \ 
    162         -e "s%$PAT_NRSTDT%   nrstdt     =     2%" \ 
    163         -e "s%$PAT_RESMLD%   ln_trdmld_restart =  .true.%" \ 
    164         ${CHGFILE} > nam.$$ 
     163        sed -e "s%$PAT_RESTAR%   ln_rstart   =  .true.%"          \ 
     164            -e "s%$PAT_NIT000%   nit000     =     $ORCA_NIT000 %" \ 
     165            -e "s%$PAT_NITEND%   nitend     =     $ORCA_NITEND %" \ 
     166            -e "s%$PAT_NRSTDT%   nrstdt     =     2%"             \ 
     167            -e "s%$PAT_RESMLD%   ln_trdmld_restart =  .true.%" ${CHGFILE} > nam.$$ 
    165168         
    166169        mv nam.$$ ${CHGFILE} && rm -f nam.$$ 
Note: See TracChangeset for help on using the changeset viewer.