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 5282 for branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90 – NEMO

Ignore:
Timestamp:
2015-05-18T17:19:50+02:00 (9 years ago)
Author:
diovino
Message:

Dev. branch CMCC4_simplification ticket #1456

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r4990 r5282  
    4141 
    4242   PUBLIC   trc_nxt          ! routine called by step.F90 
    43    PUBLIC   trc_nxt_alloc    ! routine called by nemogcm.F90 
    4443 
    45    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) ::   r2dt 
     44   REAL(wp) ::   r2dtrc 
    4645 
    4746   !!---------------------------------------------------------------------- 
     
    5150   !!---------------------------------------------------------------------- 
    5251CONTAINS 
    53  
    54    INTEGER FUNCTION trc_nxt_alloc() 
    55       !!---------------------------------------------------------------------- 
    56       !!                   ***  ROUTINE trc_nxt_alloc  *** 
    57       !!---------------------------------------------------------------------- 
    58       ALLOCATE( r2dt(jpk), STAT=trc_nxt_alloc ) 
    59       ! 
    60       IF( trc_nxt_alloc /= 0 )   CALL ctl_warn('trc_nxt_alloc : failed to allocate array') 
    61       ! 
    62    END FUNCTION trc_nxt_alloc 
    63  
    6452 
    6553   SUBROUTINE trc_nxt( kt ) 
     
    117105 
    118106      ! set time step size (Euler/Leapfrog) 
    119       IF( neuler == 0 .AND. kt ==  nittrc000 ) THEN  ;  r2dt(:) =     rdttrc(:)   ! at nittrc000             (Euler) 
    120       ELSEIF( kt <= nittrc000 + 1 )            THEN  ;  r2dt(:) = 2.* rdttrc(:)   ! at nit000 or nit000+1 (Leapfrog) 
     107      IF( neuler == 0 .AND. kt ==  nittrc000 ) THEN  ;  r2dtrc =     rdttrc   ! at nittrc000             (Euler) 
     108      ELSEIF( kt <= nittrc000 + 1 )            THEN  ;  r2dtrc = 2.* rdttrc   ! at nit000 or nit000+1 (Leapfrog) 
    121109      ENDIF 
    122110 
     
    143131 
    144132      ! trends computation 
    145       IF( l_trdtrc ) THEN                                      ! trends 
     133      IF( l_trdtrc ) THEN! trends 
    146134         DO jn = 1, jptra 
     135         zfact = 1.e0 / r2dtrc 
    147136            DO jk = 1, jpkm1 
    148                zfact = 1.e0 / r2dt(jk)   
    149137               ztrdt(:,:,jk,jn) = ( trb(:,:,jk,jn) - ztrdt(:,:,jk,jn) ) * zfact  
    150138               CALL trd_tra( kt, 'TRC', jn, jptra_atf, ztrdt ) 
Note: See TracChangeset for help on using the changeset viewer.