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 11917 for NEMO/branches/UKMO/NEMO_4.0_momentum_trends/src/OCE/DYN/dynspg_ts.F90 – NEMO

Ignore:
Timestamp:
2019-11-15T16:56:18+01:00 (4 years ago)
Author:
davestorkey
Message:

UKMO/NEMO_4.0_momentum_trends :

  1. Refactor so that ZDF trend always includes all bottom friction contributions. The budget can now be closed by including the ZDF trend without any BFR trends.
  1. Some tidying of trddyn.F90.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0_momentum_trends/src/OCE/DYN/dynspg_ts.F90

    r11613 r11917  
    175175      REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zuwdav2, zvwdav2    ! averages over the sub-steps of zuwdmask and zvwdmask 
    176176      REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zspgtrdu, zspgtrdv, zpvotrdu, zpvotrdv  ! SPG and PVO trends (if l_trddyn) 
    177       REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zbfrtrdu, zbfrtrdv                      ! BFR trends (if l_trddyn) 
     177      REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ztautrdu, ztautrdv, zbfrtrdu, zbfrtrdv  ! TAU and BFR trends (if l_trddyn) 
    178178      !!---------------------------------------------------------------------- 
    179179      ! 
     
    183183      ! 
    184184      IF( l_trddyn ) THEN 
    185           ALLOCATE( zspgtrdu(jpi,jpj), zspgtrdv(jpi,jpj), zpvotrdu(jpi,jpj), zpvotrdv(jpi,jpj), zbfrtrdu(jpi,jpj), zbfrtrdv(jpi,jpj) ) 
     185          ALLOCATE( zspgtrdu(jpi,jpj), zspgtrdv(jpi,jpj), zpvotrdu(jpi,jpj), zpvotrdv(jpi,jpj), & 
     186         &          ztautrdu(jpi,jpj), ztautrdv(jpi,jpj), zbfrtrdu(jpi,jpj), zbfrtrdv(jpi,jpj) ) 
    186187          zspgtrdu(:,:) = 0._wp 
    187188          zspgtrdv(:,:) = 0._wp 
    188189          zpvotrdu(:,:) = 0._wp 
    189190          zpvotrdv(:,:) = 0._wp 
     191          ztautrdu(:,:) = 0._wp 
     192          ztautrdv(:,:) = 0._wp 
    190193          zbfrtrdu(:,:) = 0._wp 
    191194          zbfrtrdv(:,:) = 0._wp 
     
    573576      ! 
    574577      ! Note that the "unclipped" bottom friction parameter is used even with explicit drag 
     578      IF( l_trddyn ) THEN 
     579         zbfrtrdu(:,:) = zu_frc(:,:) 
     580         zbfrtrdv(:,:) = zv_frc(:,:) 
     581      ENDIF 
     582      ! 
    575583      IF( ln_wd_il ) THEN 
    576584         zztmp = -1._wp / rdtbt 
     
    592600      END IF 
    593601      ! 
     602      IF( l_trddyn ) THEN 
     603         ! bottom friction trend diagnostic: bottom friction due to baroclinic currents 
     604         zbfrtrdu(:,:) = zu_frc(:,:) - zbfrtrdu(:,:) 
     605         zbfrtrdv(:,:) = zv_frc(:,:) - zbfrtrdv(:,:)  
     606      ENDIF 
     607      ! 
    594608      IF( ln_isfcav ) THEN       ! Add TOP stress contribution from baroclinic velocities:       
    595609         IF( ln_bt_fw ) THEN 
     
    622636      ENDIF 
    623637      !        
     638      IF( l_trddyn ) THEN 
     639         ztautrdu(:,:) = zu_frc(:,:) 
     640         ztautrdv(:,:) = zv_frc(:,:) 
     641      ENDIF 
     642      ! 
    624643      IF( ln_bt_fw ) THEN                        ! Add wind forcing 
    625644         DO jj = 2, jpjm1 
     
    638657         END DO 
    639658      ENDIF   
     659      ! 
     660      IF( l_trddyn ) THEN 
     661         ! wind stress trend diagnostic 
     662         ztautrdu(:,:) = zu_frc(:,:) - ztautrdu(:,:) 
     663         ztautrdv(:,:) = zv_frc(:,:) - ztautrdv(:,:)  
     664      ENDIF 
    640665      ! 
    641666      IF( ln_apr_dyn ) THEN                     ! Add atm pressure forcing 
     
    13571382         CALL trd_dyn( zspgtrdu, zspgtrdv, jpdyn_spg, kt ) 
    13581383         CALL trd_dyn( zpvotrdu, zpvotrdv, jpdyn_pvo, kt ) 
     1384         CALL trd_dyn( ztautrdu, ztautrdv, jpdyn_tau, kt ) 
    13591385         CALL trd_dyn( zbfrtrdu, zbfrtrdv, jpdyn_bfr, kt ) 
    1360          DEALLOCATE( zspgtrdu, zspgtrdv, zpvotrdu, zpvotrdv, zbfrtrdu, zbfrtrdv ) 
     1386         DEALLOCATE( zspgtrdu, zspgtrdv, zpvotrdu, zpvotrdv, ztautrdu, ztautrdv, zbfrtrdu, zbfrtrdv ) 
    13611387      ENDIF 
    13621388      ! 
Note: See TracChangeset for help on using the changeset viewer.