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

Changeset 5782


Ignore:
Timestamp:
2015-10-08T15:51:36+02:00 (8 years ago)
Author:
cetlod
Message:

Final step of improvements/simplifications of ADV & LDF momentum trends. The branch is now phased with the trunk at revision 5721 and is ready to be used

Location:
branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/1_namelist_cfg

    r5778 r5782  
    44!----------------------------------------------------------------------- 
    55&namrun        !   parameters of the run 
     6 nn_it000=1 
    67!----------------------------------------------------------------------- 
    78   cn_exp      = "Agulhas" !  experience name  
    8    nn_itend    =   10950   !  last  time step 
     9nn_itend=150 
    910   nn_stock    =   10950   !  frequency of creation of a restart file (modulo referenced to 1) 
    1011   nn_write    =   10950   !  frequency of write in the output file   (modulo referenced to nn_it000) 
    11    ln_clobber  = .true.    !  clobber (overwrite) an existing file 
     12ln_clobber=.true. 
    1213/ 
    1314!----------------------------------------------------------------------- 
     
    152153&namtra_ldf    !   lateral diffusion scheme for tracers 
    153154!----------------------------------------------------------------------- 
    154    !                       !  Operator type: 
    155    !                           !  no diffusion: set ln_traldf_lap=..._blp=F  
    156    ln_traldf_lap   =  .true.   !    laplacian operator 
    157    ln_traldf_blp   =  .false.  !  bilaplacian operator 
    158    !                       !  Direction of action: 
    159    ln_traldf_lev   =  .false.  !  iso-level 
    160    ln_traldf_hor   =  .false.  !  horizontal (geopotential) 
    161    ln_traldf_iso   =  .true.   !  iso-neutral (standard operator) 
    162    ln_traldf_triad =  .false.  !  iso-neutral (triad    operator) 
    163    ! 
    164    !                       !  iso-neutral options:         
    165    ln_traldf_msc   =  .true.   !  Method of Stabilizing Correction (both operators) 
    166    rn_slpmax       =   0.01    !  slope limit                      (both operators) 
    167    ln_triad_iso    =  .false.  !  pure horizontal mixing in ML              (triad only) 
    168    rn_sw_triad     =  1        !  =1 switching triad ; =0 all 4 triads used (triad only) 
    169    ln_botmix_triad =  .false.  !  lateral mixing on bottom                  (triad only) 
    170    ! 
    171    !                       !  Coefficients: 
    172    nn_aht_ijk_t    = 0         !  space/time variation of eddy coef 
    173    !                                !   =-20 (=-30)    read in eddy_diffusivity_2D.nc (..._3D.nc) file 
    174    !                                !   =  0           constant  
    175    !                                !   = 10 F(k)      =ldf_c1d  
    176    !                                !   = 20 F(i,j)    =ldf_c2d  
    177    !                                !   = 21 F(i,j,t)  =Treguier et al. JPO 1997 formulation 
    178    !                                !   = 30 F(i,j,k)  =ldf_c2d * ldf_c1d 
    179    !                                !   = 31 F(i,j,k,t)=F(local velocity and grid-spacing) 
    180155   rn_aht_0        = 1000.     !  lateral eddy diffusivity   (lap. operator) [m2/s] 
    181    rn_bht_0        = 1.e+12    !  lateral eddy diffusivity (bilap. operator) [m4/s] 
    182156/ 
    183157!---------------------------------------------------------------------------------- 
     
    207181&namdyn_ldf    !   lateral diffusion on momentum 
    208182!----------------------------------------------------------------------- 
    209    !                       !  Type of the operator :  
    210    ln_dynldf_lap    =  .false.  !  laplacian operator          
    211    ln_dynldf_bilap  =  .true.   !  bilaplacian operator     
    212    rn_ahm_0_blp     =  8.5e+11  !  horizontal bilaplacian eddy viscosity [m4/s]  
     183   !                       !  Type of the operator : 
     184   !                           !  no diffusion: set ln_dynldf_lap=..._blp=F 
     185   ln_dynldf_lap =  .false.    !    laplacian operator 
     186   ln_dynldf_blp =  .true.     !  bilaplacian operator 
     187   !                       !  Direction of action  : 
     188   ln_dynldf_lev =  .true.     !  iso-level 
     189   ln_dynldf_hor =  .false.    !  horizontal (geopotential) 
     190   ln_dynldf_iso =  .false.    !  iso-neutral 
     191   !                       !  Coefficient 
     192   nn_ahm_ijk_t  =   0         !  space/time variation of eddy coef 
     193   !                                !  =-30  read in eddy_viscosity_3D.nc file 
     194   !                                !  =-20  read in eddy_viscosity_2D.nc file 
     195   !                                !  =  0  constant 
     196   !                                !  = 10  F(k)=c1d 
     197   !                                !  = 20  F(i,j)=F(grid spacing)=c2d 
     198   !                                !  = 30  F(i,j,k)=c2d*c1d 
     199   !                                !  = 31  F(i,j,k)=F(grid spacing and local velocity) 
     200   rn_ahm_0      =  40000.     !  horizontal laplacian eddy viscosity   [m2/s] 
     201   rn_ahm_b      =      0.     !  background eddy viscosity for ldf_iso [m2/s] 
     202   rn_bhm_0      = 8.5e+11      !  horizontal bilaplacian eddy viscosity [m4/s] 
    213203/ 
    214204!----------------------------------------------------------------------- 
     
    243233!----------------------------------------------------------------------- 
    244234&namctl        !   Control prints & Benchmark 
    245 !----------------------------------------------------------------------- 
    246235/ 
    247236!----------------------------------------------------------------------- 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_cfg

    r5778 r5782  
    66&namrun        !   parameters of the run 
    77!----------------------------------------------------------------------- 
    8    nn_no       =       0   !  job number (no more used...) 
    9    cn_exp      =  "ORCA2"  !  experience name 
    10    nn_it000    =       1   !  first time step 
    11    nn_itend    =    1050   !  last  time step (std 5475) 
    12    nn_date0    =  010101   !  date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 
    13    nn_leapy    =       0   !  Leap year calendar (1) or not (0) 
    14    ln_rstart   = .false.   !  start from rest (F) or from a restart file (T) 
    15    nn_euler    =       1   !  = 0 : start with forward time step if ln_rstart=T 
    16    nn_rstctl   =       0   !  restart control ==> activated only if ln_rstart=T 
    17                            !    = 0 nn_date0 read in namelist ; nn_it000 : read in namelist 
    18                            !    = 1 nn_date0 read in namelist ; nn_it000 : check consistancy between namelist and restart 
    19                            !    = 2 nn_date0 read in restart  ; nn_it000 : check consistancy between namelist and restart 
    20    cn_ocerst_in  = "restart"   !  suffix of ocean restart name (input) 
    21    cn_ocerst_indir = "."       !  directory from which to read input ocean restarts 
    22    cn_ocerst_out = "restart"   !  suffix of ocean restart name (output) 
    23    cn_ocerst_outdir = "."      !  directory in which to write output ocean restarts 
    24    nn_istate   =       0   !  output the initial state (1) or not (0) 
    25    ln_rst_list = .false.   !  output restarts at list of times using nn_stocklist (T) or at set frequency with nn_stock (F) 
    26    nn_stock    =    5475   !  frequency of creation of a restart file (modulo referenced to 1) 
    27    nn_stocklist = 0,0,0,0,0,0,0,0,0,0 ! List of timesteps when a restart file is to be written 
    28    nn_write    =    105   !  frequency of write in the output file   (modulo referenced to nn_it000) 
    29    ln_dimgnnn  = .false.   !  DIMG file format: 1 file for all processors (F) or by processor (T) 
    30    ln_mskland  = .false.   !  mask land points in NetCDF outputs (costly: + ~15%) 
    31    ln_cfmeta   = .false.   !  output additional data to netCDF files required for compliance with the CF metadata standard 
    32    ln_clobber  = .true.   !  clobber (overwrite) an existing file 
    33    nn_chunksz  =       0   !  chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) 
    348/ 
    359!----------------------------------------------------------------------- 
     
    137111&namtra_adv    !   advection scheme for tracer 
    138112!----------------------------------------------------------------------- 
    139    ln_traadv_cen =  .false.   !  2nd order centered scheme 
    140       nn_cen_h   =  4               !  =2/4, horizontal 2nd order CEN / 4th order CEN 
    141       nn_cen_v   =  4               !  =2/4, vertical   2nd order CEN / 4th order COMPACT 
    142113   ln_traadv_fct =  .true.    !  FCT scheme 
    143114      nn_fct_h   =  2               !  =2/4, horizontal 2nd / 4th order  
    144115      nn_fct_v   =  2               !  =2/4, vertical   2nd / COMPACT 4th order  
    145       nn_fct_zts =  0               !  >=1, 2nd order FCT scheme with vertical sub-timestepping 
     116      nn_fct_zts =  0               !  > 1 , 2nd order FCT scheme with vertical sub-timestepping 
    146117      !                             !        (number of sub-timestep = nn_fct_zts) 
    147    ln_traadv_mus  =  .false.  !  MUSCL scheme 
    148       ln_mus_ups  =  .false.         !  use upstream scheme near river mouths 
    149    ln_traadv_ubs  =  .false.  !  UBS scheme 
    150       nn_ubs_v    =  2               !  =2  , vertical 2nd order FCT 
    151    ln_traadv_qck  =  .false.  !  QUICKEST scheme 
    152 / 
    153 !----------------------------------------------------------------------- 
    154 &namtra_adv_mle !  mixed layer eddy parametrisation (Fox-Kemper param) 
    155 !----------------------------------------------------------------------- 
    156118/ 
    157119!----------------------------------------------------------------------- 
     
    168130   ln_traldf_lev   =  .false.  !  iso-level 
    169131   ln_traldf_hor   =  .false.  !  horizontal (geopotential) 
    170    ln_traldf_iso   =  .true.   !  iso-neutral 
    171    ln_traldf_triad =  .false.  !  iso-neutral using Griffies triads 
     132   ln_traldf_iso   =  .true.   !  iso-neutral (standard operator) 
     133   ln_traldf_triad =  .false.  !  iso-neutral (triad    operator) 
    172134   ! 
    173135   !                       !  iso-neutral options:         
    174136   ln_traldf_msc   =  .true.   !  Method of Stabilizing Correction (both operators) 
    175137   rn_slpmax       =   0.01    !  slope limit                      (both operators) 
    176    ln_triad_iso    =  .false.  !  pure horizontal mixing in ML     (triad only) 
     138   ln_triad_iso    =  .false.  !  pure horizontal mixing in ML              (triad only) 
    177139   rn_sw_triad     =  1        !  =1 switching triad ; =0 all 4 triads used (triad only) 
    178    ln_botmix_triad =  .false.  !  lateral mixing on bottom         (triad only) 
     140   ln_botmix_triad =  .false.  !  lateral mixing on bottom                  (triad only) 
    179141   ! 
    180142   !                       !  Coefficients: 
    181    nn_aht_ijk_t    = 21        !  space/time variation of eddy coef 
     143   nn_aht_ijk_t    = 20        !  space/time variation of eddy coef 
    182144   !                                !   =-20 (=-30)    read in eddy_diffusivity_2D.nc (..._3D.nc) file 
    183    !                                !   =  0           constant  
    184    !                                !   = 10 F(k)      =ldf_c1d  
    185    !                                !   = 20 F(i,j)    =ldf_c2d  
     145   !                                !   =  0           constant 
     146   !                                !   = 10 F(k)      =ldf_c1d 
     147   !                                !   = 20 F(i,j)    =ldf_c2d 
    186148   !                                !   = 21 F(i,j,t)  =Treguier et al. JPO 1997 formulation 
    187149   !                                !   = 30 F(i,j,k)  =ldf_c2d + ldf_c1d 
     
    198160   nn_aei_ijk_t  = 21      ! space/time variation of the eiv coeficient 
    199161   !                                !   =-20 (=-30)    read in eddy_induced_velocity_2D.nc (..._3D.nc) file 
    200    !                                !   =  0           constant  
    201    !                                !   = 10 F(k)      =ldf_c1d  
    202    !                                !   = 20 F(i,j)    =ldf_c2d  
     162   !                                !   =  0           constant 
     163   !                                !   = 10 F(k)      =ldf_c1d 
     164   !                                !   = 20 F(i,j)    =ldf_c2d 
    203165   !                                !   = 21 F(i,j,t)  =Treguier et al. JPO 1997 formulation 
    204166   !                                !   = 30 F(i,j,k)  =ldf_c2d + ldf_c1d 
    205 /!----------------------------------------------------------------------- 
     167/ 
     168!----------------------------------------------------------------------- 
    206169&namtra_dmp    !   tracer: T & S newtonian damping 
    207170!----------------------------------------------------------------------- 
     
    218181   ln_dynvor_mix = .false. !  mixed scheme 
    219182   ln_dynvor_een = .true.  !  energy & enstrophy scheme 
    220       nn_een_e3f = 1             !  e3f = masked averaging of e3t divided by 4 (=0) or by the sum of mask (=1) 
    221    ln_dynvor_msk = .true. !  vorticity multiplied by fmask (=T) or not (=F) (all vorticity schemes) 
     183      nn_een_e3f = 0             !  e3f = masked averaging of e3t divided by 4 (=0) or by the sum of mask (=1) 
     184   ln_dynvor_msk = .false. !  vorticity multiplied by fmask (=T) or not (=F) (all vorticity schemes) 
    222185/ 
    223186!----------------------------------------------------------------------- 
     
    289252!----------------------------------------------------------------------- 
    290253/ 
    291 !----------------------------------------------------------------------- 
    292 &namobs       !  observation usage                                      ('key_diaobs') 
    293 !----------------------------------------------------------------------- 
    294 / 
    295 !----------------------------------------------------------------------- 
    296 &nam_asminc   !   assimilation increments                               ('key_asminc') 
    297 !----------------------------------------------------------------------- 
    298 / 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/CONFIG/ORCA2_LIM3/EXP00/namelist_cfg

    r5778 r5782  
    208208!----------------------------------------------------------------------- 
    209209   ln_hpg_zco  = .false.   !  z-coordinate - full steps 
    210    ln_hpg_zps  = .true.    !  z-coordinate - partial steps (interpolation) 
     210   ln_hpg_zps  = .false.    !  z-coordinate - partial steps (interpolation) 
    211211   ln_hpg_sco  = .false.   !  s-coordinate (standard jacobian formulation) 
    212212   ln_hpg_djc  = .false.   !  s-coordinate (Density Jacobian with Cubic polynomial) 
    213    ln_hpg_prj  = .false.   !  s-coordinate (Pressure Jacobian scheme) 
     213   ln_hpg_prj  = .true.   !  s-coordinate (Pressure Jacobian scheme) 
    214214   ln_dynhpg_imp = .false. !  time stepping: semi-implicit time scheme  (T) 
    215215                                 !           centered      time scheme  (F) 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_cfg

    r5778 r5782  
    106106   ! 
    107107   !                       !  Coefficients: 
    108    nn_aht_ijk_t    = 20        !  space/time variation of eddy coef 
     108   nn_aht_ijk_t    = 0        !  space/time variation of eddy coef 
    109109   !                                !   =-20 (=-30)    read in eddy_diffusivity_2D.nc (..._3D.nc) file 
    110110   !                                !   =  0           constant  
     
    120120&namtra_ldfeiv !   eddy induced velocity param. 
    121121!---------------------------------------------------------------------------------- 
    122    ln_ldfeiv     =.false.   ! use eddy induced velocity parameterization 
     122   ln_ldfeiv     =.true.   ! use eddy induced velocity parameterization 
     123   ln_ldfeiv_dia =.false.   ! diagnose eiv stream function and velocities 
     124   rn_aeiv_0     = 2000.   ! eddy induced velocity coefficient   [m2/s] 
     125   nn_aei_ijk_t  = 0      ! space/time variation of the eiv coeficient 
     126   !                                !   =-20 (=-30)    read in eddy_induced_velocity_2D.nc (..._3D.nc) file 
     127   !                                !   =  0           constant 
     128   !                                !   = 10 F(k)      =ldf_c1d 
     129   !                                !   = 20 F(i,j)    =ldf_c2d 
     130   !                                !   = 21 F(i,j,t)  =Treguier et al. JPO 1997 formulation 
     131   !                                !   = 30 F(i,j,k)  =ldf_c2d + ldf_c1d 
    123132/ 
    124133!----------------------------------------------------------------------- 
     
    141150   sn_ubl  = 'dyna_grid_U' ,    120            , 'sobblcox' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    142151   sn_vbl  = 'dyna_grid_V' ,    120            , 'sobblcoy' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    143    sn_ahu  = 'dyna_grid_U' ,    120            , 'vozoahtu' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    144    sn_ahv  = 'dyna_grid_V' ,    120            , 'vomeahtv' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    145    sn_ahw  = 'dyna_grid_W' ,    120            , 'voveahtz' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    146    sn_eiu  = 'dyna_grid_U' ,    120            , 'vozoaeiu' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    147    sn_eiv  = 'dyna_grid_V' ,    120            , 'vomeaeiv' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    148    sn_eiw  = 'dyna_grid_W' ,    120            , 'soleaeiw' ,  .true.    , .true. ,   'yearly'  , ''       , ''    , '' 
    149152! 
    150153   cn_dir      = './'      !  root directory for the location of the dynamical files 
    151    ln_degrad   =  .false.  !  flag for degradation -                requires ("key_degrad") 
    152154   ln_dynwzv   =  .true.   !  computation of vertical velocity instead of using the one read in file 
    153155   ln_dynbbl   =  .true.   !  bbl coef are in files, so read them - requires ("key_trabbl") 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OFF_SRC/domrea.F90

    r5737 r5782  
    6565      ENDIF 
    6666      ! 
    67       CALL dom_nam      ! read namelist ( namrun, namdom, namcla ) 
     67      CALL dom_nam      ! read namelist ( namrun, namdom ) 
    6868      CALL dom_zgr      ! Vertical mesh and bathymetry option 
    6969      CALL dom_grd      ! Create a domain file 
     
    109109      !! ** input   : - namrun namelist 
    110110      !!              - namdom namelist 
    111       !!              - namcla namelist 
    112111      !!---------------------------------------------------------------------- 
    113112      USE ioipsl 
     
    125124         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 
    126125         &             ppa2, ppkth2, ppacr2 
    127       NAMELIST/namcla/ nn_cla 
    128126#if defined key_netcdf4 
    129127      NAMELIST/namnc4/ nn_nchunks_i, nn_nchunks_j, nn_nchunks_k, ln_nc4zip 
     
    268266      rdtmax    = rn_rdtmin 
    269267      rdth      = rn_rdth 
    270  
    271       REWIND( numnam_ref )              ! Namelist namcla in reference namelist : Cross land advection 
    272       READ  ( numnam_ref, namcla, IOSTAT = ios, ERR = 905) 
    273 905   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in reference namelist', lwp ) 
    274  
    275       REWIND( numnam_cfg )              ! Namelist namcla in configuration namelist : Cross land advection 
    276       READ  ( numnam_cfg, namcla, IOSTAT = ios, ERR = 906 ) 
    277 906   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in configuration namelist', lwp ) 
    278       IF(lwm) WRITE( numond, namcla ) 
    279  
    280       IF(lwp) THEN 
    281          WRITE(numout,*) 
    282          WRITE(numout,*) '   Namelist namcla' 
    283          WRITE(numout,*) '      cross land advection                 nn_cla    = ', nn_cla 
    284       ENDIF 
    285268 
    286269#if defined key_netcdf4 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90

    r5737 r5782  
    2626   USE trc_oce         ! share ocean/biogeo variables 
    2727   USE phycst          ! physical constants 
     28   USE ldftra          ! lateral diffusivity coefficients 
    2829   USE trabbl          ! active tracer: bottom boundary layer 
    2930   USE ldfslp          ! lateral diffusion: iso-neutral slopes 
    30    USE ldfeiv          ! eddy induced velocity coef.  
    31    USE ldftra_oce      ! ocean tracer   lateral physics 
    3231   USE zdfmxl          ! vertical physics: mixed layer depth 
    3332   USE eosbn2          ! equation of state - Brunt Vaisala frequency 
     
    4039   USE fldread         ! read input fields  
    4140   USE timing          ! Timing 
     41   USE wrk_nemo 
    4242 
    4343   IMPLICIT NONE 
     
    5050   LOGICAL            ::   ln_dynwzv    !: vertical velocity read in a file (T) or computed from u/v (F) 
    5151   LOGICAL            ::   ln_dynbbl    !: bbl coef read in a file (T) or computed (F) 
    52    LOGICAL            ::   ln_degrad    !: degradation option enabled or not 
    5352   LOGICAL            ::   ln_dynrnf    !: read runoff data in file (T) or set to zero (F) 
    5453 
    55    INTEGER  , PARAMETER ::   jpfld = 21     ! maximum number of fields to read 
     54   INTEGER  , PARAMETER ::   jpfld = 15     ! maximum number of fields to read 
    5655   INTEGER  , SAVE      ::   jf_tem         ! index of temperature 
    5756   INTEGER  , SAVE      ::   jf_sal         ! index of salinity 
     
    6867   INTEGER  , SAVE      ::   jf_ubl         ! index of u-bbl coef 
    6968   INTEGER  , SAVE      ::   jf_vbl         ! index of v-bbl coef 
    70    INTEGER  , SAVE      ::   jf_ahu         ! index of u-diffusivity coef 
    71    INTEGER  , SAVE      ::   jf_ahv         ! index of v-diffusivity coef  
    72    INTEGER  , SAVE      ::   jf_ahw         ! index of w-diffusivity coef 
    73    INTEGER  , SAVE      ::   jf_eiu         ! index of u-eiv 
    74    INTEGER  , SAVE      ::   jf_eiv         ! index of v-eiv 
    75    INTEGER  , SAVE      ::   jf_eiw         ! index of w-eiv 
    7669   INTEGER  , SAVE      ::   jf_fmf         ! index of downward salt flux 
    7770 
     
    112105      !!             - interpolates data if needed 
    113106      !!---------------------------------------------------------------------- 
    114       ! 
    115       USE oce, ONLY:  zts    => tsa  
     107      USE oce, ONLY:  zts    => tsa 
    116108      USE oce, ONLY:  zuslp  => ua   , zvslp  => va 
    117       USE oce, ONLY:  zwslpi => rotb , zwslpj => rotn 
    118       USE oce, ONLY:  zu     => ub   , zv     => vb,  zw => hdivb 
     109      USE oce, ONLY:  zwslpi => ua_sv , zwslpj => va_sv 
     110      USE oce, ONLY:  zu     => ub   , zv     => vb,  zw => rke 
    119111      ! 
    120112      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     113      ! 
     114!      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts)  :: zts 
     115!      REAL(wp), DIMENSION(jpi,jpj,jpk     )  :: zuslp, zvslp, zwslpi, zwslpj 
     116!      REAL(wp), DIMENSION(jpi,jpj,jpk     )  :: zu, zv, zw 
     117      ! 
    121118      ! 
    122119      INTEGER  ::   ji, jj     ! dummy loop indices 
     
    138135         CALL fld_read( kt, 1, sf_dyn )      !==   read data at kt time step   ==! 
    139136         ! 
    140          IF( lk_ldfslp .AND. .NOT.lk_c1d .AND. sf_dyn(jf_tem)%ln_tint ) THEN    ! Computes slopes (here avt is used as workspace)                        
     137         IF( l_ldfslp .AND. .NOT.lk_c1d .AND. sf_dyn(jf_tem)%ln_tint ) THEN    ! Computes slopes (here avt is used as workspace)                        
    141138            zts(:,:,:,jp_tem) = sf_dyn(jf_tem)%fdta(:,:,:,1) * tmask(:,:,:)   ! temperature 
    142139            zts(:,:,:,jp_sal) = sf_dyn(jf_sal)%fdta(:,:,:,1) * tmask(:,:,:)   ! salinity  
     
    162159      ENDIF 
    163160      !  
    164       IF( lk_ldfslp .AND. .NOT.lk_c1d ) THEN    ! Computes slopes (here avt is used as workspace)                        
     161      IF( l_ldfslp .AND. .NOT.lk_c1d ) THEN    ! Computes slopes (here avt is used as workspace)                        
    165162         iswap_tem = 0 
    166163         IF(  kt /= nit000 .AND. ( sf_dyn(jf_tem)%nrec_a(2) - nrecprev_tem ) /= 0 )  iswap_tem = 1 
     
    267264      rnf (:,:)        = sf_dyn(jf_rnf)%fnow(:,:,1) * tmask(:,:,1)    ! river runoffs  
    268265 
     266      !                                               ! update eddy diffusivity coeff. and/or eiv coeff. at kt 
     267      IF( l_ldftra_time .OR. l_ldfeiv_time )   CALL ldf_tra( kt )  
    269268      !                                                      ! bbl diffusive coef 
    270269#if defined key_trabbl && ! defined key_c1d 
     
    276275         CALL bbl( kt, nit000, 'TRC') 
    277276      END IF 
    278 #endif 
    279 #if ( ! defined key_degrad && defined key_traldf_c2d && defined key_traldf_eiv ) && ! defined key_c1d  
    280       aeiw(:,:)        = sf_dyn(jf_eiw)%fnow(:,:,1) * tmask(:,:,1)    ! w-eiv 
    281       !                                                           ! Computes the horizontal values from the vertical value 
    282       DO jj = 2, jpjm1 
    283          DO ji = fs_2, fs_jpim1   ! vector opt. 
    284             aeiu(ji,jj) = .5 * ( aeiw(ji,jj) + aeiw(ji+1,jj  ) )  ! Average the diffusive coefficient at u- v- points 
    285             aeiv(ji,jj) = .5 * ( aeiw(ji,jj) + aeiw(ji  ,jj+1) )  ! at u- v- points 
    286          END DO 
    287       END DO 
    288       CALL lbc_lnk( aeiu, 'U', 1. )   ;   CALL lbc_lnk( aeiv, 'V', 1. )    ! lateral boundary condition 
    289 #endif 
    290        
    291 #if defined key_degrad && ! defined key_c1d  
    292       !                                          ! degrad option : diffusive and eiv coef are 3D 
    293       ahtu(:,:,:) = sf_dyn(jf_ahu)%fnow(:,:,:) * umask(:,:,:) 
    294       ahtv(:,:,:) = sf_dyn(jf_ahv)%fnow(:,:,:) * vmask(:,:,:) 
    295       ahtw(:,:,:) = sf_dyn(jf_ahw)%fnow(:,:,:) * tmask(:,:,:) 
    296 #  if defined key_traldf_eiv  
    297       aeiu(:,:,:) = sf_dyn(jf_eiu)%fnow(:,:,:) * umask(:,:,:) 
    298       aeiv(:,:,:) = sf_dyn(jf_eiv)%fnow(:,:,:) * vmask(:,:,:) 
    299       aeiw(:,:,:) = sf_dyn(jf_eiw)%fnow(:,:,:) * tmask(:,:,:) 
    300 #  endif 
    301277#endif 
    302278      ! 
     
    339315      TYPE(FLD_N), DIMENSION(jpfld) ::  slf_d    ! array of namelist informations on the fields to read 
    340316      TYPE(FLD_N) :: sn_tem, sn_sal, sn_mld, sn_emp, sn_ice, sn_qsr, sn_wnd, sn_rnf  ! informations about the fields to be read 
    341       TYPE(FLD_N) :: sn_uwd, sn_vwd, sn_wwd, sn_avt, sn_ubl, sn_vbl          !   "                                 " 
    342       TYPE(FLD_N) :: sn_ahu, sn_ahv, sn_ahw, sn_eiu, sn_eiv, sn_eiw, sn_fmf  !   "                                 " 
    343       !!---------------------------------------------------------------------- 
    344       ! 
    345       NAMELIST/namdta_dyn/cn_dir, ln_dynwzv, ln_dynbbl, ln_degrad, ln_dynrnf,    & 
     317      TYPE(FLD_N) :: sn_uwd, sn_vwd, sn_wwd, sn_avt, sn_ubl, sn_vbl, sn_fmf          !   "                                 " 
     318      NAMELIST/namdta_dyn/cn_dir, ln_dynwzv, ln_dynbbl, ln_dynrnf,    & 
    346319         &                sn_tem, sn_sal, sn_mld, sn_emp, sn_ice, sn_qsr, sn_wnd, sn_rnf,  & 
    347          &                sn_uwd, sn_vwd, sn_wwd, sn_avt, sn_ubl, sn_vbl,          & 
    348          &                sn_ahu, sn_ahv, sn_ahw, sn_eiu, sn_eiv, sn_eiw, sn_fmf 
     320         &                sn_uwd, sn_vwd, sn_wwd, sn_avt, sn_ubl, sn_vbl, sn_fmf   
     321      !!---------------------------------------------------------------------- 
    349322      ! 
    350323      REWIND( numnam_ref )              ! Namelist namdta_dyn in reference namelist : Offline: init. of dynamical data 
     
    365338         WRITE(numout,*) '      vertical velocity read from file (T) or computed (F) ln_dynwzv  = ', ln_dynwzv 
    366339         WRITE(numout,*) '      bbl coef read from file (T) or computed (F)          ln_dynbbl  = ', ln_dynbbl 
    367          WRITE(numout,*) '      degradation option enabled (T) or not (F)            ln_degrad  = ', ln_degrad 
    368340         WRITE(numout,*) '      river runoff option enabled (T) or not (F)           ln_dynrnf  = ', ln_dynrnf 
    369341         WRITE(numout,*) 
    370342      ENDIF 
    371343      !  
    372       IF( ln_degrad .AND. .NOT.lk_degrad ) THEN 
    373          CALL ctl_warn( 'dta_dyn_init: degradation option requires key_degrad activated ; force ln_degrad to false' ) 
    374          ln_degrad = .FALSE. 
    375       ENDIF 
    376344      IF( ln_dynbbl .AND. ( .NOT.lk_trabbl .OR. lk_c1d ) ) THEN 
    377345         CALL ctl_warn( 'dta_dyn_init: bbl option requires key_trabbl activated ; force ln_dynbbl to false' ) 
     
    395363      ENDIF 
    396364 
    397       ! 
    398       IF( .NOT.ln_degrad ) THEN     ! no degrad option 
    399          IF( lk_traldf_eiv .AND. ln_dynbbl ) THEN        ! eiv & bbl 
    400                  jf_ubl  = jfld + 1 ;        jf_vbl  = jfld + 2 ;        jf_eiw  = jfld + 3   ;   jfld = jf_eiw 
    401            slf_d(jf_ubl) = sn_ubl  ;   slf_d(jf_vbl) = sn_vbl  ;   slf_d(jf_eiw) = sn_eiw 
    402          ENDIF 
    403          IF( .NOT.lk_traldf_eiv .AND. ln_dynbbl ) THEN   ! no eiv & bbl 
     365      IF( ln_dynbbl ) THEN         ! eiv & bbl 
    404366                 jf_ubl  = jfld + 1 ;        jf_vbl  = jfld + 2 ;  jfld = jf_vbl 
    405367           slf_d(jf_ubl) = sn_ubl  ;   slf_d(jf_vbl) = sn_vbl 
    406          ENDIF 
    407          IF( lk_traldf_eiv .AND. .NOT.ln_dynbbl ) THEN   ! eiv & no bbl 
    408            jf_eiw = jfld + 1 ; jfld = jf_eiw ; slf_d(jf_eiw) = sn_eiw 
    409          ENDIF 
    410       ELSE 
    411               jf_ahu  = jfld + 1 ;        jf_ahv  = jfld + 2 ;        jf_ahw  = jfld + 3  ;  jfld = jf_ahw 
    412         slf_d(jf_ahu) = sn_ahu  ;   slf_d(jf_ahv) = sn_ahv  ;   slf_d(jf_ahw) = sn_ahw 
    413         IF( lk_traldf_eiv .AND. ln_dynbbl ) THEN         ! eiv & bbl 
    414                  jf_ubl  = jfld + 1 ;        jf_vbl  = jfld + 2 ; 
    415            slf_d(jf_ubl) = sn_ubl  ;   slf_d(jf_vbl) = sn_vbl 
    416                  jf_eiu  = jfld + 3 ;        jf_eiv  = jfld + 4 ;    jf_eiw  = jfld + 5   ;  jfld = jf_eiw  
    417            slf_d(jf_eiu) = sn_eiu  ;   slf_d(jf_eiv) = sn_eiv  ;    slf_d(jf_eiw) = sn_eiw 
    418         ENDIF 
    419         IF( .NOT.lk_traldf_eiv .AND. ln_dynbbl ) THEN    ! no eiv & bbl 
    420                  jf_ubl  = jfld + 1 ;        jf_vbl  = jfld + 2 ;  jfld = jf_vbl 
    421            slf_d(jf_ubl) = sn_ubl  ;   slf_d(jf_vbl) = sn_vbl 
    422         ENDIF 
    423         IF( lk_traldf_eiv .AND. .NOT.ln_dynbbl ) THEN    ! eiv & no bbl 
    424                  jf_eiu  = jfld + 1 ;         jf_eiv  = jfld + 2 ;    jf_eiw  = jfld + 3   ; jfld = jf_eiw  
    425            slf_d(jf_eiu) = sn_eiu  ;   slf_d(jf_eiv) = sn_eiv  ;   slf_d(jf_eiw) = sn_eiw 
    426         ENDIF 
    427       ENDIF 
    428    
     368      ENDIF 
     369 
     370 
    429371      ALLOCATE( sf_dyn(jfld), STAT=ierr )         ! set sf structure 
    430372      IF( ierr > 0 ) THEN 
     
    451393      CALL fld_fill( sf_dyn, slf_d, cn_dir, 'dta_dyn_init', 'Data in file', 'namdta_dyn' ) 
    452394      ! 
    453       IF( lk_ldfslp .AND. .NOT.lk_c1d ) THEN                  ! slopes  
     395      IF( l_ldfslp .AND. .NOT.lk_c1d ) THEN                  ! slopes  
    454396         IF( sf_dyn(jf_tem)%ln_tint ) THEN      ! time interpolation 
    455397            ALLOCATE( uslpdta (jpi,jpj,jpk,2), vslpdta (jpi,jpj,jpk,2),    & 
     
    515457         END DO 
    516458      END DO 
     459      !                              !  update the horizontal divergence with the runoff inflow 
     460      IF( ln_dynrnf )  zhdiv(:,:,1) = zhdiv(:,:,1) - rnf(:,:) * r1_rau0 / fse3t(:,:,1) 
     461      ! 
    517462      CALL lbc_lnk( zhdiv, 'T', 1. )      ! Lateral boundary conditions on zhdiv 
    518       ! 
    519463      ! computation of vertical velocity from the bottom 
    520464      pw(:,:,jpk) = 0._wp 
     
    539483      REAL(wp), DIMENSION(jpi,jpj,jpk)     , INTENT(out) :: pwslpj   ! meridional diapycnal slopes 
    540484      !!--------------------------------------------------------------------- 
    541 #if defined key_ldfslp && ! defined key_c1d 
    542       CALL eos    ( pts, rhd, rhop, gdept_0(:,:,:) ) 
    543       CALL eos_rab( pts, rab_n )       ! now local thermal/haline expension ratio at T-points 
    544       CALL bn2    ( pts, rab_n, rn2  ) ! now    Brunt-Vaisala 
    545  
    546       ! Partial steps: before Horizontal DErivative 
    547       IF( ln_zps  .AND. .NOT. ln_isfcav)                            & 
    548          &            CALL zps_hde    ( kt, jpts, pts, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient 
    549          &                                        rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
    550       IF( ln_zps .AND.        ln_isfcav)                            & 
    551          &            CALL zps_hde_isf( kt, jpts, pts, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
    552          &                                        rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
    553          &                                 gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the first ocean level 
    554  
    555       rn2b(:,:,:) = rn2(:,:,:)         ! need for zdfmxl 
    556       CALL zdf_mxl( kt )            ! mixed layer depth 
    557       CALL ldf_slp( kt, rhd, rn2 )  ! slopes 
    558       puslp (:,:,:) = uslp (:,:,:)  
    559       pvslp (:,:,:) = vslp (:,:,:)  
    560       pwslpi(:,:,:) = wslpi(:,:,:)  
    561       pwslpj(:,:,:) = wslpj(:,:,:)  
    562 #else 
    563       puslp (:,:,:) = 0.            ! to avoid warning when compiling 
    564       pvslp (:,:,:) = 0. 
    565       pwslpi(:,:,:) = 0. 
    566       pwslpj(:,:,:) = 0. 
    567 #endif 
     485      IF( l_ldfslp .AND. .NOT.lk_c1d ) THEN    ! Computes slopes (here avt is used as workspace)                        
     486         CALL eos    ( pts, rhd, rhop, gdept_0(:,:,:) ) 
     487         CALL eos_rab( pts, rab_n )       ! now local thermal/haline expension ratio at T-points 
     488         CALL bn2    ( pts, rab_n, rn2  ) ! now    Brunt-Vaisala 
     489 
     490         ! Partial steps: before Horizontal DErivative 
     491         IF( ln_zps  .AND. .NOT. ln_isfcav)                            & 
     492            &            CALL zps_hde    ( kt, jpts, pts, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient 
     493            &                                        rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
     494         IF( ln_zps .AND.        ln_isfcav)                            & 
     495            &            CALL zps_hde_isf( kt, jpts, pts, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     496            &                                        rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
     497            &                                 gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the first ocean level 
     498 
     499         rn2b(:,:,:) = rn2(:,:,:)         ! need for zdfmxl 
     500         CALL zdf_mxl( kt )            ! mixed layer depth 
     501         CALL ldf_slp( kt, rhd, rn2 )  ! slopes 
     502         puslp (:,:,:) = uslp (:,:,:)  
     503         pvslp (:,:,:) = vslp (:,:,:)  
     504         pwslpi(:,:,:) = wslpi(:,:,:)  
     505         pwslpj(:,:,:) = wslpj(:,:,:)  
     506     ELSE 
     507         puslp (:,:,:) = 0.            ! to avoid warning when compiling 
     508         pvslp (:,:,:) = 0. 
     509         pwslpi(:,:,:) = 0. 
     510         pwslpj(:,:,:) = 0. 
     511     ENDIF 
    568512      ! 
    569513   END SUBROUTINE dta_dyn_slp 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90

    r5504 r5782  
    2626   USE traqsr          ! solar radiation penetration    (tra_qsr_init routine) 
    2727   USE trabbl          ! bottom boundary layer          (tra_bbl_init routine) 
     28   USE traldf          ! lateral physics                (tra_ldf_init routine) 
    2829   USE zdfini          ! vertical physics: initialization 
    2930   USE sbcmod          ! surface boundary condition       (sbc_init     routine) 
     
    283284                            CALL     sbc_init   ! Forcings : surface module 
    284285 
    285 #if ! defined key_degrad 
    286286                            CALL ldf_tra_init   ! Lateral ocean tracer physics 
    287 #endif 
    288       IF( lk_ldfslp )       CALL ldf_slp_init   ! slope of lateral mixing 
     287                            CALL ldf_eiv_init   ! Eddy induced velocity param 
     288                            CALL tra_ldf_init   ! lateral mixing 
     289      IF( l_ldfslp )        CALL ldf_slp_init   ! slope of lateral mixing 
    289290 
    290291                            CALL tra_qsr_init   ! penetrative solar radiation qsr 
     
    444445      USE dom_oce,      ONLY: dom_oce_alloc 
    445446      USE zdf_oce,      ONLY: zdf_oce_alloc 
    446       USE ldftra_oce,   ONLY: ldftra_oce_alloc 
    447447      USE trc_oce,      ONLY: trc_oce_alloc 
    448448      ! 
     
    453453      ierr = ierr + dia_wri_alloc   () 
    454454      ierr = ierr + dom_oce_alloc   ()          ! ocean domain 
    455       ierr = ierr + ldftra_oce_alloc()          ! ocean lateral  physics : tracers 
    456455      ierr = ierr + zdf_oce_alloc   ()          ! ocean vertical physics 
    457456      ! 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r5777 r5782  
    736736               ENDIF 
    737737            ENDIF 
    738  
    739 #if defined key_zdfkpp 
    740             CALL eos( tsn, rhd, fsdept_n(:,:,:) )                      ! Compute rhd 
    741 !!gm fabien            CALL eos( tsn, rhd )                      ! Compute rhd 
    742 #endif 
    743738            ! 
    744739            DEALLOCATE( t_bkginc ) 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90

    r5758 r5782  
    123123      IF( ln_traqsr )   CALL tra_qsr( kstp )       ! penetrative solar radiation qsr 
    124124      IF( ln_tradmp )   CALL tra_dmp( kstp )       ! internal damping trends- tracers 
    125       IF( lk_zdfkpp )   CALL tra_kpp( kstp )       ! KPP non-local tracer fluxes 
    126125                        CALL tra_zdf( kstp )       ! vertical mixing 
    127126                        CALL eos( tsn, rhd, rhop, gdept_0(:,:,:) )   ! now potential density for zdfmxl 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r5770 r5782  
    198198         END DO   
    199199      END DO   
    200  
    201 !!gm  ???? 
    202 #if defined key_zdfkpp 
    203       IF( cp_cfg == 'orca' ) THEN 
    204          IF( jp_cfg == 2 )   THEN       ! land point on Bab el Mandeb zonal section 
    205             ij0 =  87   ;   ij1 =  88 
    206             ii0 = 160   ;   ii1 = 161 
    207             tmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 0._wp 
    208          ELSE 
    209             IF(lwp) WRITE(numout,*) 
    210             IF(lwp) WRITE(numout,cform_war) 
    211             IF(lwp) WRITE(numout,*) 
    212             IF(lwp) WRITE(numout,*)'          A mask must be applied on Bab el Mandeb strait' 
    213             IF(lwp) WRITE(numout,*)'          in case of ORCAs configurations' 
    214             IF(lwp) WRITE(numout,*)'          This is a problem which is not yet solved' 
    215             IF(lwp) WRITE(numout,*) 
    216          ENDIF 
    217       ENDIF 
    218 #endif 
    219 !!gm end 
    220200 
    221201      ! Interior domain mask (used for global sum) 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90

    r5777 r5782  
    103103         WRITE(numout,*) 'ldf_dyn : lateral momentum physics' 
    104104         WRITE(numout,*) '~~~~~~~' 
    105          WRITE(numout,*) '   Namelist nam_dynldf : set lateral mixing parameters' 
     105         WRITE(numout,*) '   Namelist namdyn_ldf : set lateral mixing parameters' 
    106106         ! 
    107107         WRITE(numout,*) '      type :' 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90

    r5777 r5782  
    2626   USE diaar5, ONLY:   lk_diaar5 
    2727   ! 
     28   USE trc_oce, ONLY: lk_offline ! offline flag 
    2829   USE in_out_manager  ! I/O manager 
    2930   USE iom             ! I/O module for ehanced bottom friction file 
     
    352353      END SELECT 
    353354      ! 
    354       CALL iom_put( "ahtu_2d", ahtu(:,:,1) )   ! surface u-eddy diffusivity coeff. 
    355       CALL iom_put( "ahtv_2d", ahtv(:,:,1) )   ! surface v-eddy diffusivity coeff. 
    356       CALL iom_put( "ahtu_3d", ahtu(:,:,:) )   ! 3D      u-eddy diffusivity coeff. 
    357       CALL iom_put( "ahtv_3d", ahtv(:,:,:) )   ! 3D      v-eddy diffusivity coeff. 
    358       ! 
     355      IF( .NOT.lk_offline ) THEN 
     356         CALL iom_put( "ahtu_2d", ahtu(:,:,1) )   ! surface u-eddy diffusivity coeff. 
     357         CALL iom_put( "ahtv_2d", ahtv(:,:,1) )   ! surface v-eddy diffusivity coeff. 
     358         CALL iom_put( "ahtu_3d", ahtu(:,:,:) )   ! 3D      u-eddy diffusivity coeff. 
     359         CALL iom_put( "ahtv_3d", ahtv(:,:,:) )   ! 3D      v-eddy diffusivity coeff. 
     360         ! 
    359361!!gm  : THE IF below is to be checked (comes from Seb) 
    360       IF( ln_ldfeiv ) THEN 
    361         CALL iom_put( "aeiu_2d", aeiu(:,:,1) )   ! surface u-EIV coeff. 
    362         CALL iom_put( "aeiv_2d", aeiv(:,:,1) )   ! surface v-EIV coeff. 
    363         CALL iom_put( "aeiu_3d", aeiu(:,:,:) )   ! 3D      u-EIV coeff. 
    364         CALL iom_put( "aeiv_3d", aeiv(:,:,:) )   ! 3D      v-EIV coeff. 
    365       ENDIF      
     362         IF( ln_ldfeiv ) THEN 
     363           CALL iom_put( "aeiu_2d", aeiu(:,:,1) )   ! surface u-EIV coeff. 
     364           CALL iom_put( "aeiv_2d", aeiv(:,:,1) )   ! surface v-EIV coeff. 
     365           CALL iom_put( "aeiu_3d", aeiu(:,:,:) )   ! 3D      u-EIV coeff. 
     366           CALL iom_put( "aeiv_3d", aeiv(:,:,:) )   ! 3D      v-EIV coeff. 
     367         ENDIF      
     368      ENDIF 
    366369      ! 
    367370   END SUBROUTINE ldf_tra 
     
    393396      READ  ( numnam_cfg, namtra_ldfeiv, IOSTAT = ios, ERR = 902 ) 
    394397902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldfeiv in configuration namelist', lwp ) 
    395       WRITE ( numond, namtra_ldfeiv ) 
     398      IF(lwm)  WRITE ( numond, namtra_ldfeiv ) 
    396399 
    397400      IF(lwp) THEN                      ! control print 
     
    668671      IF( ln_ldfeiv_dia .AND. cdtype == 'TRA' )   CALL ldf_eiv_dia( zpsi_uw, zpsi_vw ) 
    669672      ! 
    670       CALL wrk_alloc( jpi,jpj,jpk,   zpsi_uw, zpsi_vw ) 
     673      CALL wrk_dealloc( jpi,jpj,jpk,   zpsi_uw, zpsi_vw ) 
    671674      ! 
    672675      IF( nn_timing == 1 )   CALL timing_stop( 'ldf_eiv_trp') 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/TRD/trdpen.F90

    r5777 r5782  
    100100                                   CALL wrk_alloc( jpi, jpj, z2d ) 
    101101                                   z2d(:,:) = wn(:,:,1) * ( & 
    102                                       &   - ( rab_n(:,:,1,jp_tem) + rab_pe(:,:,1,jp_tem) ) * tsn(:,:,1,jp_tem)    & 
    103                                       &   + ( rab_n(:,:,1,jp_sal) + rab_pe(:,:,1,jp_sal) ) * tsn(:,:,1,jp_sal)    & 
    104                                       &                  ) / fse3t(:,:,1) 
     102                                     &   - ( rab_n(:,:,1,jp_tem) + rab_pe(:,:,1,jp_tem) ) * tsn(:,:,1,jp_tem)    & 
     103                                     &   + ( rab_n(:,:,1,jp_sal) + rab_pe(:,:,1,jp_sal) ) * tsn(:,:,1,jp_sal)    & 
     104                                     & ) / fse3t(:,:,1) 
    105105                                   CALL iom_put( "petrd_sad" , z2d ) 
    106106                                   CALL wrk_dealloc( jpi, jpj, z2d ) 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/ZDF/zdf_oce.F90

    r5777 r5782  
    4545   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   avt_k , avm_k  ! not enhanced Kz 
    4646   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   avmu_k, avmv_k ! not enhanced Kz 
     47   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   en              !: now turbulent kinetic energy   [m2/s2] 
    4748 
    4849   !!---------------------------------------------------------------------- 
     
    6162         &     avtb(jpk) , bfrva(jpi,jpj) , avtb_2d(jpi,jpj) ,      & 
    6263         &     tfrua(jpi, jpj), tfrva(jpi, jpj)              ,      & 
    63          &     avmu  (jpi,jpj,jpk), avm   (jpi,jpj,jpk),            & 
    64          &     avmv  (jpi,jpj,jpk), avt   (jpi,jpj,jpk),            & 
    65          &     avt_k (jpi,jpj,jpk), avm_k (jpi,jpj,jpk),            &  
    66          &     avmu_k(jpi,jpj,jpk), avmv_k(jpi,jpj,jpk),       STAT = zdf_oce_alloc ) 
     64         &     avmu  (jpi,jpj,jpk), avm   (jpi,jpj,jpk)      ,      & 
     65         &     avmv  (jpi,jpj,jpk), avt   (jpi,jpj,jpk)      ,      & 
     66         &     avt_k (jpi,jpj,jpk), avm_k (jpi,jpj,jpk)      ,      &  
     67         &     avmu_k(jpi,jpj,jpk), avmv_k(jpi,jpj,jpk)      ,      & 
     68         &     en    (jpi,jpj,jpk), STAT = zdf_oce_alloc ) 
    6769         ! 
    6870      IF( zdf_oce_alloc /= 0 )   CALL ctl_warn('zdf_oce_alloc: failed to allocate arrays') 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r5777 r5782  
    4242   LOGICAL , PUBLIC, PARAMETER ::   lk_zdfgls = .TRUE.   !: TKE vertical mixing flag 
    4343   ! 
    44    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   en      !: now turbulent kinetic energy 
    4544   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   mxln    !: now mixing length 
    4645   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   zwall   !: wall function 
     
    116115      !!                ***  FUNCTION zdf_gls_alloc  *** 
    117116      !!---------------------------------------------------------------------- 
    118       ALLOCATE( en(jpi,jpj,jpk),  mxln(jpi,jpj,jpk), zwall(jpi,jpj,jpk) ,     & 
    119          &      ustars2(jpi,jpj), ustarb2(jpi,jpj)                      , STAT= zdf_gls_alloc ) 
     117      ALLOCATE( mxln(jpi,jpj,jpk), zwall(jpi,jpj,jpk) ,     & 
     118         &      ustars2(jpi,jpj) , ustarb2(jpi,jpj)   , STAT= zdf_gls_alloc ) 
    120119         ! 
    121120      IF( lk_mpp             )   CALL mpp_sum ( zdf_gls_alloc ) 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r5777 r5782  
    8989   REAL(wp) ::   rhftau_scl = 1.0_wp       ! scale factor applied to HF part of taum  (nn_etau=3) 
    9090 
    91    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   en             !: now turbulent kinetic energy   [m2/s2] 
    9291   REAL(wp)        , ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   htau           ! depth of tke penetration (nn_htau) 
    9392   REAL(wp)        , ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   dissl          ! now mixing lenght of dissipation 
     
    118117         &      e_pdl(jpi,jpj,jpk) , e_ric(jpi,jpj,jpk) ,                          & 
    119118#endif 
    120          &      en   (jpi,jpj,jpk) , htau  (jpi,jpj)    , dissl(jpi,jpj,jpk) ,     &  
     119         &      htau  (jpi,jpj)    , dissl(jpi,jpj,jpk) ,     &  
    121120         &      apdlr(jpi,jpj,jpk) ,                                           STAT= zdf_tke_alloc      ) 
    122121         ! 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/SAS_SRC/diawri.F90

    r5766 r5782  
    2626   USE dom_oce         ! ocean space and time domain 
    2727   USE zdf_oce         ! ocean vertical physics 
    28    USE ldfdyn_oce      ! ocean dynamics: lateral physics 
    2928   USE sol_oce         ! solver variables 
    3029   USE sbc_oce         ! Surface boundary condition: ocean fields 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90

    r5766 r5782  
    208208      ENDIF 
    209209      ! 
    210       IF( lzoom )   nn_zdmp_tr = 0           ! restoring to climatology at closed north or south boundaries 
     210      IF( lzoom .AND. .NOT.lk_c1d )   nn_zdmp_tr = 0           ! restoring to climatology at closed north or south boundaries 
    211211      SELECT CASE ( nn_zdmp_tr ) 
    212212      CASE ( 0 )   ;   IF(lwp) WRITE(numout,*) '   tracer damping throughout the water column' 
     
    218218      END SELECT 
    219219 
    220       IF( .NOT. ln_tradmp )   & 
    221          &   CALL ctl_stop( 'passive trace damping need key_tradmp to compute damping coef.' ) 
    222       ! 
    223       !                          ! Read damping coefficients from file 
    224       !Read in mask from file 
    225       CALL iom_open ( cn_resto_tr, imask) 
    226       CALL iom_get  ( imask, jpdom_autoglo, 'resto', restotr) 
    227       CALL iom_close( imask ) 
    228       ! 
     220      IF( .NOT.lk_c1d ) THEN 
     221         IF( .NOT. ln_tradmp )   & 
     222            &   CALL ctl_stop( 'passive trace damping need ln_tradmp to compute damping coef.' ) 
     223         ! 
     224         !                          ! Read damping coefficients from file 
     225         !Read in mask from file 
     226         CALL iom_open ( cn_resto_tr, imask) 
     227         CALL iom_get  ( imask, jpdom_autoglo, 'resto', restotr) 
     228         CALL iom_close( imask ) 
     229         ! 
     230      ENDIF 
    229231      IF( nn_timing == 1 )  CALL timing_stop('trc_dmp_init') 
    230232      ! 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90

    r5766 r5782  
    8686      ELSE                                               ! 1D vertical configuration 
    8787                                CALL trc_sbc( kt )            ! surface boundary condition 
     88         IF( ln_trcdmp )        CALL trc_dmp( kt )            ! internal damping trends 
    8889                                CALL trc_zdf( kt )            ! vertical mixing and after tracer fields 
    8990                                CALL trc_nxt( kt )            ! tracer fields at next time step      
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/SETTE/param.cfg

    r5774 r5782  
    11#- forcing files storing 
    2 FORCING_DIR=/workgpfs/rech/omr/romr006/FORCING 
     2FORCING_DIR=~/FORCING 
    33#- input files storing 
    44INPUT_DIR=${CONFIG_DIR}/${NEW_CONF}/EXP00 
     
    66#TMPDIR=${CONFIG_DIR}/${NEW_CONF}/EXP00 
    77#- VALIDATION files storing 
    8 NEMO_VALIDATION_DIR=/workgpfs/rech/omr/romr006/NEMO_VALIDATION 
     8NEMO_VALIDATION_DIR=~/NEMO_VALIDATION 
  • branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/SETTE/sette.sh

    r5766 r5782  
    143143# ORCA2_AGRIF_LIM :16 & 17  
    144144#                  18 & 19  
    145 for config in  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
     145 
     146for config in  1 2 3 4 5 6 7 8 9 10 11 12 15 16 
    146147 
    147148do 
     
    473474    . ./prepare_exe_dir.sh 
    474475    JOB_FILE=${EXE_DIR}/run_job.sh 
    475     NPROC=4 
     476    NPROC=8 
    476477    if [ -f ${JOB_FILE} ] ; then \rm ${JOB_FILE} ; fi 
    477478    cd ${EXE_DIR} 
Note: See TracChangeset for help on using the changeset viewer.