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 945 for trunk/NEMO/TOP_SRC/prtctl_trc.F90 – NEMO

Ignore:
Timestamp:
2008-05-14T18:14:53+02:00 (16 years ago)
Author:
cetlod
Message:

Update modules for new version of TOP model, see ticket 144

File:
1 edited

Legend:

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

    r719 r945  
    11MODULE prtctl_trc 
    2    !!============================================================================== 
    3    !!                       ***  MODULE prtctl   *** 
    4    !! Ocean system   : print all SUM trends for each processor domain 
    5    !!============================================================================== 
    6 #if defined key_passivetrc 
    7  
    8    USE par_trc_trp 
     2   !!====================================================================== 
     3   !!                         ***  MODULE prtctl_trc  *** 
     4   !! TOP :   print all SUM trends for each processor domain 
     5   !!====================================================================== 
     6   !! History :    -   !  2005-07  (C. Talandier) original code for OPA 
     7   !!             1.0  !  2005-10  (C. Ethe     ) adapted to passive tracer 
     8   !!---------------------------------------------------------------------- 
     9#if defined key_top 
     10   !!---------------------------------------------------------------------- 
     11   !!   'key_top'                                                TOP models 
     12   !!---------------------------------------------------------------------- 
     13   !!   prt_ctl_trc      :   control print in mpp for passive tracers 
     14   !!   prt_ctl_trc_info :   ??? 
     15   !!   prt_ctl_trc_init :   ??? 
     16   !!---------------------------------------------------------------------- 
     17   USE par_trc          ! TOP parameters 
    918   USE oce_trc          ! ocean space and time domain variables 
    1019   USE in_out_manager   ! I/O manager 
     
    1423   PRIVATE 
    1524 
    16    !! * Module declaration 
    17    INTEGER, DIMENSION(:), ALLOCATABLE :: numid_trc  ! logical unit  
    18    INTEGER, DIMENSION(:), ALLOCATABLE, SAVE ::   &  !: 
    19       nlditl , nldjtl ,   &  !: first, last indoor index for each i-domain 
    20       nleitl , nlejtl ,   &  !: first, last indoor index for each j-domain 
    21       nimpptl, njmpptl,   &  !: i-, j-indexes for each processor 
    22       nlcitl , nlcjtl ,   &  !: dimensions of every subdomain 
    23       ibonitl, ibonjtl 
    24  
    25    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   &  !: 
    26       tra_ctl                   !: previous trend values 
    27  
    28    !! * Routine accessibility 
     25   INTEGER , DIMENSION(:), ALLOCATABLE ::   numid_trc          !: logical unit  
     26   INTEGER , DIMENSION(:), ALLOCATABLE ::   nlditl , nldjtl    !: first, last indoor index for each i-domain 
     27   INTEGER , DIMENSION(:), ALLOCATABLE ::   nleitl , nlejtl    !: first, last indoor index for each j-domain 
     28   INTEGER , DIMENSION(:), ALLOCATABLE ::   nimpptl, njmpptl   !: i-, j-indexes for each processor 
     29   INTEGER , DIMENSION(:), ALLOCATABLE ::   nlcitl , nlcjtl    !: dimensions of every subdomain 
     30   INTEGER , DIMENSION(:), ALLOCATABLE ::   ibonitl, ibonjtl 
     31 
     32   REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   tra_ctl         !: previous trend values 
     33 
    2934   PUBLIC prt_ctl_trc         ! called by all subroutines 
    3035   PUBLIC prt_ctl_trc_info    ! 
    3136   PUBLIC prt_ctl_trc_init    ! called by opa.F90 
    32    !!---------------------------------------------------------------------- 
    33    !!   OPA 9.0 , LOCEAN-IPSL (2005)  
    34    !! $Header$  
    35    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    36    !!---------------------------------------------------------------------- 
    37  
     37 
     38   !!---------------------------------------------------------------------- 
     39   !! NEMO/TOP 1.0 , LOCEAN-IPSL (2005)  
     40   !! $Header:$  
     41   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     42   !!---------------------------------------------------------------------- 
    3843 
    3944CONTAINS 
    4045 
    41    SUBROUTINE prt_ctl_trc (tab4d, mask, clinfo, ovlap, kdim, clinfo2) 
     46   SUBROUTINE prt_ctl_trc( tab4d, mask, clinfo, ovlap, kdim, clinfo2 ) 
    4247      !!---------------------------------------------------------------------- 
    4348      !!                     ***  ROUTINE prt_ctl  *** 
     
    6166      !!                name must be explicitly typed if used. For instance if the mask 
    6267      !!                array tmask(:,:,:) must be passed through the prt_ctl subroutine,  
    63       !!                it must looks like: CALL prt_ctl(mask=tmask). 
    64       !! 
    65       !!                    tab4d   : 4D array 
    66       !!                    mask    : mask (3D) to apply to the tab4d array 
    67       !!                    clinfo  : information about the tab3d array 
    68       !!                    ovlap   : overlap value 
    69       !!                    kdim    : k- direction for 4D arrays  
    70       !! 
    71       !! History : 
    72       !!   9.0  !  05-07  (C. Talandier) original code 
    73       !!        !  05-10  (C. Ethe     ) adapted to passive tracer 
    74       !!---------------------------------------------------------------------- 
    75       !! * Arguments 
    76       REAL(wp), DIMENSION(:,:,:,:), INTENT(in), OPTIONAL :: tab4d 
    77       REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: mask 
    78       CHARACTER (len=*), DIMENSION(:), INTENT(in), OPTIONAL :: clinfo 
    79       CHARACTER (len=*), INTENT(in), OPTIONAL :: clinfo2 
    80       INTEGER, INTENT(in), OPTIONAL :: ovlap 
    81       INTEGER, INTENT(in), OPTIONAL :: kdim 
    82  
    83       !! * Local declarations 
    84       INTEGER  :: overlap, jn, js, sind, eind, kdir, j_id 
    85       REAL(wp) :: zsum, zvctl 
    86       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmask, ztab3d 
    87       CHARACTER (len=20), DIMENSION(jptra) :: cl 
    88       CHARACTER (len=10) :: cl2 
    89       !!---------------------------------------------------------------------- 
    90  
    91       ! Arrays, scalars initialization  
     68      !!                it must looks like: CALL prt_ctl( mask=tmask ). 
     69      !!---------------------------------------------------------------------- 
     70      REAL(wp)         , DIMENSION(:,:,:,:), INTENT(in), OPTIONAL ::   tab4d     ! 4D array 
     71      REAL(wp)         , DIMENSION(:,:,:)  , INTENT(in), OPTIONAL ::   mask      ! 3D mask to apply to the tab4d array 
     72      CHARACTER (len=*), DIMENSION(:)      , INTENT(in), OPTIONAL ::   clinfo    ! information about the tab3d array 
     73      CHARACTER (len=*)                    , INTENT(in), OPTIONAL ::   clinfo2   ! ??? 
     74      INTEGER                              , INTENT(in), OPTIONAL ::   ovlap     ! overlap value 
     75      INTEGER                              , INTENT(in), OPTIONAL ::   kdim      ! k- direction for 4D arrays 
     76      !! 
     77      INTEGER  ::   overlap, jn, js, sind, eind, kdir, j_id 
     78      REAL(wp) ::   zsum, zvctl 
     79      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zmask, ztab3d 
     80      CHARACTER (len=20), DIMENSION(jptra) ::   cl 
     81      CHARACTER (len=10) ::   cl2 
     82      !!---------------------------------------------------------------------- 
     83 
     84      !                                      ! Arrays, scalars initialization  
    9285      overlap       = 0 
    9386      kdir          = jpkm1 
     
    9992      zmask (:,:,:) = 1.e0 
    10093 
    101       ! Control of optional arguments 
    102  
    103       IF( PRESENT(ovlap)   )  overlap       = ovlap 
    104       IF( PRESENT(kdim)    )  kdir          = kdim 
    105       IF( PRESENT(clinfo ) )  cl(:)         = clinfo(:) 
    106       IF( PRESENT(clinfo2) )  cl2           = clinfo2 
    107       IF( PRESENT(mask)    )  zmask (:,:,:) = mask(:,:,:) 
    108  
    109       IF( lk_mpp )   THEN 
    110          ! processor number 
     94      !                                      ! Control of optional arguments 
     95      IF( PRESENT(ovlap)   )   overlap       = ovlap 
     96      IF( PRESENT(kdim)    )   kdir          = kdim 
     97      IF( PRESENT(clinfo ) )   cl(:)         = clinfo(:) 
     98      IF( PRESENT(clinfo2) )   cl2           = clinfo2 
     99      IF( PRESENT(mask)    )   zmask (:,:,:) = mask(:,:,:) 
     100 
     101      IF( lk_mpp )   THEN      ! processor number 
    111102         sind = narea 
    112103         eind = narea 
    113       ELSE 
    114          ! processors total number 
     104      ELSE                     ! processors total number 
    115105         sind = 1 
    116106         eind = ijsplt 
     
    119109      ! Loop over each sub-domain, i.e. the total number of processors ijsplt 
    120110      DO js = sind, eind 
    121  
     111         ! 
    122112         ! Set logical unit 
    123          j_id = numid_trc(js - narea + 1) 
     113         j_id = numid_trc( js - narea + 1 ) 
    124114         ! Set indices for the SUM control 
    125115         IF( .NOT. lsp_area ) THEN 
     
    130120               njctle = nlejtl(js) + overlap * MIN( 1, nlcjtl(js) - nlejtl(js)) 
    131121               ! Do not take into account the bound of the domain 
    132                IF( ibonitl(js) == -1 .OR. ibonitl(js) == 2 ) nictls = MAX(2, nictls) 
    133                IF( ibonitl(js) ==  1 .OR. ibonitl(js) == 2 ) nictle = MIN(nictle, nleitl(js) - 1) 
    134                IF( ibonjtl(js) == -1 .OR. ibonjtl(js) == 2 ) njctls = MAX(2, njctls) 
    135                IF( ibonjtl(js) ==  1 .OR. ibonjtl(js) == 2 ) njctle = MIN(njctle, nlejtl(js) - 1) 
     122               IF( ibonitl(js) == -1 .OR. ibonitl(js) == 2 )   nictls = MAX( 2, nictls ) 
     123               IF( ibonitl(js) ==  1 .OR. ibonitl(js) == 2 )   nictle = MIN( nictle, nleitl(js) - 1 ) 
     124               IF( ibonjtl(js) == -1 .OR. ibonjtl(js) == 2 )   njctls = MAX( 2, njctls ) 
     125               IF( ibonjtl(js) ==  1 .OR. ibonjtl(js) == 2 )   njctle = MIN( njctle, nlejtl(js) - 1 ) 
    136126            ELSE 
    137127               nictls = MAX( 1, nimpptl(js) + nlditl(js) - 1 - overlap ) 
     
    140130               njctle = njmpptl(js) + nlejtl(js) - 1 + overlap * MIN( 1, nlcjtl(js) - nlejtl(js) )  
    141131               ! Do not take into account the bound of the domain 
    142                IF( ibonitl(js) == -1 .OR. ibonitl(js) == 2 ) nictls = MAX(2, nictls) 
    143                IF( ibonjtl(js) == -1 .OR. ibonjtl(js) == 2 ) njctls = MAX(2, njctls) 
    144                IF( ibonitl(js) ==  1 .OR. ibonitl(js) == 2 ) nictle = MIN(nictle, nimpptl(js) + nleitl(js) - 2) 
    145                IF( ibonjtl(js) ==  1 .OR. ibonjtl(js) == 2 ) njctle = MIN(njctle, njmpptl(js) + nlejtl(js) - 2) 
     132               IF( ibonitl(js) == -1 .OR. ibonitl(js) == 2 )   nictls = MAX( 2, nictls ) 
     133               IF( ibonjtl(js) == -1 .OR. ibonjtl(js) == 2 )   njctls = MAX( 2, njctls ) 
     134               IF( ibonitl(js) ==  1 .OR. ibonitl(js) == 2 )   nictle = MIN( nictle, nimpptl(js) + nleitl(js) - 2 ) 
     135               IF( ibonjtl(js) ==  1 .OR. ibonjtl(js) == 2 )   njctle = MIN( njctle, njmpptl(js) + nlejtl(js) - 2 ) 
    146136            ENDIF 
    147137         ENDIF 
    148           
     138         ! 
    149139         IF( PRESENT(clinfo2) ) THEN 
    150140            DO jn = 1, jptra 
    151141               zvctl  = tra_ctl(jn,js) 
    152142               ztab3d(:,:,:) = tab4d(:,:,:,jn) 
    153                zsum          = SUM( ztab3d(nictls:nictle,njctls:njctle,1:kdir) & 
    154                   &                 *zmask(nictls:nictle,njctls:njctle,1:kdir) ) 
     143               zsum          = SUM( ztab3d(nictls:nictle,njctls:njctle,1:kdir)   & 
     144                  &                * zmask(nictls:nictle,njctls:njctle,1:kdir) ) 
    155145               WRITE(j_id,FMT="(3x,a,' : ',D23.16)") cl(jn), zsum-zvctl 
    156146               tra_ctl(jn,js) = zsum 
    157             ENDDO 
     147            END DO 
    158148         ELSE 
    159149            DO jn = 1, jptra 
    160150               ztab3d(:,:,:) = tab4d(:,:,:,jn) 
    161                zsum          = SUM( ztab3d(nictls:nictle,njctls:njctle,1:kdir) & 
    162                   &               * zmask(nictls:nictle,njctls:njctle,1:kdir) ) 
     151               zsum          = SUM( ztab3d(nictls:nictle,njctls:njctle,1:kdir)   & 
     152                  &               *  zmask(nictls:nictle,njctls:njctle,1:kdir) ) 
    163153               WRITE(j_id,FMT="(3x,a,' : ',D23.16)") cl(jn), zsum 
    164154            END DO 
    165155         ENDIF 
    166           
    167  
    168       ENDDO 
    169  
     156         ! 
     157      END DO 
     158      ! 
    170159   END SUBROUTINE prt_ctl_trc 
    171160 
    172    SUBROUTINE prt_ctl_trc_info (clinfo) 
     161 
     162   SUBROUTINE prt_ctl_trc_info( clinfo ) 
    173163      !!---------------------------------------------------------------------- 
    174164      !!                     ***  ROUTINE prt_ctl_trc_info  *** 
    175165      !! 
    176166      !! ** Purpose : - print information without any computation 
    177       !! 
    178       !! ** Action  : - input arguments 
    179       !!                    clinfo : information to print 
    180       !! 
    181       !! History : 
    182       !!   9.0  !  05-07  (C. Talandier) original code 
    183       !!---------------------------------------------------------------------- 
    184       !! * Arguments 
    185       CHARACTER (len=*), INTENT(in) ::   clinfo 
    186  
    187       !! * Local declarations 
    188       INTEGER ::  js, sind, eind, j_id 
    189       !!---------------------------------------------------------------------- 
    190  
    191       IF( lk_mpp )   THEN 
    192          ! processor number 
     167      !!---------------------------------------------------------------------- 
     168      CHARACTER (len=*), INTENT(in) ::   clinfo      ! information to print 
     169      !!  
     170      INTEGER ::   js, sind, eind, j_id 
     171      !!---------------------------------------------------------------------- 
     172 
     173      IF( lk_mpp ) THEN      ! processor number 
    193174         sind = narea 
    194175         eind = narea 
    195       ELSE 
    196          ! total number of processors 
     176      ELSE                   ! total number of processors 
    197177         sind = 1 
    198178         eind = ijsplt 
     
    202182      DO js = sind, eind 
    203183         j_id = numid_trc(js - narea + 1) 
    204          WRITE(j_id,*)clinfo 
    205       ENDDO 
    206  
    207  
     184         WRITE(j_id,*) clinfo 
     185      END DO 
     186      ! 
    208187   END SUBROUTINE prt_ctl_trc_info 
    209188 
     189 
    210190   SUBROUTINE prt_ctl_trc_init 
    211191      !!---------------------------------------------------------------------- 
     
    213193      !! 
    214194      !! ** Purpose :   open ASCII files & compute indices 
    215       !! 
    216       !! History : 
    217       !!   9.0  !  05-07  (C. Talandier) original code 
    218       !!        !  05-10  (C. Ethe     ) adapted to passive tracer 
    219       !!---------------------------------------------------------------------- 
    220       !! * Local declarations 
    221       INTEGER ::   js, sind, eind, j_id 
     195      !!---------------------------------------------------------------------- 
     196      INTEGER            ::   js, sind, eind, j_id 
    222197      CHARACTER (len=31) :: clfile_out 
    223198      CHARACTER (len=27) :: clb_name 
     
    225200      !!---------------------------------------------------------------------- 
    226201 
    227       ! Allocate arrays 
    228       ALLOCATE(nlditl (ijsplt)) 
    229       ALLOCATE(nldjtl (ijsplt)) 
    230       ALLOCATE(nleitl (ijsplt)) 
    231       ALLOCATE(nlejtl (ijsplt)) 
    232       ALLOCATE(nimpptl(ijsplt)) 
    233       ALLOCATE(njmpptl(ijsplt)) 
    234       ALLOCATE(nlcitl (ijsplt)) 
    235       ALLOCATE(nlcjtl (ijsplt)) 
    236       ALLOCATE(tra_ctl(jptra,ijsplt)) 
    237       ALLOCATE(ibonitl(ijsplt)) 
    238       ALLOCATE(ibonjtl(ijsplt)) 
    239  
    240       ! Initialization  
    241       tra_ctl (:,:)=0.e0 
     202      !                             ! Allocate arrays 
     203      ALLOCATE( nlditl (ijsplt) ) 
     204      ALLOCATE( nldjtl (ijsplt) ) 
     205      ALLOCATE( nleitl (ijsplt) ) 
     206      ALLOCATE( nlejtl (ijsplt) ) 
     207      ALLOCATE( nimpptl(ijsplt) ) 
     208      ALLOCATE( njmpptl(ijsplt) ) 
     209      ALLOCATE( nlcitl (ijsplt) ) 
     210      ALLOCATE( nlcjtl (ijsplt) ) 
     211      ALLOCATE( tra_ctl(jptra,ijsplt) ) 
     212      ALLOCATE( ibonitl(ijsplt) ) 
     213      ALLOCATE( ibonjtl(ijsplt) ) 
     214 
     215      tra_ctl(:,:) = 0.e0           ! Initialization to zero 
    242216 
    243217      IF( lk_mpp ) THEN 
     
    264238         eind = ijsplt 
    265239         clb_name = "('mono.top.output_',I3.3)" 
    266          cl_run = 'MONO processor run ' 
     240         cl_run   = 'MONO processor run ' 
    267241         ! compute indices for each area as done in mpp_init subroutine 
    268242         CALL sub_dom 
    269243      ENDIF 
    270244 
    271       ALLOCATE(numid_trc(eind-sind+1)) 
     245      ALLOCATE( numid_trc(eind-sind+1) ) 
    272246 
    273247      DO js = sind, eind 
     
    278252         WRITE(j_id,*) 
    279253         WRITE(j_id,*) '                 L O D Y C - I P S L' 
    280          WRITE(j_id,*) '                     O P A model' 
     254         WRITE(j_id,*) '                       N E M 0 ' 
    281255         WRITE(j_id,*) '            Ocean General Circulation Model' 
    282          WRITE(j_id,*) '               version OPA 9.0  (2005) ' 
     256         WRITE(j_id,*) '               version TOP 1.0  (2005) ' 
    283257         WRITE(j_id,*) 
    284258         WRITE(j_id,*) '                   PROC number: ', js 
    285259         WRITE(j_id,*) 
    286          WRITE(j_id,FMT="(19x,a20)")cl_run 
     260         WRITE(j_id,FMT="(19x,a20)") cl_run 
    287261 
    288262         ! Print the SUM control indices 
     
    3242989003     FORMAT(a20,i4.4,a17,i4.4) 
    3252999004     FORMAT(a11,i4.4,a26,i4.4,a14) 
    326       ENDDO 
    327  
     300      END DO 
     301      ! 
    328302   END SUBROUTINE prt_ctl_trc_init 
    329303 
     
    358332      !!                    nbondil    : mark for "east-west local boundary" 
    359333      !!                    nbondjl    : mark for "north-south local boundary" 
    360       !! 
    361       !! History : 
    362       !!        !  94-11  (M. Guyon)  Original code 
    363       !!        !  95-04  (J. Escobar, M. Imbard) 
    364       !!        !  98-02  (M. Guyon)  FETI method 
    365       !!        !  98-05  (M. Imbard, J. Escobar, L. Colombet )  SHMEM and MPI versions 
    366       !!   8.5  !  02-08  (G. Madec)  F90 : free form 
    367       !!---------------------------------------------------------------------- 
    368       !! * Local variables 
     334      !!---------------------------------------------------------------------- 
    369335      INTEGER ::   ji, jj, js               ! dummy loop indices 
    370       INTEGER ::   & 
    371          ii, ij,                         &  ! temporary integers 
    372          irestil, irestjl,               &  !    "          " 
    373          ijpi  , ijpj, nlcil,            &  ! temporary logical unit 
    374          nlcjl , nbondil, nbondjl,       & 
    375          nrecil, nrecjl, nldil, nleil, nldjl, nlejl 
    376  
    377       INTEGER, DIMENSION(:,:), ALLOCATABLE ::   & 
    378          iimpptl, ijmpptl, ilcitl, ilcjtl       ! temporary workspace 
     336      INTEGER ::   ii, ij                   ! temporary integers 
     337      INTEGER ::   irestil, irestjl         !    "          " 
     338      INTEGER ::   ijpi  , ijpj, nlcil      ! temporary logical unit 
     339      INTEGER ::   nlcjl , nbondil, nbondjl 
     340      INTEGER ::   nrecil, nrecjl, nldil, nleil, nldjl, nlejl 
    379341      REAL(wp) ::   zidom, zjdom            ! temporary scalars 
    380       !!---------------------------------------------------------------------- 
    381  
    382       !  1. Dimension arrays for subdomains 
    383       ! ----------------------------------- 
     342      INTEGER, DIMENSION(:,:), ALLOCATABLE ::   iimpptl, ijmpptl, ilcitl, ilcjtl   ! temporary workspace 
     343      !!---------------------------------------------------------------------- 
     344 
     345      ! Dimension arrays for subdomains 
     346      ! ------------------------------- 
    384347      !  Computation of local domain sizes ilcitl() ilcjtl() 
    385348      !  These dimensions depend on global sizes isplt,jsplt and jpiglo,jpjglo 
     
    391354      ijpj = ( jpjglo-2*jprecj + (jsplt-1) ) / jsplt + 2*jprecj 
    392355 
    393       ALLOCATE(ilcitl (isplt,jsplt)) 
    394       ALLOCATE(ilcjtl (isplt,jsplt)) 
     356      ALLOCATE( ilcitl (isplt,jsplt) ) 
     357      ALLOCATE( ilcjtl (isplt,jsplt) ) 
    395358 
    396359      nrecil  = 2 * jpreci 
     
    429392      END DO 
    430393 
    431       !  2. Index arrays for subdomains 
    432       ! ------------------------------- 
    433  
    434       ALLOCATE(iimpptl(isplt,jsplt)) 
    435       ALLOCATE(ijmpptl(isplt,jsplt)) 
     394      ! Index arrays for subdomains 
     395      ! --------------------------- 
     396 
     397      ALLOCATE( iimpptl(isplt,jsplt) ) 
     398      ALLOCATE( ijmpptl(isplt,jsplt) ) 
    436399       
    437400      iimpptl(:,:) = 1 
     
    454417      ENDIF 
    455418       
    456       ! 3. Subdomain description 
    457       ! ------------------------ 
     419      ! Subdomain description 
     420      ! --------------------- 
    458421 
    459422      DO js = 1, ijsplt 
     
    492455      END DO 
    493456 
    494       DEALLOCATE(iimpptl) 
    495       DEALLOCATE(ijmpptl) 
    496       DEALLOCATE(ilcitl) 
    497       DEALLOCATE(ilcjtl) 
    498  
     457      DEALLOCATE( iimpptl ) 
     458      DEALLOCATE( ijmpptl ) 
     459      DEALLOCATE( ilcitl ) 
     460      DEALLOCATE( ilcjtl ) 
     461      ! 
    499462   END SUBROUTINE sub_dom 
    500463  
    501464#else 
    502465   !!---------------------------------------------------------------------- 
    503    !!   Dummy module :                      NO passive tracer 
     466   !!   Dummy module :                                    NO passive tracer 
    504467   !!---------------------------------------------------------------------- 
    505468#endif 
    506469     
    507470   !!====================================================================== 
    508  
    509471END MODULE prtctl_trc 
Note: See TracChangeset for help on using the changeset viewer.