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 15176 for NEMO/branches/UKMO/NEMO_4.0.4_momentum_trends/src/OCE/TRD/trddyn.F90 – NEMO

Ignore:
Timestamp:
2021-08-09T16:08:00+02:00 (3 years ago)
Author:
davestorkey
Message:

UKMO/NEMO_4.0.4_momentum_trends:

  1. Output complete budget of 2D trends.
  2. Separate out ice-ocean stress from wind stress (for 2D budget).
  3. Allow thickness weighting of 2D trends.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_momentum_trends/src/OCE/TRD/trddyn.F90

    r15170 r15176  
    4545   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), SAVE :: zutrd_bfr, zvtrd_bfr 
    4646   REAL(wp), ALLOCATABLE, DIMENSION(:,:)  , SAVE :: zutrd_tau2d, zvtrd_tau2d 
     47   REAL(wp), ALLOCATABLE, DIMENSION(:,:)  , SAVE :: zutrd_tau2d_ice, zvtrd_tau2d_ice 
    4748   REAL(wp), ALLOCATABLE, DIMENSION(:,:)  , SAVE :: zutrd_tfr2d, zvtrd_tfr2d 
    4849   REAL(wp), ALLOCATABLE, DIMENSION(:,:)  , SAVE :: zutrd_bfr2d, zvtrd_bfr2d 
     
    334335          DEALLOCATE( zutrd_pvo, zvtrd_pvo ) 
    335336 
    336       CASE( jpdyn_tau ) 
     337      CASE( jpdyn_tau2d_ice ) 
     338          ! 
     339          ! Save 2D ice-ocean stress trend locally to be subtracted from 
     340          ! 2D wind stress trend and added to 2D top friction trend.  
     341          IF( .NOT. ALLOCATED(zutrd_tau2d_ice) ) ALLOCATE( zutrd_tau2d_ice(jpi,jpj), zvtrd_tau2d_ice(jpi,jpj) ) 
     342          zutrd_tau2d_ice(:,:) = putrd(:,:) 
     343          zvtrd_tau2d_ice(:,:) = pvtrd(:,:) 
     344 
     345      CASE( jpdyn_tau2d ) 
    337346          ! 
    338347          ! Save 2D wind forcing trend locally (to be added to ZDF trend) 
     
    341350          zutrd_tau2d(:,:) = putrd(:,:) 
    342351          zvtrd_tau2d(:,:) = pvtrd(:,:) 
     352          IF( ALLOCATED(zutrd_tau2d_ice) ) THEN 
     353             zutrd_tau2d(:,:) = zutrd_tau2d(:,:) - zutrd_tau2d_ice(:,:)  
     354             zvtrd_tau2d(:,:) = zvtrd_tau2d(:,:) - zvtrd_tau2d_ice(:,:)  
     355          ENDIF 
    343356 
    344357      CASE( jpdyn_tfr ) 
     
    348361          zutrd_tfr2d(:,:) = putrd(:,:) 
    349362          zvtrd_tfr2d(:,:) = pvtrd(:,:) 
     363          IF( ALLOCATED(zutrd_tau2d_ice) ) THEN 
     364             zutrd_tfr2d(:,:) = zutrd_tfr2d(:,:) + zutrd_tau2d_ice(:,:)  
     365             zvtrd_tfr2d(:,:) = zvtrd_tfr2d(:,:) + zvtrd_tau2d_ice(:,:)  
     366          ENDIF 
    350367 
    351368      CASE( jpdyn_bfr ) 
     
    480497      CASE( jpdyn_pvo_corr ) ;   CALL iom_put( "utrd_pvo_corr", putrd )   ! planetary vorticity correction 
    481498                                 CALL iom_put( "vtrd_pvo_corr", pvtrd ) 
    482       CASE( jpdyn_tau )      ;   CALL iom_put( "utrd_tau2d", putrd )      ! wind stress depth-mean trend 
     499      CASE( jpdyn_frc2d )    ;   CALL iom_put( "utrd_frc2d", putrd )      ! constant forcing term from barotropic calcn. 
     500                                 CALL iom_put( "vtrd_frc2d", pvtrd )  
     501      CASE( jpdyn_tau2d )    ;   CALL iom_put( "utrd_tau2d", putrd )      ! wind stress depth-mean trend 
    483502                                 CALL iom_put( "vtrd_tau2d", pvtrd ) 
    484503      CASE( jpdyn_bfr )      ;   CALL iom_put( "utrd_bfr2d", putrd )      ! bottom friction depth-mean trend 
     
    486505      CASE( jpdyn_tfr )      ;   CALL iom_put( "utrd_tfr2d", putrd )      ! top friction depth-mean trend 
    487506                                 CALL iom_put( "vtrd_tfr2d", pvtrd ) 
     507      CASE( jpdyn_tot )      ;   CALL iom_put( "utrd_tot2d", putrd )      ! total 2D trend, excluding time filter 
     508                                 CALL iom_put( "vtrd_tot2d", pvtrd ) 
    488509      END SELECT 
    489510      ! 
Note: See TracChangeset for help on using the changeset viewer.