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 9169 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/trcbc.F90 – NEMO

Ignore:
Timestamp:
2017-12-26T17:32:56+01:00 (7 years ago)
Author:
gm
Message:

dev_merge_2017: all SRC: finalize the removal of useless warning when reading namelist_cfg + remove all nn_closea + nn_msh replaced by a logical

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/trcbc.F90

    r9124 r9169  
    6060      !!              - allocates passive tracer BC data structure  
    6161      !!---------------------------------------------------------------------- 
    62       INTEGER,INTENT(IN) :: ntrc                           ! number of tracers 
     62      INTEGER,INTENT(in) :: ntrc                           ! number of tracers 
     63      ! 
    6364      INTEGER            :: jl, jn , ib, ibd, ii, ij, ik   ! dummy loop indices 
    6465      INTEGER            :: ierr0, ierr1, ierr2, ierr3     ! temporary integers 
     
    6869      ! 
    6970      CHARACTER(len=100) :: cn_dir_sbc, cn_dir_cbc, cn_dir_obc 
    70  
    7171      TYPE(FLD_N), ALLOCATABLE, DIMENSION(:) :: slf_i  ! local array of namelist informations on the fields to read 
    7272      TYPE(FLD_N), DIMENSION(jpmaxtrc) :: sn_trcobc    ! open 
     
    8383      ! 
    8484      IF( lwp ) THEN 
    85          WRITE(numout,*) ' ' 
     85         WRITE(numout,*) 
    8686         WRITE(numout,*) 'trc_bc_ini : Tracers Boundary Conditions (BC)' 
    8787         WRITE(numout,*) '~~~~~~~~~~~ ' 
    8888      ENDIF 
    8989      !  Initialisation and local array allocation 
    90       ierr0 = 0  ;  ierr1 = 0  ;  ierr2 = 0  ;  ierr3 = 0   
     90      ierr0 = 0   ;   ierr1 = 0   ;   ierr2 = 0   ;   ierr3 = 0   
    9191      ALLOCATE( slf_i(ntrc), STAT=ierr0 ) 
    9292      IF( ierr0 > 0 ) THEN 
     
    9999         CALL ctl_stop( 'trc_bc_ini: unable to allocate n_trc_indobc' )   ;   RETURN 
    100100      ENDIF 
    101       nb_trcobc      = 0 
     101      nb_trcobc       = 0 
    102102      n_trc_indobc(:) = 0 
    103103      ! 
     
    106106         CALL ctl_stop( 'trc_bc_ini: unable to allocate n_trc_indsbc' )   ;   RETURN 
    107107      ENDIF 
    108       nb_trcsbc      = 0 
     108      nb_trcsbc       = 0 
    109109      n_trc_indsbc(:) = 0 
    110110      ! 
     
    113113         CALL ctl_stop( 'trc_bc_ini: unable to allocate n_trc_indcbc' )   ;   RETURN 
    114114      ENDIF 
    115       nb_trccbc      = 0 
     115      nb_trccbc       = 0 
    116116      n_trc_indcbc(:) = 0 
    117117      ! 
     
    119119      REWIND( numnat_ref )              ! Namelist namtrc_bc in reference namelist : Passive tracer data structure 
    120120      READ  ( numnat_ref, namtrc_bc, IOSTAT = ios, ERR = 901) 
    121 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bc in reference namelist', lwp ) 
    122  
     121901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namtrc_bc in reference namelist', lwp ) 
    123122      REWIND( numnat_cfg )              ! Namelist namtrc_bc in configuration namelist : Passive tracer data structure 
    124123      READ  ( numnat_cfg, namtrc_bc, IOSTAT = ios, ERR = 902 ) 
    125 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bc in configuration namelist', lwp ) 
     124902   IF( ios >  0 )  CALL ctl_nam ( ios , 'namtrc_bc in configuration namelist', lwp ) 
    126125      IF(lwm) WRITE ( numont, namtrc_bc ) 
    127126 
     
    129128         REWIND( numnat_ref )              ! Namelist namtrc_bdy in reference namelist : Passive tracer data structure 
    130129         READ  ( numnat_ref, namtrc_bdy, IOSTAT = ios, ERR = 903) 
    131 903      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bdy in reference namelist', lwp ) 
     130903      IF( ios /= 0 )   CALL ctl_nam ( ios , 'namtrc_bdy in reference namelist', lwp ) 
    132131 
    133132         REWIND( numnat_cfg )              ! Namelist namtrc_bdy in configuration namelist : Passive tracer data structure 
    134133         READ  ( numnat_cfg, namtrc_bdy, IOSTAT = ios, ERR = 904 ) 
    135 904      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_bdy in configuration namelist', lwp ) 
     134904      IF( ios >  0 )  CALL ctl_nam ( ios , 'namtrc_bdy in configuration namelist', lwp ) 
    136135         IF(lwm) WRITE ( numont, namtrc_bdy ) 
    137136       
     
    140139            DO ib = 1, nb_bdy 
    141140               ! Set type of obc in BDY data structure (around here we may plug user override of obc type from nml) 
    142                IF ( ln_trc_obc(jn) ) THEN 
    143                   trcdta_bdy(jn,ib)%cn_obc = TRIM( cn_trc(ib) ) 
    144                ELSE 
    145                   trcdta_bdy(jn,ib)%cn_obc = TRIM( cn_trc_dflt(ib) ) 
     141               IF ( ln_trc_obc(jn) ) THEN   ;   trcdta_bdy(jn,ib)%cn_obc = TRIM( cn_trc     (ib) ) 
     142               ELSE                         ;   trcdta_bdy(jn,ib)%cn_obc = TRIM( cn_trc_dflt(ib) ) 
    146143               ENDIF 
    147144               ! set damping use in BDY data structure 
    148145               trcdta_bdy(jn,ib)%dmp = .false. 
    149                IF(nn_trcdmp_bdy(ib) .EQ. 1 .AND. ln_trc_obc(jn) ) trcdta_bdy(jn,ib)%dmp = .true. 
    150                IF(nn_trcdmp_bdy(ib) .EQ. 2 ) trcdta_bdy(jn,ib)%dmp = .true. 
    151                IF(trcdta_bdy(jn,ib)%cn_obc == 'frs' .AND. nn_trcdmp_bdy(ib) .NE. 0 )  & 
    152                    & CALL ctl_stop( 'Use FRS OR relaxation' ) 
    153                IF (nn_trcdmp_bdy(ib) .LT. 0 .OR. nn_trcdmp_bdy(ib) .GT. 2)            & 
    154                    & CALL ctl_stop( 'Not a valid option for nn_trcdmp_bdy. Allowed: 0,1,2.' ) 
    155             ENDDO 
    156          ENDDO 
     146               IF(nn_trcdmp_bdy(ib) == 1 .AND. ln_trc_obc(jn) )  trcdta_bdy(jn,ib)%dmp = .true. 
     147               IF(nn_trcdmp_bdy(ib) == 2                      )  trcdta_bdy(jn,ib)%dmp = .true. 
     148               IF(trcdta_bdy(jn,ib)%cn_obc == 'frs' .AND. nn_trcdmp_bdy(ib) /= 0 )  & 
     149                   & CALL ctl_stop( 'trc_bc_ini: Use FRS OR relaxation' ) 
     150               IF(  .NOT.( 0 < nn_trcdmp_bdy(ib)  .AND.  nn_trcdmp_bdy(ib) <= 2 )  )   & 
     151                   & CALL ctl_stop( 'trc_bc_ini: Not a valid option for nn_trcdmp_bdy. Allowed: 0,1,2.' ) 
     152            END DO 
     153         END DO 
    157154      ELSE 
    158155         ! Force all tracers OBC to false if bdy not used 
     
    163160      DO jn = 1, ntrc 
    164161         IF( ln_trc_obc(jn) ) THEN 
    165              nb_trcobc       = nb_trcobc + 1  ; n_trc_indobc(jn) = nb_trcobc 
     162             nb_trcobc       = nb_trcobc + 1   ;  n_trc_indobc(jn) = nb_trcobc 
    166163         ENDIF 
    167164         IF( ln_trc_sbc(jn) ) THEN 
    168              nb_trcsbc       = nb_trcsbc + 1  ; n_trc_indsbc(jn) = nb_trcsbc 
     165             nb_trcsbc       = nb_trcsbc + 1   ;  n_trc_indsbc(jn) = nb_trcsbc 
    169166         ENDIF 
    170167         IF( ln_trc_cbc(jn) ) THEN 
    171              nb_trccbc       = nb_trccbc + 1  ; n_trc_indcbc(jn) = nb_trccbc 
    172          ENDIF 
    173       ENDDO 
     168             nb_trccbc       = nb_trccbc + 1   ;  n_trc_indcbc(jn) = nb_trccbc 
     169         ENDIF 
     170      END DO 
    174171 
    175172      ! Print summmary of Boundary Conditions 
    176173      IF( lwp ) THEN 
    177          WRITE(numout,*) ' ' 
     174         WRITE(numout,*) 
    178175         WRITE(numout,'(a,i3)') '   Total tracers to be initialized with SURFACE BCs data:', nb_trcsbc 
    179176         IF ( nb_trcsbc > 0 ) THEN 
     
    181178            DO jn = 1, ntrc 
    182179               IF ( ln_trc_sbc(jn) ) WRITE(numout,9001) jn, TRIM( sn_trcsbc(jn)%clvar ), 'SBC', rn_trsfac(jn) 
    183             ENDDO 
     180            END DO 
    184181         ENDIF 
    185182         WRITE(numout,'(2a)') '   SURFACE BC data repository : ', TRIM(cn_dir_sbc) 
    186  
    187          WRITE(numout,*) ' ' 
     183         ! 
     184         WRITE(numout,*) 
    188185         WRITE(numout,'(a,i3)') '   Total tracers to be initialized with COASTAL BCs data:', nb_trccbc 
    189186         IF( nb_trccbc > 0 ) THEN 
     
    191188            DO jn = 1, ntrc 
    192189               IF ( ln_trc_cbc(jn) ) WRITE(numout, 9001) jn, TRIM( sn_trccbc(jn)%clvar ), 'CBC', rn_trcfac(jn) 
    193             ENDDO 
     190            END DO 
    194191         ENDIF 
    195192         WRITE(numout,'(2a)') '   COASTAL BC data repository : ', TRIM(cn_dir_cbc) 
    196          IF( .NOT.ln_rnf .OR. .NOT.ln_linssh ) ln_rnf_ctl = .FALSE. 
     193         IF( .NOT.ln_rnf .OR. .NOT.ln_linssh )   ln_rnf_ctl = .FALSE. 
    197194         IF( ln_rnf_ctl )  WRITE(numout,'(a)') & 
    198195              &            ' -> Remove runoff dilution effect on tracers with absent river load (ln_rnf_ctl = .TRUE.)' 
    199          WRITE(numout,*) ' ' 
     196         WRITE(numout,*) 
    200197         WRITE(numout,'(a,i3)') '   Total tracers to be initialized with OPEN BCs data:', nb_trcobc 
    201198 
     
    207204               IF ( .NOT. ln_trc_obc(jn) )  WRITE(numout, 9002) jn, 'Set data to IC and use default condition'       , & 
    208205                    &                                           (trcdta_bdy(jn,ib)%cn_obc,ib=1,nb_bdy) 
    209             ENDDO 
     206            END DO 
    210207            WRITE(numout,*) ' ' 
    211208            DO ib = 1, nb_bdy 
    212                 IF(nn_trcdmp_bdy(ib) .EQ. 0) WRITE(numout,9003) '   Boundary ', ib, & 
    213                      &                                          ' -> NO damping of tracers' 
    214                 IF(nn_trcdmp_bdy(ib) .EQ. 1) WRITE(numout,9003) '   Boundary ', ib, & 
    215                      &                                          ' -> damping ONLY for tracers with external data provided' 
    216                 IF(nn_trcdmp_bdy(ib) .EQ. 2) WRITE(numout,9003) '   Boundary ', ib, & 
    217                      &                                          ' -> damping of ALL tracers' 
    218                 IF(nn_trcdmp_bdy(ib) .GT. 0) THEN 
     209               IF(nn_trcdmp_bdy(ib) == 0) WRITE(numout,9003) '   Boundary ', ib, & 
     210                  &                                          ' -> NO damping of tracers' 
     211               IF(nn_trcdmp_bdy(ib) == 1) WRITE(numout,9003) '   Boundary ', ib, & 
     212                  &                                          ' -> damping ONLY for tracers with external data provided' 
     213               IF(nn_trcdmp_bdy(ib) == 2) WRITE(numout,9003) '   Boundary ', ib, & 
     214                  &                                          ' -> damping of ALL tracers' 
     215               IF(nn_trcdmp_bdy(ib) > 0) THEN 
    219216                   WRITE(numout,9003) '     USE damping parameters from nambdy for boundary ', ib,' : ' 
    220                    WRITE(numout,'(a,f10.2,a)') '     - Inflow damping time scale  : ',rn_time_dmp(ib),' days' 
     217                   WRITE(numout,'(a,f10.2,a)') '     - Inflow damping time scale  : ',rn_time_dmp    (ib),' days' 
    221218                   WRITE(numout,'(a,f10.2,a)') '     - Outflow damping time scale : ',rn_time_dmp_out(ib),' days' 
    222                 ENDIF 
    223             ENDDO 
    224          ENDIF 
    225  
     219               ENDIF 
     220            END DO 
     221         ENDIF 
     222         ! 
    226223         WRITE(numout,'(2a)') '   OPEN BC data repository : ', TRIM(cn_dir_obc) 
    227224      ENDIF 
     
    2292269002  FORMAT(2x,i5, 3x, a41, 3x, 10a13) 
    2302279003  FORMAT(a, i5, a) 
    231  
     228      ! 
    232229      ! 
    233230      ! OPEN Lateral boundary conditions 
     
    237234            CALL ctl_stop( 'trc_bc_ini: unable to allocate sf_trcobc structure' )   ;   RETURN 
    238235         ENDIF 
    239  
     236         ! 
    240237         igrd = 1                       ! Everything is at T-points here 
    241  
     238         ! 
    242239         DO jn = 1, ntrc 
    243240            DO ib = 1, nb_bdy 
    244  
     241               ! 
    245242               nblen = idx_bdy(ib)%nblen(igrd) 
    246  
    247                IF ( ln_trc_obc(jn) ) THEN 
    248                ! Initialise from external data 
     243               ! 
     244               IF( ln_trc_obc(jn) ) THEN     !* Initialise from external data *! 
    249245                  jl = n_trc_indobc(jn) 
    250246                  slf_i(jl)    = sn_trcobc(jn) 
    251247                  rf_trofac(jl) = rn_trofac(jn) 
    252                                                ALLOCATE( sf_trcobc(jl)%fnow(nblen,1,jpk)   , STAT=ierr2 ) 
    253                   IF( sn_trcobc(jn)%ln_tint )  ALLOCATE( sf_trcobc(jl)%fdta(nblen,1,jpk,2) , STAT=ierr3 ) 
     248                                                ALLOCATE( sf_trcobc(jl)%fnow(nblen,1,jpk)   , STAT=ierr2 ) 
     249                  IF( sn_trcobc(jn)%ln_tint )   ALLOCATE( sf_trcobc(jl)%fdta(nblen,1,jpk,2) , STAT=ierr3 ) 
    254250                  IF( ierr2 + ierr3 > 0 ) THEN 
    255251                    CALL ctl_stop( 'trc_bc_ini : unable to allocate passive tracer OBC data arrays' )   ;   RETURN 
     
    260256                  nbmap_ptr(jl)%ptr => idx_bdy(ib)%nbmap(:,igrd) 
    261257                  nbmap_ptr(jl)%ll_unstruc = ln_coords_file(igrd) 
    262                ELSE 
    263                ! Initialise obc arrays from initial conditions 
     258                  ! 
     259               ELSE                          !* Initialise obc arrays from initial conditions *! 
    264260                  ALLOCATE ( trcdta_bdy(jn,ib)%trc(nblen,jpk) ) 
    265261                  DO ibd = 1, nblen 
     
    272268                  trcdta_bdy(jn,ib)%rn_fac = 1._wp 
    273269               ENDIF 
    274             ENDDO 
    275          ENDDO 
    276  
     270            END DO 
     271         END DO 
     272         ! 
    277273         CALL fld_fill( sf_trcobc, slf_i, cn_dir_obc, 'trc_bc_ini', 'Passive tracer OBC data', 'namtrc_bc' ) 
    278274      ENDIF 
     
    297293            ENDIF 
    298294            !    
    299          ENDDO 
     295         END DO 
    300296         !                         ! fill sf_trcsbc with slf_i and control print 
    301297         CALL fld_fill( sf_trcsbc, slf_i, cn_dir_sbc, 'trc_bc_ini', 'Passive tracer SBC data', 'namtrc_bc' ) 
     
    322318            ENDIF 
    323319            !    
    324          ENDDO 
     320         END DO 
    325321         !                         ! fill sf_trccbc with slf_i and control print 
    326322         CALL fld_fill( sf_trccbc, slf_i, cn_dir_cbc, 'trc_bc_ini', 'Passive tracer CBC data', 'namtrc_bc' ) 
     
    341337      !! ** Method  :  1) Read BC inputs and update data structures using fldread 
    342338      !!               2) Apply Boundary Conditions to tracers 
    343       !!               
    344339      !!---------------------------------------------------------------------- 
    345340      USE fldread 
    346341      !!       
    347       INTEGER, INTENT( in ) ::   kt              ! ocean time-step index 
    348       INTEGER, INTENT( in ), OPTIONAL ::   jit   ! subcycle time-step index (for timesplitting option) 
     342      INTEGER, INTENT(in)           ::   kt    ! ocean time-step index 
     343      INTEGER, INTENT(in), OPTIONAL ::   jit   ! subcycle time-step index (for timesplitting option) 
    349344      !! 
    350345      INTEGER  :: ji, jj, jk, jn, jl             ! Loop index 
     
    357352         WRITE(numout,*) 
    358353         WRITE(numout,*) 'trc_bc : Surface boundary conditions for passive tracers.' 
    359          WRITE(numout,*) '~~~~~~~~~~~ ' 
     354         WRITE(numout,*) '~~~~~~~ ' 
    360355      ENDIF 
    361356 
    362357      ! 1. Update Boundary conditions data 
    363       IF ( PRESENT(jit) ) THEN  
    364  
     358      IF( PRESENT(jit) ) THEN  
     359         ! 
    365360         ! OPEN boundary conditions (use time_offset=+1 as they are applied at the end of the step) 
    366361         IF( nb_trcobc > 0 ) THEN 
    367362           if (lwp) write(numout,'(a,i5,a,i10)') '   reading OBC data for ', nb_trcobc ,' variable(s) at step ', kt 
    368            CALL fld_read(kt=kt, kn_fsbc=1, sd=sf_trcobc, map=nbmap_ptr, kit=jit, kt_offset=+1) 
    369          ENDIF 
    370  
     363           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcobc, map=nbmap_ptr, kit=jit, kt_offset=+1) 
     364         ENDIF 
     365         ! 
    371366         ! SURFACE boundary conditions 
    372367         IF( nb_trcsbc > 0 ) THEN 
    373368           if (lwp) write(numout,'(a,i5,a,i10)') '   reading SBC data for ', nb_trcsbc ,' variable(s) at step ', kt 
    374            CALL fld_read(kt=kt, kn_fsbc=1, sd=sf_trcsbc, kit=jit) 
    375          ENDIF 
    376  
     369           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcsbc, kit=jit) 
     370         ENDIF 
     371         ! 
    377372         ! COASTAL boundary conditions 
    378373         IF( nb_trccbc > 0 ) THEN 
    379374           if (lwp) write(numout,'(a,i5,a,i10)') '   reading CBC data for ', nb_trccbc ,' variable(s) at step ', kt 
    380            CALL fld_read(kt=kt, kn_fsbc=1, sd=sf_trccbc, kit=jit) 
    381          ENDIF 
    382  
     375           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trccbc, kit=jit) 
     376         ENDIF 
     377         ! 
    383378      ELSE 
    384  
     379         ! 
    385380         ! OPEN boundary conditions (use time_offset=+1 as they are applied at the end of the step) 
    386381         IF( nb_trcobc > 0 ) THEN 
    387382           if (lwp) write(numout,'(a,i5,a,i10)') '   reading OBC data for ', nb_trcobc ,' variable(s) at step ', kt 
    388            CALL fld_read(kt=kt, kn_fsbc=1, sd=sf_trcobc, map=nbmap_ptr, kt_offset=+1) 
    389          ENDIF 
    390  
     383           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcobc, map=nbmap_ptr, kt_offset=+1) 
     384         ENDIF 
     385         ! 
    391386         ! SURFACE boundary conditions 
    392387         IF( nb_trcsbc > 0 ) THEN 
    393388           if (lwp) write(numout,'(a,i5,a,i10)') '   reading SBC data for ', nb_trcsbc ,' variable(s) at step ', kt 
    394            CALL fld_read(kt=kt, kn_fsbc=1, sd=sf_trcsbc) 
    395          ENDIF 
    396  
     389           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trcsbc ) 
     390         ENDIF 
     391         ! 
    397392         ! COASTAL boundary conditions 
    398393         IF( nb_trccbc > 0 ) THEN 
    399394           if (lwp) write(numout,'(a,i5,a,i10)') '   reading CBC data for ', nb_trccbc ,' variable(s) at step ', kt 
    400            CALL fld_read(kt=kt, kn_fsbc=1, sd=sf_trccbc) 
    401          ENDIF 
    402  
     395           CALL fld_read( kt=kt, kn_fsbc=1, sd=sf_trccbc ) 
     396         ENDIF 
     397         ! 
    403398      ENDIF 
    404399 
     
    408403         ! 
    409404         ! Remove river dilution for tracers with absent river load 
    410          IF ( ln_rnf_ctl .AND. .NOT. ln_trc_cbc(jn) ) THEN 
     405         IF( ln_rnf_ctl .AND. .NOT.ln_trc_cbc(jn) ) THEN 
    411406            DO jj = 2, jpj 
    412407               DO ji = fs_2, fs_jpim1 
     
    414409                     zrnf = (rnf(ji,jj) + rnf_b(ji,jj)) * 0.5_wp * r1_rau0 / h_rnf(ji,jj) 
    415410                     tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn)  + (trn(ji,jj,jk,jn) * zrnf) 
    416                   ENDDO 
    417                ENDDO 
    418             ENDDO 
    419          ENDIF 
    420            
     411                  END DO 
     412               END DO 
     413            END DO 
     414         ENDIF 
     415         ! 
    421416         ! OPEN boundary conditions: trcbdy is called in trcnxt ! 
    422  
     417         ! 
    423418         ! SURFACE boundary conditions 
    424          IF (ln_trc_sbc(jn)) THEN 
     419         IF( ln_trc_sbc(jn) ) THEN 
    425420            jl = n_trc_indsbc(jn) 
    426421            DO jj = 2, jpj 
     
    430425               END DO 
    431426            END DO 
    432          END IF 
    433  
     427         ENDIF 
     428         ! 
    434429         ! COASTAL boundary conditions 
    435          IF ( ln_rnf .AND. ln_trc_cbc(jn)) THEN 
     430         IF( ln_rnf .AND. ln_trc_cbc(jn) ) THEN 
    436431            jl = n_trc_indcbc(jn) 
    437432            DO jj = 2, jpj 
     
    440435                     zfact = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_bc_time )  
    441436                     tra(ji,jj,jk,jn) = tra(ji,jj,jk,jn) + rf_trcfac(jl) * sf_trccbc(jl)%fnow(ji,jj,1) * zfact 
    442                   ENDDO 
     437                  END DO 
    443438               END DO 
    444439            END DO 
    445          END IF 
     440         ENDIF 
    446441         !                                                       ! =========== 
    447442      END DO                                                     ! tracer loop 
     
    460455      WRITE(*,*) 'trc_bc_ini: You should not have seen this print! error?', kt 
    461456   END SUBROUTINE trc_bc_ini 
    462  
    463457   SUBROUTINE trc_bc( kt )        ! Empty routine 
    464458      WRITE(*,*) 'trc_bc: You should not have seen this print! error?', kt 
Note: See TracChangeset for help on using the changeset viewer.