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 7069 for branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2016-10-21T19:24:28+02:00 (8 years ago)
Author:
clem
Message:

agrif+lim3 update + trunk update

Location:
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90

    r6796 r7069  
    451451         e1v(:,:) =  ze1     ;      e2v(:,:) = ze1 
    452452         e1f(:,:) =  ze1     ;      e2f(:,:) = ze1 
     453 
     454      CASE ( 6 )                   ! clem: f-plane with irregular grid-spacing 
     455 
     456         IF(lwp) WRITE(numout,*) 
     457         IF(lwp) WRITE(numout,*) '          f-plane with irregular grid-spacing (+- 10%)' 
     458         IF(lwp) WRITE(numout,*) '          the max is given by ppe1_m and ppe2_m'  
     459 
     460         ! Position coordinates (in kilometers) 
     461         !                          ========== 
     462         glam0 = 0._wp 
     463         gphi0 = 0._wp 
     464          
     465         DO jj = 1, jpj 
     466            DO ji = 1, jpi 
     467               zti = FLOAT( ji - 1 + nimpp - 1 )         ;   ztj = FLOAT( jj - 1 + njmpp - 1 ) 
     468               zui = FLOAT( ji - 1 + nimpp - 1 ) + 0.5   ;   zuj = FLOAT( jj - 1 + njmpp - 1 ) 
     469               zvi = FLOAT( ji - 1 + nimpp - 1 )         ;   zvj = FLOAT( jj - 1 + njmpp - 1 ) + 0.5 
     470               zfi = FLOAT( ji - 1 + nimpp - 1 ) + 0.5   ;   zfj = FLOAT( jj - 1 + njmpp - 1 ) + 0.5 
     471 
     472               glamt(ji,jj) = glam0 + ppe1_m * 1.e-5 * zti 
     473               glamu(ji,jj) = glam0 + ppe1_m * 1.e-5 * zui 
     474               glamv(ji,jj) = glam0 + ppe1_m * 1.e-5 * zvi 
     475               glamf(ji,jj) = glam0 + ppe1_m * 1.e-5 * zfi 
     476    
     477               gphit(ji,jj) = gphi0 + ppe2_m * 1.e-5 * ztj 
     478               gphiu(ji,jj) = gphi0 + ppe2_m * 1.e-5 * zuj 
     479               gphiv(ji,jj) = gphi0 + ppe2_m * 1.e-5 * zvj 
     480               gphif(ji,jj) = gphi0 + ppe2_m * 1.e-5 * zfj 
     481            END DO 
     482         END DO 
     483          
     484         ! Horizontal scale factors (in meters) 
     485         !                              ====== 
     486         DO jj = 1, jpj 
     487            DO ji = 1, jpi 
     488               e1t(ji,jj) = ppe1_m * EXP(-0.8/REAL(jpiglo**2)*(mi0(ji)-REAL(jpiglo+1)*0.5)**2) 
     489               e2t(ji,jj) = ppe2_m * EXP(-0.8/REAL(jpjglo**2)*(mj0(jj)-REAL(jpjglo+1)*0.5)**2) 
     490            END DO 
     491         END DO 
     492         e1u(:,:) = e1t(:,:)      ;      e2u(:,:) = e2t(:,:) 
     493         e1v(:,:) = e1t(:,:)      ;      e2v(:,:) = e2t(:,:) 
     494         e1f(:,:) = e1t(:,:)      ;      e2f(:,:) = e2t(:,:) 
    453495 
    454496      CASE DEFAULT 
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r6861 r7069  
    135135      ! Build the vertical coordinate system 
    136136      ! ------------------------------------ 
     137#if defined key_sas2D 
     138      WRITE(numout,*) ' domzgr: we use SAS2D (i.e. no ocean) with jpk=',jpk 
     139      mbathy(:,:) = 1   ;   bathy(:,:) = rn_hmin 
     140 
     141      gdept_0 (:,:,:) = rn_hmin 
     142      gdepw_0 (:,:,:) = rn_hmin   ;   gdep3w_0(:,:,:) = rn_hmin 
     143      gdept_1d(:)     = rn_hmin   ;   gdepw_1d(:)     = rn_hmin 
     144 
     145      e3t_0 (:,:,:) = rn_hmin 
     146      e3u_0 (:,:,:) = rn_hmin   ;   e3v_0 (:,:,:) = rn_hmin 
     147      e3f_0 (:,:,:) = rn_hmin   ;   e3w_0 (:,:,:) = rn_hmin 
     148      e3uw_0(:,:,:) = rn_hmin   ;   e3vw_0(:,:,:) = rn_hmin 
     149      e3t_1d(:)     = rn_hmin   ;   e3w_1d(:)     = rn_hmin 
     150 
     151      mikt(:,:) = 1   ;   mikv(:,:) = 1 
     152      miku(:,:) = 1   ;   mikf(:,:) = 1 
     153#else 
    137154                          CALL zgr_z            ! Reference z-coordinate system (always called) 
    138155                          CALL zgr_bat          ! Bathymetry fields (levels and meters) 
     
    154171      END IF 
    155172      ! 
     173#endif 
     174       
    156175      IF( nprint == 1 .AND. lwp )   THEN 
    157176         WRITE(numout,*) ' MIN val mbathy ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 
     
    174193      ! 
    175194   END SUBROUTINE dom_zgr 
    176  
    177195 
    178196   SUBROUTINE zgr_z 
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r6315 r7069  
    102102#endif 
    103103      CHARACTER(len=10)   :: clname 
    104       INTEGER             :: ji 
     104      INTEGER             :: ji, jkmin 
    105105      ! 
    106106      REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: z_bnds 
     
    190190 
    191191      ! Add vertical grid bounds 
     192      jkmin = MIN(2,jpk)  ! in case jpk=1 (i.e. sas2D) 
    192193#if ! defined key_xios2 
    193194      z_bnds(:      ,1) = gdepw_1d(:) 
    194       z_bnds(1:jpkm1,2) = gdepw_1d(2:jpk) 
     195      z_bnds(1:jpkm1,2) = gdepw_1d(jkmin:jpk) 
    195196      z_bnds(jpk:   ,2) = gdepw_1d(jpk) + e3t_1d(jpk) 
    196197#else 
    197198      z_bnds(1      ,:) = gdepw_1d(:) 
    198       z_bnds(2,1:jpkm1) = gdepw_1d(2:jpk) 
     199      z_bnds(2,1:jpkm1) = gdepw_1d(jkmin:jpk) 
    199200      z_bnds(2,jpk:   ) = gdepw_1d(jpk) + e3t_1d(jpk) 
    200201#endif 
     
    205206 
    206207#if ! defined key_xios2 
    207       z_bnds(:    ,2) = gdept_1d(:) 
    208       z_bnds(2:jpk,1) = gdept_1d(1:jpkm1) 
    209       z_bnds(1    ,1) = gdept_1d(1) - e3w_1d(1) 
    210 #else 
    211       z_bnds(2,:    ) = gdept_1d(:) 
    212       z_bnds(1,2:jpk) = gdept_1d(1:jpkm1) 
    213       z_bnds(1,1    ) = gdept_1d(1) - e3w_1d(1) 
     208      z_bnds(:        ,2) = gdept_1d(:) 
     209      z_bnds(jkmin:jpk,1) = gdept_1d(1:jpkm1) 
     210      z_bnds(1        ,1) = gdept_1d(1) - e3w_1d(1) 
     211#else 
     212      z_bnds(2,:        ) = gdept_1d(:) 
     213      z_bnds(1,jkmin:jpk) = gdept_1d(1:jpkm1) 
     214      z_bnds(1,1        ) = gdept_1d(1) - e3w_1d(1) 
    214215#endif 
    215216      CALL iom_set_axis_attr( "depthw", bounds=z_bnds ) 
    216  
    217217 
    218218# if defined key_floats 
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90

    r4624 r7069  
    162162                  &                               + avmv(ji,jj,jk) + avmv(ji,jj-1,jk)  )   & 
    163163                  &          + avtb(jk) * tmask(ji,jj,jk) 
    164                !                                            ! Add the background coefficient on eddy viscosity 
     164            END DO 
     165         END DO 
     166         DO jj = 2, jpjm1                                   ! Add the background coefficient on eddy viscosity 
     167            DO ji = 2, jpim1 
    165168               avmu(ji,jj,jk) = avmu(ji,jj,jk) + avmb(jk) * umask(ji,jj,jk) 
    166169               avmv(ji,jj,jk) = avmv(ji,jj,jk) + avmb(jk) * vmask(ji,jj,jk) 
Note: See TracChangeset for help on using the changeset viewer.