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 4370 for branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn.F90 – NEMO

Ignore:
Timestamp:
2014-01-23T18:13:16+01:00 (10 years ago)
Author:
jchanut
Message:

Time split cleaning / AMM12 restart / BDY and Agrif. See tickets #1228, #1227, #1225 and #1133

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn.F90

    r4354 r4370  
    6161      !! 
    6262      REAL(wp), POINTER, DIMENSION(:,:) :: pua2d, pva2d     ! after barotropic velocities 
    63       REAL(wp), POINTER, DIMENSION(:,:) :: phura, phvra     ! after inverse depth at u and v points 
    6463 
    6564      IF( nn_timing == 1 ) CALL timing_start('bdy_dyn') 
     
    8281      !------------------------------------------------------- 
    8382 
    84       CALL wrk_alloc(jpi,jpj,pua2d,pva2d,phura,phvra)  
     83      CALL wrk_alloc(jpi,jpj,pua2d,pva2d)  
    8584 
    8685      !------------------------------------------------------- 
     
    9190 
    9291      pua2d(:,:) = 0.e0 
    93       pva2d(:,:) = 0.e0 
    94        
    95       IF (lk_vvl) THEN 
    96          phura(:,:) = 0. 
    97          phvra(:,:) = 0. 
    98          DO jk = 1, jpkm1 
    99             phura(:,:) = phura(:,:) + fse3u_a(:,:,jk) * umask(:,:,jk) 
    100             phvra(:,:) = phvra(:,:) + fse3v_a(:,:,jk) * vmask(:,:,jk) 
    101             pua2d(:,:) = pua2d(:,:) + fse3u_a(:,:,jk) * umask(:,:,jk) * ua(:,:,jk) 
    102             pva2d(:,:) = pva2d(:,:) + fse3v_a(:,:,jk) * vmask(:,:,jk) * va(:,:,jk) 
    103          END DO 
    104          phura(:,:) = umask(:,:,1) / ( phura(:,:) + 1. - umask(:,:,1) ) 
    105          phvra(:,:) = vmask(:,:,1) / ( phvra(:,:) + 1. - vmask(:,:,1) ) 
    106       ELSE 
    107          phura(:,:) = hur(:,:) 
    108          phvra(:,:) = hvr(:,:) 
    109          DO jk = 1, jpkm1 
    110             pua2d(:,:) = pua2d(:,:) + fse3u(:,:,jk) * umask(:,:,jk) * ua(:,:,jk) 
    111             pva2d(:,:) = pva2d(:,:) + fse3v(:,:,jk) * vmask(:,:,jk) * va(:,:,jk) 
    112          END DO 
    113       ENDIF 
    114       pua2d(:,:) = pua2d(:,:) * phura(:,:) 
    115       pva2d(:,:) = pva2d(:,:) * phvra(:,:) 
     92      pva2d(:,:) = 0.e0       
     93      DO jk = 1, jpkm1 
     94         pua2d(:,:) = pua2d(:,:) + fse3u_a(:,:,jk) * umask(:,:,jk) * ua(:,:,jk) 
     95         pva2d(:,:) = pva2d(:,:) + fse3v_a(:,:,jk) * vmask(:,:,jk) * va(:,:,jk) 
     96      END DO 
     97 
     98      pua2d(:,:) = pua2d(:,:) * hur_a(:,:) 
     99      pva2d(:,:) = pva2d(:,:) * hvr_a(:,:) 
    116100 
    117101      DO jk = 1 , jpkm1 
     
    134118      !------------------------------------------------------- 
    135119 
    136       IF( ll_dyn2d ) CALL bdy_dyn2d( kt, pua2d, pva2d, ub_b, vb_b, phura, phvra, ssha ) 
     120      IF( ll_dyn2d ) CALL bdy_dyn2d( kt, pua2d, pva2d, ub_b, vb_b, hur_a(:,:), hvr_a(:,:), ssha ) 
    137121 
    138122      IF( ll_dyn3d ) CALL bdy_dyn3d( kt ) 
     
    154138      END IF 
    155139 
    156       CALL wrk_dealloc(jpi,jpj,pua2d,pva2d,phura,phvra)  
     140      CALL wrk_dealloc(jpi,jpj,pua2d,pva2d)  
    157141 
    158142      IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn') 
Note: See TracChangeset for help on using the changeset viewer.