source: branches/2016/dev_r7012_ROBUST5_CNRS/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90 @ 7041

Last change on this file since 7041 was 7041, checked in by cetlod, 4 years ago

ROBUST5_CNRS : implementation of part I of new TOP interface - 1st step -, see ticket #1782

  • Property svn:keywords set to Id
File size: 3.6 KB
Line 
1MODULE trcini_my_trc
2   !!======================================================================
3   !!                         ***  MODULE trcini_my_trc  ***
4   !! TOP :   initialisation of the MY_TRC tracers
5   !!======================================================================
6   !! History :   2.0  !  2007-12  (C. Ethe, G. Madec) Original code
7   !!----------------------------------------------------------------------
8#if defined key_my_trc
9   !!----------------------------------------------------------------------
10   !!   'key_my_trc'                                               CFC tracers
11   !!----------------------------------------------------------------------
12   !! trc_ini_my_trc   : MY_TRC model initialisation
13   !!----------------------------------------------------------------------
14   USE par_trc         ! TOP parameters
15   USE oce_trc
16   USE trc
17   USE trcsms_my_trc
18
19   IMPLICIT NONE
20   PRIVATE
21
22   PUBLIC   trc_ini_my_trc   ! called by trcini.F90 module
23
24   !!----------------------------------------------------------------------
25   !! NEMO/TOP 3.3 , NEMO Consortium (2010)
26   !! $Id$
27   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
28   !!----------------------------------------------------------------------
29CONTAINS
30
31   SUBROUTINE trc_ini_my_trc
32      !!----------------------------------------------------------------------
33      !!                     ***  trc_ini_my_trc  *** 
34      !!
35      !! ** Purpose :   initialization for MY_TRC model
36      !!
37      !! ** Method  : - Read the namcfc namelist and check the parameter values
38      !!----------------------------------------------------------------------
39      INTEGER              ::  jn
40      CHARACTER(len = 20)  ::  cltra
41
42
43      jp_my_trc = 1
44      ! assign an index in trc arrays for each prognostic variables
45      DO jn = 1, jptra
46        cltra = ctrcnm(jn) 
47        IF( cltra == 'MYTRC'   .OR. cltra == 'mytrc'  )   jpmyt0 = jn 
48        IF( cltra == 'MYTRC1'  .OR. cltra == 'mytrc1' )   jpmyt1 = jn 
49        IF( cltra == 'MYTRC2'  .OR. cltra == 'mytrc2' )   jpmyt2 = jn 
50      ENDDO
51   
52      IF( jp_my_trc == 1 ) THEN
53        jp_myt0  = jpmyt0
54      ELSE
55        jp_myt0 = MIN( jpmyt0, jpmyt1, jpmyt2 ) 
56      ENDIF
57      jp_myt1 = jp_myt0 + jp_my_trc - 1
58
59
60      IF( lwp ) THEN
61        WRITE(numout,*) ''
62        WRITE(numout,*) ' First index of MYTRC model in the passive tracer array   jp_myt0 = ', jp_myt0
63        WRITE(numout,*) ' Last  index of MYTRC model in the passive tracer array   jp_myt1 = ', jp_myt1
64        WRITE(numout,*) 
65      ENDIF
66
67
68      !                       ! Allocate MY_TRC arrays
69      IF( trc_sms_my_trc_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'trc_ini_my_trc: unable to allocate MY_TRC arrays' )
70
71      IF(lwp) WRITE(numout,*)
72      IF(lwp) WRITE(numout,*) ' trc_ini_my_trc: passive tracer unit vector'
73      IF(lwp) WRITE(numout,*) ' To check conservation : '
74      IF(lwp) WRITE(numout,*) '   1 - No sea-ice model '
75      IF(lwp) WRITE(numout,*) '   2 - No runoff ' 
76      IF(lwp) WRITE(numout,*) '   3 - precipitation and evaporation equal to 1 : E=P=1 ' 
77      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~'
78     
79      IF( .NOT. ln_rsttr ) trn(:,:,:,jp_myt0:jp_myt1) = 1.
80      !
81   END SUBROUTINE trc_ini_my_trc
82
83#else
84   !!----------------------------------------------------------------------
85   !!   Dummy module                                        No MY_TRC model
86   !!----------------------------------------------------------------------
87CONTAINS
88   SUBROUTINE trc_ini_my_trc             ! Empty routine
89   END SUBROUTINE trc_ini_my_trc
90#endif
91
92   !!======================================================================
93END MODULE trcini_my_trc
Note: See TracBrowser for help on using the repository browser.