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 4233 – NEMO

Changeset 4233


Ignore:
Timestamp:
2013-11-18T13:14:32+01:00 (10 years ago)
Author:
cbricaud
Message:

commit dev_r3948_NOC_FK into dev_MERCATOR_UKMO_2013

Location:
branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM
Files:
16 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/ARCH/arch-ALTIX_NAUTILUS_MPT.fcm

    r4229 r4233  
    4747%LD                  ifort 
    4848%FPPFLAGS            -P -C -traditional 
    49 %LDFLAGS             -lmpi -lstdc++ 
     49%LDFLAGS             -lmpi -lstdc++ -lcurl 
    5050%AR                  ar  
    5151%ARFLAGS             -r 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/AMM12/EXP00/namelist

    r4229 r4233  
    553553   ln_traadv_qck    =  .false.  !  QUICKEST scheme 
    554554   ln_traadv_msc_ups=  .false.  !  use upstream scheme within muscl 
     555/ 
     556!----------------------------------------------------------------------- 
     557&namtra_adv_mle !   mixed layer eddy parametrisation (Fox-Kemper param) 
     558!----------------------------------------------------------------------- 
     559   ln_mle    = .true.      ! (T) use the Mixed Layer Eddy (MLE) parameterisation 
     560   rn_ce     = 0.06        ! magnitude of the MLE (typical value: 0.06 to 0.08) 
     561   nn_mle    = 1           ! MLE type: =0 standard Fox-Kemper ; =1 new formulation 
     562   rn_lf     = 5.e+3       ! typical scale of mixed layer front (meters)                      (case rn_mle=0) 
     563   rn_time   = 172800.     ! time scale for mixing momentum across the mixed layer (seconds)  (case rn_mle=0) 
     564   rn_lat    = 20.         ! reference latitude (degrees) of MLE coef.                        (case rn_mle=1) 
     565   nn_mld_uv = 0           ! space interpolation of MLD at u- & v-pts (0=min,1=averaged,2=max) 
     566   nn_conv   = 0           ! =1 no MLE in case of convection ; =0 always MLE 
     567   rn_rho_c_mle  = 0.01    ! delta rho criterion used to calculate MLD for FK 
    555568/ 
    556569!---------------------------------------------------------------------------------- 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/GYRE/EXP00/iodef.xml

    r3983 r4233  
    4747     <field field_ref="mldr10_1"     name="somxl010"  /> 
    4848     <field field_ref="mldkz5"       name="somixhgt"  /> 
    49         </file> 
     49           <!-- variables available with MLE 
     50          <field field_ref="Lf_NHpf"    name="Lf_NHpf"  long_name="MLE:_Lf=NH/f"     /> 
     51      --> 
     52       </file> 
    5053    
    5154   <file id="file2" name_suffix="_grid_U" description="ocean U grid variables" > 
    5255          <field field_ref="uoce"         name="vozocrtx"  /> 
    5356          <field field_ref="utau"         name="sozotaux"  /> 
     57          <!-- variables available with MLE 
     58          <field field_ref="psiu_mle"     name="psiu_mle"  long_name="MLE_streamfunction_along_i-axis" /> 
     59     --> 
    5460        </file> 
    5561    
     
    5763          <field field_ref="voce"         name="vomecrty"  />  
    5864          <field field_ref="vtau"         name="sometauy"  />  
     65          <!-- variables available with MLE 
     66          <field field_ref="psiv_mle"     name="psiv_mle"  long_name="MLE_streamfunction_along_j-axis" /> 
     67     --> 
    5968        </file> 
    6069    
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/GYRE/EXP00/namelist

    r4229 r4233  
    589589   ln_traadv_qck    =  .false.  !  QUICKEST scheme 
    590590   ln_traadv_msc_ups=  .false.  !  use upstream scheme within muscl  
     591/ 
     592!----------------------------------------------------------------------- 
     593&namtra_adv_mle !   mixed layer eddy parametrisation (Fox-Kemper param) 
     594!----------------------------------------------------------------------- 
     595   ln_mle    = .true.      ! (T) use the Mixed Layer Eddy (MLE) parameterisation 
     596   rn_ce     = 0.06        ! magnitude of the MLE (typical value: 0.06 to 0.08) 
     597   nn_mle    = 1           ! MLE type: =0 standard Fox-Kemper ; =1 new formulation 
     598   rn_lf     = 5.e+3       ! typical scale of mixed layer front (meters)                      (case rn_mle=0) 
     599   rn_time   = 172800.     ! time scale for mixing momentum across the mixed layer (seconds)  (case rn_mle=0) 
     600   rn_lat    = 20.         ! reference latitude (degrees) of MLE coef.                        (case rn_mle=1) 
     601   nn_mld_uv = 0           ! space interpolation of MLD at u- & v-pts (0=min,1=averaged,2=max) 
     602   nn_conv   = 0           ! =1 no MLE in case of convection ; =0 always MLE 
     603   rn_rho_c_mle  = 0.01    ! delta rho criterion used to calculate MLD for FK 
    591604/ 
    592605!---------------------------------------------------------------------------------- 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/GYRE_BFM/EXP00/namelist

    r4229 r4233  
    589589   ln_traadv_qck    =  .false.  !  QUICKEST scheme 
    590590   ln_traadv_msc_ups=  .false.  !  use upstream scheme within muscl  
     591/ 
     592!----------------------------------------------------------------------- 
     593&namtra_adv_mle !   mixed layer eddy parametrisation (Fox-Kemper param) 
     594!----------------------------------------------------------------------- 
     595   ln_mle    = .true.      ! (T) use the Mixed Layer Eddy (MLE) parameterisation 
     596   rn_ce     = 0.06        ! magnitude of the MLE (typical value: 0.06 to 0.08) 
     597   nn_mle    = 1           ! MLE type: =0 standard Fox-Kemper ; =1 new formulation 
     598   rn_lf     = 5.e+3       ! typical scale of mixed layer front (meters)                      (case rn_mle=0) 
     599   rn_time   = 172800.     ! time scale for mixing momentum across the mixed layer (seconds)  (case rn_mle=0) 
     600   rn_lat    = 20.         ! reference latitude (degrees) of MLE coef.                        (case rn_mle=1) 
     601   nn_mld_uv = 0           ! space interpolation of MLD at u- & v-pts (0=min,1=averaged,2=max) 
     602   nn_conv   = 0           ! =1 no MLE in case of convection ; =0 always MLE 
     603   rn_rho_c_mle  = 0.01    ! delta rho criterion used to calculate MLD for FK 
    591604/ 
    592605!---------------------------------------------------------------------------------- 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/GYRE_PISCES/EXP00/iodef.xml

    r3983 r4233  
    4747     <field field_ref="mldr10_1"     name="somxl010"  /> 
    4848     <field field_ref="mldkz5"       name="somixhgt"  /> 
     49           <!-- variables available with MLE 
     50          <field field_ref="Lf_NHpf"    name="Lf_NHpf"  long_name="MLE:_Lf=NH/f"     /> 
     51      --> 
    4952        </file> 
    5053    
     
    5255          <field field_ref="uoce"         name="vozocrtx"  /> 
    5356          <field field_ref="utau"         name="sozotaux"  /> 
     57          <!-- variables available with MLE 
     58          <field field_ref="psiu_mle"     name="psiu_mle"  long_name="MLE_streamfunction_along_i-axis" /> 
     59     --> 
    5460        </file> 
    5561    
     
    5763          <field field_ref="voce"         name="vomecrty"  />  
    5864          <field field_ref="vtau"         name="sometauy"  />  
     65          <!-- variables available with MLE 
     66          <field field_ref="psiv_mle"     name="psiv_mle"  long_name="MLE_streamfunction_along_j-axis" /> 
     67     --> 
    5968        </file> 
    6069    
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/iodef_default.xml

    r3983 r4233  
    6767     <field field_ref="mldkz5"       /> 
    6868     <field field_ref="mldr10_1"     /> 
     69           <!-- variables available with MLE 
     70          <field field_ref="Lf_NHpf"    name="Lf_NHpf"  long_name="MLE:_Lf=NH/f"     /> 
     71      --> 
    6972   </file> 
    7073    
     
    7376     <field field_ref="suoce"        name="uos"     long_name="sea_surface_x_velocity"    /> 
    7477     <field field_ref="utau"         name="tauuo"   long_name="surface_downward_x_stress" /> 
     78          <!-- variables available with MLE 
     79          <field field_ref="psiu_mle"     name="psiu_mle"  long_name="MLE_streamfunction_along_i-axis" /> 
     80     --> 
    7581   </file> 
    7682    
     
    7985     <field field_ref="svoce"        name="vos"     long_name="sea_surface_y_velocity"    /> 
    8086     <field field_ref="vtau"         name="tauvo"   long_name="surface_downward_y_stress" /> 
     87          <!-- variables available with MLE 
     88          <field field_ref="psiv_mle"     name="psiv_mle"  long_name="MLE_streamfunction_along_j-axis" /> 
     89     --> 
    8190   </file> 
    8291    
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist

    r4229 r4233  
    584584   ln_traadv_qck    =  .false.  !  QUICKEST scheme 
    585585   ln_traadv_msc_ups=  .false.  !  use upstream scheme within muscl 
     586/ 
     587 !----------------------------------------------------------------------- 
     588&namtra_adv_mle !   mixed layer eddy parametrisation (Fox-Kemper param) 
     589!----------------------------------------------------------------------- 
     590   ln_mle    = .true.      ! (T) use the Mixed Layer Eddy (MLE) parameterisation 
     591   rn_ce     = 0.06        ! magnitude of the MLE (typical value: 0.06 to 0.08) 
     592   nn_mle    = 1           ! MLE type: =0 standard Fox-Kemper ; =1 new formulation 
     593   rn_lf     = 5.e+3       ! typical scale of mixed layer front (meters)                      (case rn_mle=0) 
     594   rn_time   = 172800.     ! time scale for mixing momentum across the mixed layer (seconds)  (case rn_mle=0) 
     595   rn_lat    = 20.         ! reference latitude (degrees) of MLE coef.                        (case rn_mle=1) 
     596   nn_mld_uv = 0           ! space interpolation of MLD at u- & v-pts (0=min,1=averaged,2=max) 
     597   nn_conv   = 0           ! =1 no MLE in case of convection ; =0 always MLE 
     598   rn_rho_c_mle  = 0.01    ! delta rho criterion used to calculate MLD for FK 
    586599/ 
    587600!---------------------------------------------------------------------------------- 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/iodef.xml

    r3984 r4233  
    6666     <field field_ref="erp"          name="sowafldp"  /> 
    6767     <field field_ref="ist_ipa"      name="soicetem"  /> 
    68      <field field_ref="icealb_cea"   name="soicealb"  />    
     68     <field field_ref="icealb_cea"   name="soicealb"  />  
     69           <!-- variables available with MLE 
     70          <field field_ref="Lf_NHpf"    name="Lf_NHpf"  long_name="MLE:_Lf=NH/f"     /> 
     71      --> 
    6972   </file> 
    7073    
     
    7376     <field field_ref="uoce_eiv"     name="vozoeivu"  /> 
    7477     <field field_ref="utau"         name="sozotaux"  /> 
     78          <!-- variables available with MLE 
     79          <field field_ref="psiu_mle"     name="psiu_mle"  long_name="MLE_streamfunction_along_i-axis" /> 
     80     --> 
    7581   </file> 
    7682    
     
    7985     <field field_ref="voce_eiv"     name="vomeeivv"  /> 
    8086     <field field_ref="vtau"         name="sometauy"  /> 
     87          <!-- variables available with MLE 
     88          <field field_ref="psiv_mle"     name="psiv_mle"  long_name="MLE_streamfunction_along_j-axis" /> 
     89     --> 
    8190   </file> 
    8291    
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist

    r4229 r4233  
    565565   ln_traadv_qck    =  .false.  !  QUICKEST scheme 
    566566   ln_traadv_msc_ups=  .false.  !  use upstream scheme within muscl 
     567/ 
     568!----------------------------------------------------------------------- 
     569&namtra_adv_mle !   mixed layer eddy parametrisation (Fox-Kemper param) 
     570!----------------------------------------------------------------------- 
     571   ln_mle    = .true.      ! (T) use the Mixed Layer Eddy (MLE) parameterisation 
     572   rn_ce     = 0.06        ! magnitude of the MLE (typical value: 0.06 to 0.08) 
     573   nn_mle    = 1           ! MLE type: =0 standard Fox-Kemper ; =1 new formulation 
     574   rn_lf     = 5.e+3       ! typical scale of mixed layer front (meters)                      (case rn_mle=0) 
     575   rn_time   = 172800.     ! time scale for mixing momentum across the mixed layer (seconds)  (case rn_mle=0) 
     576   rn_lat    = 20.         ! reference latitude (degrees) of MLE coef.                        (case rn_mle=1) 
     577   nn_mld_uv = 0           ! space interpolation of MLD at u- & v-pts (0=min,1=averaged,2=max) 
     578   nn_conv   = 0           ! =1 no MLE in case of convection ; =0 always MLE 
     579   rn_rho_c_mle  = 0.01    ! delta rho criterion used to calculate MLD for FK 
    567580/ 
    568581!----------------------------------------------------------------------- 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/CONFIG/SHARED/field_def.xml

    r3983 r4233  
    2929         <field id="mldr10_1"     long_name="Mixed Layer Depth 0.01 ref.10m"            unit="m"                        /> 
    3030         <field id="rhop"         long_name="potential density (sigma0)"                unit="kg/m3" grid_ref="grid_T_3D"/> 
     31         <!-- variables available with MLE --> 
     32         <field id="Lf_NHpf"      long_name="MLE: Lf = N H / f"                         unit="m"                        /> 
    3133         <!-- next variables available with key_diahth --> 
    3234         <field id="mlddzt"       long_name="Thermocline Depth (max dT/dz)"             unit="m"                        /> 
     
    140142         <field id="uoce"         long_name="ocean current along i-axis"                  unit="m/s"  grid_ref="grid_U_3D" /> 
    141143         <field id="uocetr_eff"   long_name="Effective ocean transport along i-axis"      unit="m3/s" grid_ref="grid_U_3D" /> 
     144         <!-- variables available with MLE --> 
     145         <field id="psiu_mle"     long_name="MLE streamfunction along i-axis"             unit="m3/s"  grid_ref="grid_U_3D"  /> 
    142146         <!-- uoce_eiv: available with key_traldf_eiv and key_diaeiv --> 
    143147         <field id="uoce_eiv"     long_name="EIV ocean current along i-axis"              unit="m/s"  grid_ref="grid_U_3D" /> 
     
    159163         <field id="voce"         long_name="ocean current along j-axis"                  unit="m/s"  grid_ref="grid_V_3D" /> 
    160164         <field id="vocetr_eff"   long_name="Effective ocean transport along j-axis"      unit="m3/s" grid_ref="grid_V_3D" /> 
     165         <!-- variables available with MLE --> 
     166         <field id="psiv_mle"     long_name="MLE streamfunction along j-axis"             unit="m3/s"  grid_ref="grid_V_3D"  /> 
    161167         <!-- voce_eiv: available with key_traldf_eiv and key_diaeiv --> 
    162168         <field id="voce_eiv"     long_name="EIV ocean current along j-axis"              unit="m/s"  grid_ref="grid_V_3D" /> 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r3718 r4233  
    66   !! History :  2.0  !  2005-11  (G. Madec)  Original code 
    77   !!            3.3  !  2010-09  (C. Ethe, G. Madec)  merge TRC-TRA + switch from velocity to transport 
     8   !!            4.0  !  2011-06  (G. Madec)  Addition of Mixed Layer Eddy parameterisation 
    89   !!---------------------------------------------------------------------- 
    910 
     
    2122   USE traadv_qck      ! QUICKEST scheme           (tra_adv_qck    routine) 
    2223   USE traadv_eiv      ! eddy induced velocity     (tra_adv_eiv    routine) 
     24   USE traadv_mle      ! ML eddy induced velocity  (tra_adv_mle    routine) 
    2325   USE cla             ! cross land advection      (cla_traadv     routine) 
    2426   USE ldftra_oce      ! lateral diffusion coefficient on tracers 
     
    99101         &              CALL tra_adv_eiv( kt, nit000, zun, zvn, zwn, 'TRA' )    ! add the eiv transport (if necessary) 
    100102      ! 
     103      IF( ln_mle    )   CALL tra_adv_mle( kt, nit000, zun, zvn, zwn, 'TRA' )    ! add the mle transport (if necessary) 
    101104      CALL iom_put( "uocetr_eff", zun )                                         ! output effective transport       
    102105      CALL iom_put( "vocetr_eff", zvn ) 
     
    136139         &                       tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    137140      ! 
    138       IF( nn_timing == 1 )  CALL timing_stop('tra_adv') 
     141      IF( nn_timing == 1 )  CALL timing_stop( 'tra_adv' ) 
    139142      ! 
    140143      CALL wrk_dealloc( jpi, jpj, jpk, zun, zvn, zwn ) 
     
    206209      ENDIF 
    207210      ! 
     211      CALL tra_adv_mle_init          ! initialisation of the Mixed Layer Eddy parametrisation (MLE) 
     212      ! 
    208213   END SUBROUTINE tra_adv_init 
    209214 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90

    r3294 r4233  
    2424 
    2525   PUBLIC   zdf_mxl       ! called by step.F90 
     26 
     27   REAL(wp), PUBLIC ::   rho_c = 0.01_wp    ! density criterion for mixed layer depth 
     28   REAL(wp), PUBLIC ::   avt_c = 5.e-4_wp   ! Kz criterion for the turbocline depth 
    2629 
    2730   INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   nmln    !: number of level in the mixed layer (used by TOP) 
     
    6366      !! ** Method  :   The mixed layer depth is the shallowest W depth with  
    6467      !!      the density of the corresponding T point (just bellow) bellow a 
    65       !!      given value defined locally as rho(10m) + zrho_c 
     68      !!      given value defined locally as rho(10m) + rho_c 
    6669      !!               The turbocline depth is the depth at which the vertical 
    6770      !!      eddy diffusivity coefficient (resulting from the vertical physics 
     
    7679      INTEGER  ::   iikn, iiki          ! temporary integer within a do loop 
    7780      INTEGER, POINTER, DIMENSION(:,:) ::   imld                ! temporary workspace 
    78       REAL(wp) ::   zrho_c = 0.01_wp    ! density criterion for mixed layer depth 
    79       REAL(wp) ::   zavt_c = 5.e-4_wp   ! Kz criterion for the turbocline depth 
    8081      !!---------------------------------------------------------------------- 
    8182      ! 
     
    9899         DO jj = 1, jpj 
    99100            DO ji = 1, jpi 
    100                IF( rhop(ji,jj,jk) > rhop(ji,jj,nla10) + zrho_c )   nmln(ji,jj) = jk      ! Mixed layer 
    101                IF( avt (ji,jj,jk) < zavt_c                     )   imld(ji,jj) = jk      ! Turbocline  
     101               IF( rhop(ji,jj,jk) > rhop(ji,jj,nla10) + rho_c )   nmln(ji,jj) = jk      ! Mixed layer 
     102               IF( avt (ji,jj,jk) < avt_c                     )   imld(ji,jj) = jk      ! Turbocline  
    102103            END DO 
    103104         END DO 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/SETTE/all_functions.sh

    r3294 r4233  
    9696   if [ ${#} -lt ${minargcount} ] 
    9797   then 
    98       echo "not enought arguments for set_namelist" 
     98      echo "not enough arguments for set_namelist" 
    9999      echo "${usage}" 
    100100      exit 1 
     
    113113      echo "doing \"set_namelist $@\". " 
    114114      echo "variable: \"$2\" is empty" 
    115       echo "control that variable $2 is in \"${EXE_DIR}/$1\" " 
     115      echo "confirm that variable $2 is in \"${EXE_DIR}/$1\" " 
    116116      echo "exit" 
    117117      echo "error in executing script : set_namelist $@" >> ${SETTE_DIR}/output.sette 
     
    128128        echo "                " >> ${SETTE_DIR}/output.sette 
    129129} 
     130 
    130131 
    131132# function to tidy up after each test and populate the NEMO_VALIDATION store 
     
    216217    fi 
    217218} 
     219 
     220############################################################# 
     221# extra functions to manipulate settings in the iodef.xml file 
     222# 
     223# Examples: 
     224#   set_xio_file_type    iodef.xml one_file 
     225#   set_xio_using_server iodef.xml true 
     226#   set_xio_buffer_size  iodef.xml 50000000 
     227# 
     228############################################################# 
     229 
     230usage2=" Usage : set_xio_file_type input_iodef.xml one_file||multiple_file" 
     231usage3=" Usage : set_xio_using_server input_iodef.xml true||false" 
     232usage4=" Usage : set_xio_buffer_size input_iodef.xml int_buffer_size" 
     233 
     234set_xio_file_type () { 
     235        minargcount=2 
     236        if [ ${#} -lt ${minargcount} ] 
     237        then 
     238                echo "not enough arguments for set_xio_file_type" 
     239                echo "${usage2}" 
     240                exit 1 
     241        fi 
     242        if [ $2 != "one_file" ] && [ $2 != "multiple_file" ] 
     243        then 
     244                echo "unrecognised argument for set_xio_file_type" 
     245                echo "${usage2}" 
     246                echo $2 
     247                exit 1 
     248        fi 
     249        unset minargcount 
     250        if [  ! -f ${SETTE_DIR}/output.sette ] ; then 
     251                touch ${SETTE_DIR}/output.sette 
     252        fi 
     253 
     254        echo "executing script : set_xio_file_type $@" >> ${SETTE_DIR}/output.sette 
     255        echo "################" >> ${SETTE_DIR}/output.sette 
     256 
     257        VAR_NAME=$( grep "^.*<.*file_definition.*type.*=" ${EXE_DIR}/$1 | sed -e "s% *\!.*%%" ) 
     258        if [ ${#VAR_NAME} -eq 0 ] 
     259        then 
     260                echo "doing \"set_xio_file_type $@\". " 
     261                echo "xml_tag: file_definition with variable: type is empty" 
     262                echo "confirm that an appropriate file_definition is in \"${EXE_DIR}/$1\" " 
     263                echo "exit" 
     264                echo "error in executing script : set_xio_file_type $@" >> ${SETTE_DIR}/output.sette 
     265                echo "....." >> ${SETTE_DIR}/output.sette 
     266                exit 1 
     267        fi 
     268        if [ $2 == "one_file" ]  
     269        then 
     270           sed -e "s:multiple_file:one_file:" ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp 
     271        else 
     272           sed -e "s:one_file:multiple_file:" ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp 
     273        fi 
     274        mv ${EXE_DIR}/$1.tmp ${EXE_DIR}/$1 
     275 
     276        echo "finished script : set_xio_file_type $@" >> ${SETTE_DIR}/output.sette 
     277        echo "++++++++++++++++" >> ${SETTE_DIR}/output.sette 
     278        echo "                " >> ${SETTE_DIR}/output.sette 
     279} 
     280 
     281set_xio_using_server () { 
     282        minargcount=2 
     283        if [ ${#} -lt ${minargcount} ] 
     284        then 
     285                echo "not enough arguments for set_xio_using_server" 
     286                echo "${usage2}" 
     287                exit 1 
     288        fi 
     289        if [ $2 != "true" ] && [ $2 != "false" ] 
     290        then 
     291                echo "unrecognised argument for set_xio_using_server" 
     292                echo "${usage2}" 
     293                echo $2 
     294                exit 1 
     295        fi 
     296        unset minargcount 
     297        if [  ! -f ${SETTE_DIR}/output.sette ] ; then 
     298                touch ${SETTE_DIR}/output.sette 
     299        fi 
     300 
     301        echo "executing script : set_xio_using_server $@" >> ${SETTE_DIR}/output.sette 
     302        echo "################" >> ${SETTE_DIR}/output.sette 
     303 
     304        VAR_NAME=$( grep "^.*<.*variable id.*=.*using_server.*=.*boolean" ${EXE_DIR}/$1 | sed -e "s% *\!.*%%" ) 
     305        if [ ${#VAR_NAME} -eq 0 ] 
     306        then 
     307                echo "doing \"set_xio_using_server $@\". " 
     308                echo "xml_tag: "variable id=using_server" with variable: boolean is empty" 
     309                echo "confirm that an appropriate variable id is in \"${EXE_DIR}/$1\" " 
     310                echo "exit" 
     311                echo "error in executing script : set_xio_using_server $@" >> ${SETTE_DIR}/output.sette 
     312                echo "....." >> ${SETTE_DIR}/output.sette 
     313                exit 1 
     314        fi 
     315        if [ $2 == "false" ] 
     316        then 
     317           sed -e "/using_server/s:true:false:" ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp 
     318           export USING_MPMD=no 
     319        else 
     320           sed -e "/using_server/s:false:true:" ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp 
     321           export USING_MPMD=yes 
     322        fi 
     323        mv ${EXE_DIR}/$1.tmp ${EXE_DIR}/$1 
     324 
     325        echo "finished script : set_xio_using_server $@" >> ${SETTE_DIR}/output.sette 
     326        echo "++++++++++++++++" >> ${SETTE_DIR}/output.sette 
     327        echo "                " >> ${SETTE_DIR}/output.sette 
     328} 
     329 
     330set_xio_buffer_size () { 
     331        minargcount=2 
     332        if [ ${#} -lt ${minargcount} ] 
     333        then 
     334                echo "not enough arguments for set_xio_buffer_size" 
     335                echo "${usage4}" 
     336                exit 1 
     337        fi 
     338        unset minargcount 
     339        if [  ! -f ${SETTE_DIR}/output.sette ] ; then 
     340                touch ${SETTE_DIR}/output.sette 
     341        fi 
     342 
     343        echo "executing script : set_xio_buffer_size $@" >> ${SETTE_DIR}/output.sette 
     344        echo "################" >> ${SETTE_DIR}/output.sette 
     345 
     346        VAR_NAME=$( grep "^.*<.*variable id.*=.*buffer_size.*=.*integer" ${EXE_DIR}/$1 | sed -e "s% *\!.*%%" ) 
     347        if [ ${#VAR_NAME} -eq 0 ] 
     348        then 
     349                echo "doing \"set_xio_buffer_size $@\". " 
     350                echo "xml_tag: "variable id=buffer_size" with variable: integer is empty" 
     351                echo "confirm that an appropriate variable id is in \"${EXE_DIR}/$1\" " 
     352                echo "exit" 
     353                echo "error in executing script : set_xio_buffer_size $@" >> ${SETTE_DIR}/output.sette 
     354                echo "....." >> ${SETTE_DIR}/output.sette 
     355                exit 1 
     356        fi 
     357        sed -e "/buffer_size/s:>.*<:>$2<:" ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp 
     358        mv ${EXE_DIR}/$1.tmp ${EXE_DIR}/$1 
     359 
     360        echo "finished script : set_xio_buffer_size $@" >> ${SETTE_DIR}/output.sette 
     361        echo "++++++++++++++++" >> ${SETTE_DIR}/output.sette 
     362        echo "                " >> ${SETTE_DIR}/output.sette 
     363} 
     364 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/SETTE/prepare_job.sh

    r3680 r4233  
    6868# 
    6969 
    70 usage=" Usage : ./prepare_job.sh INPUT_FILE_CONFIG_NAME NUMBER_PROC TEST_NAME MPI_FLAG JOB_FILE" 
    71 usage=" example : ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg 8 SHORT no/yes $JOB_FILE" 
    72  
    73  
    74 minargcount=5 
     70usage=" Usage : ./prepare_job.sh INPUT_FILE_CONFIG_NAME NUMBER_PROC TEST_NAME MPI_FLAG JOB_FILE NUM_XIO_SERVERS" 
     71usage=" example : ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg 8 SHORT no/yes $JOB_FILE 0" 
     72 
     73 
     74minargcount=6 
    7575        if [ ${#} -lt ${minargcount} ] 
    7676        then 
     
    9393MPI_FLAG=$4 
    9494JOB_FILE=$5 
     95NXIO_PROC=$6 
    9596 
    9697# export EXE_DIR. This directory is used to execute model  
     
    185186      case ${COMPILER} in  
    186187         ALTIX_NAUTILUS_MPT) 
    187                                 NB_REM=$( echo $NB_PROC | awk '{print $1 % 4}') 
     188                                NB_REM=$( echo $NB_PROC $NXIO_PROC | awk '{print ( $1 + $2 ) % 4}') 
    188189               if [ ${NB_REM} == 0 ] ; then 
    189190               # number of processes required is an integer multiple of 4 
    190191               # 
    191                NB_NODES=$( echo $NB_PROC | awk '{print $1 / 4}') 
     192               NB_NODES=$( echo $NB_PROC $NXIO_PROC | awk '{print ($1 + $2 ) / 4}') 
    192193            else 
    193194               # 
     
    195196               # round up the number of nodes required. 
    196197               # 
    197                NB_NODES=$( echo $NB_PROC | awk '{printf("%d",$1 / 4 + 1 )}') 
     198               NB_NODES=$( echo $NB_PROC $NXIO_PROC | awk '{printf("%d",($1 + $2 ) / 4 + 1 )}') 
    198199                  fi 
    199200            ;; 
     
    229230# Pass settings into job file by using sed to edit predefined strings 
    230231# 
    231         cat ${SETTE_DIR}/job_batch_template | sed -e"s/NODES/${NB_NODES}/" -e"s/NPROCS/${NB_PROC}/" \ 
     232        cat ${SETTE_DIR}/job_batch_template | sed -e"s/NODES/${NB_NODES}/" \ 
     233             -e"s/NPROCS/${NB_PROC}/" \ 
     234             -e"s/NXIOPROCS/${NXIO_PROC}/" \ 
    232235             -e"s:DEF_SETTE_DIR:${SETTE_DIR}:" -e"s:DEF_INPUT_DIR:${INPUT_DIR}:" \ 
    233236             -e"s:DEF_EXE_DIR:${EXE_DIR}:" \ 
  • branches/2013/dev_MERCATOR_UKMO_2013/NEMOGCM/SETTE/sette.sh

    r3708 r4233  
    22############################################################ 
    33# Author : Simona Flavoni for NEMO 
    4 # Contact : sflod@locean-ipsl.upmc.fr 
     4# Contact: sflod@locean-ipsl.upmc.fr 
     5# 2013   : A.C. Coward added options for testing with XIOS in dettached mode 
    56# 
    67# sette.sh   : principal script of SET TEsts for NEMO (SETTE) 
     
    1516#set -u 
    1617#set -e 
    17 #+ 
    18 # 
    19 # ================ 
    20 # sette.sh 
    21 # ================ 
    22 # 
    23 # ---------------------------------------------- 
    24 # Set of tests for NEMO 
    25 # ---------------------------------------------- 
    26 # 
    27 # SYNOPSIS 
    28 # ======== 
    29 # 
    30 # :: 
    31 # 
    32 #  $ ./sette.sh 
    33 # 
     18# =========== 
    3419# DESCRIPTION 
    3520# =========== 
     
    3722# Variables to be checked by user: 
    3823# 
    39 # COMPILER : name of compiler as defined in NEMOGCM/ARCH directory  
    40 # 
    41 # BATCH_COMMAND :  name of the command for batch submission 
    42 # 
    43 # INTERACT_FLAG :  flag to run in interactive mode "yes" 
    44 #                       to run in batch mode "no" 
    45 # 
    46 # MPIRUN_FLAG   :  flag to run in parallel (MPI) "yes" 
    47 #                       to run in sequential mode (NB_PROC = 1) "no" 
     24# COMPILER          : name of compiler as defined in NEMOGCM/ARCH directory  
     25# BATCH_COMMAND_PAR :  name of the command for submitting parallel batch jobs 
     26# BATCH_COMMAND_SEQ :  name of the command for submitting sequential batch jobs   
     27# INTERACT_FLAG     : flag to run in interactive mode "yes" 
     28#                           to run in batch mode "no" 
     29# MPIRUN_FLAG       : flag to run in parallel (MPI) "yes" 
     30#                           to run in sequential mode (NB_PROC = 1) "no" 
     31# USING_XIOS        : flag to control the activation of key_iomput 
     32#                      "yes" to compile using key_iomput and link to the external XIOS library 
     33#                      "no"  to compile without key_iomput and link to the old IOIPSL library 
     34# USING_MPMD        : flag to control the use of stand-alone IO servers 
     35#                     requires USING_XIOS="yes" 
     36#                      "yes" to run in MPMD (detached) mode with stand-alone IO servers 
     37#                      "no"  to run in SPMD (attached) mode without separate IO servers  
     38# NUM_XIOSERVERS    : number of stand-alone IO servers to employ 
     39#                     set to zero if USING_MPMD="no" 
    4840# 
    4941# Principal script is sette.sh, that calls  
    5042# 
    51 #  makenemo  
    52 # 
    53 #   creates the exectuable in ${CONFIG_NAME}/BLD/bin/nemo.exe  (and its link opa in ${CONFIG_NAME}/EXP00) 
     43#  makenemo  : to create successive exectuables in ${CONFIG_NAME}/BLD/bin/nemo.exe  
     44#              and links to opa in ${CONFIG_NAME}/EXP00) 
    5445# 
    5546#  param.cfg : sets and loads following directories: 
    5647# 
    57 #   FORCING_DIR : is the directory for forcing files (tarfile) 
    58 # 
    59 #   INPUT_DIR : is the directory for input files storing  
    60 # 
    61 #   TMPDIR : is the temporary directory (if needed) 
     48#   FORCING_DIR         : is the directory for forcing files (tarfile) 
     49#   INPUT_DIR           : is the directory for input files storing  
     50#   TMPDIR              : is the temporary directory (if needed) 
     51#   NEMO_VALIDATION_DIR : is the validation directory 
     52# 
     53#   (NOTE: this file is the same for all configrations to be tested with sette) 
     54# 
     55#   all_functions.sh : loads functions used by sette (note: new functions can be added here) 
     56#   set_namelist     : function declared in all_functions that sets namelist parameters  
     57#   post_test_tidyup : creates validation storage directory and copies required output files  
     58#                      (solver.stat and ocean.output) in it after execution of test. 
     59# 
     60#  VALIDATION tree is: 
     61# 
     62#   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) 
     63# 
     64#  prepare_exe_dir.sh : defines and creates directory where the test is executed 
     65#                       execution directory takes name of TEST_NAME defined for every test  
     66#                       in sette.sh. (each test in executed in its own directory) 
     67# 
     68#  prepare_job.sh     : to generate the script run_job.sh 
     69# 
     70#  fcm_job.sh         : run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes") 
     71#                        see sette.sh and BATCH_TEMPLATE directory 
     72# 
     73#  NOTE: jobs requiring initial or forcing data need to have an input_CONFIG.cfg in which  
     74#        can be found paths to the input tar file) 
     75#  NOTE: if job is not launched for any reason you have the executable ready in ${EXE_DIR}  
     76#        directory 
     77#  NOTE: the changed namelists are left in ${EXE_DIR} directory whereas original namelists  
     78#        remain in ${NEW_CONF}/EXP00 
    6279#  
    63 #   NEMO_VALIDATION_DIR : is the validation directory 
    64 # 
    65 #   (NOTE: this file is the same for all configrations to be tested with sette) 
    66 # 
    67 # 
    68 #  all_functions.sh : loads functions used by sette (note: new functions can be added here) 
    69 # 
    70 #   set_namelist : function declared in all_functions that set namelist parameters for tests 
    71 # 
    72 #   post_test_tidyup : creates validation storage directory and copy needed output files (solver.stat and ocean.output) in it after execution of test. 
    73 # 
    74 #   Tree of VALIDATION is: 
    75 # 
    76 #   NEMO_VALIDATION_DIR/WCONFIG_NAME/WCOMPILER_NAME/TEST_NAME/REVISION_NUMBER(or DATE) 
    77 # 
    78 # 
    79 #  prepare_exe_dir.sh : defines and creates directory where the test is executed 
    80 # 
    81 #       execution directory takes name of TEST_NAME defined in every test in sette.sh 
    82 # 
    83 #       ( each test in executed in its own directory ) 
    84 # 
    85 # 
    86 #  prepare_job.sh 
    87 # 
    88 #  to generate the script run_job.sh 
    89 # 
    90 #  fcm_job.sh  
    91 # 
    92 #   run in batch (INTERACT_FLAG="no") or interactive (INTERACT_FLAG="yes") see sette.sh and BATCH_TEMPLATE directory 
    93 # 
    94 #   (note this job needs to have an input_CONFIG.cfg in which can be found input tar file) 
    95 #  
    96 #  NOTE: if job is not launched for some problems you have executable ready in ${EXE_DIR} directory 
    97 # 
    98 #  NOTE: the changed namelists are leaved in ${EXE_DIR} directory whereas original namelist remains in ${NEW_CONF}/EXP00 
    99 #  
    100 #  in ${SETTE_DIR} is created output.sette with the echo of executed commands 
    101 # 
    102 #  if sette.sh is stopped in output.sette there is written the last command executed by sette.sh 
    103 # 
    104 #  if you run: ./sette.sh 2>&1 | tee out.sette 
    105 # 
    106 #  in ${SETTE_DIR} out.sette is redirected standard error & standard output 
    107 # 
    108 # 
    109 # EXAMPLES 
    110 # ======== 
    111 # 
    112 # :: 
    113 # 
    114 #  $ ./sette.sh  
    115 # 
    116 # 
    117 # TODO 
    118 # ==== 
    119 # 
    120 # option debug 
    121 # 
    122 # EVOLUTIONS 
    123 # ========== 
    124 # 
    125 # $Id$ 
    126 # 
    127 #   * creation 
    128 # 
    129 #- 
    130 # 
    131 #- 
     80#  NOTE: a log file, output.sette, is created in ${SETTE_DIR} with the echoes of  
     81#        executed commands 
     82# 
     83#  NOTE: if sette.sh is stopped in output.sette there is written the last command  
     84#        executed by sette.sh 
     85# 
     86# example use: ./sette.sh  
     87######################################################################################### 
     88# 
    13289# Compiler among those in NEMOGCM/ARCH 
    13390COMPILER=PW6_VARGAS 
     
    13693export INTERACT_FLAG="no" 
    13794export MPIRUN_FLAG="yes" 
    138 # IF YOU DON'T WANT TO USE XIOS : (this is a list of keys to be delete) 
    139 export KEY_XIOS="key_iomput" 
    140 # IF YOU WANT TO USE XIOS : 
    141 #export KEY_XIOS="" 
    142  
     95export USING_XIOS="yes" 
     96# 
     97export DEL_KEYS="key_iomput" 
     98if [ ${USING_XIOS} == "yes" ]  
     99 then  
     100   export DEL_KEYS="" 
     101fi 
     102# 
     103# Settings which control the use of stand alone servers (only relevant if using xios) 
     104# 
     105export USING_MPMD="no" 
     106export NUM_XIOSERVERS=4 
     107export JOB_PREFIX=batch-mpmd 
     108# 
     109if [ ${USING_MPMD} == "no" ]  
     110 then 
     111   export NUM_XIOSERVERS=0 
     112   export JOB_PREFIX=batch 
     113fi 
     114# 
     115# 
     116if [ ${USING_MPMD} == "yes" ] && [ ${USING_XIOS} == "no"] 
     117 then 
     118   echo "Incompatible choices. MPMD mode requires the XIOS server" 
     119   exit 
     120fi 
     121# 
    143122 
    144123# Directory to run the tests 
     
    152131# Copy job_batch_COMPILER file for specific compiler into job_batch_template 
    153132cd ${SETTE_DIR} 
    154 cp BATCH_TEMPLATE/batch-${COMPILER} job_batch_template || exit 
     133cp BATCH_TEMPLATE/${JOB_PREFIX}-${COMPILER} job_batch_template || exit 
    155134 
    156135for config in 1 2 3 4 5 6 7 8 9 
     
    162141    export TEST_NAME="LONG" 
    163142    cd ${SETTE_DIR} 
    164     . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 add_key "key_mpp_mpi" del_key ${KEY_XIOS} 
     143    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_LONG -r GYRE -j 8 add_key "key_mpp_mpi" del_key ${DEL_KEYS} 
    165144    cd ${SETTE_DIR} 
    166145    . param.cfg 
     
    169148    JOB_FILE=${EXE_DIR}/run_job.sh 
    170149    NPROC=4 
    171     \rm ${JOB_FILE} 
     150    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    172151    cd ${EXE_DIR} 
    173152    set_namelist namelist cn_exp \"GYRE_LONG\" 
     
    180159    set_namelist namelist jpnj 2 
    181160    set_namelist namelist jpnij 4 
    182     cd ${SETTE_DIR} 
    183     . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     161    if [ ${USING_MPMD} == "yes" ] ; then 
     162       set_xio_using_server iodef.xml true 
     163    else 
     164       set_xio_using_server iodef.xml false 
     165    fi 
     166    cd ${SETTE_DIR} 
     167    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    184168 
    185169    cd ${SETTE_DIR} 
     
    199183    set_namelist namelist jpnij 4 
    200184    set_namelist namelist cn_ocerst_in \"GYRE_LONG_00000060_restart\" 
     185    if [ ${USING_MPMD} == "yes" ] ; then 
     186       set_xio_using_server iodef.xml true 
     187    else 
     188       set_xio_using_server iodef.xml false 
     189    fi 
    201190    for (( i=1; i<=$NPROC; i++)) ; do 
    202191        L_NPROC=$(( $i - 1 )) 
     
    204193        ln -sf ../LONG/GYRE_LONG_00000060_restart_${L_NPROC}.nc . 
    205194    done 
    206     cd ${SETTE_DIR} 
    207     . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     195    if [ ${USING_MPMD} == "yes" ] ; then 
     196       set_xio_using_server iodef.xml true 
     197    else 
     198       set_xio_using_server iodef.xml false 
     199    fi 
     200    cd ${SETTE_DIR} 
     201    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    208202    cd ${SETTE_DIR} 
    209203    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    214208    export TEST_NAME="REPRO_1_4" 
    215209    cd ${SETTE_DIR} 
    216     . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS} 
     210    . ../CONFIG/makenemo -m ${CMP_NAM} -n GYRE_4 -r GYRE -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${DEL_KEYS} 
    217211    cd ${SETTE_DIR} 
    218212    . param.cfg 
     
    221215    JOB_FILE=${EXE_DIR}/run_job.sh 
    222216    NPROC=4 
    223     \rm ${JOB_FILE} 
     217    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    224218    cd ${EXE_DIR} 
    225219    set_namelist namelist cn_exp \"GYRE_14\" 
     
    234228    set_namelist namelist jpnj 4 
    235229    set_namelist namelist jpnij 4 
    236     cd ${SETTE_DIR} 
    237     . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     230    if [ ${USING_MPMD} == "yes" ] ; then 
     231       set_xio_using_server iodef.xml true 
     232    else 
     233       set_xio_using_server iodef.xml false 
     234    fi 
     235    cd ${SETTE_DIR} 
     236    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    238237    cd ${SETTE_DIR} 
    239238    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    244243    JOB_FILE=${EXE_DIR}/run_job.sh 
    245244    NPROC=4 
    246     \rm $JOB_FILE 
     245    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    247246    cd ${EXE_DIR} 
    248247    set_namelist namelist cn_exp \"GYRE_22\" 
     
    256255    set_namelist namelist jpnj 2 
    257256    set_namelist namelist jpnij 4 
    258     cd ${SETTE_DIR} 
    259     . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     257    if [ ${USING_MPMD} == "yes" ] ; then 
     258       set_xio_using_server iodef.xml true 
     259    else 
     260       set_xio_using_server iodef.xml false 
     261    fi 
     262    cd ${SETTE_DIR} 
     263    . ./prepare_job.sh input_GYRE.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    260264    cd ${SETTE_DIR} 
    261265    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    268272    export TEST_NAME="LONG" 
    269273    cd ${SETTE_DIR} 
    270     . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi" del_key ${KEY_XIOS} 
     274    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_LONG -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi" del_key ${DEL_KEYS} 
    271275    cd ${SETTE_DIR} 
    272276    . param.cfg 
     
    275279    JOB_FILE=${EXE_DIR}/run_job.sh 
    276280    NPROC=4 
    277     \rm ${JOB_FILE} 
     281    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    278282    cd ${EXE_DIR} 
    279283    set_namelist namelist cn_exp \"O2LP_LONG\" 
     
    298302    set_namelist namelist_pisces ln_ironsed .false. 
    299303    set_namelist namelist_pisces ln_hydrofe .false. 
    300     cd ${SETTE_DIR} 
    301     . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     304    if [ ${USING_MPMD} == "yes" ] ; then 
     305       set_xio_using_server iodef.xml true 
     306    else 
     307       set_xio_using_server iodef.xml false 
     308    fi 
     309    cd ${SETTE_DIR} 
     310    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    302311     
    303312    cd ${SETTE_DIR} 
     
    341350        ln -sf ../LONG/O2LP_LONG_00000075_restart_ice_${L_NPROC}.nc . 
    342351    done 
    343     cd ${SETTE_DIR} 
    344     . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     352    if [ ${USING_MPMD} == "yes" ] ; then 
     353       set_xio_using_server iodef.xml true 
     354    else 
     355       set_xio_using_server iodef.xml false 
     356    fi 
     357    cd ${SETTE_DIR} 
     358    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    345359    cd ${SETTE_DIR} 
    346360    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    351365    export TEST_NAME="REPRO_4_4" 
    352366    cd ${SETTE_DIR} 
    353     . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS} 
     367    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2LIMPIS_16 -r ORCA2_LIM_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${DEL_KEYS} 
    354368    cd ${SETTE_DIR} 
    355369    . param.cfg 
     
    358372    JOB_FILE=${EXE_DIR}/run_job.sh 
    359373    NPROC=16 
    360     \rm $JOB_FILE 
     374    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    361375    cd ${EXE_DIR} 
    362376    set_namelist namelist nn_it000 1 
     
    383397    # put ln_pisdmp to false : no restoring to global mean value 
    384398    set_namelist namelist_pisces ln_pisdmp .false. 
    385     cd ${SETTE_DIR} 
    386     . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     399    if [ ${USING_MPMD} == "yes" ] ; then 
     400       set_xio_using_server iodef.xml true 
     401    else 
     402       set_xio_using_server iodef.xml false 
     403    fi 
     404    cd ${SETTE_DIR} 
     405    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    387406    cd ${SETTE_DIR} 
    388407    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    393412    JOB_FILE=${EXE_DIR}/run_job.sh 
    394413    NPROC=16 
    395     \rm $JOB_FILE 
     414    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    396415    cd ${EXE_DIR} 
    397416    set_namelist namelist nn_it000 1 
     
    417436    # put ln_pisdmp to false : no restoring to global mean value 
    418437    set_namelist namelist_pisces ln_pisdmp .false. 
    419     cd ${SETTE_DIR} 
    420     . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     438    if [ ${USING_MPMD} == "yes" ] ; then 
     439       set_xio_using_server iodef.xml true 
     440    else 
     441       set_xio_using_server iodef.xml false 
     442    fi 
     443    cd ${SETTE_DIR} 
     444    . ./prepare_job.sh input_ORCA2_LIM_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    421445    cd ${SETTE_DIR} 
    422446    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    428452    export TEST_NAME="LONG" 
    429453    cd ${SETTE_DIR} 
    430     . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS} 
     454    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_LONG -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${DEL_KEYS} 
    431455    cd ${SETTE_DIR} 
    432456    . param.cfg 
     
    435459    JOB_FILE=${EXE_DIR}/run_job.sh 
    436460    NPROC=4 
    437     \rm $JOB_FILE 
     461    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    438462    cd ${EXE_DIR} 
    439463    set_namelist namelist cn_exp \"OFFP_LONG\" 
     
    459483    # put ln_pisdmp to false : no restoring to global mean value 
    460484    set_namelist namelist_pisces ln_pisdmp .false. 
    461     cd ${SETTE_DIR} 
    462     . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     485    if [ ${USING_MPMD} == "yes" ] ; then 
     486       set_xio_using_server iodef.xml true 
     487    else 
     488       set_xio_using_server iodef.xml false 
     489    fi 
     490    cd ${SETTE_DIR} 
     491    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    463492     
    464493    cd ${SETTE_DIR} 
     
    495524    # put ln_pisdmp to false : no restoring to global mean value 
    496525    set_namelist namelist_pisces ln_pisdmp .false. 
    497     cd ${SETTE_DIR} 
    498     . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE} 
     526    if [ ${USING_MPMD} == "yes" ] ; then 
     527       set_xio_using_server iodef.xml true 
     528    else 
     529       set_xio_using_server iodef.xml false 
     530    fi 
     531    cd ${SETTE_DIR} 
     532    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME}  ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    499533    cd ${SETTE_DIR} 
    500534    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    505539    export TEST_NAME="REPRO_4_4" 
    506540    cd ${SETTE_DIR} 
    507     . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${KEY_XIOS} 
     541    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2OFFPIS_16 -r ORCA2_OFF_PISCES -j 8 add_key "key_mpp_mpi key_mpp_rep" del_key ${DEL_KEYS} 
    508542    cd ${SETTE_DIR} 
    509543    . param.cfg 
     
    512546    JOB_FILE=${EXE_DIR}/run_job.sh 
    513547    NPROC=16 
    514     \rm $JOB_FILE 
     548    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    515549    cd ${EXE_DIR} 
    516550    set_namelist namelist nn_it000 1 
     
    535569    # put ln_pisdmp to false : no restoring to global mean value 
    536570    set_namelist namelist_pisces ln_pisdmp .false. 
    537     cd ${SETTE_DIR} 
    538     . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     571    if [ ${USING_MPMD} == "yes" ] ; then 
     572       set_xio_using_server iodef.xml true 
     573    else 
     574       set_xio_using_server iodef.xml false 
     575    fi 
     576    cd ${SETTE_DIR} 
     577    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    539578    cd ${SETTE_DIR} 
    540579    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    545584    JOB_FILE=${EXE_DIR}/run_job.sh 
    546585    NPROC=16 
    547     \rm $JOB_FILE 
     586    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    548587    cd ${EXE_DIR} 
    549588    set_namelist namelist nn_it000 1 
     
    568607    # put ln_pisdmp to false : no restoring to global mean value 
    569608    set_namelist namelist_pisces ln_pisdmp .false.  
    570     cd ${SETTE_DIR} 
    571     . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     609    if [ ${USING_MPMD} == "yes" ] ; then 
     610       set_xio_using_server iodef.xml true 
     611    else 
     612       set_xio_using_server iodef.xml false 
     613    fi 
     614    cd ${SETTE_DIR} 
     615    . ./prepare_job.sh input_ORCA2_OFF_PISCES.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    572616    cd ${SETTE_DIR} 
    573617    . ./fcm_job.sh $NPROC  ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    579623    export TEST_NAME="LONG" 
    580624    cd ${SETTE_DIR} 
    581     . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_tide" del_key ${KEY_XIOS} 
     625    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_LONG -r AMM12 -j 8 add_key "key_tide" del_key ${DEL_KEYS} 
    582626    cd ${SETTE_DIR} 
    583627    . param.cfg 
     
    586630    JOB_FILE=${EXE_DIR}/run_job.sh 
    587631    NPROC=32 
    588     \rm $JOB_FILE 
     632    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    589633    cd ${EXE_DIR} 
    590634    set_namelist namelist nn_it000 1 
     
    600644    set_namelist namelist jpnj 4 
    601645    set_namelist namelist jpnij 32 
    602     cd ${SETTE_DIR} 
    603     . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     646    if [ ${USING_MPMD} == "yes" ] ; then 
     647       set_xio_using_server iodef.xml true 
     648    else 
     649       set_xio_using_server iodef.xml false 
     650    fi 
     651    cd ${SETTE_DIR} 
     652    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    604653 
    605654    cd ${SETTE_DIR} 
     
    625674        ln -sf ../LONG/AMM12_00000006_restart_${L_NPROC}.nc . 
    626675    done 
    627     cd ${SETTE_DIR} 
    628     . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     676    if [ ${USING_MPMD} == "yes" ] ; then 
     677       set_xio_using_server iodef.xml true 
     678    else 
     679       set_xio_using_server iodef.xml false 
     680    fi 
     681    cd ${SETTE_DIR} 
     682    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    629683    cd ${SETTE_DIR} 
    630684    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    635689    export TEST_NAME="REPRO_8_4" 
    636690    cd ${SETTE_DIR} 
    637     . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep key_tide" del_key ${KEY_XIOS} 
     691    . ../CONFIG/makenemo -m ${CMP_NAM} -n AMM12_32 -r AMM12 -j 8 add_key "key_mpp_rep key_tide" del_key ${DEL_KEYS} 
    638692    cd ${SETTE_DIR} 
    639693    . param.cfg 
     
    642696    JOB_FILE=${EXE_DIR}/run_job.sh 
    643697    NPROC=32 
    644     \rm ${JOB_FILE} 
     698    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    645699    cd ${EXE_DIR} 
    646700    set_namelist namelist nn_it000 1 
     
    655709    set_namelist namelist jpnj 4 
    656710    set_namelist namelist jpnij 32 
    657     cd ${SETTE_DIR} 
    658     . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     711    if [ ${USING_MPMD} == "yes" ] ; then 
     712       set_xio_using_server iodef.xml true 
     713    else 
     714       set_xio_using_server iodef.xml false 
     715    fi 
     716    cd ${SETTE_DIR} 
     717    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    659718    cd ${SETTE_DIR} 
    660719    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    675734    set_namelist namelist jpnj 8 
    676735    set_namelist namelist jpnij 32 
    677     cd ${SETTE_DIR} 
    678     . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     736    if [ ${USING_MPMD} == "yes" ] ; then 
     737       set_xio_using_server iodef.xml true 
     738    else 
     739       set_xio_using_server iodef.xml false 
     740    fi 
     741    cd ${SETTE_DIR} 
     742    . ./prepare_job.sh input_AMM12.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    679743    cd ${SETTE_DIR} 
    680744    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
     
    686750    export TEST_NAME="SHORT" 
    687751    cd ${SETTE_DIR} 
    688     . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM -j 8 add_key "key_mpp_mpi key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${KEY_XIOS} 
     752    . ../CONFIG/makenemo -m ${CMP_NAM} -n ORCA2AGUL_1_2 -r ORCA2_LIM -j 8 add_key "key_mpp_mpi key_mpp_rep key_agrif" del_key "key_zdftmx" del_key ${DEL_KEYS} 
    689753    cd ${SETTE_DIR} 
    690754    . param.cfg 
     
    693757    JOB_FILE=${EXE_DIR}/run_job.sh 
    694758    NPROC=2 
    695     \rm ${JOB_FILE} 
     759    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    696760    cd ${EXE_DIR} 
    697761    set_namelist namelist nn_it000 1 
     
    706770    set_namelist 1_namelist ln_ctl .false. 
    707771    set_namelist 1_namelist ln_clobber .true. 
    708     cd ${SETTE_DIR} 
    709     . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} 
     772    if [ ${USING_MPMD} == "yes" ] ; then 
     773       set_xio_using_server iodef.xml true 
     774    else 
     775       set_xio_using_server iodef.xml false 
     776    fi 
     777    cd ${SETTE_DIR} 
     778    . ./prepare_job.sh input_ORCA2_LIM_AGRIF.cfg $NPROC ${TEST_NAME} ${MPIRUN_FLAG} ${JOB_FILE} ${NUM_XIOSERVERS} 
    710779    cd ${SETTE_DIR} 
    711780    . ./fcm_job.sh $NPROC ${JOB_FILE} ${INTERACT_FLAG} ${MPIRUN_FLAG} 
Note: See TracChangeset for help on using the changeset viewer.