source: branches/2017/dev_r7881_no_wrk_alloc/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90 @ 7910

Last change on this file since 7910 was 7646, checked in by timgraham, 4 years ago

Merge of dev_merge_2016 into trunk. UPDATE TO ARCHFILES NEEDED for XIOS2.
LIM_SRC_s/limrhg.F90 to follow in next commit due to change of kind (I'm unable to do it in this commit).
Merged using the following steps:

1) svn merge —reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk .
2) Resolve minor conflicts in sette.sh and namelist_cfg for ORCA2LIM3 (due to a change in trunk after branch was created)
3) svn commit
4) svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
5) svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2016/dev_merge_2016 .
6) At this stage I checked out a clean copy of the branch to compare against what is about to be committed to the trunk.
6) svn commit #Commit code to the trunk

In this commit I have also reverted a change to Fcheck_archfile.sh which was causing problems on the Paris machine.

  • Property svn:keywords set to Id
File size: 4.1 KB
Line 
1MODULE dyncor_c1d
2   !!======================================================================
3   !!                     ***  MODULE  dyncor_c1d  ***
4   !! Ocean Dynamics :   Coriolis term in 1D configuration
5   !!=====================================================================
6   !! History :  2.0  !  2004-09  (C. Ethe)  Original code
7   !!            3.0  !  2008-04  (G. Madec)  style only
8   !!----------------------------------------------------------------------
9#if defined key_c1d
10   !!----------------------------------------------------------------------
11   !!   'key_c1d'                                          1D Configuration
12   !!----------------------------------------------------------------------
13   !!   cor_c1d       : Coriolis factor at T-point (1D configuration)
14   !!   dyn_cor_c1d   : vorticity trend due to Coriolis at T-point
15   !!----------------------------------------------------------------------
16   USE oce            ! ocean dynamics and tracers
17   USE dom_oce        ! ocean space and time domain
18   USE phycst         ! physical constants
19   !
20   USE in_out_manager ! I/O manager
21   USE prtctl         ! Print control
22
23   IMPLICIT NONE
24   PRIVATE
25
26   PUBLIC   cor_c1d      ! called by nemogcm.F90
27   PUBLIC   dyn_cor_c1d  ! called by step1d.F90
28
29   !! * Substitutions
30#  include "vectopt_loop_substitute.h90"
31   !!----------------------------------------------------------------------
32   !! NEMO/C1D 3.7 , NEMO Consortium (2015)
33   !! $Id$
34   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
35   !!----------------------------------------------------------------------
36CONTAINS
37
38   SUBROUTINE cor_c1d
39      !!----------------------------------------------------------------------
40      !!                   ***  ROUTINE cor_c1d  ***
41      !!
42      !! ** Purpose : set the Coriolis factor at T-point
43      !!----------------------------------------------------------------------
44      REAL(wp) ::   zphi0, zbeta, zf0   ! local scalars
45      !!----------------------------------------------------------------------
46
47      IF(lwp) WRITE(numout,*)
48      IF(lwp) WRITE(numout,*) 'cor_c1d : Coriolis factor at T-point'
49      IF(lwp) WRITE(numout,*) '~~~~~~~'
50
51      !
52   END SUBROUTINE cor_c1d
53
54
55   SUBROUTINE dyn_cor_c1d( kt )
56      !!----------------------------------------------------------------------
57      !!                   ***  ROUTINE dyn_cor_c1d  ***
58      !!
59      !! ** Purpose :   Compute the now Coriolis trend and add it to
60      !!               the general trend of the momentum equation in 1D case.
61      !!----------------------------------------------------------------------
62      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index
63      !!
64      INTEGER ::   ji, jj, jk   ! dummy loop indices
65      !!----------------------------------------------------------------------
66      !
67      IF( kt == nit000 ) THEN
68         IF(lwp) WRITE(numout,*)
69         IF(lwp) WRITE(numout,*) 'dyn_cor_c1d : total vorticity trend in 1D'
70         IF(lwp) WRITE(numout,*) '~~~~~~~~~~'
71      ENDIF
72      !
73      DO jk = 1, jpkm1
74         DO jj = 2, jpjm1
75            DO ji = fs_2, fs_jpim1   ! vector opt.
76               ua(ji,jj,jk) = ua(ji,jj,jk) + ff_t(ji,jj) * vn(ji,jj,jk)
77               va(ji,jj,jk) = va(ji,jj,jk) - ff_t(ji,jj) * un(ji,jj,jk)
78            END DO
79         END DO
80      END DO   
81      !
82      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' cor  - Ua: ', mask1=umask,  &
83         &                       tab3d_2=va, clinfo2=' Va: '       , mask2=vmask )
84      !
85   END SUBROUTINE dyn_cor_c1d
86
87#else
88   !!----------------------------------------------------------------------
89   !!   Default key                                     NO 1D Configuration
90   !!----------------------------------------------------------------------
91CONTAINS
92   SUBROUTINE cor_c1d              ! Empty routine
93   END SUBROUTINE cor_c1d   
94   SUBROUTINE dyn_cor_c1d ( kt )      ! Empty routine
95      WRITE(*,*) 'dyn_cor_c1d: You should not have seen this print! error?', kt
96   END SUBROUTINE dyn_cor_c1d
97#endif
98
99   !!=====================================================================
100END MODULE dyncor_c1d
Note: See TracBrowser for help on using the repository browser.