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 1218 for trunk/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90 – NEMO

Ignore:
Timestamp:
2008-10-28T10:12:16+01:00 (16 years ago)
Author:
smasson
Message:

first implementation of the new coupling interface in the trunk, see ticket:155

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90

    r1146 r1218  
    66   !! Sea-Ice model  :  LIM 2.0 Sea ice model time-stepping 
    77   !!====================================================================== 
    8    !! History :  9.0   !  06-06  (G. Madec)  from icestp_2.F90 
     8   !! History :  1.0   !  06-2006  (G. Madec)  from icestp_2.F90 
     9   !!            3.0   !  08-2008  (S. Masson, E. .... ) coupled interface 
    910   !!---------------------------------------------------------------------- 
    1011#if defined key_lim2 
     
    2324   USE ice_oce         ! ice variables 
    2425   USE dom_ice_2 
    25    USE cpl_oce 
    2626 
    2727   USE sbc_oce         ! Surface boundary condition: ocean fields 
     
    2929   USE sbcblk_core     ! Surface boundary condition: CORE bulk 
    3030   USE sbcblk_clio     ! Surface boundary condition: CLIO bulk 
     31   USE sbccpl          ! Surface boundary condition: coupled interface 
    3132   USE albedo 
    3233 
     
    6667CONTAINS 
    6768 
    68    SUBROUTINE sbc_ice_lim_2( kt, kblk ) 
     69   SUBROUTINE sbc_ice_lim_2( kt, ksbc ) 
    6970      !!--------------------------------------------------------------------- 
    7071      !!                  ***  ROUTINE sbc_ice_lim_2  *** 
     
    8788      !!--------------------------------------------------------------------- 
    8889      INTEGER, INTENT(in) ::   kt      ! ocean time step 
    89       INTEGER, INTENT(in) ::   kblk    ! type of bulk (=3 CLIO, =4 CORE) 
     90      INTEGER, INTENT(in) ::   ksbc    ! type of sbc ( =3 CLIO bulk ; =4 CORE bulk ; =5 coupled ) 
    9091      !! 
    9192      INTEGER  ::   ji, jj   ! dummy loop indices 
     
    131132         zhsnif(:,:,1) = hsnif(:,:) 
    132133 
    133          ! ... ice albedo 
     134         ! ... ice albedo (clear sky and overcast sky) 
    134135         CALL albedo_ice( zsist, zhicif, zhsnif, alb_ice_cs, alb_ice_os ) 
    135136 
     
    147148         !     - fr2_i0     ! 2nd fraction of qsr penetration in ice     [%] 
    148149         ! 
    149          SELECT CASE( kblk ) 
     150         SELECT CASE( ksbc ) 
    150151         CASE( 3 )           ! CLIO bulk formulation 
    151             CALL blk_ice_clio( zsist , alb_ice_cs , alb_ice_os ,                                 & 
    152                &                               utaui_ice , vtaui_ice  , zqns_ice   , zqsr_ice,   & 
    153                &                               zqla_ice  , zdqns_ice  , zdqla_ice ,             & 
    154                &                               tprecip   , sprecip    ,                          & 
    155                &                               fr1_i0    , fr2_i0     , cl_grid  ) 
     152            CALL blk_ice_clio( zsist, alb_ice_cs, alb_ice_os ,                         & 
     153               &                      utaui_ice , vtaui_ice  , zqns_ice  , zqsr_ice,   & 
     154               &                      zqla_ice  , zdqns_ice  , zdqla_ice ,             & 
     155               &                      tprecip   , sprecip    ,                         & 
     156               &                      fr1_i0    , fr2_i0     , cl_grid  ) 
    156157 
    157158         CASE( 4 )           ! CORE bulk formulation 
    158             CALL blk_ice_core( zsist , ui_ice , vi_ice   , alb_ice_cs ,                         & 
    159                &                               utaui_ice , vtaui_ice  , zqns_ice  , zqsr_ice,   & 
    160                &                               zqla_ice  , zdqns_ice  , zdqla_ice ,             & 
    161                &                               tprecip   , sprecip    ,                         & 
    162                &                               fr1_i0    , fr2_i0     , cl_grid) 
     159            CALL blk_ice_core( zsist, ui_ice    , vi_ice     , alb_ice_cs,             & 
     160               &                      utaui_ice , vtaui_ice  , zqns_ice  , zqsr_ice,   & 
     161               &                      zqla_ice  , zdqns_ice  , zdqla_ice ,             & 
     162               &                      tprecip   , sprecip    ,                         & 
     163               &                      fr1_i0    , fr2_i0     , cl_grid  ) 
     164         CASE( 5 )           ! Coupled formulation : atmosphere-ice stress only (fluxes provided after ice dynamics) 
     165            CALL sbc_cpl_ice_tau( utaui_ice , vtaui_ice ) 
    163166         END SELECT 
    164167 
     
    186189            IF( ln_limdmp )             CALL lim_dmp_2      ( kt )           ! Ice damping  
    187190         ENDIF 
     191#if defined key_coupled 
     192         IF( ksbc == 5    )             CALL sbc_cpl_ice_flx( frld, alb_ice_cs , sst_m, sist,   & 
     193      &                                                             qns_tot, qns_ice,   & 
     194      &                                                             qsr_tot, qsr_ice,   & 
     195      &                                                             emp_tot, emp_ice, sprecip ) 
     196#endif 
    188197                                        CALL lim_thd_2      ( kt )      ! Ice thermodynamics  
    189198                                        CALL lim_sbc_2      ( kt )      ! Ice/Ocean Mass & Heat fluxes  
     
    202211   !!---------------------------------------------------------------------- 
    203212CONTAINS 
    204    SUBROUTINE sbc_ice_lim_2 ( kt, kblk )     ! Dummy routine 
    205       WRITE(*,*) 'sbc_ice_lim_2: You should not have seen this print! error?', kt, kblk 
     213   SUBROUTINE sbc_ice_lim_2 ( kt, ksbc )     ! Dummy routine 
     214      WRITE(*,*) 'sbc_ice_lim_2: You should not have seen this print! error?', kt, ksbc 
    206215   END SUBROUTINE sbc_ice_lim_2 
    207216#endif 
Note: See TracChangeset for help on using the changeset viewer.