- Timestamp:
- 2012-05-25T18:43:49+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3385_NOCS04_HAMF/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r3396 r3402 82 82 INTEGER :: icpt ! local integer 83 83 !! 84 NAMELIST/namsbc/ nn_fsbc , ln_ana , ln_flx , ln_blk_clio, ln_blk_core, ln_cpl, & 85 & ln_blk_mfs, ln_apr_dyn, nn_ice , ln_dm2dc, ln_rnf, ln_ssr , nn_fwb, ln_cdgw 84 NAMELIST/namsbc/ nn_fsbc , ln_ana , ln_flx, ln_blk_clio, ln_blk_core, ln_cpl, & 85 & ln_blk_mfs, ln_apr_dyn, nn_ice, nn_ice_embd, ln_dm2dc , ln_rnf, & 86 & ln_ssr , nn_fwb , ln_cdgw 86 87 !!---------------------------------------------------------------------- 87 88 … … 119 120 WRITE(numout,*) ' Patm gradient added in ocean & ice Eqs. ln_apr_dyn = ', ln_apr_dyn 120 121 WRITE(numout,*) ' ice management in the sbc (=0/1/2/3) nn_ice = ', nn_ice 122 WRITE(numout,*) ' ice-ocean embedded/levitating (=0/1/2) nn_ice_embd = ', nn_ice_embd 121 123 WRITE(numout,*) ' daily mean to diurnal cycle qsr ln_dm2dc = ', ln_dm2dc 122 124 WRITE(numout,*) ' runoff / runoff mouths ln_rnf = ', ln_rnf … … 134 136 IF( sbc_rnf_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_rnf arrays' ) 135 137 nkrnf = 0 136 rnf (:,:) = 0. e0137 rnfmsk (:,:) = 0. e0138 rnfmsk_z(:) = 0. e0138 rnf (:,:) = 0.0_wp 139 rnfmsk (:,:) = 0.0_wp 140 rnfmsk_z(:) = 0.0_wp 139 141 ENDIF 140 142 IF( nn_ice == 0 ) fr_i(:,:) = 0.e0 ! no ice in the domain, ice fraction is always zero 141 143 142 emps(:,:) = 0.e0 ! the salt flux will be computed (i.e. will be non-zero) only if143 ! ! sea-ice is present, or lk_vvl=F, or surface salt restoring is used.144 sfx(:,:) = 0.0_wp ! the salt flux due to freezing/melting will be computed (i.e. will be non-zero) 145 ! only if sea-ice is present 144 146 145 147 ! ! restartability … … 221 223 !! time step, i.e. 222 224 !! utau_b, vtau_b, qns_b, qsr_b, emp_n, emps_b, qrp_b, erp_b 223 !! utau , vtau , qns , qsr , emp , emps, qrp , erp225 !! utau , vtau , qns , qsr , emp , sfx , qrp , erp 224 226 !! - updte the ice fraction : fr_i 225 227 !!---------------------------------------------------------------------- … … 238 240 ! qsr_b (:,:) = qsr (:,:) 239 241 emp_b (:,:) = emp (:,:) 240 emps_b(:,:) = emps(:,:)242 emps_b(:,:) = sfx(:,:) 241 243 ENDIF 242 244 ! ! ---------------------------------------- ! … … 256 258 257 259 SELECT CASE( nsbc ) ! Compute ocean surface boundary condition 258 ! ! (i.e. utau,vtau, qns, qsr, emp, emps)260 ! ! (i.e. utau,vtau, qns, qsr, emp, sfx) 259 261 CASE( 0 ) ; CALL sbc_gyre ( kt ) ! analytical formulation : GYRE configuration 260 262 CASE( 1 ) ; CALL sbc_ana ( kt ) ! analytical formulation : uniform sbc … … 316 318 ! qsr_b (:,:) = qsr (:,:) 317 319 emp_b (:,:) = emp (:,:) 318 emps_b(:,:) = emps(:,:)320 emps_b(:,:) = sfx(:,:) 319 321 ENDIF 320 322 ENDIF … … 332 334 ! CALL iom_rstput( kt, nitrst, numrow, 'qsr_b' , qsr ) 333 335 CALL iom_rstput( kt, nitrst, numrow, 'emp_b' , emp ) 334 CALL iom_rstput( kt, nitrst, numrow, 'emps_b' , emps)336 CALL iom_rstput( kt, nitrst, numrow, 'emps_b' , sfx ) 335 337 ENDIF 336 338 … … 340 342 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 341 343 CALL iom_put( "empmr" , emp - rnf ) ! upward water flux 342 CALL iom_put( "empsmr", emps - rnf )! c/d water flux344 CALL iom_put( "empsmr", sfx - rnf ) ! c/d water flux 343 345 CALL iom_put( "qt" , qns + qsr ) ! total heat flux 344 346 CALL iom_put( "qns" , qns ) ! solar heat flux … … 357 359 CALL prt_ctl(tab2d_1=fr_i , clinfo1=' fr_i - : ', mask1=tmask, ovlap=1 ) 358 360 CALL prt_ctl(tab2d_1=(emp-rnf) , clinfo1=' emp-rnf - : ', mask1=tmask, ovlap=1 ) 359 CALL prt_ctl(tab2d_1=( emps-rnf) , clinfo1=' emps-rnf- : ', mask1=tmask, ovlap=1 )361 CALL prt_ctl(tab2d_1=(sfx-rnf) , clinfo1=' sfx-rnf - : ', mask1=tmask, ovlap=1 ) 360 362 CALL prt_ctl(tab2d_1=qns , clinfo1=' qns - : ', mask1=tmask, ovlap=1 ) 361 363 CALL prt_ctl(tab2d_1=qsr , clinfo1=' qsr - : ', mask1=tmask, ovlap=1 )
Note: See TracChangeset
for help on using the changeset viewer.