New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12150 for NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcmod.F90 – NEMO

Ignore:
Timestamp:
2019-12-10T15:16:33+01:00 (4 years ago)
Author:
davestorkey
Message:

2019/dev_r11943_MERGE_2019: Merge in UKMO_MERGE_2019.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/SBC/sbcmod.F90

    r11960 r12150  
    2424   USE oce            ! ocean dynamics and tracers 
    2525   USE dom_oce        ! ocean space and time domain 
     26   USE closea         ! closed seas 
    2627   USE phycst         ! physical constants 
    2728   USE sbc_oce        ! Surface boundary condition: ocean fields 
     
    3738#endif 
    3839   USE sbcice_cice    ! surface boundary condition: CICE sea-ice model 
    39    USE sbcisf         ! surface boundary condition: ice-shelf 
    4040   USE sbccpl         ! surface boundary condition: coupled formulation 
    4141   USE cpl_oasis3     ! OASIS routines for coupling 
     42   USE sbcclo         ! surface boundary condition: closed sea correction 
    4243   USE sbcssr         ! surface boundary condition: sea surface restoring 
    4344   USE sbcrnf         ! surface boundary condition: runoffs 
    4445   USE sbcapr         ! surface boundary condition: atmo pressure  
    45    USE sbcisf         ! surface boundary condition: ice shelf 
    4646   USE sbcfwb         ! surface boundary condition: freshwater budget 
    4747   USE icbstp         ! Icebergs 
     
    9292      LOGICAL ::   ll_purecpl, ll_opa, ll_not_nemo   ! local logical 
    9393      !! 
    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_sdrift 
     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_apr_dyn,              & 
     100         &             ln_wave  , ln_cdgw    , ln_sdw   , ln_tauwoc , ln_stcor,    & 
     101         &             ln_tauw  , nn_lsm     , nn_sdrift 
    102102      !!---------------------------------------------------------------------- 
    103103      ! 
     
    152152         WRITE(numout,*) '         Patm gradient added in ocean & ice Eqs.    ln_apr_dyn    = ', ln_apr_dyn 
    153153         WRITE(numout,*) '         runoff / runoff mouths                     ln_rnf        = ', ln_rnf 
    154          WRITE(numout,*) '         iceshelf formulation                       ln_isf        = ', ln_isf 
    155154         WRITE(numout,*) '         nb of iterations if land-sea-mask applied  nn_lsm        = ', nn_lsm 
    156155         WRITE(numout,*) '         surface wave                               ln_wave       = ', ln_wave 
     
    239238#endif 
    240239      ! 
    241       IF( .NOT.ln_isf ) THEN        !* No ice-shelf in the domain : allocate and set to zero 
    242          IF( sbc_isf_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_isf arrays' ) 
    243          fwfisf  (:,:)   = 0._wp   ;   risf_tsc  (:,:,:) = 0._wp 
    244          fwfisf_b(:,:)   = 0._wp   ;   risf_tsc_b(:,:,:) = 0._wp 
    245       END IF 
    246240      IF( nn_ice == 0 ) THEN        !* No sea-ice in the domain : ice fraction is always zero 
    247241         IF( nn_components /= jp_iam_opa )   fr_i(:,:) = 0._wp    ! except for OPA in SAS-OPA coupled case 
     
    329323                          CALL sbc_ssm_init ( Kbb, Kmm ) ! Sea-surface mean fields initialization 
    330324      ! 
     325      IF( l_sbc_clo   )   CALL sbc_clo_init              ! closed sea surface initialisation 
     326      ! 
    331327      IF( ln_blk      )   CALL sbc_blk_init              ! bulk formulae initialization 
    332328 
    333329      IF( ln_ssr      )   CALL sbc_ssr_init              ! Sea-Surface Restoring initialization 
    334330      ! 
    335       IF( ln_isf      )   CALL sbc_isf_init( Kmm )       ! Compute iceshelves 
    336331      ! 
    337332                          CALL sbc_rnf_init( Kmm )       ! Runof initialization 
     
    402397            rnf_b    (:,:  ) = rnf    (:,:  ) 
    403398            rnf_tsc_b(:,:,:) = rnf_tsc(:,:,:) 
    404          ENDIF 
    405          IF( ln_isf )  THEN 
    406             fwfisf_b  (:,:  ) = fwfisf  (:,:  )                
    407             risf_tsc_b(:,:,:) = risf_tsc(:,:,:)               
    408399         ENDIF 
    409400        ! 
     
    456447      ENDIF 
    457448 
    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 
    461450 
    462451      IF( ln_ssr         )   CALL sbc_ssr( kt )                        ! add SST/SSS damping term 
     
    466455      ! Special treatment of freshwater fluxes over closed seas in the model domain 
    467456      ! 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 )    
    469458 
    470459!!$!RBbug do not understand why see ticket 667 
     
    559548      ! 
    560549      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                 , clinfo1=' qns      - : ', mask1=tmask ) 
    565          CALL prt_ctl(tab2d_1=qsr                 , clinfo1=' qsr      - : ', mask1=tmask ) 
    566          CALL prt_ctl(tab3d_1=tmask               , clinfo1=' tmask    - : ', mask1=tmask, kdim=jpk ) 
     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 ) 
    567556         CALL prt_ctl(tab3d_1=ts(:,:,:,jp_tem,Kmm), clinfo1=' sst      - : ', mask1=tmask, kdim=1   ) 
    568557         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.