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 7646 for trunk/NEMOGCM/NEMO/OPA_SRC/ZDF – NEMO

Ignore:
Timestamp:
2017-02-06T10:25:03+01:00 (7 years ago)
Author:
timgraham
Message:

Merge of dev_merge_2016 into trunk. UPDATE TO ARCHFILES NEEDED for XIOS2.
LIM_SRC_s/limrhg.F90 to follow in next commit due to change of kind (I'm unable to do it in this commit).
Merged using the following steps:

1) svn merge --reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk .
2) Resolve minor conflicts in sette.sh and namelist_cfg for ORCA2LIM3 (due to a change in trunk after branch was created)
3) svn commit
4) svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
5) svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2016/dev_merge_2016 .
6) At this stage I checked out a clean copy of the branch to compare against what is about to be committed to the trunk.
6) svn commit #Commit code to the trunk

In this commit I have also reverted a change to Fcheck_archfile.sh which was causing problems on the Paris machine.

Location:
trunk/NEMOGCM/NEMO/OPA_SRC/ZDF
Files:
7 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdf_oce.F90

    r5836 r7646  
    3535   INTEGER , PUBLIC ::   nn_npc      !: non penetrative convective scheme call  frequency 
    3636   INTEGER , PUBLIC ::   nn_npcp     !: non penetrative convective scheme print frequency 
     37   LOGICAL , PUBLIC ::   ln_zdfqiao  !: Enhanced wave vertical mixing Qiao(2010) formulation flag 
    3738 
    3839 
  • trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90

    r6140 r7646  
    9999      ! 
    100100      IF( nn_timing == 1 )  CALL timing_start('zdf_bfr') 
    101       ! 
    102       IF( kt == nit000 .AND. lwp ) THEN 
    103          WRITE(numout,*) 
    104          WRITE(numout,*) 'zdf_bfr : Set bottom friction coefficient (non-linear case)' 
    105          WRITE(numout,*) '~~~~~~~~' 
    106       ENDIF 
    107101      ! 
    108102      IF( nn_bfr == 2 ) THEN                 ! quadratic bottom friction only 
     
    259253      IF(lwp) WRITE(numout,*) 
    260254      IF(lwp) WRITE(numout,*) 'zdf_bfr_init : momentum bottom friction' 
    261       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 
     255      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    262256      IF(lwp) WRITE(numout,*) '   Namelist nam_bfr : set bottom friction parameters' 
    263257      ! 
     
    266260      CASE( 0 ) 
    267261         IF(lwp) WRITE(numout,*) '      free-slip ' 
    268          bfrua(:,:) = 0.e0 
    269          bfrva(:,:) = 0.e0 
    270          tfrua(:,:) = 0.e0 
    271          tfrva(:,:) = 0.e0 
     262         bfrua(:,:) = 0._wp 
     263         bfrva(:,:) = 0._wp 
     264         tfrua(:,:) = 0._wp 
     265         tfrva(:,:) = 0._wp 
    272266         ! 
    273267      CASE( 1 ) 
     
    321315         IF(lwp) WRITE(numout,*) '      log formulation   ln_bfr2d = ', ln_loglayer 
    322316         IF(lwp) WRITE(numout,*) '      bottom roughness  rn_bfrz0 [m] = ', rn_bfrz0 
    323          IF( rn_bfrz0<=0.e0 ) THEN 
     317         IF( rn_bfrz0 <= 0._wp ) THEN 
    324318            WRITE(ctmp1,*) '      bottom roughness must be strictly positive' 
    325319            CALL ctl_stop( ctmp1 ) 
     
    336330            IF(lwp) WRITE(numout,*) '      log formulation   ln_tfr2d     = ', ln_loglayer 
    337331            IF(lwp) WRITE(numout,*) '      top roughness     rn_tfrz0 [m] = ', rn_tfrz0 
    338             IF( rn_tfrz0<=0.e0 ) THEN 
     332            IF( rn_tfrz0 <= 0._wp ) THEN 
    339333               WRITE(ctmp1,*) '      top roughness must be strictly positive' 
    340334               CALL ctl_stop( ctmp1 ) 
  • trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90

    r6140 r7646  
    1717   USE dom_oce         ! ocean space and time domain variables 
    1818   USE zdf_oce         ! ocean vertical physics variables 
     19   USE trd_oce         ! trends: ocean variables 
     20   USE trdtra          ! trends manager: tracers  
    1921   ! 
    2022   USE in_out_manager  ! I/O manager 
     
    111113      zavt_evd(:,:,:) = avt(:,:,:) - zavt_evd(:,:,:)   ! change in avt due to evd 
    112114      CALL iom_put( "avt_evd", zavt_evd )              ! output this change 
     115      IF( l_trdtra ) CALL trd_tra( kt, 'TRA', jp_tem, jptra_evd, zavt_evd ) 
    113116      ! 
    114117      CALL wrk_dealloc( jpi,jpj,jpk,   zavt_evd, zavm_evd )  
  • trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r6140 r7646  
    2424   USE phycst         ! physical constants 
    2525   USE zdfmxl         ! mixed layer 
     26   USE sbcwave ,  ONLY: hsw   ! significant wave height 
     27   ! 
    2628   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    2729   USE lib_mpp        ! MPP manager 
     
    194196         zdep(:,:)  = 30.*TANH(2.*0.3/(28.*SQRT(MAX(ustars2(:,:),rsmall))))             ! Wave age (eq. 10) 
    195197         zhsro(:,:) = MAX(rsbc_zs2 * ustars2(:,:) * zdep(:,:)**1.5, rn_hsro) ! zhsro = rn_frac_hs * Hsw (eq. 11) 
    196       ! 
     198      CASE ( 3 )             ! Roughness given by the wave model (coupled or read in file) 
     199         zhsro(:,:) = hsw(:,:) 
    197200      END SELECT 
    198201 
     
    896899 
    897900      !                                !* Check of some namelist values 
    898       IF( nn_bc_surf < 0 .OR. nn_bc_surf > 1 ) CALL ctl_stop( 'bad flag: nn_bc_surf is 0 or 1' ) 
    899       IF( nn_bc_surf < 0 .OR. nn_bc_surf > 1 ) CALL ctl_stop( 'bad flag: nn_bc_surf is 0 or 1' ) 
    900       IF( nn_z0_met < 0 .OR. nn_z0_met > 2 ) CALL ctl_stop( 'bad flag: nn_z0_met is 0, 1 or 2' ) 
    901       IF( nn_stab_func  < 0 .OR. nn_stab_func  > 3 ) CALL ctl_stop( 'bad flag: nn_stab_func is 0, 1, 2 and 3' ) 
    902       IF( nn_clos       < 0 .OR. nn_clos       > 3 ) CALL ctl_stop( 'bad flag: nn_clos is 0, 1, 2 or 3' ) 
     901      IF( nn_bc_surf < 0 .OR. nn_bc_surf > 1 ) CALL ctl_stop( 'zdf_gls_init: bad flag: nn_bc_surf is 0 or 1' ) 
     902      IF( nn_bc_surf < 0 .OR. nn_bc_surf > 1 ) CALL ctl_stop( 'zdf_gls_init: bad flag: nn_bc_surf is 0 or 1' ) 
     903      IF( nn_z0_met < 0 .OR. nn_z0_met > 3 ) CALL ctl_stop( 'zdf_gls_init: bad flag: nn_z0_met is 0, 1, 2 or 3' ) 
     904      IF( nn_z0_met == 3 .AND. .NOT.ln_wave ) CALL ctl_stop( 'zdf_gls_init: nn_z0_met=3 requires ln_wave=T' ) 
     905      IF( nn_stab_func  < 0 .OR. nn_stab_func  > 3 ) CALL ctl_stop( 'zdf_gls_init: bad flag: nn_stab_func is 0, 1, 2 and 3' ) 
     906      IF( nn_clos       < 0 .OR. nn_clos       > 3 ) CALL ctl_stop( 'zdf_gls_init: bad flag: nn_clos is 0, 1, 2 or 3' ) 
    903907 
    904908      SELECT CASE ( nn_clos )          !* set the parameters for the chosen closure 
  • trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfini.F90

    r5836 r7646  
    5151      INTEGER ::   ioptio, ios       ! local integers 
    5252      !! 
    53       NAMELIST/namzdf/ rn_avm0, rn_avt0, nn_avb, nn_havtb, ln_zdfexp, nn_zdfexp,   & 
    54          &              ln_zdfevd, nn_evdm, rn_avevd, ln_zdfnpc, nn_npc, nn_npcp 
     53      NAMELIST/namzdf/ rn_avm0, rn_avt0, nn_avb, nn_havtb, ln_zdfexp, nn_zdfexp,  & 
     54         &        ln_zdfevd, nn_evdm, rn_avevd, ln_zdfnpc, nn_npc, nn_npcp,       & 
     55         &        ln_zdfqiao 
    5556      !!---------------------------------------------------------------------- 
    5657 
     
    6667      IF(lwp) THEN               !* Parameter print 
    6768         WRITE(numout,*) 
    68          WRITE(numout,*) 'zdf_init: vertical physics' 
     69         WRITE(numout,*) 'zdf_init : vertical physics' 
    6970         WRITE(numout,*) '~~~~~~~~' 
    7071         WRITE(numout,*) '   Namelist namzdf : set vertical mixing mixing parameters' 
     
    8182         WRITE(numout,*) '      npc call  frequency                 nn_npc    = ', nn_npc 
    8283         WRITE(numout,*) '      npc print frequency                 nn_npcp   = ', nn_npcp 
     84         WRITE(numout,*) '      Qiao formulation flag               ln_zdfqiao=', ln_zdfqiao 
    8385      ENDIF 
    8486 
  • trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90

    r6352 r7646  
    1313   USE oce             ! ocean dynamics and tracers variables 
    1414   USE dom_oce         ! ocean space and time domain variables 
     15   USE trc_oce, ONLY: l_offline         ! ocean space and time domain variables 
    1516   USE zdf_oce         ! ocean vertical physics 
    1617   USE in_out_manager  ! I/O manager 
     
    2122   USE wrk_nemo        ! work arrays 
    2223   USE timing          ! Timing 
    23    USE trc_oce, ONLY : lk_offline ! offline flag 
    2424 
    2525   IMPLICIT NONE 
     
    128128         END DO 
    129129      END DO 
    130       ! no need to output in offline mode 
    131       IF( .NOT.lk_offline ) THEN    
    132          IF ( iom_use("mldr10_1") ) THEN 
    133             IF( ln_isfcav ) THEN 
    134                CALL iom_put( "mldr10_1", hmlp - risfdep)   ! mixed layer thickness 
    135             ELSE 
    136                CALL iom_put( "mldr10_1", hmlp )            ! mixed layer depth 
     130      ! 
     131      IF( .NOT.l_offline ) THEN 
     132         IF( iom_use("mldr10_1") ) THEN 
     133            IF( ln_isfcav ) THEN  ;  CALL iom_put( "mldr10_1", hmlp - risfdep)   ! mixed layer thickness 
     134            ELSE                  ;  CALL iom_put( "mldr10_1", hmlp )            ! mixed layer depth 
    137135            END IF 
    138136         END IF 
    139          IF ( iom_use("mldkz5") ) THEN 
    140             IF( ln_isfcav ) THEN 
    141                CALL iom_put( "mldkz5"  , hmld - risfdep )   ! turbocline thickness 
    142             ELSE 
    143                CALL iom_put( "mldkz5"  , hmld )             ! turbocline depth 
     137         IF( iom_use("mldkz5") ) THEN 
     138            IF( ln_isfcav ) THEN  ;  CALL iom_put( "mldkz5"  , hmld - risfdep )   ! turbocline thickness 
     139            ELSE                  ;  CALL iom_put( "mldkz5"  , hmld )             ! turbocline depth 
    144140            END IF 
    145          END IF 
     141         ENDIF 
    146142      ENDIF 
    147143       
  • trunk/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90

    r7048 r7646  
    205205         DO jj = 2, jpjm1 
    206206            DO ji = fs_2, fs_jpim1 
    207                IF( fsdept(ji,jj,jk) < ekm_dep(ji,jj) ) THEN 
     207               IF( gdept_n(ji,jj,jk) < ekm_dep(ji,jj) ) THEN 
    208208                  avmv(ji,jj,jk) = MAX( avmv(ji,jj,jk), rn_wvmix ) 
    209209                  avmu(ji,jj,jk) = MAX( avmu(ji,jj,jk), rn_wvmix ) 
Note: See TracChangeset for help on using the changeset viewer.