Changeset 4 for vendor/nemo/current/NEMOGCM/NEMO/OFF_SRC
- Timestamp:
- 02/08/12 17:17:04 (12 years ago)
- Location:
- vendor/nemo/current/NEMOGCM/NEMO/OFF_SRC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/nemo/current/NEMOGCM/NEMO/OFF_SRC/dommsk.F90
r1 r4 28 28 !!---------------------------------------------------------------------- 29 29 !! NEMO/OFF 3.3 , NEMO Consortium (2010) 30 !! $Id: dommsk.F90 3 186 2011-11-27 08:16:19Z smasson$30 !! $Id: dommsk.F90 3294 2012-01-28 16:44:18Z rblod $ 31 31 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 32 32 !!---------------------------------------------------------------------- -
vendor/nemo/current/NEMOGCM/NEMO/OFF_SRC/domrea.F90
r1 r4 27 27 !!---------------------------------------------------------------------- 28 28 !! NEMO/OFF 3.3 , NEMO Consortium (2010) 29 !! $Id: domrea.F90 3 186 2011-11-27 08:16:19Z smasson$29 !! $Id: domrea.F90 3294 2012-01-28 16:44:18Z rblod $ 30 30 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 31 31 !!---------------------------------------------------------------------- -
vendor/nemo/current/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90
r1 r4 93 93 !!---------------------------------------------------------------------- 94 94 !! NEMO/OFF 3.3 , NEMO Consortium (2010) 95 !! $Id: dtadyn.F90 3 154 2011-11-18 10:02:24Z cetlod $95 !! $Id: dtadyn.F90 3294 2012-01-28 16:44:18Z rblod $ 96 96 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 97 97 !!---------------------------------------------------------------------- … … 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) 263 ahv_bbl(:,:) = sf_dyn(jf_vbl)%fnow(:,:,1) * umask(:,:,1)265 ahv_bbl(:,:) = sf_dyn(jf_vbl)%fnow(:,:,1) * vmask(:,:,1) 264 266 ELSE ! Compute bbl coefficients if needed 265 267 tsb(:,:,:,:) = tsn(:,:,:,:) … … 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 ahtv(:,:,:) = sf_dyn(jf_ahv)%fnow(:,:,:) * umask(:,:,:)285 ahtw(:,:,:) = sf_dyn(jf_ahw)%fnow(:,:,:) * umask(:,:,:)286 # if defined key_traldf_eiv 286 ahtv(:,:,:) = sf_dyn(jf_ahv)%fnow(:,:,:) * vmask(:,:,:) 287 ahtw(:,:,:) = sf_dyn(jf_ahw)%fnow(:,:,:) * tmask(:,:,:) 288 # if defined key_traldf_eiv 287 289 aeiu(:,:,:) = sf_dyn(jf_eiu)%fnow(:,:,:) * umask(:,:,:) 288 aeiv(:,:,:) = sf_dyn(jf_eiv)%fnow(:,:,:) * umask(:,:,:)289 aeiw(:,:,:) = sf_dyn(jf_eiw)%fnow(:,:,:) * umask(:,:,:)290 aeiv(:,:,:) = sf_dyn(jf_eiv)%fnow(:,:,:) * vmask(:,:,:) 291 aeiw(:,:,:) = sf_dyn(jf_eiw)%fnow(:,:,:) * tmask(:,:,:) 290 292 # endif 291 293 #endif 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=un , clinfo1=' un - : ', mask1= tmask, ovlap=1, kdim=jpk )297 CALL prt_ctl(tab3d_1=vn , clinfo1=' vn - : ', 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 ) 298 CALL prt_ctl(tab3d_1=un , clinfo1=' un - : ', mask1=umask, ovlap=1, kdim=jpk ) 299 CALL prt_ctl(tab3d_1=vn , clinfo1=' vn - : ', mask1=vmask, ovlap=1, kdim=jpk ) 298 300 CALL prt_ctl(tab3d_1=wn , clinfo1=' wn - : ', mask1=tmask, ovlap=1, kdim=jpk ) 299 301 CALL prt_ctl(tab3d_1=avt , clinfo1=' kz - : ', mask1=tmask, 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.