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.
#1930 (Missing ln_top_euler control in trcnxt) – NEMO

Opened 7 years ago

Last modified 7 years ago

#1930 closed Enhancement

Missing ln_top_euler control in trcnxt — at Version 1

Reported by: lovato Owned by: nemo
Priority: low Milestone:
Component: TOP Version: v3.6
Severity: Keywords: TOP, Euler
Cc:

Description (last modified by nicolasmartin)

Context


Forced Euler integration for TOP variables using ln_top_euler is missing in trcnxt subroutine for both 3.6_stable and trunk

Changes


In the parsing options of TRP/trcnxt.F90 for neuler ln_top_euler should be added in the if..then statement, as in the following example fro v3.6

NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90
@@ -121,7 +121,7 @@ CONTAINS


       ! set time step size (Euler/Leapfrog)
-      IF( neuler == 0 .AND. kt ==  nittrc000 ) THEN  ;  r2dt(:) =     rdttrc(:)   ! at nittrc000             (Euler)
+      IF( (neuler == 0 .AND. kt == nittrc000) .OR. ln_top_euler ) THEN  ;  r2dt(:) =     rdttrc(:)   ! at nittrc000             (Euler)
       ELSEIF( kt <= nittrc000 + nn_dttrc )     THEN  ;  r2dt(:) = 2.* rdttrc(:)   ! at nit000 or nit000+1 (Leapfrog)
       ENDIF

@@ -131,11 +131,12 @@ CONTAINS
          ztrdt(:,:,:,:)  = trn(:,:,:,:)
       ENDIF
       ! Leap-Frog + Asselin filter time stepping
-      IF( neuler == 0 .AND. kt == nittrc000 ) THEN        ! Euler time-stepping at first time-step
+      IF( (neuler == 0 .AND. kt == nittrc000) .OR. ln_top_euler ) THEN        ! Euler time-stepping at first time-step
          !                                                ! (only swap)
          DO jn = 1, jptra
             DO jk = 1, jpkm1
                trn(:,:,jk,jn) = tra(:,:,jk,jn)
+               trb(:,:,jk,jn) = trn(:,:,jk,jn)
             END DO
          END DO
          !

For the trunk, as timestep is set outside trcnxt, only the second block need to be updated.


Commit History (3)

ChangesetAuthorTimeChangeLog
8402lovato2017-08-02T15:12:29+02:00

3.6_stable: Add control in CFCs time interpolation (#1930)

8399lovato2017-08-01T15:15:09+02:00

trunk: Add ln_top_euler control in trcnxt (#1930)

8398lovato2017-08-01T15:15:00+02:00

3.6_stable : Add ln_top_euler control in trcnxt (#1930)

Change History (1)

comment:1 Changed 7 years ago by nicolasmartin

  • Description modified (diff)
Note: See TracTickets for help on using tickets.