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.
trcnam_ice.F90 in branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC – NEMO

source: branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/trcnam_ice.F90 @ 5326

Last change on this file since 5326 was 5326, checked in by aumont, 9 years ago

add a specific routine to read the namelist for ice

File size: 3.5 KB
Line 
1MODULE trcnam_ice
2   !!======================================================================
3   !!                         ***  MODULE trcnam_ice  ***
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 in_out_manager      ! ocean dynamics and active tracers variables
18   USE lib_mpp           ! distributed memory computing library
19   
20   IMPLICIT NONE
21   PRIVATE
22   
23   PUBLIC   trc_nam_ice ! called by trc_nam
24
25CONTAINS
26   
27   SUBROUTINE trc_nam_ice
28      !!---------------------------------------------------------------------
29      !!                     ***  ROUTINE trc_nam_ice ***
30      !!
31      !! ** Purpose :   Read the namelist for the ice effect on tracers
32      !!
33      !! ** Method  : -
34      !!           
35      !!---------------------------------------------------------------------
36      ! --- Variable declarations --- !
37      INTEGER :: jn      ! dummy loop indices
38      INTEGER :: ios     ! Local integer output status for namelist read
39
40      ! --- Namelist declarations --- !
41      TYPE(TRC_I_NML), DIMENSION(jptra) :: sn_tri_tracer
42      NAMELIST/namtrc_ice/ nn_ice_tr, sn_tri_tracer
43
44      IF(lwp) THEN
45         WRITE(numout,*)
46         WRITE(numout,*) 'trc_nam_ice : Read the namelist for trc_ice'
47         WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
48      ENDIF
49
50      IF( nn_timing == 1 )  CALL timing_start('trc_nam_ice')
51
52      !
53      REWIND( numnat_ref )              ! Namelist namtrc_ice in reference namelist : Passive tracer input data
54      READ  ( numnat_ref, namtrc_ice, IOSTAT = ios, ERR = 901)
55 901  IF( ios /= 0 ) CALL ctl_nam ( ios , ' namtrc_ice in reference namelist ', lwp )
56
57      REWIND( numnat_cfg )              ! Namelist namtrc_ice in configuration namelist : Pisces external sources of nutrients
58      READ  ( numnat_cfg, namtrc_ice, IOSTAT = ios, ERR = 902 )
59 902  IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ice in configuration namelist', lwp )
60
61      WRITE(numout,*) ' '
62      WRITE(numout,*) ' Sea ice tracers option (nn_ice_tr) : ', nn_ice_tr
63      WRITE(numout,*) ' '
64
65      ! Assign namelist stuff
66      DO jn = 1, jptra
67         trc_ice_ratio(jn)  = sn_tri_tracer(jn)%trc_ratio
68         trc_ice_prescr(jn) = sn_tri_tracer(jn)%trc_prescr
69         cn_trc_o      (jn) = sn_tri_tracer(jn)%ctrc_o
70      END DO
71
72      IF( nn_timing == 1 )   CALL timing_stop('trc_nam_ice')
73      !
74   END SUBROUTINE trc_nam_ice
75
76#else
77   !!----------------------------------------------------------------------
78   !!  Empty module :                                     No passive tracer
79   !!----------------------------------------------------------------------
80CONTAINS
81   SUBROUTINE trc_nam_ice                   ! Dummy routine   
82   END SUBROUTINE trc_nam_ice
83
84#endif
85
86   !!======================================================================
87END MODULE trcnam_ice
Note: See TracBrowser for help on using the repository browser.