- Timestamp:
- 2019-12-10T15:16:33+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcmod.F90
r11960 r12150 24 24 USE oce ! ocean dynamics and tracers 25 25 USE dom_oce ! ocean space and time domain 26 USE closea ! closed seas 26 27 USE phycst ! physical constants 27 28 USE sbc_oce ! Surface boundary condition: ocean fields … … 37 38 #endif 38 39 USE sbcice_cice ! surface boundary condition: CICE sea-ice model 39 USE sbcisf ! surface boundary condition: ice-shelf40 40 USE sbccpl ! surface boundary condition: coupled formulation 41 41 USE cpl_oasis3 ! OASIS routines for coupling 42 USE sbcclo ! surface boundary condition: closed sea correction 42 43 USE sbcssr ! surface boundary condition: sea surface restoring 43 44 USE sbcrnf ! surface boundary condition: runoffs 44 45 USE sbcapr ! surface boundary condition: atmo pressure 45 USE sbcisf ! surface boundary condition: ice shelf46 46 USE sbcfwb ! surface boundary condition: freshwater budget 47 47 USE icbstp ! Icebergs … … 92 92 LOGICAL :: ll_purecpl, ll_opa, ll_not_nemo ! local logical 93 93 !! 94 NAMELIST/namsbc/ nn_fsbc , 95 & ln_usr , ln_flx , ln_blk ,&96 & ln_cpl , ln_mixcpl , nn_components,&97 & nn_ice , ln_ice_embd, 98 & ln_traqsr, ln_dm2dc ,&99 & ln_rnf , nn_fwb , ln_ssr , ln_isf , ln_apr_dyn ,&100 & ln_wave , ln_cdgw , ln_sdw , ln_tauwoc , ln_stcor ,&101 & ln_tauw , nn_lsm , nn_sdrift94 NAMELIST/namsbc/ nn_fsbc , & 95 & ln_usr , ln_flx , ln_blk , & 96 & ln_cpl , ln_mixcpl , nn_components, & 97 & nn_ice , ln_ice_embd, & 98 & ln_traqsr, ln_dm2dc , & 99 & ln_rnf , nn_fwb , ln_ssr , ln_apr_dyn, & 100 & ln_wave , ln_cdgw , ln_sdw , ln_tauwoc , ln_stcor, & 101 & ln_tauw , nn_lsm , nn_sdrift 102 102 !!---------------------------------------------------------------------- 103 103 ! … … 152 152 WRITE(numout,*) ' Patm gradient added in ocean & ice Eqs. ln_apr_dyn = ', ln_apr_dyn 153 153 WRITE(numout,*) ' runoff / runoff mouths ln_rnf = ', ln_rnf 154 WRITE(numout,*) ' iceshelf formulation ln_isf = ', ln_isf155 154 WRITE(numout,*) ' nb of iterations if land-sea-mask applied nn_lsm = ', nn_lsm 156 155 WRITE(numout,*) ' surface wave ln_wave = ', ln_wave … … 239 238 #endif 240 239 ! 241 IF( .NOT.ln_isf ) THEN !* No ice-shelf in the domain : allocate and set to zero242 IF( sbc_isf_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_isf arrays' )243 fwfisf (:,:) = 0._wp ; risf_tsc (:,:,:) = 0._wp244 fwfisf_b(:,:) = 0._wp ; risf_tsc_b(:,:,:) = 0._wp245 END IF246 240 IF( nn_ice == 0 ) THEN !* No sea-ice in the domain : ice fraction is always zero 247 241 IF( nn_components /= jp_iam_opa ) fr_i(:,:) = 0._wp ! except for OPA in SAS-OPA coupled case … … 329 323 CALL sbc_ssm_init ( Kbb, Kmm ) ! Sea-surface mean fields initialization 330 324 ! 325 IF( l_sbc_clo ) CALL sbc_clo_init ! closed sea surface initialisation 326 ! 331 327 IF( ln_blk ) CALL sbc_blk_init ! bulk formulae initialization 332 328 333 329 IF( ln_ssr ) CALL sbc_ssr_init ! Sea-Surface Restoring initialization 334 330 ! 335 IF( ln_isf ) CALL sbc_isf_init( Kmm ) ! Compute iceshelves336 331 ! 337 332 CALL sbc_rnf_init( Kmm ) ! Runof initialization … … 402 397 rnf_b (:,: ) = rnf (:,: ) 403 398 rnf_tsc_b(:,:,:) = rnf_tsc(:,:,:) 404 ENDIF405 IF( ln_isf ) THEN406 fwfisf_b (:,: ) = fwfisf (:,: )407 risf_tsc_b(:,:,:) = risf_tsc(:,:,:)408 399 ENDIF 409 400 ! … … 456 447 ENDIF 457 448 458 IF( ln_isf ) CALL sbc_isf( kt, Kmm ) ! compute iceshelves 459 460 IF( ln_rnf ) CALL sbc_rnf( kt ) ! add runoffs to fresh water fluxes 449 IF( ln_rnf ) CALL sbc_rnf( kt ) ! add runoffs to fresh water fluxes 461 450 462 451 IF( ln_ssr ) CALL sbc_ssr( kt ) ! add SST/SSS damping term … … 466 455 ! Special treatment of freshwater fluxes over closed seas in the model domain 467 456 ! Should not be run if ln_diurnal_only 468 IF( l_sbc_clo .AND. (.NOT. ln_diurnal_only)) CALL sbc_clo( kt )457 IF( l_sbc_clo ) CALL sbc_clo( kt ) 469 458 470 459 !!$!RBbug do not understand why see ticket 667 … … 559 548 ! 560 549 IF(ln_ctl) THEN ! print mean trends (used for debugging) 561 CALL prt_ctl(tab2d_1=fr_i , clinfo1=' fr_i - : ', mask1=tmask )562 CALL prt_ctl(tab2d_1=(emp-rnf + fwfisf) , clinfo1=' emp-rnf - : ', mask1=tmask )563 CALL prt_ctl(tab2d_1=(sfx-rnf + fwfisf) , clinfo1=' sfx-rnf - : ', mask1=tmask )564 CALL prt_ctl(tab2d_1=qns 565 CALL prt_ctl(tab2d_1=qsr 566 CALL prt_ctl(tab3d_1=tmask 550 CALL prt_ctl(tab2d_1=fr_i , clinfo1=' fr_i - : ', mask1=tmask ) 551 CALL prt_ctl(tab2d_1=(emp-rnf) , clinfo1=' emp-rnf - : ', mask1=tmask ) 552 CALL prt_ctl(tab2d_1=(sfx-rnf) , clinfo1=' sfx-rnf - : ', mask1=tmask ) 553 CALL prt_ctl(tab2d_1=qns , clinfo1=' qns - : ', mask1=tmask ) 554 CALL prt_ctl(tab2d_1=qsr , clinfo1=' qsr - : ', mask1=tmask ) 555 CALL prt_ctl(tab3d_1=tmask , clinfo1=' tmask - : ', mask1=tmask, kdim=jpk ) 567 556 CALL prt_ctl(tab3d_1=ts(:,:,:,jp_tem,Kmm), clinfo1=' sst - : ', mask1=tmask, kdim=1 ) 568 557 CALL prt_ctl(tab3d_1=ts(:,:,:,jp_sal,Kmm), clinfo1=' sss - : ', mask1=tmask, kdim=1 )
Note: See TracChangeset
for help on using the changeset viewer.