Changeset 11903 for NEMO/branches
- Timestamp:
- 2019-11-14T11:34:15+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0_momentum_trends/src/OCE/TRD/trddyn.F90
r11613 r11903 40 40 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), SAVE :: zutrd_hpg, zvtrd_hpg 41 41 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), SAVE :: zutrd_pvo, zvtrd_pvo 42 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), SAVE :: zutrd_bfr, zvtrd_bfr 42 43 43 44 !! * Substitutions … … 61 62 INTEGER , INTENT(in ) :: ktrd ! trend index 62 63 INTEGER , INTENT(in ) :: kt ! time step 64 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zue, zve ! temporary 2D arrays 65 INTEGER :: jk 63 66 !!---------------------------------------------------------------------- 64 67 ! … … 93 96 pvtrd(:,:,:) = pvtrd(:,:,:) + zvtrd_hpg(:,:,:) 94 97 DEALLOCATE( zutrd_hpg, zvtrd_hpg ) 98 ENDIF 99 100 IF( ktrd == jpdyn_bfr ) THEN 101 ! 102 ! Add 3D part of BFR trend minus its depth-mean part to depth-mean trend already saved. 103 ALLOCATE( zue(jpi,jpj), zve(jpi,jpj) ) 104 zue(:,:) = e3u_a(:,:,1) * putrd(:,:,1) * umask(:,:,1) 105 zve(:,:) = e3v_a(:,:,1) * pvtrd(:,:,1) * vmask(:,:,1) 106 DO jk = 2, jpkm1 107 zue(:,:) = zue(:,:) + e3u_a(:,:,jk) * putrd(:,:,jk) * umask(:,:,jk) 108 zve(:,:) = zve(:,:) + e3v_a(:,:,jk) * pvtrd(:,:,jk) * vmask(:,:,jk) 109 END DO 110 DO jk = 1, jpkm1 111 putrd(:,:,jk) = zutrd_bfr(:,:,jk) + putrd(:,:,jk) - zue(:,:) * r1_hu_a(:,:) 112 pvtrd(:,:,jk) = zvtrd_bfr(:,:,jk) + pvtrd(:,:,jk) - zve(:,:) * r1_hv_a(:,:) 113 END DO 114 DEALLOCATE( zue, zve, zutrd_bfr, zvtrd_bfr ) 95 115 ENDIF 96 116 … … 187 207 CALL trd_dyn_3d( zutrd_pvo, zvtrd_pvo, jpdyn_pvo, kt ) 188 208 DEALLOCATE( zutrd_pvo, zvtrd_pvo ) 209 210 CASE( jpdyn_bfr ) 211 ! 212 ! Create 3D BFR trend from 2D field and also output 2D field as diagnostic in own right. 213 ALLOCATE( zutrd_bfr(jpi,jpj,jpk), zvtrd_bfr(jpi,jpj,jpk) ) 214 zutrd_bfr(:,:,:) = 0.0 215 zvtrd_bfr(:,:,:) = 0.0 216 DO jk = 1, jpkm1 217 zutrd_bfr(:,:,jk) = putrd(:,:) 218 zvtrd_bfr(:,:,jk) = pvtrd(:,:) 219 ENDDO 220 CALL trd_dyn_iom_2d( putrd, pvtrd, jpdyn_bfr, kt ) 189 221 190 222 CASE DEFAULT
Note: See TracChangeset
for help on using the changeset viewer.