Ignore:
Timestamp:
2012-11-15T18:42:30+01:00 (8 years ago)
Author:
rblod
Message:

fix output average with EVP, see ticket #908

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/LIM_SRC_2/limwri_2.F90

    r3558 r3564  
    3131   USE lib_mpp         ! MPP library 
    3232   USE wrk_nemo        ! work arrays 
    33    USE lib_fortran     ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    3433   USE iom 
    3534   USE ioipsl 
     
    105104      !! 
    106105      INTEGER  ::   ji, jj, jf                      ! dummy loop indices 
    107       CHARACTER(len = 40)  ::   clhstnam, clop 
     106      CHARACTER(len = 80)  ::   clhstnam, clop 
    108107      REAL(wp) ::   zsto, zjulian, zout,   &  ! temporary scalars 
    109108         &          zindh, zinda, zindb, ztmu 
     
    161160            zcmo(ji,jj,5)  = sist  (ji,jj) 
    162161            zcmo(ji,jj,6)  = fbif  (ji,jj) 
     162           IF (lk_lim2_vp) THEN 
    163163            zcmo(ji,jj,7)  = zindb * (  u_ice(ji,jj  ) * tmu(ji,jj  ) + u_ice(ji+1,jj  ) * tmu(ji+1,jj  )   & 
    164164                                      + u_ice(ji,jj+1) * tmu(ji,jj+1) + u_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 
     
    168168                                      + v_ice(ji,jj+1) * tmu(ji,jj+1) + v_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 
    169169                                  / ztmu 
     170           ELSE 
     171 
     172            zcmo(ji,jj,7)  = zindb * (  u_ice(ji,jj  ) * tmu(ji,jj)                       & 
     173             &                        + u_ice(ji-1,jj) * tmu(ji-1,jj) )                   & 
     174             &                    / 2.0 
     175            zcmo(ji,jj,8)  = zindb * (  v_ice(ji,jj  ) * tmv(ji,jj)                       & 
     176             &                        + v_ice(ji,jj-1) * tmv(ji,jj-1) )                   & 
     177             &                    / 2.0 
     178 
     179           ENDIF 
    170180            zcmo(ji,jj,9)  = sst_m(ji,jj) 
    171181            zcmo(ji,jj,10) = sss_m(ji,jj) 
     
    187197      niter = niter + 1 
    188198      DO jf = 1 , noumef 
    189          DO jj = 1 , jpj 
    190             DO ji = 1 , jpi 
    191                zfield(ji,jj) = zcmo(ji,jj,jf) * cmulti(jf) + cadd(jf) 
    192             END DO 
    193          END DO 
    194           
    195          IF( jf == 7  .OR. jf == 8  .OR. jf == 15 .OR. jf == 16 ) THEN 
     199         zfield(:,:) = zcmo(:,:,jf) * cmulti(jf) + cadd(jf) * tmask(:,:,1) 
     200         SELECT CASE ( jf ) 
     201         CASE ( 7, 8, 15, 16, 20, 21 )  ! velocity or stress fields (vectors) 
    196202            CALL lbc_lnk( zfield, 'T', -1. ) 
    197          ELSE  
     203         CASE DEFAULT                   ! scalar fields 
    198204            CALL lbc_lnk( zfield, 'T',  1. ) 
    199          ENDIF 
    200           
     205         END SELECT 
     206 
    201207         IF( nc(jf) == 1 )   CALL histwrite( nice, nam(jf), niter, zfield, ndim, ndex51 ) 
    202           
     208 
    203209      END DO 
    204        
     210 
    205211      IF( ( nn_fsbc * niter ) >= nitend )   CALL histclo( nice )  
    206212 
     
    209215   END SUBROUTINE lim_wri_2 
    210216      
    211 # endif 
     217#endif      
    212218 
    213219   SUBROUTINE lim_wri_init_2 
Note: See TracChangeset for help on using the changeset viewer.