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.
trcice.F90 in branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/TOP_SRC – NEMO

source: branches/UKMO/dev_r5518_GO6_under_ice_relax_dr_hook/NEMOGCM/NEMO/TOP_SRC/trcice.F90 @ 11738

Last change on this file since 11738 was 11738, checked in by marc, 5 years ago

The Dr Hook changes from my perl code.

File size: 3.6 KB
Line 
1MODULE trcice
2   !!======================================================================
3   !!                         ***  MODULE trcice  ***
4   !! TOP :   Manage the communication between TOP and sea ice
5   !!======================================================================
6   !! History :  3.5  ! 2013    (M. Vancoppenolle, O. Aumont, G. Madec), original code
7   !!----------------------------------------------------------------------
8#if defined key_top
9   !!----------------------------------------------------------------------
10   !!   'key_top'                                                TOP models
11   !!----------------------------------------------------------------------
12   !!   trc_ice   :  Call the appropriate sea ice tracer subroutine
13   !!----------------------------------------------------------------------
14
15   USE oce_trc         ! shared variables between ocean and passive tracers
16   USE trc             ! passive tracers common variables
17   USE trcice_cfc      ! CFC      initialisation
18   USE trcice_pisces   ! PISCES   initialisation
19   USE trcice_c14b     ! C14 bomb initialisation
20   USE trcice_my_trc   ! MY_TRC   initialisation
21   
22   USE yomhook, ONLY: lhook, dr_hook
23   USE parkind1, ONLY: jprb, jpim
24
25   IMPLICIT NONE
26   PRIVATE
27   
28   PUBLIC   trc_ice_ini ! called by trc_nam
29
30CONTAINS
31   
32   SUBROUTINE trc_ice_ini
33   INTEGER(KIND=jpim), PARAMETER :: zhook_in = 0
34   INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
35   REAL(KIND=jprb)               :: zhook_handle
36
37   CHARACTER(LEN=*), PARAMETER :: RoutineName='TRC_ICE_INI'
38
39   IF (lhook) CALL dr_hook(RoutineName,zhook_in,zhook_handle)
40
41      !!---------------------------------------------------------------------
42      !!                     ***  ROUTINE trc_ice_ini ***
43      !!
44      !! ** Purpose :   Initialization of the ice module for tracers
45      !!
46      !! ** Method  : -
47      !!           
48      !!---------------------------------------------------------------------
49      ! --- Variable declarations --- !
50
51      IF(lwp) THEN
52         WRITE(numout,*)
53         WRITE(numout,*) 'trc_ice_ini : Initialize sea ice tracer boundary condition'
54         WRITE(numout,*) '~~~~~~~~~~~~~'
55      ENDIF
56
57      IF( nn_timing == 1 )  CALL timing_start('trc_ice_ini')
58
59      !
60      trc_i(:,:,:) = 0.0d0 ! by default
61      trc_o(:,:,:) = 0.0d0 ! by default
62
63      IF ( nn_ice_tr == 1 ) THEN
64         IF( lk_pisces  )    CALL trc_ice_ini_pisces       ! PISCES  bio-model
65         IF( lk_cfc     )    CALL trc_ice_ini_cfc          ! CFC     tracers
66         IF( lk_c14b    )    CALL trc_ice_ini_c14b         ! C14 bomb  tracer
67         IF( lk_my_trc  )    CALL trc_ice_ini_my_trc       ! MY_TRC  tracers
68      ENDIF
69
70      IF( nn_timing == 1 )   CALL timing_stop('trc_ice_ini')
71      !
72   IF (lhook) CALL dr_hook(RoutineName,zhook_out,zhook_handle)
73   END SUBROUTINE trc_ice_ini
74
75#else
76   !!----------------------------------------------------------------------
77   !!  Empty module :                                     No passive tracer
78   !!----------------------------------------------------------------------
79CONTAINS
80   SUBROUTINE trc_ice_ini                   ! Dummy routine   
81   INTEGER(KIND=jpim), PARAMETER :: zhook_in = 0
82   INTEGER(KIND=jpim), PARAMETER :: zhook_out = 1
83   REAL(KIND=jprb)               :: zhook_handle
84
85   CHARACTER(LEN=*), PARAMETER :: RoutineName='TRC_ICE_INI'
86
87   IF (lhook) CALL dr_hook(RoutineName,zhook_in,zhook_handle)
88
89   IF (lhook) CALL dr_hook(RoutineName,zhook_out,zhook_handle)
90   END SUBROUTINE trc_ice_ini
91#endif
92
93   !!======================================================================
94END MODULE trcice
Note: See TracBrowser for help on using the repository browser.