Changeset 2198


Ignore:
Timestamp:
02/11/14 10:26:21 (7 years ago)
Author:
aclsce
Message:

Modifications to use Oasis-MCT coupler.
Modifications to use namelist*cfg for NEMO components.

Location:
CONFIG/UNIFORM/v6/IPSLCM6/GENERAL/DRIVER
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CONFIG/UNIFORM/v6/IPSLCM6/GENERAL/DRIVER/oasis.driver

    r2126 r2198  
    1515    RESOL_CPL=${RESOL_OCE}x${RESOL_ATM} 
    1616    IGCM_debug_Print 1 "RESOL_CPL      : ${RESOL_CPL}" 
    17  
    18     #D- MPI context used to launch the coupled model 
    19     LIBMPI=$(cat ${SUBMIT_DIR}/../.libmpi) 
    20     echo LIBMPI=${LIBMPI} 
    21  
    22     #D- MPISUSPEND=ON required for MPMD mode used by oasis 
    23     export MPISUSPEND=ON 
    24  
    25     IGCM_sys_build_run_file ${LIBMPI} 
    2617 
    2718    CPL_OkDay="n" 
     
    4738    ##-- Calcul de la duree du job (en secondes) 
    4839    (( D_JOB_SEC = 3600 * 24 * PeriodLengthInDays )) 
    49  
    50     # nleapy configuration 
    51     case ${config_UserChoices_CalendarType} in 
    52         leap|gregorian) 
    53             CPL_calendar=1;; 
    54         noleap) 
    55             CPL_calendar=0;; 
    56         360d) 
    57             CPL_calendar=30;; 
    58         *) 
    59             CPL_calendar=30 
    60     esac 
    6140 
    6241    ############ Update Other Parameters  ############## 
     
    8564 
    8665    ############ Update Parameter Files   ############## 
    87     sed -e "s/<initial_date>/${PeriodDateBegin}/" \ 
    88         -e "s/<calendar_type>/${CPL_calendar}/" \ 
    89         -e "s/<total_time>/${D_JOB_SEC}/" \ 
    90         -e "s/<lib_mpi>/${LIBMPI}/" \ 
    91         -e "s/<nproc_atm>/${NUM_PROC_ATM}/g" \ 
    92         -e "s/<nproc_oce>/${NUM_PROC_OCE}/g" \ 
     66    sed -e "s/<total_time>/${D_JOB_SEC}/" \ 
    9367        -e "s/<output_mode>/${CPL_OutputVar}/g" \ 
    9468        -e "s/<freq_coupling>/${FreqCoupling}/g" \ 
     
    9771        namcouple > namcouple.tmp 
    9872    IGCM_sys_Mv namcouple.tmp namcouple 
    99  
    100     # Unused files we want to remove 
    101     eval FileToBeDeleted[${#FileToBeDeleted[@]}]=trace 
    102     eval FileToBeDeleted[${#FileToBeDeleted[@]}]=gweights 
    103     eval FileToBeDeleted[${#FileToBeDeleted[@]}]=mweights 
    104     eval FileToBeDeleted[${#FileToBeDeleted[@]}]=anaisout 
    10573 
    10674    IGCM_debug_PopStack "CPL_Update" 
     
    11179{ 
    11280    IGCM_debug_PushStack "CPL_Finalize" 
    113  
    114     DATE_CPL=$(echo ${PeriodDateBegin} | sed -e "{ s/^\(.\{4\}\)/\1-/;s/\(-.\{2\}\)/\1-/; }"); 
    115     DATE_CPL=${DATE_CPL}"T00:00:00" 
    116      
    117     echo ${DATE_CPL} ${CPL_OutputMode} ${CPL_OkDay} ${CPL_OkMonth} 
    11881 
    11982    if [ "${CPL_OutputMode}" = "y" ] ; then 
  • CONFIG/UNIFORM/v6/IPSLCM6/GENERAL/DRIVER/opa9.driver

    r2117 r2198  
    1313        LIM_VERSION=2 
    1414        ;; 
     15 
    1516        ( *LIM3* ) 
    1617        SEAICE_MODEL=LIM3 
     
    2223    RESOL_OCE=$( echo ${RESOL_OCE_ICE} | sed "s/${SEAICE_MODEL}//" ) 
    2324 
    24     IGCM_debug_Print 1 "RESOL          : ${RESOL}" 
    25     IGCM_debug_Print 1 "RESOL_OCE_ICE  : ${RESOL_OCE_ICE}" 
    26     IGCM_debug_Print 1 "SEAICE_MODEL   : ${SEAICE_MODEL}" 
    27     IGCM_debug_Print 1 "LIM_VERSION    : ${LIM_VERSION}" 
    28     IGCM_debug_Print 1 "RESOL_OCE      : ${RESOL_OCE}" 
     25    echo "RESOL          : ${RESOL}" 
     26    echo "RESOL_OCE_ICE  : ${RESOL_OCE_ICE}" 
     27    echo "SEAICE_MODEL   : ${SEAICE_MODEL}" 
     28    echo "LIM_VERSION    : ${LIM_VERSION}" 
     29    echo "RESOL_OCE      : ${RESOL_OCE}" 
    2930 
    3031    ORCA_NPDT_JOUR=${opa9_UserChoices_OPA_NPDT_JOURS:=15} 
     
    4647    # ln_rstart start from rest (F) or from a restart file (T) 
    4748    # nn_rstctl restart control = 0 nn_it000 is not compared to the restart file value 
    48     #                           = 1 use nn_date0 in namelist (not the value in the restart file) 
     49    #                           = 1 use nn_date0 in namelist_cfg (not the value in the restart file) 
    4950    #                           = 2 calendar parameters read in the restart file 
    5051    # nn_msh    =1 create a mesh file (coordinates, scale factors, masks) 
    5152    # rn_rdt    time step in seconds for the dynamics (and tracer if nacc=0)   ==> 5760 (coming from namelist) 
    5253    # nn_prg    time-step frequency of gap print in model output 
    53     # nf_ptr_wri frequency of zonal means and transport output 
    54  
    55     PAT_CEXPER=$(   supergrep cn_exp      ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    56     PAT_NIT000=$(   supergrep nn_it000    ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    57     PAT_NITEND=$(   supergrep nn_itend    ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    58     PAT_NDATE0=$(   supergrep nn_date0    ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    59     PAT_NLEAPY=$(   supergrep nn_leapy    ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    60     PAT_NSTOCK=$(   supergrep nn_stock    ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    61     PAT_NWRITE=$(   supergrep nn_write    ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    62     PAT_RESTAR=$(   supergrep ln_rstart   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    63     PAT_NRSTAR=$(   supergrep nn_rstctl   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    64     PAT_NMSH=$(     supergrep nn_msh      ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    65     PAT_NPRG=$(     supergrep nn_prg      ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    66     PAT_NF_PTR=$(   supergrep nf_ptr_wri  ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    67     PAT_ICE_EMBD=$( supergrep nn_ice_embd ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    68     PAT_ICEFLX=$(   supergrep cn_iceflx   ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} ) 
    69  
    70     ORCA_RDT=$(   supergrep rn_rdt     ${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE} | sed 's/ *rn_rdt *=//' | sed 's/\. *//' ) 
     54    # nn_fwri   frequency of zonal means and transport output 
     55 
     56    NAMELIST_OPA_CFG=${SUBMIT_DIR}/PARAM/namelist_${RESOL_OCE}_cfg 
     57    echo "namelist_cfg : ${NAMELIST_OPA_CFG}" 
     58    if [ ! -r ${NAMELIST_OPA_CFG} ] ; then 
     59        echo "${NAMELIST_OPA_CFG} non trouve" 
     60    fi 
     61 
     62    PAT_CEXPER=$(   supergrep cn_exp      ${NAMELIST_OPA_CFG} ) 
     63    PAT_NIT000=$(   supergrep nn_it000    ${NAMELIST_OPA_CFG} ) 
     64    PAT_NITEND=$(   supergrep nn_itend    ${NAMELIST_OPA_CFG} ) 
     65    PAT_NDATE0=$(   supergrep nn_date0    ${NAMELIST_OPA_CFG} ) 
     66    PAT_NLEAPY=$(   supergrep nn_leapy    ${NAMELIST_OPA_CFG} ) 
     67    PAT_NSTOCK=$(   supergrep nn_stock    ${NAMELIST_OPA_CFG} ) 
     68    PAT_NWRITE=$(   supergrep nn_write    ${NAMELIST_OPA_CFG} ) 
     69    PAT_RESTAR=$(   supergrep ln_rstart   ${NAMELIST_OPA_CFG} ) 
     70    PAT_NRSTAR=$(   supergrep nn_rstctl   ${NAMELIST_OPA_CFG} ) 
     71    PAT_NMSH=$(     supergrep nn_msh      ${NAMELIST_OPA_CFG} ) 
     72    PAT_NN_WRITE=$( supergrep nn_write    ${NAMELIST_OPA_CFG} ) 
     73    PAT_NN_FWRI=$(  supergrep nn_fwri     ${NAMELIST_OPA_CFG} ) 
     74    PAT_ICE_EMBD=$( supergrep nn_ice_embd ${NAMELIST_OPA_CFG} ) 
     75    PAT_ICEFLX=$(   supergrep cn_iceflx   ${NAMELIST_OPA_CFG} ) 
     76 
     77    ORCA_RDT=$(   supergrep rn_rdt        ${NAMELIST_OPA_CFG} | sed 's/ *rn_rdt *=//' | sed 's/\. *//' ) 
    7178 
    7279    # Period Length In Days between DateBegin and first day of calendar 0001 01 01 
     
    7885    PAT_SERVER=$( supergrep using_server ${SUBMIT_DIR}/PARAM/xmlio_server.def ) 
    7986 
     87 
     88    echo "PAT_CEXPER   $PAT_CEXPER " 
     89    echo "PAT_NIT000   $PAT_NIT000" 
     90    echo "PAT_NITEND   $PAT_NITEND" 
     91    echo "PAT_NDATE0   $PAT_NDATE0" 
     92    echo "PAT_NLEAPY   $PAT_NLEAPY" 
     93    echo "PAT_NSTOCK   $PAT_NSTOCK" 
     94    echo "PAT_NWRITE   $PAT_NWRITE" 
     95    echo "PAT_RESTAR   $PAT_RESTAR" 
     96    echo "PAT_NRSTAR   $PAT_NRSTAR" 
     97    echo "PAT_NMSH     $PAT_NMSH" 
     98    echo "PAT_NN_WRITE $PAT_NN_WRITE" 
     99    echo "PAT_NN_FWRI  $PAT_NN_FWRI" 
     100    echo "PAT_ICE_EMBD $PAT_ICE_EMBD" 
     101    echo "PAT_ICEFLX   $PAT_ICEFLX" 
     102    echo "ORCA_RDT     $ORCA_RDT" 
     103    echo "DaysSinceJC  $DaysSinceJC" 
     104    echo "PAT_SERVER   $PAT_SERVER" 
     105 
    80106    IGCM_debug_PopStack "OCE_Initialize" 
     107 
     108     
    81109} 
    82110 
     
    222250        -e "s/${PAT_NRSTAR}/       nn_rstctl=${ORCA_NRSTDT}/"                   \ 
    223251        -e "s/${PAT_NMSH}/         nn_msh=${ORCA_NMSH}/"                        \ 
    224         -e "s/${PAT_NPRG}/         nn_prg=${ORCA_NWRITE}/"                      \ 
    225         -e "s/${PAT_NF_PTR}/       nf_ptr_wri=${ORCA_NWRITE}/"                  \ 
     252        -e "s/${PAT_NN_WRITE}/     nn_prg=${ORCA_NWRITE}/"                      \ 
     253        -e "s/${PAT_NN_FWRI}/      nn_fwri=${ORCA_NWRITE}/"                     \ 
    226254        -e "s/${PAT_ICE_EMBD}/     nn_ice_embd=${NN_ICE_EMBD}/"                 \ 
    227255        -e "s/${PAT_ICEFLX}/       cn_iceflx=\'${ICEFLX}'/"                     \ 
    228         namelist > namelist.tmp 
    229  
    230     IGCM_sys_Mv namelist.tmp namelist 
    231  
    232     echo 'Variables automatically updated in ORCA namelist' 
    233     grep AUTO namelist 
     256        namelist_cfg > namelist_cfg.tmp 
     257 
     258    IGCM_sys_Mv namelist_cfg.tmp namelist_cfg 
     259 
     260    echo 'Variables automatically updated in ORCA namelist_cfg' 
     261    grep AUTO namelist_cfg 
    234262 
    235263    # update iodef.xml 
  • CONFIG/UNIFORM/v6/IPSLCM6/GENERAL/DRIVER/pisces.driver

    r1785 r2198  
    2424    ##--Variables used by PISCES -- 
    2525  
    26     PAT_TOP_LRSTTR=$( supergrep ln_rsttr          ${SUBMIT_DIR}/PARAM/namelist_top_${RESOL_OCE} ) 
    27     PAT_TOP_NRSTTR=$( supergrep nrsttr            ${SUBMIT_DIR}/PARAM/namelist_top_${RESOL_OCE} ) 
    28     PAT_PIS_ATCCO2=$( supergrep atcco2            ${SUBMIT_DIR}/PARAM/namelist_pisces_${RESOL_OCE} ) 
    29     PAT_PIS_LRIVER=$( supergrep ln_river          ${SUBMIT_DIR}/PARAM/namelist_pisces_${RESOL_OCE} ) 
     26    NAMELIST_TOP_CFG=${SUBMIT_DIR}/PARAM/namelist_top_${RESOL_OCE}_cfg 
     27    NAMELIST_PISCES_CFG=${SUBMIT_DIR}/PARAM/namelist_pisces_${RESOL_OCE}_cfg 
     28 
     29    PAT_TOP_LRSTTR=$( supergrep ln_rsttr          ${NAMELIST_TOP_CFG} ) 
     30    PAT_TOP_NRSTTR=$( supergrep nrsttr            ${NAMELIST_TOP_CFG} ) 
     31    PAT_PIS_ATCCO2=$( supergrep atcco2            ${NAMELIST_PISCES_CFG} ) 
     32    PAT_PIS_LRIVER=$( supergrep ln_river          ${NAMELIST_PISCES_CFG} ) 
    3033 
    3134    IGCM_debug_PopStack "MBG_Initialize" 
     
    8184    IGCM_sys_Mv iodef.xml.tmp iodef.xml 
    8285 
    83     ##-- CO2 forcing : update atcco2 value in namelist_pisces 
     86    ##-- CO2 forcing : update atcco2 value in namelist_pisces_cfg 
    8487    if [ "${pisces_UserChoices_CARBON_CYCLE}" = "y" ]; then 
    8588        # Special case for carbon cycle 
    8689        # Activate this case by putting CARBON_CYCLE=y in pisces.card section UserChoices 
    87         echo 'Update atcco2 in namelist_pisces with value from file co2.log' 
     90        echo 'Update atcco2 in namelist_pisces_cfg with value from file co2.log' 
    8891        PathCO2log=${SUBMIT_DIR} 
    8992        PreviousLinelog=$( tail -1 ${PathCO2log}/co2.log ) 
    9093        IPCC_PIS_CO2=$( echo "${PreviousLinelog[*]}" | gawk -F '|' '{gsub(" ",""); print $4}' ) 
    9194        sed -e "s%${PAT_PIS_ATCCO2}%          atcco2=${IPCC_PIS_CO2}%"             \ 
    92             namelist_pisces > namelist_pisces.tmp 
    93         IGCM_sys_Mv namelist_pisces.tmp namelist_pisces 
     95            namelist_pisces_cfg > namelist_pisces_cfg.tmp 
     96        IGCM_sys_Mv namelist_pisces_cfg.tmp namelist_pisces_cfg 
    9497    else 
    9598        # Take same CO2 as for LMDZ, in parameter file config.def. 
    9699        # ATM_Update is done before MBG_Update and therefor config.def file contains the correct value for CO2. 
    97         echo 'Update atcco2 in namelist_pisces with same value as for LMDZ' 
     100        echo 'Update atcco2 in namelist_pisces_cfg with same value as for LMDZ' 
    98101        LMDZ_CO2=$( lmdzgrep co2_ppm config.def ) 
    99102        sed -e "s%${PAT_PIS_ATCCO2}%          atcco2=${LMDZ_CO2}%"             \ 
    100             namelist_pisces > namelist_pisces.tmp 
    101         IGCM_sys_Mv namelist_pisces.tmp namelist_pisces 
     103            namelist_pisces_cfg > namelist_pisces_cfg.tmp 
     104        IGCM_sys_Mv namelist_pisces_cfg.tmp namelist_pisces_cfg 
    102105    fi 
    103106 
    104     ##-- Update namelist_top and namelist_pisces  
     107    ##-- Update namelist_top_cfg and namelist_pisces_cfg 
    105108 
    106109    sed -e "s%${PAT_TOP_LRSTTR}%          ln_rsttr=${TOP_LRSTTR}%"                   \ 
    107110        -e "s%${PAT_TOP_NRSTTR}%          nrsttr=${TOP_NRSTTR}%"                   \ 
    108         namelist_top > namelist_top.tmp 
     111        namelist_top_cfg > namelist_top_cfg.tmp 
    109112 
    110     IGCM_sys_Mv namelist_top.tmp namelist_top 
     113    IGCM_sys_Mv namelist_top_cfg.tmp namelist_top_cfg 
    111114 
    112115    sed -e "s%${PAT_PIS_LRIVER}%          ln_river=${PISCES_LRIVER}%"                \ 
    113         namelist_pisces > namelist_pisces.tmp 
     116        namelist_pisces_cfg > namelist_pisces_cfg.tmp 
    114117 
    115     IGCM_sys_Mv namelist_pisces.tmp namelist_pisces 
     118    IGCM_sys_Mv namelist_pisces_cfg.tmp namelist_pisces_cfg 
    116119 
    117120 
Note: See TracChangeset for help on using the changeset viewer.