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 5193 for branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90 – NEMO

Ignore:
Timestamp:
2015-04-03T10:48:51+02:00 (9 years ago)
Author:
vancop
Message:

A few cosmetic changes before SETTE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r5184 r5193  
    6363      ! 
    6464      INTEGER  ::   ji, jj, jn                                     ! dummy loop indices 
    65       REAL(wp) ::   zsrau, zse3t                                   ! temporary scalars 
    66       REAL(wp) ::   zswitch, zftra, zcd, zdtra, ztfx, ztra, zeuler ! temporary scalars 
     65      REAL(wp) ::   zse3t                                          ! temporary scalars 
     66      REAL(wp) ::   zswitch, zftra, zcd, zdtra, ztfx, ztra        ! temporary scalars 
    6767      CHARACTER (len=22) :: charout 
    6868      REAL(wp), POINTER, DIMENSION(:,:  ) :: zsfx 
     
    9999      ENDIF 
    100100 
     101      WRITE(numout,*) ' trc_sbc initial values', trn(3,2,1,2), trb(3,2,1,2), tra(3,2,1,2) 
     102 
    101103      ! 0. initialization 
    102       zsrau = 1. / rau0 
    103  
    104       zeuler = 1.   ;  IF ( neuler .EQ. 0 ) zeuler = 0. 
    105  
    106104      DO jn = 1, jptra 
    107105         ! 
     
    114112               DO ji = fs_2, fs_jpim1   ! vector opt. 
    115113                  zse3t = 1. / fse3t(ji,jj,1) 
    116                   tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) *  zsrau * trn(ji,jj,1,jn) * zse3t 
     114                  tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) * r1_rau0 * trn(ji,jj,1,jn) * zse3t 
    117115               END DO 
    118116            END DO 
     
    122120            DO jj = 2, jpj 
    123121               DO ji = fs_2, fs_jpim1   ! vector opt. 
    124     
     122 
    125123                  zse3t = 1. / fse3t(ji,jj,1) 
    126124                   
     
    133131                  ztfx  = zftra + zswitch * zcd                ! net tracer flux (+C/D if no ice/ocean mass exchange) 
    134132    
    135                   ! tracer change (left member: euler; right member:leapfrog) 
    136                   ztra = ( 1. - zeuler ) * trn(ji,jj,1,jn) + zeuler * trb(ji,jj,1,jn) 
    137                    
    138                   ! MAX is there to avoid integral ocean uptake in the case of freezing (for iron) 
    139                   zdtra = MAX ( - ztra / r2dtra(1) , zsrau * ( ztfx + zsfx(ji,jj) * trn(ji,jj,1,jn) ) * zse3t ) ! tracer tendency 
    140                   ! r2dtra is time step 
    141                   tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zdtra ! new line 
     133                  zdtra = r1_rau0 * ( ztfx + zsfx(ji,jj) * trn(ji,jj,1,jn) ) * zse3t 
     134                  tra(ji,jj,1,jn) = MAX( tra(ji,jj,1,jn) + zdtra, 0.) ! avoid integral ocean uptake if freezing (for iron) 
    142135    
    143    !              IF ( ztfx .NE. 0.0 ) THEN 
    144    !                  WRITE(numout,*) ji, jj, jn 
    145    !                  WRITE(numout,*) ' trc_o  : ', trc_o(ji,jj,jn) 
    146    !                  WRITE(numout,*) ' trc_i  : ', trc_i(ji,jj,jn) 
    147    !                  WRITE(numout,*) ' fmmflx : ', fmmflx(ji,jj) 
    148    !                  WRITE(numout,*) ' zswitch: ', zswitch 
    149    !                  WRITE(numout,*) ' zcd   : ', zcd 
    150    !                  WRITE(numout,*) ' zftra : ', zftra 
    151    !                  WRITE(numout,*) ' ztfx  : ', ztfx 
    152    !                  WRITE(numout,*) ' zsrau : ', zsrau 
    153    !                  WRITE(numout,*) ' zsfx  : ', zsfx(ji,jj) 
    154    !                  WRITE(numout,*) ' zse3t : ', zse3t 
    155    !                  WRITE(numout,*) ' ztra  : ', ztra 
    156    !                  WRITE(numout,*) ' zdtra : ', zdtra 
    157    !                  WRITE(numout,*) ' Old tendency : ', zsfx(ji,jj) * zsrau * trn(ji,jj,1,jn) * zse3t 
    158    !              ENDIF 
     136!                 IF ( ztfx .NE. 0.0 ) THEN 
     137                  IF ( ( ji .EQ. 3 ) .AND. ( jj .EQ. 2 )  .AND. ( jn .EQ. 2 ) ) THEN 
     138                      WRITE(numout,*) ji, jj, jn 
     139                      WRITE(numout,*) ' trn    : ', trn(ji,jj,1,jn) 
     140                      WRITE(numout,*) ' trb    : ', trb(ji,jj,1,jn) 
     141                      WRITE(numout,*) ' tra    : ', tra(ji,jj,1,jn) 
     142                      WRITE(numout,*) ' trc_o  : ', trc_o(ji,jj,jn) 
     143                      WRITE(numout,*) ' trc_i  : ', trc_i(ji,jj,jn) 
     144                      WRITE(numout,*) ' fmmflx : ', fmmflx(ji,jj) 
     145                      WRITE(numout,*) ' zswitch: ', zswitch 
     146                      WRITE(numout,*) ' zcd   : ', zcd 
     147                      WRITE(numout,*) ' zftra : ', zftra 
     148                      WRITE(numout,*) ' ztfx  : ', ztfx 
     149                      WRITE(numout,*) ' r1_rau0 : ', r1_rau0 
     150                      WRITE(numout,*) ' zsfx  : ', zsfx(ji,jj) 
     151                      WRITE(numout,*) ' zse3t : ', zse3t 
     152                      WRITE(numout,*) ' ztra  : ', ztra 
     153                      WRITE(numout,*) ' zdtra : ', zdtra 
     154                      WRITE(numout,*) ' Old tendency : ', zsfx(ji,jj) * r1_rau0 * trn(ji,jj,1,jn) * zse3t 
     155                  ENDIF 
    159156    
    160157               END DO 
Note: See TracChangeset for help on using the changeset viewer.