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 642 for trunk/NEMO/OPA_SRC/DOM – NEMO

Changeset 642 for trunk/NEMO/OPA_SRC/DOM


Ignore:
Timestamp:
2007-03-15T12:17:58+01:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_bugfix_028 : CT : correction to be able to compile without compilation stop when using key_zco cpp key

Location:
trunk/NEMO/OPA_SRC/DOM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/domvvl.F90

    r592 r642  
    3232   PUBLIC dom_vvl_ssh    ! called by trazdf.F90 
    3333   PUBLIC dom_vvl        ! called by istate.F90 and step.F90 
     34   PUBLIC sfe3ini        !  
     35   PUBLIC sfe3           !  
    3436 
    3537   !! * Module variables 
     
    299301   END SUBROUTINE dom_vvl_ssh 
    300302 
     303   FUNCTION sfe3( zssh, gridp ) 
     304      !!---------------------------------------------------------------------- 
     305      !!                ***  ROUTINE sfe3  *** 
     306      !!                    
     307      !! ** Purpose :  compute vertical scale factor at each time step 
     308      !!---------------------------------------------------------------------- 
     309      !! * Arguments 
     310      CHARACTER(LEN=1)                , INTENT( in ) :: gridp   ! grid point type 
     311      REAL(wp), DIMENSION(jpi,jpj)    , INTENT( in ) :: zssh    ! 2D workspace 
     312      REAL(wp), DIMENSION(jpi,jpj,jpk)               :: sfe3    ! 3D workspace 
     313 
     314      !! * Local declarations 
     315      INTEGER  ::   jk                                      ! dummy loop indices 
     316      !!---------------------------------------------------------------------- 
     317 
     318      SELECT CASE (gridp) 
     319 
     320      CASE ('U') 
     321         ! 
     322         DO jk = 1, jpk 
     323            sfe3(:,:,jk)  = fsve3u(:,:,jk) * ( 1 + zssh(:,:) * muu(:,:,jk) ) 
     324         ENDDO 
     325 
     326      CASE ('V') 
     327         ! 
     328         DO jk = 1, jpk 
     329            sfe3(:,:,jk)  = fsve3v(:,:,jk) * ( 1 + zssh(:,:) * muv(:,:,jk) ) 
     330         ENDDO 
     331 
     332      CASE ('T') 
     333         ! 
     334         DO jk = 1, jpk 
     335            sfe3(:,:,jk)  = fsve3t(:,:,jk) * ( 1 + zssh(:,:) * mut(:,:,jk) ) 
     336         ENDDO 
     337 
     338      END SELECT 
     339 
     340      END FUNCTION sfe3 
     341 
     342   FUNCTION sfe3ini( gridp ) 
     343      !!---------------------------------------------------------------------- 
     344      !!                ***  ROUTINE sfe3  *** 
     345      !!                    
     346      !! ** Purpose :  affect the appropriate vertical scale factor. It is done 
     347      !!               to avoid compiling error when using key_zco cpp key 
     348      !!---------------------------------------------------------------------- 
     349      !! * Arguments 
     350      CHARACTER(LEN=1)                , INTENT( in ) :: gridp      ! grid point type 
     351      REAL(wp), DIMENSION(jpi,jpj,jpk)               :: sfe3ini    ! 3D workspace 
     352      !!---------------------------------------------------------------------- 
     353 
     354      SELECT CASE (gridp) 
     355 
     356      CASE ('U') 
     357         ! 
     358         sfe3ini(:,:,:)  = fse3u(:,:,:) 
     359 
     360      CASE ('V') 
     361         ! 
     362         sfe3ini(:,:,:)  = fse3v(:,:,:) 
     363 
     364      CASE ('T') 
     365         ! 
     366         sfe3ini(:,:,:)  = fse3t(:,:,:) 
     367 
     368      END SELECT 
     369 
     370      END FUNCTION sfe3ini 
    301371#else 
    302372   !!---------------------------------------------------------------------- 
     
    312382      WRITE(*,*) 'dom_vvl_ssh: You should not have seen this print! error?', kt 
    313383   END SUBROUTINE dom_vvl_ssh 
     384   FUNCTION sfe3( zssh, gridp )  
     385      !! * Arguments 
     386      CHARACTER(LEN=1)                , INTENT( in ) :: gridp   ! grid point type 
     387      REAL(wp), DIMENSION(jpi,jpj)    , INTENT( in ) :: zssh    ! 2D workspace 
     388      REAL(wp), DIMENSION(jpi,jpj,jpk)               :: sfe3    ! 3D workspace 
     389      sfe3(:,:,:) = 0.e0 
     390      WRITE(*,*) 'sfe3: You should not have seen this print! error?', gridp 
     391      WRITE(*,*) 'sfe3: You should not have seen this print! error?', zssh(1,1) 
     392   END FUNCTION sfe3 
     393   FUNCTION sfe3ini( gridp )  
     394      !! * Arguments 
     395      CHARACTER(LEN=1)                , INTENT( in ) :: gridp    ! grid point type 
     396      REAL(wp), DIMENSION(jpi,jpj,jpk)               :: sfe3ini  ! 3D workspace 
     397      sfe3ini(:,:,:) = 0.e0 
     398      WRITE(*,*) 'sfe3ini: You should not have seen this print! error?', gridp 
     399   END FUNCTION sfe3ini 
    314400#endif 
    315401 
  • trunk/NEMO/OPA_SRC/DOM/domzgr_substitute.h90

    r592 r642  
    5656#   define  fsve3vw(i,j,k)  e3vw_1(i,j,k) 
    5757#else 
    58 #   define  fsvdept(i,j,k)  gdept(i,j,k) 
     58#   define  fsvdept(i,j,k)  fsdept(i,j,k) 
    5959 
    60 #   define  fsvdepw(i,j,k)  gdepw(i,j,k) 
    61 #   define  fsvde3w(i,j,k)  gdep3w(i,j,k) 
     60#   define  fsvdepw(i,j,k)  fsdepw(i,j,k) 
     61#   define  fsvde3w(i,j,k)  fsde3w(i,j,k) 
    6262 
    63 #   define  fsve3t(i,j,k)   e3t(i,j,k) 
    64 #   define  fsve3u(i,j,k)   e3u(i,j,k) 
    65 #   define  fsve3v(i,j,k)   e3v(i,j,k) 
    66 #   define  fsve3f(i,j,k)   e3f(i,j,k) 
     63#   define  fsve3t(i,j,k)   fse3t(i,j,k) 
     64#   define  fsve3u(i,j,k)   fse3u(i,j,k) 
     65#   define  fsve3v(i,j,k)   fse3v(i,j,k) 
     66#   define  fsve3f(i,j,k)   fse3f(i,j,k) 
    6767 
    68 #   define  fsve3w(i,j,k)   e3w(i,j,k) 
    69 #   define  fsve3uw(i,j,k)  e3uw(i,j,k) 
    70 #   define  fsve3vw(i,j,k)  e3vw(i,j,k) 
     68#   define  fsve3w(i,j,k)   fse3w(i,j,k) 
     69#   define  fsve3uw(i,j,k)  fse3uw(i,j,k) 
     70#   define  fsve3vw(i,j,k)  fse3vw(i,j,k) 
    7171#endif 
    7272 
Note: See TracChangeset for help on using the changeset viewer.