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 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/closea.F90 – NEMO

Ignore:
Timestamp:
2010-12-27T18:33:53+01:00 (13 years ago)
Author:
rblod
Message:

Update NEMOGCM from branch nemo_v3_3_beta

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DOM/closea.F90

    • Property svn:eol-style deleted
    r1601 r2528  
    4444#  include "vectopt_loop_substitute.h90" 
    4545   !!---------------------------------------------------------------------- 
    46    !!  OPA 9.0 , LOCEAN-IPSL (2006)  
     46   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    4747   !! $Id$ 
    48    !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     48   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    4949   !!---------------------------------------------------------------------- 
    5050 
     
    180180      INTEGER                     ::   ji, jj, jc, jn   ! dummy loop indices 
    181181      REAL(wp)                    ::   zze2 
    182       REAL(wp), DIMENSION (jpncs) ::   zemp 
     182      REAL(wp), DIMENSION (jpncs) ::   zfwf  
     183  
    183184      !!---------------------------------------------------------------------- 
    184185      ! 
     
    216217      !                                                   !--------------------! 
    217218      !                                                   !  update emp, emps  ! 
    218       zemp = 0.e0                                         !--------------------! 
     219      zfwf = 0.e0                                         !--------------------! 
    219220      DO jc = 1, jpncs 
    220221         DO jj = ncsj1(jc), ncsj2(jc) 
    221222            DO ji = ncsi1(jc), ncsi2(jc) 
    222                zemp(jc) = zemp(jc) + e1t(ji,jj) * e2t(ji,jj) * emp(ji,jj) * tmask_i(ji,jj) 
     223               zfwf(jc) = zfwf(jc) + e1t(ji,jj) * e2t(ji,jj) * ( emp(ji,jj)-rnf(ji,jj) ) * tmask_i(ji,jj)  
    223224            END DO   
    224225         END DO  
    225226      END DO 
    226       IF( lk_mpp )   CALL mpp_sum ( zemp(:) , jpncs )       ! mpp: sum over all the global domain 
     227      IF( lk_mpp )   CALL mpp_sum ( zfwf(:) , jpncs )       ! mpp: sum over all the global domain 
    227228 
    228229      IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN      ! Black Sea case for ORCA_R2 configuration 
    229          zze2    = ( zemp(3) + zemp(4) ) / 2. 
    230          zemp(3) = zze2 
    231          zemp(4) = zze2 
     230         zze2    = ( zfwf(3) + zfwf(4) ) / 2. 
     231         zfwf(3) = zze2 
     232         zfwf(4) = zze2 
    232233      ENDIF 
    233234 
     
    236237         IF( ncstt(jc) == 0 ) THEN  
    237238            ! water/evap excess is shared by all open ocean 
    238             emp (:,:) = emp (:,:) + zemp(jc) / surf(jpncs+1) 
    239             emps(:,:) = emps(:,:) + zemp(jc) / surf(jpncs+1) 
     239            emp (:,:) = emp (:,:) + zfwf(jc) / surf(jpncs+1) 
     240            emps(:,:) = emps(:,:) + zfwf(jc) / surf(jpncs+1) 
    240241         ELSEIF( ncstt(jc) == 1 ) THEN  
    241242            ! Excess water in open sea, at outflow location, excess evap shared 
    242             IF ( zemp(jc) <= 0.e0 ) THEN  
     243            IF ( zfwf(jc) <= 0.e0 ) THEN  
    243244                DO jn = 1, ncsnr(jc) 
    244245                  ji = mi0(ncsir(jc,jn)) 
     
    246247                  IF (      ji > 1 .AND. ji < jpi   & 
    247248                      .AND. jj > 1 .AND. jj < jpj ) THEN  
    248                       emp (ji,jj) = emp (ji,jj) + zemp(jc) /   & 
     249                      emp (ji,jj) = emp (ji,jj) + zfwf(jc) /   & 
    249250                         (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj)) 
    250                       emps(ji,jj) = emps(ji,jj) + zemp(jc) /   & 
     251                      emps(ji,jj) = emps(ji,jj) + zfwf(jc) /   & 
    251252                          (FLOAT(ncsnr(jc)) * e1t(ji,jj) * e2t(ji,jj)) 
    252253                  END IF  
    253254                END DO  
    254255            ELSE  
    255                 emp (:,:) = emp (:,:) + zemp(jc) / surf(jpncs+1) 
    256                 emps(:,:) = emps(:,:) + zemp(jc) / surf(jpncs+1) 
     256                emp (:,:) = emp (:,:) + zfwf(jc) / surf(jpncs+1) 
     257                emps(:,:) = emps(:,:) + zfwf(jc) / surf(jpncs+1) 
    257258            ENDIF 
    258259         ELSEIF( ncstt(jc) == 2 ) THEN  
     
    263264                  ji = mi0(ncsir(jc,jn)) 
    264265                  jj = mj0(ncsjr(jc,jn)) ! Location of outflow in open ocean 
    265                   emp (ji,jj) = emp (ji,jj) + zemp(jc)   & 
     266                  emp (ji,jj) = emp (ji,jj) + zfwf(jc)   & 
    266267                      / (FLOAT(ncsnr(jc)) *  e1t(ji,jj) * e2t(ji,jj) ) 
    267                   emps(ji,jj) = emps(ji,jj) + zemp(jc)   & 
     268                  emps(ji,jj) = emps(ji,jj) + zfwf(jc)   & 
    268269                      / (FLOAT(ncsnr(jc)) *  e1t(ji,jj) * e2t(ji,jj) ) 
    269270                END DO  
     
    273274         DO jj = ncsj1(jc), ncsj2(jc) 
    274275            DO ji = ncsi1(jc), ncsi2(jc) 
    275                emp (ji,jj) = emp (ji,jj) - zemp(jc) / surf(jc) 
    276                emps(ji,jj) = emps(ji,jj) - zemp(jc) / surf(jc) 
     276               emp (ji,jj) = emp (ji,jj) - zfwf(jc) / surf(jc) 
     277               emps(ji,jj) = emps(ji,jj) - zfwf(jc) / surf(jc) 
    277278            END DO   
    278279         END DO  
Note: See TracChangeset for help on using the changeset viewer.