Changeset 3270
- Timestamp:
- 2012-01-20T12:44:56+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90
r3238 r3270 135 135 CALL fld_read( kt, 1, sf_dyn ) !== read data at kt time step ==! 136 136 ! 137 IF( lk_ldfslp .AND. sf_dyn(jf_tem)%ln_tint ) THEN ! Computes slopes (here avt is used as workspace)138 zts(:,:,:,j f_tem) = sf_dyn(jf_tem)%fdta(:,:,:,1) * tmask(:,:,:) ! temperature139 zts(:,:,:,j f_sal) = sf_dyn(jf_sal)%fdta(:,:,:,1) * tmask(:,:,:) ! salinity137 IF( lk_ldfslp .AND. .NOT.lk_c1d .AND. sf_dyn(jf_tem)%ln_tint ) THEN ! Computes slopes (here avt is used as workspace) 138 zts(:,:,:,jp_tem) = sf_dyn(jf_tem)%fdta(:,:,:,1) * tmask(:,:,:) ! temperature 139 zts(:,:,:,jp_sal) = sf_dyn(jf_sal)%fdta(:,:,:,1) * tmask(:,:,:) ! salinity 140 140 avt(:,:,:) = sf_dyn(jf_avt)%fdta(:,:,:,1) * tmask(:,:,:) ! vertical diffusive coef. 141 141 CALL dta_dyn_slp( kt, zts, zuslp, zvslp, zwslpi, zwslpj ) … … 159 159 ENDIF 160 160 ! 161 IF( lk_ldfslp ) THEN ! Computes slopes (here avt is used as workspace)161 IF( lk_ldfslp .AND. .NOT.lk_c1d ) THEN ! Computes slopes (here avt is used as workspace) 162 162 iswap_tem = 0 163 163 IF( kt /= nit000 .AND. ( sf_dyn(jf_tem)%nrec_a(2) - nrecprev_tem ) /= 0 ) iswap_tem = 1 … … 173 173 ENDIF 174 174 ! 175 zts(:,:,:,j f_tem) = sf_dyn(jf_tem)%fdta(:,:,:,2) * tmask(:,:,:) ! temperature176 zts(:,:,:,j f_sal) = sf_dyn(jf_sal)%fdta(:,:,:,2) * tmask(:,:,:) ! salinity175 zts(:,:,:,jp_tem) = sf_dyn(jf_tem)%fdta(:,:,:,2) * tmask(:,:,:) ! temperature 176 zts(:,:,:,jp_sal) = sf_dyn(jf_sal)%fdta(:,:,:,2) * tmask(:,:,:) ! salinity 177 177 avt(:,:,:) = sf_dyn(jf_avt)%fdta(:,:,:,2) * tmask(:,:,:) ! vertical diffusive coef. 178 178 CALL dta_dyn_slp( kt, zts, zuslp, zvslp, zwslpi, zwslpj ) … … 183 183 wslpjdta(:,:,:,2) = zwslpj(:,:,:) 184 184 ELSE 185 zts(:,:,:,j f_tem) = sf_dyn(jf_tem)%fnow(:,:,:) * tmask(:,:,:)186 zts(:,:,:,j f_sal) = sf_dyn(jf_sal)%fnow(:,:,:) * tmask(:,:,:)185 zts(:,:,:,jp_tem) = sf_dyn(jf_tem)%fnow(:,:,:) * tmask(:,:,:) 186 zts(:,:,:,jp_sal) = sf_dyn(jf_sal)%fnow(:,:,:) * tmask(:,:,:) 187 187 avt(:,:,:) = sf_dyn(jf_avt)%fnow(:,:,:) * tmask(:,:,:) 188 188 CALL dta_dyn_slp( kt, zts, zuslp, zvslp, zwslpi, zwslpj ) … … 241 241 ENDIF 242 242 ! 243 tsn(:,:,:,jf_tem) = sf_dyn(jf_tem)%fnow(:,:,:) * tmask(:,:,:) ! temperature 244 tsn(:,:,:,jf_sal) = sf_dyn(jf_sal)%fnow(:,:,:) * tmask(:,:,:) ! salinity 245 ! 246 CALL eos( tsn, rhd, rhop ) ! In any case, we need rhop 243 tsn(:,:,:,jp_tem) = sf_dyn(jf_tem)%fnow(:,:,:) * tmask(:,:,:) ! temperature 244 tsn(:,:,:,jp_sal) = sf_dyn(jf_sal)%fnow(:,:,:) * tmask(:,:,:) ! salinity 245 ! 246 CALL eos ( tsn, rhd, rhop ) ! In any case, we need rhop 247 CALL zdf_mxl( kt ) ! In any case, we need mxl 247 248 ! 248 249 avt(:,:,:) = sf_dyn(jf_avt)%fnow(:,:,:) * tmask(:,:,:) ! vertical diffusive coefficient … … 257 258 fr_i(:,:) = sf_dyn(jf_ice)%fnow(:,:,1) * tmask(:,:,1) ! Sea-ice fraction 258 259 qsr (:,:) = sf_dyn(jf_qsr)%fnow(:,:,1) * tmask(:,:,1) ! solar radiation 260 259 261 ! ! bbl diffusive coef 260 #if defined key_trabbl 262 #if defined key_trabbl && ! defined key_c1d 261 263 IF( ln_dynbbl ) THEN ! read in a file 262 264 ahu_bbl(:,:) = sf_dyn(jf_ubl)%fnow(:,:,1) * umask(:,:,1) … … 267 269 END IF 268 270 #endif 269 #if ! defined key_degrad && defined key_traldf_c2d && defined key_traldf_eiv271 #if ( ! defined key_degrad && defined key_traldf_c2d && defined key_traldf_eiv ) && ! defined key_c1d 270 272 aeiw(:,:) = sf_dyn(jf_eiw)%fnow(:,:,1) * tmask(:,:,1) ! w-eiv 271 273 ! ! Computes the horizontal values from the vertical value … … 279 281 #endif 280 282 281 #if defined key_degrad 283 #if defined key_degrad && ! defined key_c1d 282 284 ! ! degrad option : diffusive and eiv coef are 3D 283 285 ahtu(:,:,:) = sf_dyn(jf_ahu)%fnow(:,:,:) * umask(:,:,:) 284 286 ahtv(:,:,:) = sf_dyn(jf_ahv)%fnow(:,:,:) * vmask(:,:,:) 285 287 ahtw(:,:,:) = sf_dyn(jf_ahw)%fnow(:,:,:) * tmask(:,:,:) 286 # if defined key_traldf_eiv 288 # if defined key_traldf_eiv 287 289 aeiu(:,:,:) = sf_dyn(jf_eiu)%fnow(:,:,:) * umask(:,:,:) 288 290 aeiv(:,:,:) = sf_dyn(jf_eiv)%fnow(:,:,:) * vmask(:,:,:) … … 292 294 ! 293 295 IF(ln_ctl) THEN ! print control 294 CALL prt_ctl(tab3d_1=tsn(:,:,:,j f_tem), clinfo1=' tn - : ', mask1=tmask, ovlap=1, kdim=jpk )295 CALL prt_ctl(tab3d_1=tsn(:,:,:,j f_sal), clinfo1=' sn - : ', mask1=tmask, ovlap=1, kdim=jpk )296 CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_tem), clinfo1=' tn - : ', mask1=tmask, ovlap=1, kdim=jpk ) 297 CALL prt_ctl(tab3d_1=tsn(:,:,:,jp_sal), clinfo1=' sn - : ', mask1=tmask, ovlap=1, kdim=jpk ) 296 298 CALL prt_ctl(tab3d_1=un , clinfo1=' un - : ', mask1=umask, ovlap=1, kdim=jpk ) 297 299 CALL prt_ctl(tab3d_1=vn , clinfo1=' vn - : ', mask1=vmask, ovlap=1, kdim=jpk ) … … 381 383 ln_degrad = .FALSE. 382 384 ENDIF 383 IF( ln_dynbbl .AND. .NOT.lk_trabbl) THEN385 IF( ln_dynbbl .AND. ( .NOT.lk_trabbl .OR. lk_c1d ) ) THEN 384 386 CALL ctl_warn( 'dta_dyn_init: bbl option requires key_trabbl activated ; force ln_dynbbl to false' ) 385 387 ln_dynbbl = .FALSE. … … 449 451 CALL fld_fill( sf_dyn, slf_d, cn_dir, 'dta_dyn_init', 'Data in file', 'namdta_dyn' ) 450 452 ! 451 IF( lk_ldfslp ) THEN ! slopes453 IF( lk_ldfslp .AND. .NOT.lk_c1d ) THEN ! slopes 452 454 IF( sf_dyn(jf_tem)%ln_tint ) THEN ! time interpolation 453 455 ALLOCATE( uslpdta (jpi,jpj,jpk,2), vslpdta (jpi,jpj,jpk,2), & … … 536 538 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(out) :: pwslpi ! zonal diapycnal slopes 537 539 REAL(wp), DIMENSION(jpi,jpj,jpk) , INTENT(out) :: pwslpj ! meridional diapycnal slopes 538 !! 540 !!--------------------------------------------------------------------- 539 541 #if defined key_ldfslp && ! defined key_c1d 540 542 CALL eos( pts, rhd, rhop ) ! Time-filtered in situ density … … 550 552 pwslpj(:,:,:) = wslpj(:,:,:) 551 553 #else 552 WRITE(*,*) 'dta_dyn_slp: You should not have seen this print! error?', & 553 & kt, pts(1,1,1,1),puslp(1,1,1), pvslp(1,1,1), pwslpi(1,1,1), pwslpj(1,1,1) 554 puslp (:,:,:) = 0. ! to avoid warning when compiling 555 pvslp (:,:,:) = 0. 556 pwslpi(:,:,:) = 0. 557 pwslpj(:,:,:) = 0. 554 558 #endif 555 559 !
Note: See TracChangeset
for help on using the changeset viewer.