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.
Changeset 335 for trunk/NEMO/TOP_SRC/trcctl.F90 – NEMO

Ignore:
Timestamp:
2005-11-14T13:08:42+01:00 (19 years ago)
Author:
opalod
Message:

nemo_v1_update_023 : CE + RB + CT : new evolution of modules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/trcctl.F90

    r274 r335  
    1010   !!========================================================================= 
    1111   !!  TOP 1.0,  LOCEAN-IPSL (2005) 
    12    !! $Header$ 
    13    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    1412   !!---------------------------------------------------------------------- 
    15       !!---------------------------------------------------------------------- 
    16       !! * Modules used 
    17       !! ============== 
    18       USE oce_trc 
    19       USE trc 
    20       USE sms 
    21       USE trctrp_ctl 
     13#if defined key_passivetrc 
     14   !!---------------------------------------------------------------------- 
     15   !! * Modules used 
     16   !! ============== 
     17   USE oce_trc 
     18   USE trc 
     19   USE sms 
     20   USE trctrp_ctl 
    2221 
    23      IMPLICIT NONE 
    24      PRIVATE 
     22   IMPLICIT NONE 
     23   PRIVATE 
    2524 
    26     !! * Accessibility 
    27     PUBLIC trc_ctl 
     25   !! * Accessibility 
     26   PUBLIC trc_ctl 
    2827 
    2928CONTAINS 
    3029 
    31 #if defined key_passivetrc 
     30   SUBROUTINE trc_ctl 
     31      !!=========================================================================================== 
     32      !! 
     33      !! 
     34      !!                       ROUTINE trcctl 
     35      !!                     ****************** 
     36      !! 
     37      !!      we use IF/ENDIF inside #IF defined option-cpp 
     38      !!      FILE name must not exceed 21 characters 
     39      !!       
     40      !!=========================================================================================== 
     41       
     42      !!---------------------------------------------------------------------- 
     43      !! local declarations 
     44      !! ================== 
     45      INTEGER  :: istop, jn 
     46       
     47      !!--------------------------------------------------------------------- 
     48      !!  OPA.9    03/2005   
     49      !!--------------------------------------------------------------------- 
    3250 
    33 SUBROUTINE trc_ctl 
    34    !!=========================================================================================== 
    35    !! 
    36    !! 
    37    !!                       ROUTINE trcctl 
    38    !!                     ****************** 
    39    !! 
    40    !!      we use IF/ENDIF inside #IF defined option-cpp 
    41    !!      FILE name must not exceed 21 characters 
    42    !!       
    43    !!=========================================================================================== 
    44       
    45    !!---------------------------------------------------------------------- 
    46    !! local declarations 
    47    !! ================== 
    48    INTEGER  :: istop, jn 
    49  
    50 !!!--------------------------------------------------------------------- 
    51 !!!  OPA.9    03/2005   
    52 !!!--------------------------------------------------------------------- 
    53  
    54 ! 0. Parameter 
    55 ! ------------ 
     51      ! 0. Parameter 
     52      ! ------------ 
    5653      istop = 0 
    5754 
    58 ! 1. LOGICAL UNIT initialization for specifi! files for passive tracer 
    59 ! -------------------------------------------------------------------- 
    60 !     nutwrs : OUTPUT for passive tracer restart UNIT (always used) 
    61 !     nutrst : restart FILE  INPUT  UNIT (lrsttr=.TRUE.) 
    62 !     nutini(jptra) : UNIT for initial FILE for tracer 
     55      ! 1. LOGICAL UNIT initialization for specifi! files for passive tracer 
     56      ! -------------------------------------------------------------------- 
     57      !     nutwrs : OUTPUT for passive tracer restart UNIT (always used) 
     58      !     nutrst : restart FILE  INPUT  UNIT (lrsttr=.TRUE.) 
     59      !     nutini(jptra) : UNIT for initial FILE for tracer 
    6360 
    6461      nutwrs = 72 
    6562      nutrst = 73 
    6663 
    67 ! 2. restart for passive tracer (input) 
    68 ! ----------------------------- 
     64      ! 2. restart for passive tracer (input) 
     65      ! ----------------------------- 
    6966 
    7067      IF(lwp) WRITE(numout,*) ' ' 
     
    7875 
    7976      IF(lrsttr) THEN 
    80           IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer' 
    81           IF(lwp) WRITE(numout,*) ' ' 
     77         IF(lwp) WRITE(numout,*) ' READ a restart FILE for passive tracer' 
     78         IF(lwp) WRITE(numout,*) ' ' 
    8279      ELSE 
    83           IF(lwp) WRITE(numout,*) ' no restart FILE' 
    84           IF(lwp) WRITE(numout,*) ' ' 
     80         IF(lwp) WRITE(numout,*) ' no restart FILE' 
     81         IF(lwp) WRITE(numout,*) ' ' 
    8582 
    86 ! 3. OPEN FILES for initial tracer value 
    87 ! -------------------------------------- 
    88           DO jn=1,jptra 
     83         ! 3. OPEN FILES for initial tracer value 
     84         ! -------------------------------------- 
     85         DO jn=1,jptra 
    8986 
    90 ! OPEN input FILE only IF lutini(jn) is true 
    91 ! ------------------------------------------ 
     87            ! OPEN input FILE only IF lutini(jn) is true 
     88            ! ------------------------------------------ 
    9289            IF (lutini(jn)) THEN   
    9390 
    94 ! prepare input FILE name a 
    95 ! -------------------------                         
    96                 IF(lwp) WRITE(numout,*)                          & 
    97                         ' READ an initial FILE :',               & 
    98                         ' for passive tracer number :',jn        & 
    99                         ,' traceur : ',ctrcnm(jn)  
    100                 IF(lwp) WRITE(numout,*) ' ' 
    101             END IF  
    102           END DO    
     91               ! prepare input FILE name a 
     92               ! -------------------------                         
     93               IF(lwp) WRITE(numout,*)  & 
     94                  ' READ an initial FILE  for passive tracer number :',jn        & 
     95                  ,' traceur : ',ctrcnm(jn)  
     96               IF(lwp) WRITE(numout,*) ' ' 
     97            END IF 
     98         END DO 
    10399      ENDIF 
    104100 
    105 ! 4. Don't USE non penetrative convective mixing option 
    106 !     it's not implemented for passive tracer 
    107 ! ----------------------------------------------------- 
     101      ! 4. Don't USE non penetrative convective mixing option 
     102      !     it's not implemented for passive tracer 
     103      ! ----------------------------------------------------- 
    108104 
    109105      IF( ln_zdfnpc) THEN 
    110         IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g ' 
    111         IF(lwp) WRITE (numout,*) ' =======   ============= ' 
    112         IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented' 
    113         IF(lwp) WRITE (numout,*) ' in passive tracer model:' 
    114         IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme' 
    115         istop = istop + 1 
     106         IF(lwp) WRITE (numout,*) ' ===>>>> : w a r n i n g ' 
     107         IF(lwp) WRITE (numout,*) ' =======   ============= ' 
     108         IF(lwp) WRITE (numout,*) ' STOP, this sheme is not implemented' 
     109         IF(lwp) WRITE (numout,*) ' in passive tracer model:' 
     110         IF(lwp) WRITE (numout,*) ' non penetrative convect. mixing scheme' 
     111         istop = istop + 1 
    116112      ENDIF 
    117113 
    118 ! 5. transport scheme option 
    119 ! -------------------------- 
     114      ! 5. transport scheme option 
     115      ! -------------------------- 
    120116 
    121117      IF(lwp) WRITE(numout,*) '  ' 
    122118      CALL trc_trp_ctl 
    123       IF(lwp) WRITE(numout,*) '  ' 
    124119 
    125 ! 6. SMS model 
    126 ! --------------------------------------------- 
     120 
     121      ! 6. SMS model 
     122      ! --------------------------------------------- 
    127123 
    128124      IF(lwp) WRITE(numout,*) '  ' 
     
    130126      IF(lwp) WRITE(numout,*) '  ' 
    131127 
    132 #if defined key_trc_npzd 
    133       #include "trcctl.npzd.h90"  
    134 #elif defined key_trc_lobster1 
    135       #include "trcctl.lobster1.h90" 
     128 
     129#if defined key_trc_lobster1 
     130#   include "trcctl.lobster1.h90" 
    136131#elif defined key_trc_pisces 
    137       #include "trcctl.pisces.h90" 
    138 #elif defined key_trc_hamocc3 
    139 #   if defined key_trc_p3zd 
    140       #include "trcctl.p3zd.h90" 
    141 #   else 
    142       #include "trcctl.hamocc3.h90" 
    143 #   endif 
     132#   include "trcctl.pisces.h90" 
     133#elif defined key_cfc 
     134#   include "trcctl.cfc.h90" 
    144135#else 
    145136 
     
    148139#endif 
    149140 
    150 ! E r r o r  control 
    151 ! ------------------ 
     141      ! E r r o r  control 
     142      ! ------------------ 
    152143 
    153144      IF ( istop > 0  ) THEN 
    154           IF(lwp)WRITE(numout,*) 
    155           IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop' 
    156           IF(lwp)WRITE(numout,*) '**************************' 
    157           IF(lwp)WRITE(numout,*) 
    158           STOP 'trcctl' 
     145         IF(lwp)WRITE(numout,*) 
     146         IF(lwp)WRITE(numout,*) istop,' E R R O R found : we stop' 
     147         IF(lwp)WRITE(numout,*) '**************************' 
     148         IF(lwp)WRITE(numout,*) 
     149         STOP 'trcctl' 
    159150      ENDIF 
    160151 
    161 END SUBROUTINE trc_ctl  
     152   END SUBROUTINE trc_ctl 
    162153 
    163154#else 
     155   !!====================================================================== 
     156   !!  Empty module : No passive tracer 
     157   !!====================================================================== 
     158CONTAINS 
     159   SUBROUTINE trc_ctl 
    164160 
    165 SUBROUTINE trc_ctl 
    166   !!============== 
    167          ! no passive tracers 
    168   !!============== 
    169 END SUBROUTINE trc_ctl 
    170  
     161   END SUBROUTINE trc_ctl 
     162    
    171163#endif 
    172164 
Note: See TracChangeset for help on using the changeset viewer.