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

Changeset 9256


Ignore:
Timestamp:
2018-01-17T16:17:04+01:00 (6 years ago)
Author:
gm
Message:

dev_merge_2017 : HPC09_ZDF: drag finalization (2): delete dynbfr module + remove a circular dependency

Location:
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trddyn.F90

    r9119 r9256  
    1818   USE sbc_oce        ! surface boundary condition: ocean 
    1919   USE zdf_oce        ! ocean vertical physics: variables 
    20    USE zdfdrg         ! ocean vertical physics: bottom friction 
     20!!gm   USE zdfdrg         ! ocean vertical physics: bottom friction 
    2121   USE trd_oce        ! trends: ocean variables 
    2222   USE trdken         ! trends: Kinetic ENergy  
     
    147147                              CALL iom_put( "vtrd_tau", z2dy ) 
    148148                              DEALLOCATE( z2dx , z2dy ) 
    149                               !                                    ! bottom stress tends (implicit case) 
    150                               IF( ln_drgimp ) THEN 
    151                                  ALLOCATE( z3dx(jpi,jpj,jpk) , z3dy(jpi,jpj,jpk) ) 
    152                              z3dx(:,:,:) = 0._wp   ;   z3dy(:,:,:) = 0._wp  ! after velocity known (now filed at this stage) 
    153                             DO jk = 1, jpkm1 
    154                                     DO jj = 2, jpjm1 
    155                                        DO ji = 2, jpim1 
    156                                       ikbu = mbku(ji,jj)          ! deepest ocean u- & v-levels 
    157                                           ikbv = mbkv(ji,jj) 
    158                                           z3dx(ji,jj,jk) = 0.5 * ( rCdU_bot(ji+1,jj) + rCdU_bot(ji,jj) ) &  
    159                                                &         * un(ji,jj,ikbu) / e3u_n(ji,jj,ikbu) 
    160                                           z3dy(ji,jj,jk) = 0.5 * ( rCdU_bot(ji,jj+1) + rCdU_bot(ji,jj) ) & 
    161                                                &         * vn(ji,jj,ikbv) / e3v_n(ji,jj,ikbv) 
    162                                     END DO 
    163                                  END DO 
    164                               END DO 
    165                               CALL lbc_lnk_multi( z3dx, 'U', -1., z3dy, 'V', -1. ) 
    166                               CALL iom_put( "utrd_bfr", z3dx ) 
    167                               CALL iom_put( "vtrd_bfr", z3dy ) 
    168                                  DEALLOCATE( z3dx , z3dy ) 
    169                               ENDIF 
     149!!gm  to be changed : computation should be done in dynzdf.F90 
     150!!gm                + missing the top friction  
     151!                              !                                    ! bottom stress tends (implicit case) 
     152!                              IF( ln_drgimp ) THEN 
     153!                                 ALLOCATE( z3dx(jpi,jpj,jpk) , z3dy(jpi,jpj,jpk) ) 
     154!                             z3dx(:,:,:) = 0._wp   ;   z3dy(:,:,:) = 0._wp  ! after velocity known (now filed at this stage) 
     155!                            DO jk = 1, jpkm1 
     156!                                    DO jj = 2, jpjm1 
     157!                                       DO ji = 2, jpim1 
     158!                                      ikbu = mbku(ji,jj)          ! deepest ocean u- & v-levels 
     159!                                          ikbv = mbkv(ji,jj) 
     160!                                          z3dx(ji,jj,jk) = 0.5 * ( rCdU_bot(ji+1,jj) + rCdU_bot(ji,jj) ) &  
     161!                                               &         * un(ji,jj,ikbu) / e3u_n(ji,jj,ikbu) 
     162!                                          z3dy(ji,jj,jk) = 0.5 * ( rCdU_bot(ji,jj+1) + rCdU_bot(ji,jj) ) & 
     163!                                               &         * vn(ji,jj,ikbv) / e3v_n(ji,jj,ikbv) 
     164!                                    END DO 
     165!                                 END DO 
     166!                              END DO 
     167!                              CALL lbc_lnk_multi( z3dx, 'U', -1., z3dy, 'V', -1. ) 
     168!                              CALL iom_put( "utrd_bfr", z3dx ) 
     169!                              CALL iom_put( "vtrd_bfr", z3dy ) 
     170!                                 DEALLOCATE( z3dx , z3dy ) 
     171!                              ENDIF 
     172!!gm end 
    170173      CASE( jpdyn_bfr )       ! called if ln_drgimp=F 
    171174                              CALL iom_put( "utrd_bfr", putrd )    ! bottom friction (explicit case) 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdglo.F90

    r9019 r9256  
    2222   USE ldfdyn         ! ocean dynamics: lateral physics 
    2323   USE zdf_oce        ! ocean vertical physics 
    24    USE zdfdrg         ! ocean vertical physics: bottom friction 
     24!!gm   USE zdfdrg         ! ocean vertical physics: bottom friction 
    2525   USE zdfddm         ! ocean vertical physics: double diffusion 
    2626   USE eosbn2         ! equation of state 
     
    146146            ENDIF 
    147147            !                        
    148             IF( ktrd == jpdyn_atf ) THEN     ! last trend (asselin time filter) 
    149                ! 
    150                IF( ln_drgimp ) THEN                   ! implicit drag case: compute separately the bottom friction  
    151                   z1_2rau0 = 0.5_wp / rau0 
    152                   DO jj = 1, jpjm1 
    153                      DO ji = 1, jpim1 
    154                         ikbu = mbku(ji,jj)                  ! deepest ocean u- & v-levels 
    155                         ikbv = mbkv(ji,jj) 
    156                         zvt = 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * un(ji,jj,ikbu) * e1e2u(ji,jj) 
    157                         zvs = 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) * vn(ji,jj,ikbv) * e1e2v(ji,jj) 
    158                         umo(jpdyn_bfri) = umo(jpdyn_bfri) + zvt 
    159                         vmo(jpdyn_bfri) = vmo(jpdyn_bfri) + zvs 
    160                         hke(jpdyn_bfri) = hke(jpdyn_bfri) + un(ji,jj,ikbu) * zvt + vn(ji,jj,ikbv) * zvs 
    161                      END DO 
    162                   END DO 
    163                ENDIF 
     148!!gm  miss placed calculation   ===>>>> to be done in dynzdf.F90 
     149!            IF( ktrd == jpdyn_atf ) THEN     ! last trend (asselin time filter) 
     150!               ! 
     151!               IF( ln_drgimp ) THEN                   ! implicit drag case: compute separately the bottom friction  
     152!                  z1_2rau0 = 0.5_wp / rau0 
     153!                  DO jj = 1, jpjm1 
     154!                     DO ji = 1, jpim1 
     155!                        ikbu = mbku(ji,jj)                  ! deepest ocean u- & v-levels 
     156!                        ikbv = mbkv(ji,jj) 
     157!                        zvt = 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * un(ji,jj,ikbu) * e1e2u(ji,jj) 
     158!                        zvs = 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) * vn(ji,jj,ikbv) * e1e2v(ji,jj) 
     159!                        umo(jpdyn_bfri) = umo(jpdyn_bfri) + zvt 
     160!                        vmo(jpdyn_bfri) = vmo(jpdyn_bfri) + zvs 
     161!                        hke(jpdyn_bfri) = hke(jpdyn_bfri) + un(ji,jj,ikbu) * zvt + vn(ji,jj,ikbv) * zvs 
     162!                     END DO 
     163!                  END DO 
     164!               ENDIF 
     165! 
    164166!!gm top drag case is missing  
    165                !  
    166                CALL glo_dyn_wri( kt )                 ! print the results in ocean.output 
    167                !                 
    168                umo(:) = 0._wp                         ! reset for the next time step 
    169                vmo(:) = 0._wp 
    170                hke(:) = 0._wp 
    171                ! 
    172             ENDIF 
     167! 
     168!               !  
     169!               CALL glo_dyn_wri( kt )                 ! print the results in ocean.output 
     170!               !                 
     171!               umo(:) = 0._wp                         ! reset for the next time step 
     172!               vmo(:) = 0._wp 
     173!               hke(:) = 0._wp 
     174!               ! 
     175!            ENDIF 
     176!!gm end 
    173177            ! 
    174178         END SELECT 
     
    277281            &      + vmo(jpdyn_bfr) + vmo(jpdyn_atf) ) / tvolv 
    278282            WRITE (numout,9513) umo(jpdyn_tau) / tvolu, vmo(jpdyn_tau) / tvolv 
    279             IF( ln_drgimp )   WRITE (numout,9514) umo(jpdyn_bfri) / tvolu, vmo(jpdyn_bfri) / tvolv 
     283!!gm            IF( ln_drgimp )   WRITE (numout,9514) umo(jpdyn_bfri) / tvolu, vmo(jpdyn_bfri) / tvolv 
    280284         ENDIF 
    281285 
     
    316320            &      + hke(jpdyn_bfr) + hke(jpdyn_atf) ) / tvolt 
    317321            WRITE (numout,9533) hke(jpdyn_tau) / tvolt 
    318             IF( ln_drgimp )   WRITE (numout,9534) hke(jpdyn_bfri) / tvolt 
     322!!gm            IF( ln_drgimp )   WRITE (numout,9534) hke(jpdyn_bfri) / tvolt 
    319323         ENDIF 
    320324 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90

    r9097 r9256  
    1616   USE sbc_oce        ! surface boundary condition: ocean 
    1717   USE zdf_oce        ! ocean vertical physics variables 
    18    USE zdfdrg         ! ocean vertical physics: bottom friction 
     18!!gm   USE zdfdrg         ! ocean vertical physics: bottom friction 
    1919   USE ldftra         ! ocean active tracers lateral physics 
    2020   USE trd_oce        ! trends: ocean variables 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl.F90

    r9168 r9256  
    773773         WRITE(numout,*) '                N.B. the nitend parameter is also constrained to be a     ' 
    774774         WRITE(numout,*) '                     multiple of the nn_fsbc parameter ' 
    775          nstop = nstop + 1 
     775         CALL ctl_stop( 'trd_mxl_init: see comment just above' ) 
    776776      END IF 
    777777 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfdrg.F90

    r9250 r9256  
    5454   REAL(wp)         ::   rn_ke0       !: background kinetic energy (non-linear case)                [m2/s2] 
    5555   LOGICAL          ::   ln_boost     !: =T regional boost of Cd0 ; =F Cd0 horizontally uniform 
    56    REAL(wp)         ::     rn_boost      !: local boost factor                                       [ - ] 
     56   REAL(wp)         ::   rn_boost     !: local boost factor                                         [ - ] 
    5757 
    5858   REAL(wp), PUBLIC ::   r_Cdmin_top, r_Cdmax_top, r_z0_top, r_ke0_top   ! set from namdrg_top namelist values 
Note: See TracChangeset for help on using the changeset viewer.