- Timestamp:
- 2012-03-14T10:19:21+01:00 (9 years ago)
- Location:
- branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC/TRD
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90
r3325 r3326 88 88 REAL(wp), POINTER, DIMENSION(:,:,:) :: zke ! 3D workspace 89 89 !!---------------------------------------------------------------------- 90 ! 91 CALL wrk_alloc( jpi, jpj , z2dx, z2dy, zke2d ) 92 CALL wrk_alloc( jpi, jpj, jpk, zke ) 90 93 ! 91 94 CALL lbc_lnk( putrd, 'U', -1. ) ; CALL lbc_lnk( pvtrd, 'V', -1. ) ! lateral boundary conditions -
branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC/TRD/trdtra.F90
r3318 r3326 122 122 END SELECT 123 123 ELSE ! other trends: mask and send T & S trends to trd_tra_mng 124 ztrds(:,:,:) = ptrd(:,:,:) * tmask(:,:,:)125 CALL trd_tra_mng( trdt, ztrds, ktrd, kt )126 ENDIF127 !128 IF( ktrd == jptra_zdfp ) THEN ! diagnose the "PURE" Kz trend (here: just before the swap)129 124 ! 130 IF( ln_traldf_iso ) THEN ! iso-neutral diffusion only otherwise jptra_zdf is "PURE"125 IF( ktrd == jptra_zdfp ) THEN ! diagnose the "PURE" Kz trend (here: just before the swap) 131 126 ! 132 CALL wrk_alloc( jpi, jpj, jpk, zwt, zws, ztrdt ) 127 IF( ln_traldf_iso ) THEN ! iso-neutral diffusion only otherwise jptra_zdf is "PURE" 128 ! 129 CALL wrk_alloc( jpi, jpj, jpk, zwt, zws, ztrdt ) 130 ! 131 zwt(:,:, 1 ) = 0._wp ; zws(:,:, 1 ) = 0._wp ! vertical diffusive fluxes 132 zwt(:,:,jpk) = 0._wp ; zws(:,:,jpk) = 0._wp 133 DO jk = 2, jpk 134 zwt(:,:,jk) = avt(:,:,jk) * ( tsa(:,:,jk-1,jp_tem) - tsa(:,:,jk,jp_tem) ) / fse3w(:,:,jk) * tmask(:,:,jk) 135 zws(:,:,jk) = fsavs(:,:,jk) * ( tsa(:,:,jk-1,jp_sal) - tsa(:,:,jk,jp_sal) ) / fse3w(:,:,jk) * tmask(:,:,jk) 136 END DO 137 ! 138 ztrdt(:,:,jpk) = 0._wp ; ztrds(:,:,jpk) = 0._wp 139 DO jk = 1, jpkm1 140 ztrdt(:,:,jk) = ( zwt(:,:,jk) - zwt(:,:,jk+1) ) / fse3t(:,:,jk) 141 ztrds(:,:,jk) = ( zws(:,:,jk) - zws(:,:,jk+1) ) / fse3t(:,:,jk) 142 END DO 143 CALL trd_tra_mng( ztrdt, ztrds, jptra_zdfp, kt ) 144 ! 145 CALL wrk_dealloc( jpi, jpj, jpk, zwt, zws, ztrdt ) 146 ! 147 ENDIF 133 148 ! 134 zwt(:,:, 1 ) = 0._wp ; zws(:,:, 1 ) = 0._wp ! vertical diffusive fluxes 135 zwt(:,:,jpk) = 0._wp ; zws(:,:,jpk) = 0._wp 136 DO jk = 2, jpk 137 zwt(:,:,jk) = avt(:,:,jk) * ( tsa(:,:,jk-1,jp_tem) - tsa(:,:,jk,jp_tem) ) / fse3w(:,:,jk) * tmask(:,:,jk) 138 zws(:,:,jk) = fsavs(:,:,jk) * ( tsa(:,:,jk-1,jp_sal) - tsa(:,:,jk,jp_sal) ) / fse3w(:,:,jk) * tmask(:,:,jk) 139 END DO 140 ! 141 ztrdt(:,:,jpk) = 0._wp ; ztrds(:,:,jpk) = 0._wp 142 DO jk = 1, jpkm1 143 ztrdt(:,:,jk) = ( zwt(:,:,jk) - zwt(:,:,jk+1) ) / fse3t(:,:,jk) 144 ztrds(:,:,jk) = ( zws(:,:,jk) - zws(:,:,jk+1) ) / fse3t(:,:,jk) 145 END DO 146 CALL trd_tra_mng( ztrdt, ztrds, jptra_zdfp, kt ) 147 ! 148 CALL wrk_dealloc( jpi, jpj, jpk, zwt, zws, ztrdt ) 149 ! 149 ELSE ! 150 ztrds(:,:,:) = ptrd(:,:,:) * tmask(:,:,:) 151 CALL trd_tra_mng( trdt, ztrds, ktrd, kt ) 150 152 ENDIF 151 !152 ENDIF153 153 ENDIF 154 154 … … 305 305 SELECT CASE( ktrd ) 306 306 CASE( jptra_xad ) ; CALL iom_put( "ttrd_xad" , ptrdx ) ! x- horizontal advection 307 307 CALL iom_put( "strd_xad" , ptrdy ) 308 308 CASE( jptra_yad ) ; CALL iom_put( "ttrd_yad" , ptrdx ) ! y- horizontal advection 309 309 CALL iom_put( "strd_yad" , ptrdy ) 310 310 CASE( jptra_zad ) ; CALL iom_put( "ttrd_zad" , ptrdx ) ! z- vertical advection 311 311 CALL iom_put( "strd_zad" , ptrdy )
Note: See TracChangeset
for help on using the changeset viewer.