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_GYRE_LOBSTER.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_GYRE_LOBSTER.ksh

    r1143 r1144  
    5656cp ${MAINDIR}/modipsl/config/${CONF}/EXP00/namelist . 
    5757 
     58# Local function to find namelists parameters 
     59supergrep () { 
     60    grep "^ *$1 *=" $2 | sed -e "s% *\!.*%%" 
     61} 
     62 
    5863# namelist modifications 
    59 PAT_NIT000=$( grep 'nit000      =' namelist ) 
    60 PAT_NITEND=$( grep 'nitend      =' namelist ) 
    61 PAT_NSTOCK=$( grep 'nstock      =' namelist ) 
    62 PAT_NWRITE=$( grep 'nwrite      =' namelist ) 
    63 PAT_NRSTDT=$( grep 'nrstdt      =' namelist ) 
    64 PAT_NBITCM=$( grep 'nbit_cmp   ='   namelist ) 
    65 PAT_NSOLVV=$( grep 'nsolv       =' namelist ) 
    66 PAT_RESTAR=$( grep 'ln_rstart   =' namelist ) 
    67 PAT_RESMLD=$( grep 'ln_trdmld_restart =' namelist ) 
    68  
    69 sed    -e "s%$PAT_RESTAR%   ln_rstart   =  .false.%" \ 
    70 -e "s%$PAT_NIT000%   nit000     =     1%" \ 
    71 -e "s%$PAT_NITEND%   nitend     =     ${ITERATIONS}%" \ 
    72 -e "s%$PAT_NSTOCK%   nstock     =     ${ITERATIONS}%" \ 
    73 -e "s%$PAT_NWRITE%   nwrite     =     75%" \ 
    74 -e "s%$PAT_NRSTDT%   nrstdt     =     0%" \ 
    75 -e "s%$PAT_NBITCM%   nbit_cmp =     1%" \ 
    76 -e "s%$PAT_NSOLVV%   nsolv     =      2%" \ 
    77 -e "s%$PAT_RESMLD%   ln_trdmld_restart =  .false.%" \ 
    78 namelist > nam.tmp 
     64PAT_NIT000=$( supergrep nit000             namelist ) 
     65PAT_NITEND=$( supergrep nitend             namelist ) 
     66PAT_NSTOCK=$( supergrep nstock             namelist ) 
     67PAT_NWRITE=$( supergrep nwrite             namelist ) 
     68PAT_NRSTDT=$( supergrep nrstdt             namelist ) 
     69PAT_NBITCM=$( supergrep nbit_cmp           namelist ) 
     70PAT_NSOLVV=$( supergrep nsolv              namelist ) 
     71PAT_RESTAR=$( supergrep ln_rstart          namelist ) 
     72PAT_RESMLD=$( supergrep ln_trdmld_restart  namelist ) 
     73 
     74sed -e "s%$PAT_RESTAR%   ln_rstart   =  .false.%"          \ 
     75    -e "s%$PAT_NIT000%   nit000     =     1   %"           \ 
     76    -e "s%$PAT_NITEND%   nitend     =     ${ITERATIONS} %" \ 
     77    -e "s%$PAT_NSTOCK%   nstock     =     ${ITERATIONS} %" \ 
     78    -e "s%$PAT_NWRITE%   nwrite     =     75  %"           \ 
     79    -e "s%$PAT_NRSTDT%   nrstdt     =     0   %"           \ 
     80    -e "s%$PAT_NBITCM%   nbit_cmp   =     1%"              \ 
     81    -e "s%$PAT_NSOLVV%   nsolv     =      2%"              \ 
     82    -e "s%$PAT_RESMLD%   ln_trdmld_restart =  .false.%" namelist > nam.tmp 
    7983 
    8084mv nam.tmp namelist 
     
    8589 
    8690# namelist modifications 
    87 PAT_TRC=$( grep 'nwritetrc   =' namelist_top_f90 ) 
    88 PAT_TRD=$( grep 'nwritetrd  ='  namelist_top_f90 ) 
    89  
    90 sed    -e "s/$PAT_TRC/   nwritetrc   = ${ITERATIONS},/" \ 
    91 -e "s/$PAT_TRD/   nwritetrd  = ${ITERATIONS},/" \ 
    92 namelist_top_f90 > nam.tmp 
     91PAT_TRC=$( supergrep nwritetrc  namelist_top_f90 ) 
     92PAT_TRD=$( supergrep nwritetrd  namelist_top_f90 ) 
     93 
     94sed -e "s%$PAT_TRC%   nwritetrc   = ${ITERATIONS}%" \ 
     95    -e "s%$PAT_TRD%   nwritetrd  = ${ITERATIONS}%"  namelist_top_f90 > nam.tmp 
    9396 
    9497mv nam.tmp namelist_top 
    9598 
    96 PAT_ADD=$( grep 'nwritedia    =' namelist_lobster_f90 ) 
    97 sed    -e "s/$PAT_ADD/   nwritedia    = ${ITERATIONS},/" namelist_lobster_f90 > nam.tmp 
     99PAT_ADD=$( supergrep nwritedia namelist_lobster_f90 ) 
     100sed -e "s%$PAT_ADD%   nwritedia    = ${ITERATIONS}%" namelist_lobster_f90 > nam.tmp 
    98101mv nam.tmp namelist_lobster 
    99102 
     
    121124 
    122125    # Ocean namelist modifications 
    123     PAT_NIT000=$( grep 'nit000     =' namelist ) 
    124     PAT_NITEND=$( grep 'nitend     =' namelist ) 
    125     PAT_NRSTDT=$( grep 'nrstdt     =' namelist ) 
    126     PAT_RESTAR=$( grep 'ln_rstart   =' namelist ) 
    127     PAT_RESMLD=$( grep 'ln_trdmld_restart =' namelist ) 
     126    PAT_NIT000=$( supergrep nit000            namelist ) 
     127    PAT_NITEND=$( supergrep nitend            namelist ) 
     128    PAT_NRSTDT=$( supergrep nrstdt            namelist ) 
     129    PAT_RESTAR=$( supergrep ln_rstart          namelist ) 
     130    PAT_RESMLD=$( supergrep ln_trdmld_restart namelist ) 
    128131    ORCA_NIT000=$(( $ITERATIONS + 1 )) 
    129132    ORCA_NITEND=$(( $ITERATIONS*2 )) 
    130133     
    131     sed    -e "s/$PAT_RESTAR/   ln_rstart   =  .true./" \ 
    132     -e "s/$PAT_NIT000/   nit000     =     $ORCA_NIT000/" \ 
    133     -e "s/$PAT_NITEND/   nitend     =     $ORCA_NITEND/" \ 
    134     -e "s/$PAT_NRSTDT/   nrstdt     =     2/" \ 
    135     -e "s/$PAT_RESMLD/   ln_trdmld_restart =  .true./" \ 
    136     namelist > nam.tmp 
     134    sed  -e "s%$PAT_RESTAR%   ln_rstart   =  .true.%"          \ 
     135         -e "s%$PAT_NIT000%   nit000     =     $ORCA_NIT000 %" \ 
     136         -e "s%$PAT_NITEND%   nitend     =     $ORCA_NITEND %" \ 
     137         -e "s%$PAT_NRSTDT%   nrstdt     =     2%"             \ 
     138         -e "s%$PAT_RESMLD%   ln_trdmld_restart =  .true.%" namelist > nam.tmp 
    137139     
    138140    mv nam.tmp namelist 
    139141 
    140142    # Biogeochemistry namelist modifications 
    141     PAT_RESTAR=$( grep '   lrsttr      = ' namelist_top ) 
    142      
    143     sed    -e "s/$PAT_RESTAR/   lrsttr      = .true.,/" namelist_top > nam.tmp 
    144      
     143    PAT_RESTAR=$( supergrep lrsttr  namelist_top ) 
     144    sed -e "s%$PAT_RESTAR%   lrsttr      = .true. %" namelist_top > nam.tmp 
    145145    mv nam.tmp namelist_top 
    146146 
Note: See TracChangeset for help on using the changeset viewer.