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 5836 for trunk/NEMOGCM/NEMO/OPA_SRC/CRS – NEMO

Ignore:
Timestamp:
2015-10-26T15:49:40+01:00 (8 years ago)
Author:
cetlod
Message:

merge the simplification branch onto the trunk, see ticket #1612

Location:
trunk/NEMOGCM/NEMO/OPA_SRC/CRS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90

    r5217 r5836  
    1111   !!                       other variables needed to be passed to TOP 
    1212   !!---------------------------------------------------------------------- 
    13    USE oce             ! ocean dynamics and tracers  
    14    USE dom_oce         ! ocean space and time domain 
    15    USE ldftra_oce      ! ocean active tracers: lateral physics 
    16    USE sbc_oce         ! Surface boundary condition: ocean fields 
    17    USE zdf_oce         ! vertical  physics: ocean fields 
    18    USE zdfddm          ! vertical  physics: double diffusion 
    19    USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    20    USE in_out_manager  ! I/O manager 
    21    USE timing          ! preformance summary 
    22    USE wrk_nemo        ! working array 
    2313   USE crs 
    2414   USE crsdom 
    2515   USE crslbclnk 
    26    USE iom 
     16   USE oce             ! ocean dynamics and tracers  
     17   USE dom_oce         ! ocean space and time domain 
     18   USE sbc_oce         ! Surface boundary condition: ocean fields 
     19   USE zdf_oce         ! vertical  physics: ocean fields 
     20   USE ldftra          ! ocean active tracers: lateral diffusivity & EIV coefficients 
     21   USE zdfddm          ! vertical  physics: double diffusion 
     22   ! 
     23   USE in_out_manager  ! I/O manager 
     24   USE iom             !  
     25   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     26   USE timing          ! preformance summary 
     27   USE wrk_nemo        ! working array 
    2728 
    2829   IMPLICIT NONE 
     
    3031 
    3132   PUBLIC   crs_fld                 ! routines called by step.F90 
    32  
    3333 
    3434   !! * Substitutions 
     
    3737#  include "vectopt_loop_substitute.h90" 
    3838   !!---------------------------------------------------------------------- 
    39    !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     39   !! NEMO/OPA 3.7 , NEMO Consortium (2015) 
    4040   !! $Id$ 
    4141   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    5656      !! ** Method  :   
    5757      !!---------------------------------------------------------------------- 
    58       !! 
    59        
    60       INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
    61       !! 
    62       INTEGER               ::   ji, jj, jk              ! dummy loop indices 
    63       !! 
    64       REAL(wp), POINTER, DIMENSION(:,:,:) :: zfse3t, zfse3u, zfse3v, zfse3w ! 3D workspace for e3 
    65       REAL(wp), POINTER, DIMENSION(:,:,:) :: zt, zs  
    66       REAL(wp), POINTER, DIMENSION(:,:,:) :: zt_crs, zs_crs ! 
    67       REAL(wp)       :: z2dcrsu, z2dcrsv 
    68       !! 
    69        !!---------------------------------------------------------------------- 
     58      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     59      ! 
     60      INTEGER  ::   ji, jj, jk        ! dummy loop indices 
     61      REAL(wp) ::   z2dcrsu, z2dcrsv  ! local scalars 
     62      ! 
     63      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zfse3t, zfse3u, zfse3v, zfse3w   ! 3D workspace for e3 
     64      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zt, zt_crs 
     65      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zs, zs_crs   
     66      !!---------------------------------------------------------------------- 
    7067      !  
    71  
    7268      IF( nn_timing == 1 )   CALL timing_start('crs_fld') 
    7369 
    7470      !  Initialize arrays 
    75       CALL wrk_alloc( jpi, jpj, jpk, zfse3t, zfse3w ) 
    76       CALL wrk_alloc( jpi, jpj, jpk, zfse3u, zfse3v ) 
    77       CALL wrk_alloc( jpi, jpj, jpk, zt, zs       ) 
     71      CALL wrk_alloc( jpi,jpj,jpk,  zfse3t, zfse3w ) 
     72      CALL wrk_alloc( jpi,jpj,jpk,  zfse3u, zfse3v ) 
     73      CALL wrk_alloc( jpi,jpj,jpk,   zt    , zs     ) 
    7874      ! 
    7975      CALL wrk_alloc( jpi_crs, jpj_crs, jpk, zt_crs, zs_crs ) 
     
    169165      CALL iom_put( "eken", rke_crs ) 
    170166 
    171       !  Horizontal divergence ( following OPA_SRC/DYN/divcur.F90 )  
     167      !  Horizontal divergence ( following OPA_SRC/DYN/divhor.F90 )  
    172168      DO jk = 1, jpkm1 
    173169         DO ji = 2, jpi_crsm1 
  • trunk/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90

    r5215 r5836  
    77   !!---------------------------------------------------------------------- 
    88 
    9    USE timing                   ! Timing 
     9   !!---------------------------------------------------------------------- 
     10   !!  crs_init    :  
     11   !!---------------------------------------------------------------------- 
     12   USE par_kind, ONLY: wp 
    1013   USE par_oce                  ! For parameter jpi,jpj,jphgr_msh 
    1114   USE dom_oce                  ! For parameters in par_oce (jperio, lk_vvl) 
    12    USE crs                  ! Coarse grid domain 
     15   USE crs                      ! Coarse grid domain 
    1316   USE phycst, ONLY: omega, rad ! physical constants 
    14    USE wrk_nemo  
    15    USE in_out_manager 
    16    USE par_kind, ONLY: wp 
    17    USE iom 
    1817   USE crsdom 
    1918   USE crsdomwri 
    2019   USE crslbclnk 
     20   ! 
     21   USE iom 
     22   USE in_out_manager 
    2123   USE lib_mpp 
     24   USE wrk_nemo  
     25   USE timing                   ! Timing 
    2226 
    2327   IMPLICIT NONE 
    2428   PRIVATE 
    2529 
    26    PUBLIC  crs_init 
     30   PUBLIC   crs_init   ! called by nemogcm.F90 module 
    2731 
    2832   !! * Substitutions 
    2933#  include "domzgr_substitute.h90" 
    30  
     34   !!---------------------------------------------------------------------- 
    3135   !! $Id$ 
     36   !!---------------------------------------------------------------------- 
    3237CONTAINS 
    3338    
     
    6570      !!               - Read in pertinent data ? 
    6671      !!------------------------------------------------------------------- 
    67       !! Local variables 
    6872      INTEGER  :: ji,jj,jk      ! dummy indices 
    6973      INTEGER  :: ierr                                ! allocation error status 
     
    183187      
    184188     ! 
    185      CALL wrk_alloc(jpi, jpj, jpk, zfse3t, zfse3u, zfse3v, zfse3w ) 
     189     CALL wrk_alloc( jpi,jpj,jpk,  zfse3t, zfse3u, zfse3v, zfse3w ) 
    186190     ! 
    187191     zfse3t(:,:,:) = fse3t(:,:,:) 
     
    200204     !    3.d.3   Vertical scale factors 
    201205     ! 
    202     
    203    
    204206     CALL crs_dom_e3( e1t, e2t, zfse3t, e1e2w_crs, 'T', tmask, e3t_crs, e3t_max_crs) 
    205207     CALL crs_dom_e3( e1u, e2u, zfse3u, e2e3u_crs, 'U', umask, e3u_crs, e3u_max_crs) 
     
    207209     CALL crs_dom_e3( e1t, e2t, zfse3w, e1e2w_crs, 'W', tmask, e3w_crs, e3w_max_crs) 
    208210 
    209      ! Reset 0 to e3t_0 or e3w_0 
     211     ! Replace 0 by e3t_0 or e3w_0 
    210212     DO jk = 1, jpk 
    211213        DO ji = 1, jpi_crs 
     
    247249     ENDIF 
    248250      
    249      !--------------------------------------------------------- 
    250      ! 7. Finish and clean-up 
    251      !--------------------------------------------------------- 
    252      CALL wrk_dealloc(jpi, jpj, jpk, zfse3t, zfse3u, zfse3v, zfse3w ) 
    253  
    254  
     251      !--------------------------------------------------------- 
     252      ! 7. Finish and clean-up 
     253      !--------------------------------------------------------- 
     254      CALL wrk_dealloc( jpi,jpj,jpk,   zfse3t, zfse3u, zfse3v, zfse3w ) 
     255      ! 
    255256   END SUBROUTINE crs_init 
    256257     
    257258   !!====================================================================== 
    258  
    259259END MODULE crsini 
Note: See TracChangeset for help on using the changeset viewer.