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 713 for trunk/NEMO/OPA_SRC – NEMO

Changeset 713 for trunk/NEMO/OPA_SRC


Ignore:
Timestamp:
2007-10-11T11:43:16+02:00 (16 years ago)
Author:
smasson
Message:

reintroduce qrp and erp, see ticket:10

Location:
trunk/NEMO/OPA_SRC/SBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r702 r713  
    1818   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qns       !: sea heat flux: non solar                     [W/m2] 
    1919   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qsr       !: sea heat flux:     solar                     [W/m2] 
     20   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   qrp       !: heat flux damping                            [w/m2] 
    2021   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   emp       !: freshwater budget: volume flux               [Kg/m2/s] 
    2122   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   emps      !: freshwater budget: concentration/dillution   [Kg/m2/s] 
    22     
     23   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   erp       !: evaporation damping                          [kg/m2/s] 
     24 
    2325   !!---------------------------------------------------------------------- 
    2426   !!                     Sea Surface Mean fields 
  • trunk/NEMO/OPA_SRC/SBC/sbcssr.F90

    r702 r713  
    6565      !! 
    6666      INTEGER  ::   ji, jj   ! dummy loop indices 
    67       REAL(wp) ::   zerp     ! local scalar 
     67      REAL(wp) ::   zerp     ! local scalar for evaporation damping 
     68      REAL(wp) ::   zqrp     ! local scalar for heat flux damping 
    6869      INTEGER  ::   ierror   ! return error code 
    6970      !! 
     
    149150         ENDIF 
    150151         ! 
     152         ! Initialize qrp and erp if no restoring  
     153         IF( nn_sst /= 1                  )   qrp(:,:) = 0.e0  
     154         IF( nn_sss /= 1 .OR. nn_sss /= 2 )   erp(:,:) = 0.e0  
    151155      ENDIF 
    152156 
     
    164168            IF( nn_sst == 1 ) THEN                   ! Temperature restoring term 
    165169!CDIR COLLAPSE 
    166                qns(:,:) = qns(:,:) + dqdt * ( sst_m(:,:) - sf_sst(1)%fnow(:,:) ) 
     170               ! use zqrp scalar to optimize memory access (speedup the loop) 
     171               DO jj = 1, jpj 
     172                  DO ji = 1, jpi 
     173                     zqrp = dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj) ) 
     174                     qns(ji,jj) = qns(ji,jj) + zqrp 
     175                     qrp(ji,jj) = zqrp 
     176                  END DO 
     177               END DO 
    167178            ENDIF 
    168179            ! 
    169180            IF( nn_sss == 1 ) THEN                   ! Salinity damping term (salt   flux, emps only) 
    170181!CDIR COLLAPSE 
     182               ! use zerp scalar to optimize memory access (speedup the loop) 
    171183               DO jj = 1, jpj 
    172184                  DO ji = 1, jpi 
     
    175187                        &        / ( sss_m(ji,jj) + 1.e-20   ) 
    176188                     emps(ji,jj) = emps(ji,jj) + zerp 
     189                     erp( ji,jj) = zerp 
    177190                  END DO 
    178191               END DO 
    179192            ELSEIF( nn_sss == 2 ) THEN               ! Salinity damping term (volume flux, emp and emps) 
    180193!CDIR COLLAPSE 
     194               ! use zerp scalar to optimize memory access (speedup the loop) 
    181195               DO jj = 1, jpj 
    182196                  DO ji = 1, jpi                             
     
    186200                     emp (ji,jj) = emp (ji,jj) + zerp 
    187201                     emps(ji,jj) = emps(ji,jj) + zerp 
     202                     erp (ji,jj) = zerp 
    188203                  END DO 
    189204               END DO 
Note: See TracChangeset for help on using the changeset viewer.