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 4147 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN – NEMO

Ignore:
Timestamp:
2013-11-04T12:51:55+01:00 (10 years ago)
Author:
cetlod
Message:

merge in dev_LOCEAN_2013, the 1st development branch dev_r3853_CNRS9_Confsetting, from its starting point ( r3853 ) on the trunk: see ticket #1169

Location:
branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN/divcur.F90

    r3294 r4147  
    226226 
    227227      IF( ln_rnf      )   CALL sbc_rnf_div( hdivn )          ! runoffs (update hdivn field) 
    228       IF( nn_cla == 1 )   CALL cla_div    ( kt )             ! Cross Land Advection (Update Hor. divergence) 
     228      IF( nn_cla == 1 .AND. cp_cfg == 'orca' .AND. jp_cfg == 2 )   CALL cla_div    ( kt )             ! Cross Land Advection (Update Hor. divergence) 
    229229       
    230230      ! 4. Lateral boundary conditions on hdivn and rotn 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv.F90

    r3294 r4147  
    2727   PUBLIC dyn_adv_init  ! routine called by opa module 
    2828  
    29    LOGICAL, PUBLIC ::   ln_dynadv_vec  = .TRUE.    !: vector form flag 
    30    LOGICAL, PUBLIC ::   ln_dynadv_cen2 = .FALSE.  !: flux form - 2nd order centered scheme flag 
    31    LOGICAL, PUBLIC ::   ln_dynadv_ubs  = .FALSE.  !: flux form - 3rd order UBS scheme flag 
     29   LOGICAL, PUBLIC ::   ln_dynadv_vec  !: vector form flag 
     30   LOGICAL, PUBLIC ::   ln_dynadv_cen2 !: flux form - 2nd order centered scheme flag 
     31   LOGICAL, PUBLIC ::   ln_dynadv_ubs  !: flux form - 3rd order UBS scheme flag 
    3232    
    3333   INTEGER ::   nadv   ! choice of the formulation and scheme for the advection 
     
    8989      !!---------------------------------------------------------------------- 
    9090      INTEGER ::   ioptio 
     91      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    9192      !! 
    9293      NAMELIST/namdyn_adv/ ln_dynadv_vec, ln_dynadv_cen2 , ln_dynadv_ubs 
    9394      !!---------------------------------------------------------------------- 
    9495 
    95       REWIND ( numnam )               ! Read Namelist namdyn_adv : momentum advection scheme 
    96       READ   ( numnam, namdyn_adv ) 
     96      REWIND( numnam_ref )              ! Namelist namdyn_adv in reference namelist : Momentum advection scheme 
     97      READ  ( numnam_ref, namdyn_adv, IOSTAT = ios, ERR = 901) 
     98901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in reference namelist', lwp ) 
     99 
     100      REWIND( numnam_cfg )              ! Namelist namdyn_adv in configuration namelist : Momentum advection scheme 
     101      READ  ( numnam_cfg, namdyn_adv, IOSTAT = ios, ERR = 902 ) 
     102902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist', lwp ) 
     103      WRITE ( numond, namdyn_adv ) 
    97104 
    98105      IF(lwp) THEN                    ! Namelist print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r3764 r4147  
    4646   PUBLIC   dyn_hpg_init   ! routine called by opa module 
    4747 
    48    !                                              !!* Namelist namdyn_hpg : hydrostatic pressure gradient 
    49    LOGICAL , PUBLIC ::   ln_hpg_zco    = .TRUE.    !: z-coordinate - full steps 
    50    LOGICAL , PUBLIC ::   ln_hpg_zps    = .FALSE.   !: z-coordinate - partial steps (interpolation) 
    51    LOGICAL , PUBLIC ::   ln_hpg_sco    = .FALSE.   !: s-coordinate (standard jacobian formulation) 
    52    LOGICAL , PUBLIC ::   ln_hpg_djc    = .FALSE.   !: s-coordinate (Density Jacobian with Cubic polynomial) 
    53    LOGICAL , PUBLIC ::   ln_hpg_prj    = .FALSE.   !: s-coordinate (Pressure Jacobian scheme) 
    54    LOGICAL , PUBLIC ::   ln_dynhpg_imp = .FALSE.   !: semi-implicite hpg flag 
     48   !                                    !!* Namelist namdyn_hpg : hydrostatic pressure gradient 
     49   LOGICAL , PUBLIC ::   ln_hpg_zco      !: z-coordinate - full steps 
     50   LOGICAL , PUBLIC ::   ln_hpg_zps      !: z-coordinate - partial steps (interpolation) 
     51   LOGICAL , PUBLIC ::   ln_hpg_sco      !: s-coordinate (standard jacobian formulation) 
     52   LOGICAL , PUBLIC ::   ln_hpg_djc      !: s-coordinate (Density Jacobian with Cubic polynomial) 
     53   LOGICAL , PUBLIC ::   ln_hpg_prj      !: s-coordinate (Pressure Jacobian scheme) 
     54   LOGICAL , PUBLIC ::   ln_dynhpg_imp   !: semi-implicite hpg flag 
    5555 
    5656   INTEGER , PUBLIC ::   nhpg  =  0   ! = 0 to 7, type of pressure gradient scheme used ! (deduced from ln_hpg_... flags) (PUBLIC for TAM) 
     
    122122      !!---------------------------------------------------------------------- 
    123123      INTEGER ::   ioptio = 0      ! temporary integer 
     124      INTEGER ::   ios             ! Local integer output status for namelist read 
    124125      !! 
    125126      NAMELIST/namdyn_hpg/ ln_hpg_zco, ln_hpg_zps, ln_hpg_sco,     & 
     
    127128      !!---------------------------------------------------------------------- 
    128129      ! 
    129       REWIND( numnam )               ! Read Namelist namdyn_hpg 
    130       READ  ( numnam, namdyn_hpg ) 
     130      REWIND( numnam_ref )              ! Namelist namdyn_hpg in reference namelist : Hydrostatic pressure gradient 
     131      READ  ( numnam_ref, namdyn_hpg, IOSTAT = ios, ERR = 901) 
     132901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in reference namelist', lwp ) 
     133 
     134      REWIND( numnam_cfg )              ! Namelist namdyn_hpg in configuration namelist : Hydrostatic pressure gradient 
     135      READ  ( numnam_cfg, namdyn_hpg, IOSTAT = ios, ERR = 902 ) 
     136902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in configuration namelist', lwp ) 
     137      WRITE ( numond, namdyn_hpg ) 
    131138      ! 
    132139      IF(lwp) THEN                   ! Control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90

    r3723 r4147  
    4949 
    5050   !! * Namelist namdyn_nept variables 
    51    LOGICAL, PUBLIC  ::  ln_neptsimp        = .FALSE.  ! yes/no simplified neptune 
    52  
    53    LOGICAL          ::  ln_smooth_neptvel  = .FALSE.  ! yes/no smooth zunep, zvnep 
    54    REAL(wp)         ::  rn_tslse           =  1.2e4   ! value of lengthscale L at the equator 
    55    REAL(wp)         ::  rn_tslsp           =  3.0e3   ! value of lengthscale L at the pole 
     51   LOGICAL, PUBLIC  ::  ln_neptsimp          ! yes/no simplified neptune 
     52 
     53   LOGICAL          ::  ln_smooth_neptvel    ! yes/no smooth zunep, zvnep 
     54   REAL(wp)         ::  rn_tslse             ! value of lengthscale L at the equator 
     55   REAL(wp)         ::  rn_tslsp             ! value of lengthscale L at the pole 
    5656!! Specify whether to ramp down the Neptune velocity in shallow 
    5757!! water, and the depth range controlling such ramping down 
    58    LOGICAL          ::  ln_neptramp        = .FALSE.  ! ramp down Neptune velocity in shallow water 
    59    REAL(wp)         ::  rn_htrmin          =  100.0   ! min. depth of transition range 
    60    REAL(wp)         ::  rn_htrmax          =  200.0   ! max. depth of transition range 
     58   LOGICAL          ::  ln_neptramp          ! ramp down Neptune velocity in shallow water 
     59   REAL(wp)         ::  rn_htrmin            ! min. depth of transition range 
     60   REAL(wp)         ::  rn_htrmax            ! max. depth of transition range 
    6161 
    6262   !! * Module variables 
     
    114114      NAMELIST/namdyn_nept/ ln_neptsimp, ln_smooth_neptvel, rn_tslse, rn_tslsp,      & 
    115115                            ln_neptramp, rn_htrmin, rn_htrmax 
     116      INTEGER  ::   ios 
    116117      !!---------------------------------------------------------------------- 
    117118      ! Define the (simplified) Neptune parameters 
    118119      ! ========================================== 
    119120 
    120       REWIND( numnam )                  ! Read Namelist namdyn_nept:  Simplified Neptune 
    121       READ  ( numnam, namdyn_nept ) 
     121      REWIND( numnam_ref )              ! Namelist namdyn_nept in reference namelist : Simplified Neptune 
     122      READ  ( numnam_ref, namdyn_nept, IOSTAT = ios, ERR = 901) 
     123901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in reference namelist', lwp ) 
     124 
     125      REWIND( numnam_cfg )              ! Namelist namdyn_nept in reference namelist : Simplified Neptune 
     126      READ  ( numnam_cfg, namdyn_nept, IOSTAT = ios, ERR = 902 ) 
     127902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in configuration namelist', lwp ) 
     128      WRITE ( numond, namdyn_nept ) 
    122129 
    123130      IF(lwp) THEN                      ! Control print 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r3765 r4147  
    197197      CALL Agrif_dyn( kt )    ! Update velocities on each coarse/fine interfaces  
    198198#endif 
    199       IF( nn_cla == 1 )   CALL cla_dynspg( kt )      ! Cross Land Advection (update (ua,va)) 
     199      IF( nn_cla == 1 .AND. cp_cfg == 'orca' .AND. jp_cfg == 2 )   CALL cla_dynspg( kt )      ! Cross Land Advection (update (ua,va)) 
    200200 
    201201      ! compute the next vertically averaged velocity (effect of the additional force not included) 
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r3802 r4147  
    4545   PUBLIC   dyn_vor_init   ! routine called by opa.F90 
    4646 
    47    !                                             !!* Namelist namdyn_vor: vorticity term 
    48    LOGICAL, PUBLIC ::   ln_dynvor_ene = .FALSE.   !: energy conserving scheme 
    49    LOGICAL, PUBLIC ::   ln_dynvor_ens = .TRUE.    !: enstrophy conserving scheme 
    50    LOGICAL, PUBLIC ::   ln_dynvor_mix = .FALSE.   !: mixed scheme 
    51    LOGICAL, PUBLIC ::   ln_dynvor_een = .FALSE.   !: energy and enstrophy conserving scheme 
     47   !                                   !!* Namelist namdyn_vor: vorticity term 
     48   LOGICAL, PUBLIC ::   ln_dynvor_ene   !: energy conserving scheme 
     49   LOGICAL, PUBLIC ::   ln_dynvor_ens   !: enstrophy conserving scheme 
     50   LOGICAL, PUBLIC ::   ln_dynvor_mix   !: mixed scheme 
     51   LOGICAL, PUBLIC ::   ln_dynvor_een   !: energy and enstrophy conserving scheme 
    5252 
    5353   INTEGER ::   nvor = 0   ! type of vorticity trend used 
     
    710710      INTEGER ::   ioptio          ! local integer 
    711711      INTEGER ::   ji, jj, jk      ! dummy loop indices 
     712      INTEGER ::   ios             ! Local integer output status for namelist read 
    712713      !! 
    713714      NAMELIST/namdyn_vor/ ln_dynvor_ens, ln_dynvor_ene, ln_dynvor_mix, ln_dynvor_een 
    714715      !!---------------------------------------------------------------------- 
    715716 
    716       REWIND ( numnam )               ! Read Namelist namdyn_vor : Vorticity scheme options 
    717       READ   ( numnam, namdyn_vor ) 
     717      REWIND( numnam_ref )              ! Namelist namdyn_vor in reference namelist : Vorticity scheme options 
     718      READ  ( numnam_ref, namdyn_vor, IOSTAT = ios, ERR = 901) 
     719901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in reference namelist', lwp ) 
     720 
     721      REWIND( numnam_cfg )              ! Namelist namdyn_vor in configuration namelist : Vorticity scheme options 
     722      READ  ( numnam_cfg, namdyn_vor, IOSTAT = ios, ERR = 902 ) 
     723902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in configuration namelist', lwp ) 
     724      WRITE ( numond, namdyn_vor ) 
    718725 
    719726      IF(lwp) THEN                    ! Namelist print 
     
    721728         WRITE(numout,*) 'dyn_vor_init : vorticity term : read namelist and control the consistency' 
    722729         WRITE(numout,*) '~~~~~~~~~~~~' 
    723          WRITE(numout,*) '        Namelist namdyn_vor : oice of the vorticity term scheme' 
     730         WRITE(numout,*) '        Namelist namdyn_vor : choice of the vorticity term scheme' 
    724731         WRITE(numout,*) '           energy    conserving scheme                ln_dynvor_ene = ', ln_dynvor_ene 
    725732         WRITE(numout,*) '           enstrophy conserving scheme                ln_dynvor_ens = ', ln_dynvor_ens 
Note: See TracChangeset for help on using the changeset viewer.