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 886 for branches/dev_001_SBC/NEMO/LIM_SRC_3 – NEMO

Ignore:
Timestamp:
2008-04-11T11:24:17+02:00 (16 years ago)
Author:
ctlod
Message:

dev_001_SBC: Step II: adapt new SBC to LIM 3.0 component, see ticket: #112

Location:
branches/dev_001_SBC/NEMO/LIM_SRC_3
Files:
1 added
3 deleted
17 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/ice.F90

    r884 r886  
    493493      diag_bot_me,                           & ! vertical bottom melt  
    494494      diag_sur_me                              ! vertical surface melt 
    495    INTEGER , PUBLIC ::   &                      !: indexes of the debugging 
    496       jiindex,           &                      !  point 
    497       jjindex 
     495   INTEGER , PUBLIC ::   jiindx, jjindx        !: indexes of the debugging point 
    498496 
    499497#else 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/iceini.F90

    r884 r886  
    1313   USE in_out_manager 
    1414   USE ice_oce         ! ice variables 
    15    USE flx_oce 
     15   USE sbc_oce         ! Surface boundary condition: ocean fields 
     16   USE sbc_ice         ! Surface boundary condition: ice fields 
    1617   USE phycst          ! Define parameters for the routines 
    1718   USE ocfzpt 
     
    7475      ! Louvain la Neuve Ice model 
    7576      IF( nacc == 1 ) THEN 
    76           dtsd2   = nfice * rdtmin * 0.5 
    77           rdt_ice = nfice * rdtmin 
     77          dtsd2   = nn_fsbc * rdtmin * 0.5 
     78          rdt_ice = nn_fsbc * rdtmin 
    7879      ELSE 
    79           dtsd2   = nfice * rdt * 0.5 
    80           rdt_ice = nfice * rdt 
     80          dtsd2   = nn_fsbc * rdt * 0.5 
     81          rdt_ice = nn_fsbc * rdt 
    8182      ENDIF 
    8283 
     
    104105      freeze(:,:) = at_i(:,:)   ! initialisation of sea/ice cover     
    105106# if defined key_coupled 
    106       alb_ice(:,:) = albege(:,:)      ! sea-ice albedo 
     107      Must be adpated to LIM3  
     108      alb_ice(:,:,:) = albege(:,:)      ! sea-ice albedo 
    107109# endif 
    108110       
    109       nstart = numit  + nfice       
     111      nstart = numit  + nn_fsbc       
    110112      nitrun = nitend - nit000 + 1  
    111113      nlast  = numit  + nitrun  
     
    188190 
    189191       WRITE(numout,*) 'lim_itd_ini : Initialization of ice thickness distribution ' 
    190        WRITE(numout,*) '~~~~~~~~~~~~~~~' 
     192       WRITE(numout,*) '~~~~~~~~~~~~' 
    191193 
    192194!!-- End of declarations 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limdia.F90

    r884 r886  
    2626   USE limistate 
    2727   USE dom_oce 
     28   USE sbc_oce         ! Surface boundary condition: ocean fields 
    2829 
    2930   IMPLICIT NONE 
     
    107108       !--------------------------------------- 
    108109       zday_min = 273.0        ! zday_min = date of minimum extent, here September 30th 
    109        zday = FLOAT(numit-nit000) * rdt_ice / ( 86400.0 * FLOAT(nfice) ) 
     110       zday = FLOAT(numit-nit000) * rdt_ice / ( 86400.0 * FLOAT(nn_fsbc) ) 
    110111       IF (zday.GT.zday_min) THEN  
    111112          zshift_date  =  zday - zday_min 
     
    142143                vinfor(31) = vinfor(31) + vt_i(ji,jj)*( u_ice(ji,jj)*u_ice(ji,jj) + &  
    143144                                                        v_ice(ji,jj)*v_ice(ji,jj) )*aire(ji,jj)/1.0e12  
    144                 vinfor(53) = vinfor(53) + fsalt(ji,jj)*aire(ji,jj) / 1.0e12 !salt flux 
     145                vinfor(53) = vinfor(53) + emps(ji,jj)*aire(ji,jj) / 1.0e12 !salt flux 
    145146                vinfor(55) = vinfor(55) + fsbri(ji,jj)*aire(ji,jj) / 1.0e12 !brine drainage flux 
    146147                vinfor(57) = vinfor(57) + fseqv(ji,jj)*aire(ji,jj) / 1.0e12 !equivalent salt flux 
    147                 vinfor(59) = vinfor(59) + sst_io(ji,jj)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SST 
    148                 vinfor(61) = vinfor(61) + sss_io(ji,jj)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SSS 
     148                vinfor(59) = vinfor(59) +(sst_m(ji,jj)+rt0)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SST 
     149                vinfor(61) = vinfor(61) + sss_m(ji,jj)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SSS 
    149150                vinfor(65) = vinfor(65) + et_s(ji,jj)/1.0e9*aire(ji,jj) / 1.0e12  ! snow temperature 
    150151                vinfor(67) = vinfor(67) + et_i(ji,jj)/1.0e9*aire(ji,jj) / 1.0e12       ! ice heat content 
     
    155156                vinfor(77) = vinfor(77) + v_i(ji,jj,5)*aire(ji,jj) / 1.0e12 !ice volume 
    156157                vinfor(79) = 0.0 
    157                 vinfor(81) = vinfor(81) + fmass(ji,jj)*aire(ji,jj) / 1.0e12 ! mass flux 
     158                vinfor(81) = vinfor(81) + emp(ji,jj)*aire(ji,jj) / 1.0e12 ! mass flux 
    158159             ENDIF 
    159160          END DO 
     
    293294                vinfor(32) = vinfor(32) + vt_i(ji,jj)*( u_ice(ji,jj)*u_ice(ji,jj) + &  
    294295                                                        v_ice(ji,jj)*v_ice(ji,jj) )*aire(ji,jj)/1.0e12 !ice vel 
    295                 vinfor(54) = vinfor(54) + at_i(ji,jj)*fsalt(ji,jj)*aire(ji,jj) / 1.0e12 ! Total salt flux 
     296                vinfor(54) = vinfor(54) + at_i(ji,jj)*emps(ji,jj)*aire(ji,jj) / 1.0e12 ! Total salt flux 
    296297                vinfor(56) = vinfor(56) + at_i(ji,jj)*fsbri(ji,jj)*aire(ji,jj) / 1.0e12 ! Brine drainage salt flux 
    297298                vinfor(58) = vinfor(58) + at_i(ji,jj)*fseqv(ji,jj)*aire(ji,jj) / 1.0e12 ! Equivalent salt flux 
    298                 vinfor(60) = vinfor(60) + sst_io(ji,jj)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SST 
    299                 vinfor(62) = vinfor(62) + sss_io(ji,jj)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SSS 
     299                vinfor(60) = vinfor(60) +(sst_m(ji,jj)+rt0)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SST 
     300                vinfor(62) = vinfor(62) + sss_m(ji,jj)*at_i(ji,jj)*aire(ji,jj) / 1.0e12  !SSS 
    300301                vinfor(66) = vinfor(66) + et_s(ji,jj)/1.0e9*aire(ji,jj) / 1.0e12 ! snow temperature 
    301302                vinfor(68) = vinfor(68) + et_i(ji,jj)/1.0e9*aire(ji,jj) / 1.0e12 ! ice enthalpy 
     
    306307                vinfor(78) = vinfor(78) + v_i(ji,jj,5)*aire(ji,jj) / 1.0e12 !ice volume 
    307308                vinfor(80) = 0.0 
    308                 vinfor(82) = vinfor(82) + fmass(ji,jj)*aire(ji,jj) / 1.0e12 ! mass flux 
     309                vinfor(82) = vinfor(82) + emp(ji,jj)*aire(ji,jj) / 1.0e12 ! mass flux 
    309310             ENDIF 
    310311          END DO 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limdyn.F90

    r884 r886  
    1616   USE dom_ice 
    1717   USE dom_oce         ! ocean space and time domain 
    18    USE taumod 
    1918   USE ice 
    2019   USE par_ice 
     20   USE sbc_ice         ! Surface boundary condition: ice fields 
    2121   USE ice_oce 
    2222   USE iceini 
     
    9090      IF ( ln_limdyn ) THEN 
    9191 
    92          ! ocean velocity 
    93          u_oce(:,:)  = u_io(:,:) * tmu(:,:) 
    94          v_oce(:,:)  = v_io(:,:) * tmv(:,:) 
    95           
    9692         old_u_ice(:,:) = u_ice(:,:) * tmu(:,:) 
    9793         old_v_ice(:,:) = v_ice(:,:) * tmv(:,:) 
     
    162158         ENDIF 
    163159 
    164          ! Ice-Ocean stress 
    165          ! ================ 
    166          DO jj = 2, jpjm1 
    167             zsang  = SIGN(1.e0, gphif(1,jj-1) ) * sangvg 
    168  
    169             DO ji = fs_2, fs_jpim1 
    170                ! computation of wind stress over ocean in X and Y direction 
    171 #if defined key_coupled && defined key_lim_cp1 
    172 !              ztairx =  ( 1.0 - at_i(ji-1,jj)   ) * gtaux(ji-1,jj)   + & 
    173 !                        ( 1.0 - at_i(ji,jj)     ) * gtaux(ji,jj  )   + & 
    174 !                        ( 1.0 - at_i(ji-1,jj-1) ) * gtaux(ji-1,jj-1) + &  
    175 !                        ( 1.0 - at_i(ji,jj-1)   ) * gtaux(ji,jj-1) 
    176  
    177 !              ztairy =  ( 1.0 - at_i(ji-1,jj)   ) * gtauy(ji-1,jj  ) + & 
    178 !                        ( 1.0 - at_i(ji,jj  )   ) * gtauy(ji,jj    ) + & 
    179 !                        ( 1.0 - at_i(ji-1,jj-1) ) * gtauy(ji-1,jj-1) + &  
    180 !                        ( 1.0 - at_i(ji,jj-1)   ) * gtauy(ji,jj-1) 
    181 #else 
    182                ztairx =  ( 2.0 - at_i(ji,jj) - at_i(ji+1,jj) ) * gtaux(ji,jj) / cai * cao 
    183                ztairy =  ( 2.0 - at_i(ji,jj) - at_i(ji,jj+1) ) * gtauy(ji,jj) / cai * cao 
    184  
    185                zsfrldmx2 = at_i(ji,jj) + at_i(ji+1,jj) 
    186                zsfrldmy2 = at_i(ji,jj) + at_i(ji,jj+1) 
    187  
    188 #endif 
    189                zu_ice   = u_ice(ji,jj) - u_oce(ji,jj) 
    190                zv_ice   = v_ice(ji,jj) - v_oce(ji,jj) 
    191                zmod     = SQRT( zu_ice * zu_ice + zv_ice * zv_ice )  
    192  
    193                ! quadratic drag formulation 
    194                ztglx   = zsfrldmx2 * rhoco * zmod * ( cangvg * zu_ice - zsang * zv_ice )  
    195                ztgly   = zsfrldmy2 * rhoco * zmod * ( cangvg * zv_ice + zsang * zu_ice )  
    196 ! 
    197 !              ! IMPORTANT 
    198 !              ! these lignes are bound to prevent numerical oscillations 
    199 !              ! in the ice-ocean stress 
    200 !              ! They are physically ill-based. There is a cleaner solution 
    201 !              ! to try (remember discussion in Paris Gurvan) 
    202 ! 
    203                ztglx   = ztglx * exp( - zmod / 0.5 ) 
    204                ztgly   = ztglx * exp( - zmod / 0.5 ) 
    205  
    206                tio_u(ji,jj) = - ( ztairx + 1.0 * ztglx ) / ( 2. * rau0 ) 
    207                tio_v(ji,jj) = - ( ztairy + 1.0 * ztgly ) / ( 2. * rau0 ) 
    208             END DO 
    209          END DO 
    210           
    211160         ! computation of friction velocity 
    212161         DO jj = 2, jpjm1 
    213162            DO ji = fs_2, fs_jpim1 
    214163 
    215                zu_ice   = u_ice(ji,jj) - u_io(ji,jj) 
     164               zu_ice   = u_ice(ji,jj) - u_oce(ji,jj) 
    216165               zt11  = rhoco * zu_ice * zu_ice 
    217166 
    218                zu_ice   = u_ice(ji-1,jj) - u_io(ji-1,jj) 
     167               zu_ice   = u_ice(ji-1,jj) - u_oce(ji-1,jj) 
    219168               zt12  = rhoco * zu_ice * zu_ice 
    220169 
    221                zv_ice   = v_ice(ji,jj) - v_io(ji,jj) 
     170               zv_ice   = v_ice(ji,jj) - v_oce(ji,jj) 
    222171               zt21  = rhoco * zv_ice * zv_ice 
    223172 
    224                zv_ice   = v_ice(ji,jj-1) - v_io(ji,jj-1) 
     173               zv_ice   = v_ice(ji,jj-1) - v_oce(ji,jj-1) 
    225174               zt22  = rhoco * zv_ice * zv_ice 
    226                ztair2 = ( ( gtaux(ji,jj) + gtaux(ji-1,jj) ) / 2. )**2 + & 
    227                         ( ( gtauy(ji,jj) + gtauy(ji,jj-1) ) / 2. )**2 
     175               ztair2 = ( ( utaui_ice(ji,jj) + utaui_ice(ji-1,jj) ) / 2. )**2 + & 
     176                        ( ( vtaui_ice(ji,jj) + vtaui_ice(ji,jj-1) ) / 2. )**2 
    228177 
    229178               ! should not be weighted 
     
    241190          DO jj = 2, jpjm1 
    242191             DO ji = fs_2, fs_jpim1 
    243 #if defined key_coupled && defined key_lim_cp1 
    244                 tio_u(ji,jj) = - (  gtaux(ji  ,jj  ) + gtaux(ji-1,jj  )       & 
    245                    &              + gtaux(ji-1,jj-1) + gtaux(ji  ,jj-1) ) / ( 4 * rau0 ) 
    246  
    247                 tio_v(ji,jj) = - (  gtauy(ji  ,jj )  + gtauy(ji-1,jj  )       & 
    248                    &              + gtauy(ji-1,jj-1) + gtauy(ji  ,jj-1) ) / ( 4 * rau0 ) 
    249 #else 
    250                 tio_u(ji,jj) = - gtaux(ji,jj) / cai * cao / rau0 
    251                 tio_v(ji,jj) = - gtauy(ji,jj) / cai * cao / rau0  
    252 #endif 
    253                 ztair2 = ( ( gtaux(ji,jj) + gtaux(ji-1,jj) ) / 2. )**2 + & 
    254                          ( ( gtauy(ji,jj) + gtauy(ji,jj-1) ) / 2. )**2 
     192                ztair2 = ( ( utaui_ice(ji,jj) + utaui_ice(ji-1,jj) ) / 2. )**2 + & 
     193                         ( ( vtaui_ice(ji,jj) + vtaui_ice(ji,jj-1) ) / 2. )**2 
    255194                zustm        = SQRT( ztair2  ) 
    256195 
     
    262201 
    263202      CALL lbc_lnk( ust2s, 'T',  1. )   ! T-point 
    264       CALL lbc_lnk( tio_u, 'U', -1. )   ! I-point (i.e. ice U-V point) 
    265       CALL lbc_lnk( tio_v, 'V', -1. )   ! I-point (i.e. ice U-V point) 
    266203 
    267204      IF(ln_ctl) THEN   ! Control print 
     
    269206         CALL prt_ctl_info(' - Cell values : ') 
    270207         CALL prt_ctl_info('   ~~~~~~~~~~~~~ ') 
    271          CALL prt_ctl(tab2d_1=tio_u     , clinfo1=' lim_dyn  : tio_u     :', tab2d_2=tio_v , clinfo2=' tio_v :') 
    272208         CALL prt_ctl(tab2d_1=ust2s     , clinfo1=' lim_dyn  : ust2s     :') 
    273209         CALL prt_ctl(tab2d_1=divu_i    , clinfo1=' lim_dyn  : divu_i    :') 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limistate.F90

    r884 r886  
    1616   USE oce             ! dynamics and tracers variables 
    1717   USE dom_oce 
     18   USE sbc_oce         ! Surface boundary condition: ocean fields 
    1819   USE par_ice         ! ice parameters 
    1920   USE ice_oce         ! ice variables 
     
    9394      CALL lim_istate_init     !  reading the initials parameters of the ice 
    9495 
    95       !-- Initialisation of sst,sss,u,v do i=1,jpi 
    96       u_io(:,:)  = 0.e0       ! ice velocity in x direction 
    97       v_io(:,:)  = 0.e0       ! ice velocity in y direction 
    98  
    9996      ! Initialisation at tn or -2 if ice 
    10097      DO jj = 1, jpj 
     
    104101         END DO 
    105102      END DO 
    106  
    107       u_io  (:,:) = 0. 
    108       v_io  (:,:) = 0. 
    109       sst_io(:,:) = ( nfice - 1 ) * ( tn(:,:,1) + rt0 )   ! use the ocean initial values 
    110       sss_io(:,:) = ( nfice - 1 ) *   sn(:,:,1)           ! tricky trick *(nfice-1) ! 
    111103 
    112104      !-------------------------------------------------------------------- 
     
    280272                  !--------------- 
    281273                  sm_i(ji,jj,jl)   = zidto * sinn  + ( 1.0 - zidto ) * 0.1 
    282                   smv_i(ji,jj,jl)  = MIN( sm_i(ji,jj,jl) , sss_io(ji,jj) ) * v_i(ji,jj,jl) 
     274                  smv_i(ji,jj,jl)  = MIN( sm_i(ji,jj,jl) , sss_m(ji,jj) ) * v_i(ji,jj,jl) 
    283275 
    284276                  !---------- 
     
    405397 
    406398                  sm_i(ji,jj,jl)   = zidto * sins  + ( 1.0 - zidto ) * 0.1 
    407                   smv_i(ji,jj,jl)  = MIN( sm_i(ji,jj,jl) , sss_io(ji,jj) ) * v_i(ji,jj,jl) 
     399                  smv_i(ji,jj,jl)  = MIN( sm_i(ji,jj,jl) , sss_m(ji,jj) ) * v_i(ji,jj,jl) 
    408400 
    409401                  !---------- 
     
    538530 
    539531      CALL lbc_lnk( fsbbq  , 'T', 1. ) 
    540       CALL lbc_lnk( sss_io , 'T', 1. ) 
    541532 
    542533   END SUBROUTINE lim_istate 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limitd_me.F90

    r884 r886  
    2020   USE phycst           ! physical constants (ocean directory)  
    2121   USE ice_oce          ! ice variables 
     22   USE sbc_oce          ! Surface boundary condition: ocean fields 
    2223   USE thd_ice 
    2324   USE limistate 
     
    743744      ! Temporal smoothing 
    744745      !-------------------- 
    745       IF ( numit .EQ. nit000 + nfice - 1 ) THEN 
     746      IF ( numit .EQ. nit000 + nn_fsbc - 1 ) THEN 
    746747         strp1(:,:) = 0.0             
    747748         strp2(:,:) = 0.0             
     
    11941195      IF ( con_i ) THEN 
    11951196         CALL lim_column_sum (jpl,   v_i, vice_init ) 
    1196          WRITE(numout,*) ' vice_init  : ', vice_init(jiindex,jjindex) 
     1197         WRITE(numout,*) ' vice_init  : ', vice_init(jiindx,jjindx) 
    11971198         CALL lim_column_sum_energy (jpl, nlay_i,  e_i, eice_init ) 
    1198          WRITE(numout,*) ' eice_init  : ', eice_init(jiindex,jjindex) 
     1199         WRITE(numout,*) ' eice_init  : ', eice_init(jiindx,jjindx) 
    11991200      ENDIF 
    12001201 
     
    13631364            ! Salinity 
    13641365            !------------- 
    1365             smsw(ji,jj)       = sss_io(ji,jj) * vsw(ji,jj) * ridge_por  
     1366            smsw(ji,jj)       = sss_m(ji,jj) * vsw(ji,jj) * ridge_por  
    13661367 
    13671368            ! salinity of new ridge 
     
    14471448                                        - eirft(ji,jj,jk) 
    14481449            ! sea water heat content 
    1449             ztmelts          = - tmut * sss_io(ji,jj) + rtt 
     1450            ztmelts          = - tmut * sss_m(ji,jj) + rtt 
    14501451            ! heat content per unit volume 
    1451             zdummy0          = - rcp * ( sst_io(ji,jj) - rtt ) * vsw(ji,jj) 
     1452            zdummy0          = - rcp * ( sst_m(ji,jj) + rt0 - rtt ) * vsw(ji,jj) 
    14521453 
    14531454            ! corrected sea water salinity 
     
    16161617         fieldid = ' v_i : limitd_me ' 
    16171618         CALL lim_cons_check (vice_init, vice_final, 1.0e-6, fieldid)  
    1618          WRITE(numout,*) ' vice_init  : ', vice_init(jiindex,jjindex) 
    1619          WRITE(numout,*) ' vice_final : ', vice_final(jiindex,jjindex) 
     1619         WRITE(numout,*) ' vice_init  : ', vice_init(jiindx,jjindx) 
     1620         WRITE(numout,*) ' vice_final : ', vice_final(jiindx,jjindx) 
    16201621 
    16211622         CALL lim_column_sum_energy (jpl, nlay_i,  e_i, eice_final ) 
    16221623         fieldid = ' e_i : limitd_me ' 
    16231624         CALL lim_cons_check (eice_init, eice_final, 1.0e-2, fieldid)  
    1624          WRITE(numout,*) ' eice_init  : ', eice_init(jiindex,jjindex) 
    1625          WRITE(numout,*) ' eice_final : ', eice_final(jiindex,jjindex) 
     1625         WRITE(numout,*) ' eice_init  : ', eice_init(jiindx,jjindx) 
     1626         WRITE(numout,*) ' eice_final : ', eice_final(jiindx,jjindx) 
    16261627      ENDIF 
    16271628 
     
    18391840!           fresh_hist(i,j) = fresh_hist(i,j) + xtmp 
    18401841 
    1841 !           fsalt_res(ji,jj)  = fsalt_res(ji,jj) + ( sss_io(ji,jj)                  ) * &  
     1842!           fsalt_res(ji,jj)  = fsalt_res(ji,jj) + ( sss_m(ji,jj)                  ) * &  
    18421843!                               rhosn * v_s(ji,jj,jl) / rdt_ice 
    18431844 
    1844 !           fsalt_res(ji,jj)  = fsalt_res(ji,jj) + ( sss_io(ji,jj) - sm_i(ji,jj,jl) ) * &  
     1845!           fsalt_res(ji,jj)  = fsalt_res(ji,jj) + ( sss_m(ji,jj) - sm_i(ji,jj,jl) ) * &  
    18451846!                               rhoic * v_i(ji,jj,jl) / rdt_ice 
    18461847 
    1847 !           fsalt(i,j)      = fsalt(i,j)      + xtmp 
     1848!           emps(i,j)      = emps(i,j)      + xtmp 
    18481849!           fsalt_hist(i,j) = fsalt_hist(i,j) + xtmp 
    18491850 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limrhg.F90

    r884 r886  
    1616   USE dom_oce 
    1717   USE dom_ice 
     18   USE sbc_ice         ! Surface boundary condition: ice fields 
    1819   USE ice 
    1920   USE iceini 
     
    268269                                          / ( e2t(ji,jj+1) + e2t(ji,jj) + epsd ) 
    269270            ! 
    270             u_oce1(ji,jj)  = u_io(ji,jj) 
    271             v_oce2(ji,jj)  = v_io(ji,jj) 
     271            u_oce1(ji,jj)  = u_oce(ji,jj) 
     272            v_oce2(ji,jj)  = v_oce(ji,jj) 
    272273 
    273274            ! Ocean has no slip boundary condition 
    274             v_oce1(ji,jj)  = 0.5*( (v_io(ji,jj)+v_io(ji,jj-1))*e1t(ji,jj)    & 
    275                 &                 +(v_io(ji+1,jj)+v_io(ji+1,jj-1))*e1t(ji+1,jj)) & 
     275            v_oce1(ji,jj)  = 0.5*( (v_oce(ji,jj)+v_oce(ji,jj-1))*e1t(ji,jj)    & 
     276                &                 +(v_oce(ji+1,jj)+v_oce(ji+1,jj-1))*e1t(ji+1,jj)) & 
    276277                &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj)   
    277278 
    278             u_oce2(ji,jj)  = 0.5*((u_io(ji,jj)+u_io(ji-1,jj))*e2t(ji,jj)     & 
    279                 &                 +(u_io(ji,jj+1)+u_io(ji-1,jj+1))*e2t(ji,jj+1)) & 
     279            u_oce2(ji,jj)  = 0.5*((u_oce(ji,jj)+u_oce(ji-1,jj))*e2t(ji,jj)     & 
     280                &                 +(u_oce(ji,jj+1)+u_oce(ji-1,jj+1))*e2t(ji,jj+1)) & 
    280281                &                / (e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
    281282 
    282283            ! Wind stress. 
    283             ztagnx = ( 1. - zfrld1(ji,jj) ) * gtaux(ji,jj) 
    284             ztagny = ( 1. - zfrld2(ji,jj) ) * gtauy(ji,jj) 
     284            ztagnx = ( 1. - zfrld1(ji,jj) ) * utaui_ice(ji,jj) 
     285            ztagny = ( 1. - zfrld2(ji,jj) ) * vtaui_ice(ji,jj) 
    285286 
    286287            ! Computation of the velocity field taking into account the ice internal interaction. 
     
    621622            zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 ) 
    622623            IF ( zdummy .LE. 5.0e-2 ) THEN 
    623                u_ice(ji,jj) = u_io(ji,jj) 
    624                v_ice(ji,jj) = v_io(ji,jj) 
     624               u_ice(ji,jj) = u_oce(ji,jj) 
     625               v_ice(ji,jj) = v_oce(ji,jj) 
    625626            ENDIF ! zdummy 
    626627         END DO 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limrst.F90

    r884 r886  
    1818   USE dom_oce 
    1919   USE ice_oce         ! ice variables 
     20   USE sbc_oce         ! Surface boundary condition: ocean fields 
     21   USE sbc_ice         ! Surface boundary condition: ice fields 
    2022   USE daymod 
    2123   USE iom 
     
    5557       
    5658      ! to get better performances with NetCDF format: 
    57       ! we open and define the ice restart file one ice time step before writing the data (-> at nitrst - 2*nfice + 1) 
    58       ! except if we write ice restart files every ice time step or if an ice restart file was writen at nitend - 2*nfice + 1 
    59       IF( kt == nitrst - 2*nfice + 1 .OR. nstock == nfice .OR. ( kt == nitend - nfice + 1 .AND. .NOT. lrst_ice ) ) THEN 
     59      ! we open and define the ice restart file one ice time step before writing the data (-> at nitrst - 2*nn_fsbc + 1) 
     60      ! except if we write ice restart files every ice time step or if an ice restart file was writen at nitend - 2*nn_fsbc + 1 
     61      IF( kt == nitrst - 2*nn_fsbc + 1 .OR. nstock == nn_fsbc .OR. ( kt == nitend - nn_fsbc + 1 .AND. .NOT. lrst_ice ) ) THEN 
    6062         ! beware of the format used to write kt (default is i8.8, that should be large enough...) 
    6163         IF( nitrst > 99999999 ) THEN   ;   WRITE(clkt, *       ) nitrst 
     
    7072            CASE DEFAULT         ;   WRITE(numout,*) '             open ice restart NetCDF file: '//clname 
    7173            END SELECT 
    72             IF( kt == nitrst - 2*nfice + 1 ) THEN    
    73                WRITE(numout,*)         '             kt = nitrst - 2*nfice + 1 = ', kt,' date= ', ndastp 
    74             ELSE   ;   WRITE(numout,*) '             kt = '                       , kt,' date= ', ndastp 
     74            IF( kt == nitrst - 2*nn_fsbc + 1 ) THEN    
     75               WRITE(numout,*)         '             kt = nitrst - 2*nn_fsbc + 1 = ', kt,' date= ', ndastp 
     76            ELSE   ;   WRITE(numout,*) '             kt = '                         , kt,' date= ', ndastp 
    7577            ENDIF 
    7678         ENDIF 
     
    100102      !!---------------------------------------------------------------------- 
    101103    
    102       iter = kt + nfice - 1   ! ice restarts are written at kt == nitrst - nfice + 1 
     104      iter = kt + nn_fsbc - 1   ! ice restarts are written at kt == nitrst - nn_fsbc + 1 
    103105 
    104106      IF( iter == nitrst ) THEN 
     
    111113      ! ------------------  
    112114      !                                                                        ! calendar control 
    113       CALL iom_rstput( iter, nitrst, numriw, 'nfice' , REAL( nfice, wp) )      ! time-step  
    114       CALL iom_rstput( iter, nitrst, numriw, 'kt_ice', REAL( iter , wp) )      ! date 
     115      CALL iom_rstput( iter, nitrst, numriw, 'nn_fsbc', REAL( nn_fsbc, wp) )      ! time-step  
     116      CALL iom_rstput( iter, nitrst, numriw, 'kt_ice' , REAL( iter , wp) )        ! date 
    115117 
    116118      ! Prognostic variables  
     
    158160      CALL iom_rstput( iter, nitrst, numriw, 'u_ice'     , u_ice      ) 
    159161      CALL iom_rstput( iter, nitrst, numriw, 'v_ice'     , v_ice      ) 
    160       CALL iom_rstput( iter, nitrst, numriw, 'gtaux'     , gtaux      ) 
    161       CALL iom_rstput( iter, nitrst, numriw, 'gtauy'     , gtauy      ) 
     162      CALL iom_rstput( iter, nitrst, numriw, 'utaui_ice' , utaui_ice  ) 
     163      CALL iom_rstput( iter, nitrst, numriw, 'vtaui_ice' , vtaui_ice  ) 
    162164      CALL iom_rstput( iter, nitrst, numriw, 'fsbbq'     , fsbbq      ) 
    163165      CALL iom_rstput( iter, nitrst, numriw, 'stress1_i' , stress1_i  ) 
     
    299301               WRITE(numout,*) ' ~~~ Arctic' 
    300302    
    301                ji = jiindex 
    302                jj = jjindex 
     303               ji = jiindx 
     304               jj = jjindx 
    303305    
    304306               WRITE(numout,*) ' ji, jj ', ji, jj 
     
    387389      !!---------------------------------------------------------------------- 
    388390      ! Local variables 
    389       INTEGER :: ji, jj, jk, jl, index 
     391      INTEGER :: ji, jj, jk, jl, indx 
    390392      REAL(wp) ::   zfice, ziter 
    391393      REAL(wp) :: & !parameters for the salinity profile 
     
    405407      CALL iom_open ( 'restart_ice_in', numrir, kiolib = jprstlib ) 
    406408 
    407       CALL iom_get( numrir, 'nfice' , zfice ) 
    408       CALL iom_get( numrir, 'kt_ice', ziter )     
     409      CALL iom_get( numrir, 'nn_fsbc', zfice ) 
     410      CALL iom_get( numrir, 'kt_ice' , ziter )     
    409411      IF(lwp) WRITE(numout,*) '   read ice restart file at time step    : ', ziter 
    410412      IF(lwp) WRITE(numout,*) '   in any case we force it to nit000 - 1 : ', nit000 - 1 
     
    416418         &                   '   verify the file or rerun with the value 0 for the',        & 
    417419         &                   '   control of time parameter  nrstdt' ) 
    418       IF( INT(zfice) /= nfice          .AND. ABS( nrstdt ) == 1 )   & 
    419          &     CALL ctl_stop( 'lim_rst_read ===>>>> : problem with nfice in ice restart',  & 
    420          &                   '   verify the file or rerun with the value 0 for the',        & 
     420      IF( INT(zfice) /= nn_fsbc          .AND. ABS( nrstdt ) == 1 )   & 
     421         &     CALL ctl_stop( 'lim_rst_read ===>>>> : problem with nn_fsbc in ice restart',  & 
     422         &                   '   verify the file or rerun with the value 0 for the',         & 
    421423         &                   '   control of time parameter  nrstdt' ) 
    422424 
     
    512514      CALL iom_get( numrir, jpdom_autoglo, 'u_ice'     , u_ice      ) 
    513515      CALL iom_get( numrir, jpdom_autoglo, 'v_ice'     , v_ice      ) 
    514       CALL iom_get( numrir, jpdom_autoglo, 'gtaux'     , gtaux      ) 
    515       CALL iom_get( numrir, jpdom_autoglo, 'gtauy'     , gtauy      ) 
     516      CALL iom_get( numrir, jpdom_autoglo, 'utaui_ice' , utaui_ice  ) 
     517      CALL iom_get( numrir, jpdom_autoglo, 'vtaui_ice' , vtaui_ice  ) 
    516518      CALL iom_get( numrir, jpdom_autoglo, 'fsbbq'     , fsbbq      ) 
    517519      CALL iom_get( numrir, jpdom_autoglo, 'stress1_i' , stress1_i  ) 
     
    650652               WRITE(numout,*) ' ~~~ Arctic' 
    651653    
    652                index = 1 
     654               indx = 1 
    653655               ji = 24 
    654656               jj = 24 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limthd.F90

    r884 r886  
    1818   USE ice             ! LIM sea-ice variables 
    1919   USE ice_oce         ! sea-ice/ocean variables 
    20    USE flx_oce         ! sea-ice/ocean forcings variables  
     20   USE sbc_oce         ! Surface boundary condition: ocean fields 
     21   USE sbc_ice         ! Surface boundary condition: ice fields 
    2122   USE thd_ice         ! LIM thermodynamic sea-ice variables 
    2223   USE dom_ice         ! LIM sea-ice domain 
     
    8485      !!--------------------------------------------------------------------- 
    8586      !! * Local variables 
    86       INTEGER  ::  ji, jj, jk, jl,  & 
    87                    zji  , zjj,      &   ! dummy loop indices 
    88                    nbpb ,           &   ! nb of icy pts for thermo. cal. 
    89                    index 
     87      INTEGER  ::  ji, jj, jk, jl, nbpb   ! nb of icy pts for thermo. cal. 
    9088 
    9189      REAL(wp) ::  & 
     
    211209 
    212210            ! here the drag will depend on ice thickness and type (0.006) 
    213             fdtcn(ji,jj)  = zindb * rau0 * rcp * 0.006  * zfric_u * ( sst_io(ji,jj) - t_bo(ji,jj) )  
     211            fdtcn(ji,jj)  = zindb * rau0 * rcp * 0.006  * zfric_u * ( (sst_m(ji,jj) + rt0) - t_bo(ji,jj) )  
    214212            ! also category dependent 
    215213!           !-- Energy from the turbulent oceanic heat flux heat flux coming in the lead  
     
    220218!           !-- Lead heat budget (part 1, next one is in limthd_dh 
    221219!           !-- qldif -- (or qldif_1d in 1d routines) 
    222             zfontn         = sprecip(ji,jj) * lfus              !   energy of melting 
    223             zfnsol         = qnsr_oce(ji,jj)  ! total non solar flux 
    224             qldif(ji,jj)   = tms(ji,jj) * ( qsr_oce(ji,jj)                          & 
     220            zfontn         = sprecip(ji,jj) * lfus              ! energy of melting 
     221            zfnsol         = qns(ji,jj)                         ! total non solar flux 
     222            qldif(ji,jj)   = tms(ji,jj) * ( qsr(ji,jj)                              & 
    225223               &                               + zfnsol + fdtcn(ji,jj) - zfontn     & 
    226224               &                               + ( 1.0 - zindb ) * fsbbq(ji,jj) )   & 
     
    242240            ! Energy needed to bring ocean surface layer until its freezing 
    243241            ! qcmif, limflx 
    244             qcmif  (ji,jj) =  rau0 * rcp * fse3t(ji,jj,1) * ( t_bo(ji,jj) - sst_io(ji,jj) ) * ( 1. - zinda ) 
     242            qcmif  (ji,jj) =  rau0 * rcp * fse3t(ji,jj,1) * ( t_bo(ji,jj) - (sst_m(ji,jj) + rt0) ) * ( 1. - zinda ) 
    245243 
    246244            !  calculate oceanic heat flux (limthd_dh) 
     
    271269               ENDIF 
    272270               ! debug point to follow 
    273                IF ( (ji.eq.jiindex).AND.(jj.eq.jjindex) ) THEN 
     271               IF ( (ji.eq.jiindx).AND.(jj.eq.jjindx) ) THEN 
    274272                   jiindex_1d = nbpb 
    275273               ENDIF 
     
    310308            CALL tab_2d_1d( nbpb, fr1_i0_1d  (1:nbpb)     , fr1_i0     , jpi, jpj, npb(1:nbpb) ) 
    311309            CALL tab_2d_1d( nbpb, fr2_i0_1d  (1:nbpb)     , fr2_i0     , jpi, jpj, npb(1:nbpb) ) 
    312             CALL tab_2d_1d( nbpb, qnsr_ice_1d(1:nbpb)     , qnsr_ice(:,:,jl)  , jpi, jpj, npb(1:nbpb) ) 
     310            CALL tab_2d_1d( nbpb, qnsr_ice_1d(1:nbpb)     , qns_ice(:,:,jl) , jpi, jpj, npb(1:nbpb) ) 
    313311 
    314312#if ! defined key_coupled 
     
    360358 
    361359                                          !---------------------------------! 
    362             CALL lim_thd_sal(1,nbpb,jl)   ! Ice salinity computation        ! 
     360            CALL lim_thd_sal(1,nbpb)      ! Ice salinity computation        ! 
    363361                                          !---------------------------------! 
    364362 
     
    415413            CALL tab_1d_2d( nbpb, s_i_newice , npb, s_i_new  (1:nbpb)      , jpi, jpj ) 
    416414            CALL tab_1d_2d( nbpb, izero(:,:,jl) , npb, i0    (1:nbpb)      , jpi, jpj ) 
    417             CALL tab_1d_2d( nbpb, qnsr_ice(:,:,jl), npb, qnsr_ice_1d(1:nbpb), jpi, jpj) 
     415            CALL tab_1d_2d( nbpb, qns_ice(:,:,jl), npb, qnsr_ice_1d(1:nbpb), jpi, jpj) 
    418416            !+++++ 
    419417 
     
    543541 
    544542      INTEGER  :: & 
    545          ji,jj,jk            ! loop indices 
     543         ji,jk               ! loop indices 
    546544 
    547545      !!----------------------------------------------------------------------- 
     
    598596                                       !  is violated 
    599597      INTEGER  :: & 
    600          ji,jj,jk,                  &  !: loop indices 
     598         ji,jk,                     &  !: loop indices 
    601599         zji, zjj 
    602600      !!--------------------------------------------------------------------- 
     
    726724         WRITE(numout,*) ' foc        : ', fbif_1d(ji) 
    727725         WRITE(numout,*) ' fstroc     : ', fstroc   (zji,zjj,jl) 
    728          WRITE(numout,*) ' i0        : ', i0(ji) 
    729          WRITE(numout,*) ' fsolar     : ', (1.0-i0(ji))*qsr_ice_1d(ji) 
    730          WRITE(numout,*) ' fnsolar    : ', qnsr_ice_1d(ji) 
     726         WRITE(numout,*) ' i0         : ', i0(ji) 
     727         WRITE(numout,*) ' qsr_ice    : ', (1.0-i0(ji))*qsr_ice_1d(ji) 
     728         WRITE(numout,*) ' qns_ice    : ', qnsr_ice_1d(ji) 
    731729         WRITE(numout,*) ' Conduction fluxes : ' 
    732730         WRITE(numout,*) ' fc_s      : ', fc_s(ji,0:nlay_s) 
     
    778776         numce                         !: number of points for which conservation 
    779777                                       !  is violated 
    780       INTEGER  :: & 
    781          ji,jj,jk,                  &  !: loop indices 
    782          zji, zjj 
    783  
     778      INTEGER  ::  ji, zji, zjj        ! loop indices 
    784779      !!--------------------------------------------------------------------- 
    785780 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limthd_dh.F90

    r884 r886  
    1616   USE phycst           ! physical constants (OCE directory)  
    1717   USE ice_oce          ! ice variables 
     18   USE sbc_oce          ! Surface boundary condition: ocean fields 
    1819   USE thd_ice 
    1920   USE iceini 
     
    338339            zjj                 = ( npb(ji) - 1 ) / jpi + 1 
    339340            zfsalt_melt(ji)     = zfsalt_melt(ji) +                           & 
    340                                   ( sss_io(zji,zjj) - sm_i_b(ji)   ) *        & 
     341                                  ( sss_m(zji,zjj) - sm_i_b(ji)   ) *         & 
    341342                                  a_i_b(ji) *                                 & 
    342343                                  MIN( zdeltah(ji,jk) , 0.0 ) * rhoic / rdt_ice  
     
    368369            WRITE(numout,*) ' qlbbq_1d: ', qlbbq_1d(ji) 
    369370            WRITE(numout,*) ' s_i_new : ', s_i_new(ji) 
    370             WRITE(numout,*) ' sss_io  : ', sss_io(zji,zjj) 
     371            WRITE(numout,*) ' sss_m   : ', sss_m(zji,zjj) 
    371372         ENDIF 
    372373 
     
    494495                           zswi2  * 0.26 /  & 
    495496                           ( 0.26 + 0.74 * EXP ( - 724300.0 * zgrr ) )  
    496                   zds         = zfracs*sss_io(zji,zjj) - s_i_new(ji) 
    497                   s_i_new(ji) = zfracs * sss_io(zji,zjj) 
     497                  zds         = zfracs*sss_m(zji,zjj) - s_i_new(ji) 
     498                  s_i_new(ji) = zfracs * sss_m(zji,zjj) 
    498499               ENDIF ! fc_bo_i 
    499500            END DO ! ji 
     
    567568                  zjj             = ( npb(ji) - 1 ) / jpi + 1 
    568569                  zfsalt_melt(ji) = zfsalt_melt(ji) +                         & 
    569                                    ( sss_io(zji,zjj) - sm_i_b(ji)   ) *       & 
     570                                   ( sss_m(zji,zjj) - sm_i_b(ji)   ) *        & 
    570571                                   a_i_b(ji) * & 
    571572                                   MIN( zdeltah(ji,jk) , 0.0 ) * rhoic / rdt_ice  
     
    596597                WRITE(numout,*) ' qlbbq_1d: ', qlbbq_1d(ji) 
    597598                WRITE(numout,*) ' s_i_new : ', s_i_new(ji) 
    598                 WRITE(numout,*) ' sss_io  : ', sss_io(zji,zjj) 
     599                WRITE(numout,*) ' sss_m   : ', sss_m(zji,zjj) 
    599600                WRITE(numout,*) ' dh_i_bott : ', dh_i_bott(ji) 
    600601                WRITE(numout,*) ' innermelt : ', innermelt(ji) 
     
    701702         fseqv_1d(ji)  = fseqv_1d(ji) + zihgnew * zfsalt_melt(ji) +           & 
    702703                          (1.0 - zihgnew) * rdmicif_1d(ji) *                  & 
    703                           ( sss_io(zji,zjj) - sm_i_b(ji) ) / rdt_ice 
     704                          ( sss_m(zji,zjj) - sm_i_b(ji) ) / rdt_ice 
    704705         ! new lines 
    705706         IF ( num_sal .EQ. 4 ) & 
    706707         fseqv_1d(ji)  = fseqv_1d(ji) + zihgnew * zfsalt_melt(ji) +           & 
    707708                          (1.0 - zihgnew) * rdmicif_1d(ji) *                  & 
    708                           ( sss_io(zji,zjj) - bulk_sal ) / rdt_ice 
     709                          ( sss_m(zji,zjj) - bulk_sal ) / rdt_ice 
    709710         ! Heat flux 
    710711         ! excessive bottom ablation energy (fsup) - 0 except if jpl = 1 
     
    775776 
    776777         zsm_snowice  = ( rhoic - rhosn ) / rhoic *            & 
    777                         sss_io(zji,zjj)  
     778                        sss_m(zji,zjj)  
    778779 
    779780         IF ( num_sal .NE. 2 ) zsm_snowice = sm_i_b(ji) 
     
    781782         IF ( num_sal .NE. 4 ) & 
    782783         fseqv_1d(ji)   = fseqv_1d(ji)   + & 
    783                           ( sss_io(zji,zjj) - zsm_snowice ) * & 
     784                          ( sss_m(zji,zjj) - zsm_snowice ) * & 
    784785                            a_i_b(ji)   * & 
    785786                          ( zhgnew(ji) - ht_i_b(ji) ) * rhoic / rdt_ice 
     
    787788         IF ( num_sal .EQ. 4 ) & 
    788789         fseqv_1d(ji)   = fseqv_1d(ji)   + & 
    789                           ( sss_io(zji,zjj) - bulk_sal    ) * & 
     790                          ( sss_m(zji,zjj) - bulk_sal    ) * & 
    790791                            a_i_b(ji)   * & 
    791792                          ( zhgnew(ji) - ht_i_b(ji) ) * rhoic / rdt_ice 
     
    804805         rdmicif_1d(ji) = rdmicif_1d(ji) + a_i_b(ji) & 
    805806                                         * ( zhgnew(ji) - ht_i_b(ji) ) * rhoic & 
    806                                          + ( zhnnew - ht_s_b(ji) ) * rhosn ) 
     807                                         + ( zhnnew - ht_s_b(ji) ) * rhosn 
    807808#endif 
    808809!  Actualize new snow and ice thickness. 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limthd_lac.F90

    r884 r886  
    1717   USE phycst 
    1818   USE ice_oce         ! ice variables 
     19   USE sbc_oce         ! Surface boundary condition: ocean fields 
     20   USE sbc_ice         ! Surface boundary condition: ice fields 
    1921   USE thd_ice 
    2022   USE dom_ice 
     
    2325   USE iceini 
    2426   USE limtab 
    25    USE taumod 
    26    USE blk_oce 
    2727   USE limcons 
    2828      
     
    181181         vt_s_init, vt_s_final,   &  !  snow volume summed over categories 
    182182         et_i_init, et_i_final,   &  !  ice energy summed over categories 
    183          et_s_init, et_s_final       !  snow energy summed over categories 
     183         et_s_init                   !  snow energy summed over categories 
    184184 
    185185      REAL(wp) ::            & 
     
    267267            !------------- 
    268268            ! C-grid wind stress components 
    269             ztaux         = ( gtaux(ji-1,jj  ) * tmu(ji-1,jj  ) & 
    270                           +   gtaux(ji  ,jj  ) * tmu(ji  ,jj  ) ) / 2.0 
    271             ztauy         = ( gtauy(ji  ,jj-1) * tmv(ji  ,jj-1) & 
    272                           +   gtauy(ji  ,jj  ) * tmv(ji  ,jj  ) ) / 2.0 
     269            ztaux         = ( utaui_ice(ji-1,jj  ) * tmu(ji-1,jj  ) & 
     270                          +   utaui_ice(ji  ,jj  ) * tmu(ji  ,jj  ) ) / 2.0 
     271            ztauy         = ( vtaui_ice(ji  ,jj-1) * tmv(ji  ,jj-1) & 
     272                          +   vtaui_ice(ji  ,jj  ) * tmv(ji  ,jj  ) ) / 2.0 
    273273            ! Square root of wind stress 
    274274            ztenagm       =  SQRT( SQRT( ztaux * ztaux + ztauy * ztauy ) ) 
     
    343343               nbpac = nbpac + 1 
    344344               npac( nbpac ) = (jj - 1) * jpi + ji 
    345                IF ( (ji.eq.jiindex).AND.(jj.eq.jjindex) ) THEN 
     345               IF ( (ji.eq.jiindx).AND.(jj.eq.jjindx) ) THEN 
    346346                  jiindex_1d = nbpac 
    347347               ENDIF 
     
    418418              zji            =   MOD( npac(ji) - 1, jpi ) + 1 
    419419              zjj            =   ( npac(ji) - 1 ) / jpi + 1 
    420               zs_newice(ji)  =   MIN( 0.5*sss_io(zji,zjj) , zs_newice(ji) ) 
     420              zs_newice(ji)  =   MIN( 0.5*sss_m(zji,zjj) , zs_newice(ji) ) 
    421421           END DO ! jl 
    422422 
     
    476476              zjj            = ( npac(ji) - 1 ) / jpi + 1 
    477477              fseqv_1d(ji)   = fseqv_1d(ji) +                                     & 
    478                                ( sss_io(zji,zjj) - bulk_sal      ) * rhoic *      & 
     478                               ( sss_m(zji,zjj) - bulk_sal      ) * rhoic *       & 
    479479                               zv_newice(ji) / rdt_ice 
    480480           END DO 
     
    484484              zjj            = ( npac(ji) - 1 ) / jpi + 1 
    485485              fseqv_1d(ji)   = fseqv_1d(ji) +                                     & 
    486                                ( sss_io(zji,zjj) - zs_newice(ji) ) * rhoic *      & 
     486                               ( sss_m(zji,zjj) - zs_newice(ji) ) * rhoic *       & 
    487487                               zv_newice(ji) / rdt_ice 
    488488           END DO ! ji 
     
    617617        END DO 
    618618 
    619         WRITE(numout,*) ' zv_i_ac : ', zv_i_ac(jiindex, 1:jpl) 
     619        WRITE(numout,*) ' zv_i_ac : ', zv_i_ac(jiindx, 1:jpl) 
    620620        DO jl = ice_cat_bounds(jm,1), ice_cat_bounds(jm,2) 
    621621           DO ji = 1, nbpac 
     
    626626           END DO ! ji 
    627627        END DO ! jl 
    628         WRITE(numout,*) ' zv_i_ac : ', zv_i_ac(jiindex, 1:jpl) 
     628        WRITE(numout,*) ' zv_i_ac : ', zv_i_ac(jiindx, 1:jpl) 
    629629 
    630630        !--------------------------------- 
     
    796796!     CALL lim_cons_check (et_s_init, et_s_final, 1.0e-3, fieldid)  
    797797 
    798       WRITE(numout,*) ' vt_i_init : ', vt_i_init(jiindex,jjindex) 
    799       WRITE(numout,*) ' vt_i_final: ', vt_i_final(jiindex,jjindex) 
    800       WRITE(numout,*) ' et_i_init : ', et_i_init(jiindex,jjindex) 
    801       WRITE(numout,*) ' et_i_final: ', et_i_final(jiindex,jjindex) 
     798      WRITE(numout,*) ' vt_i_init : ', vt_i_init(jiindx,jjindx) 
     799      WRITE(numout,*) ' vt_i_final: ', vt_i_final(jiindx,jjindx) 
     800      WRITE(numout,*) ' et_i_init : ', et_i_init(jiindx,jjindx) 
     801      WRITE(numout,*) ' et_i_final: ', et_i_final(jiindx,jjindx) 
    802802 
    803803      ENDIF 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limthd_sal.F90

    r884 r886  
    1616   USE phycst           ! physical constants (ocean directory) 
    1717   USE ice_oce          ! ice variables 
     18   USE sbc_oce          ! Surface boundary condition: ocean fields 
    1819   USE thd_ice 
    1920   USE iceini 
     
    4041   CONTAINS 
    4142 
    42    SUBROUTINE lim_thd_sal(kideb,kiut,jl) 
     43   SUBROUTINE lim_thd_sal(kideb,kiut) 
    4344      !!------------------------------------------------------------------- 
    4445      !!                ***  ROUTINE lim_thd_sal  ***        
     
    7677      !! * Local variables 
    7778      INTEGER, INTENT(in) :: & 
    78          kideb, kiut, jl         !: thickness category index 
     79         kideb, kiut             !: thickness category index 
    7980 
    8081      INTEGER ::             & 
     
    318319            zjj                 = ( npb(ji) - 1 ) / jpi + 1 
    319320            fseqv_1d(ji) = fseqv_1d(ji)              + &  
    320                            ( sss_io(zji,zjj) - bulk_sal    ) * &  
     321                           ( sss_m(zji,zjj) - bulk_sal    ) * &  
    321322                           rhoic * a_i_b(ji) * & 
    322323                           MAX( dh_i_bott(ji) , 0.0 ) / rdt_ice 
     
    327328            zjj                 = ( npb(ji) - 1 ) / jpi + 1 
    328329            fseqv_1d(ji) = fseqv_1d(ji)              + &  
    329                            ( sss_io(zji,zjj) - s_i_new(ji) ) * &  
     330                           ( sss_m(zji,zjj) - s_i_new(ji) ) * &  
    330331                             rhoic * a_i_b(ji) * & 
    331332                             MAX( dh_i_bott(ji) , 0.0 ) / rdt_ice 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limtrp.F90

    r884 r886  
    1717   USE in_out_manager  ! I/O manager 
    1818   USE ice_oce         ! ice variables 
     19   USE sbc_oce         ! Surface boundary condition: ocean fields 
    1920   USE dom_ice 
    2021   USE ice 
     
    519520 
    520521                  ! Ice salinity and age 
    521                   zsal            = MAX( MIN( (rhoic-rhosn)/rhoic*sss_io(ji,jj)  , & 
     522                  zsal            = MAX( MIN( (rhoic-rhosn)/rhoic*sss_m(ji,jj)  , & 
    522523                                            zusvoic * zs0sm(ji,jj,jl) ), s_i_min ) * & 
    523524                                            v_i(ji,jj,jl) 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limupdate.F90

    r884 r886  
    2525   USE in_out_manager 
    2626   USE ice_oce         ! ice variables 
    27    USE flx_oce         ! forcings variables 
     27   USE sbc_oce         ! Surface boundary condition: ocean fields 
     28   USE sbc_ice         ! Surface boundary condition: ice fields 
    2829   USE dom_ice 
    2930   USE daymod 
    3031   USE phycst          ! Define parameters for the routines 
    31    USE taumod 
    3232   USE ice 
    3333   USE iceini 
    34    USE ocesbc 
    3534   USE lbclnk 
    3635   USE limdyn 
    3736   USE limtrp 
    3837   USE limthd 
    39    USE limflx 
     38   USE limsbc 
    4039   USE limdia 
    4140   USE limwri 
     
    126125!+++++ [ 
    127126        WRITE(numout,*) ' O) Initial values ' 
    128         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    129         WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    130         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    131         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    132         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    133         DO jk = 1, nlay_i 
    134         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
     127        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     128        WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     129        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     130        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     131        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     132        DO jk = 1, nlay_i 
     133        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
    135134        END DO 
    136135!+++++ ] 
     
    238237 
    239238              !residual salt flux if ice is over-molten 
    240               fsalt_res(ji,jj)  = fsalt_res(ji,jj) + ( sss_io(ji,jj) - sm_i(ji,jj,jl) ) * &  
     239              fsalt_res(ji,jj)  = fsalt_res(ji,jj) + ( sss_m(ji,jj) - sm_i(ji,jj,jl) ) * &  
    241240                             ( rhoic * zdvres / rdt_ice ) 
    242241!             fheat_res(ji,jj)  = fheat_res(ji,jj) + rhoic * lfus * zdvres / rdt_ice 
     
    254253 
    255254              !residual salt flux if snow is over-molten 
    256               fsalt_res(ji,jj)  = fsalt_res(ji,jj) + sss_io(ji,jj) * &  
     255              fsalt_res(ji,jj)  = fsalt_res(ji,jj) + sss_m(ji,jj) * &  
    257256                             ( rhosn * zdvres / rdt_ice ) 
    258257                             !this flux will be positive if snow was over-molten 
     
    276275 
    277276     WRITE(numout,*) ' 1. Before update of Global variables ' 
    278      WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    279      WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    280      WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    281         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    282      WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    283         DO jk = 1, nlay_i 
    284         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
     277     WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     278     WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     279     WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     280        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     281     WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     282        DO jk = 1, nlay_i 
     283        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
    285284        END DO 
    286285!+++++ ] 
     
    294293     CALL lim_var_glo2eqv ! useless, just for debug 
    295294        DO jk = 1, nlay_i 
    296         WRITE(numout,*) ' t_i : ', t_i(jiindex, jjindex, jk, 1:jpl) 
     295        WRITE(numout,*) ' t_i : ', t_i(jiindx, jjindx, jk, 1:jpl) 
    297296        END DO 
    298297     e_i(:,:,:,:) = e_i(:,:,:,:) + d_e_i_trp(:,:,:,:)   
     
    300299        WRITE(numout,*) ' After transport update ' 
    301300        DO jk = 1, nlay_i 
    302         WRITE(numout,*) ' t_i : ', t_i(jiindex, jjindex, jk, 1:jpl) 
     301        WRITE(numout,*) ' t_i : ', t_i(jiindx, jjindx, jk, 1:jpl) 
    303302        END DO 
    304303     e_i(:,:,:,:) = e_i(:,:,:,:) + d_e_i_thd(:,:,:,:)   
     
    306305        WRITE(numout,*) ' After thermodyn update ' 
    307306        DO jk = 1, nlay_i 
    308         WRITE(numout,*) ' t_i : ', t_i(jiindex, jjindex, jk, 1:jpl) 
     307        WRITE(numout,*) ' t_i : ', t_i(jiindx, jjindx, jk, 1:jpl) 
    309308        END DO 
    310309 
     
    316315!+++++ [ 
    317316     WRITE(numout,*) ' 1. After update of Global variables (2) ' 
    318      WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    319      WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    320      WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    321         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    322      WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    323      WRITE(numout,*) ' oa_i : ', oa_i(jiindex, jjindex, 1:jpl) 
    324      WRITE(numout,*) ' e_s : ', e_s(jiindex, jjindex, 1, 1:jpl) 
    325         DO jk = 1, nlay_i 
    326         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
     317     WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     318     WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     319     WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     320        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     321     WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     322     WRITE(numout,*) ' oa_i : ', oa_i(jiindx, jjindx, 1:jpl) 
     323     WRITE(numout,*) ' e_s : ', e_s(jiindx, jjindx, 1, 1:jpl) 
     324        DO jk = 1, nlay_i 
     325        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
    327326        END DO 
    328327!+++++ ] 
     
    348347!+++++ 
    349348     WRITE(numout,*) ' Before everything ' 
    350      WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    351      WRITE(numout,*) ' oa_i:  ', oa_i(jiindex, jjindex, 1:jpl) 
    352         DO jk = 1, nlay_i 
    353         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
    354         END DO 
    355         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
     349     WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     350     WRITE(numout,*) ' oa_i:  ', oa_i(jiindx, jjindx, 1:jpl) 
     351        DO jk = 1, nlay_i 
     352        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
     353        END DO 
     354        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
    356355!+++++ 
    357356 
     
    362361!+++++ 
    363362     WRITE(numout,*) ' After advection   ' 
    364      WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    365         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
     363     WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     364        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
    366365!+++++ 
    367366 
     
    401400!+++++ [ 
    402401        WRITE(numout,*) ' 2.1 ' 
    403         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    404         WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    405         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    406         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    407         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    408         DO jk = 1, nlay_i 
    409         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
     402        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     403        WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     404        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     405        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     406        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     407        DO jk = 1, nlay_i 
     408        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
    410409        END DO 
    411410!+++++ ] 
     
    444443!+++++ [ 
    445444        WRITE(numout,*) ' 2.1 initial ' 
    446         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    447         WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    448         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    449         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    450         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    451         DO jk = 1, nlay_i 
    452         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
     445        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     446        WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     447        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     448        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     449        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     450        DO jk = 1, nlay_i 
     451        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
    453452        END DO 
    454453!+++++ ] 
     
    464463!+++++ [ 
    465464        WRITE(numout,*) ' 2.1 before rebinning ' 
    466         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    467         WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    468         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    469         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    470         DO jk = 1, nlay_i 
    471         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
    472         END DO 
    473         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
     465        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     466        WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     467        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     468        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     469        DO jk = 1, nlay_i 
     470        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
     471        END DO 
     472        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
    474473!+++++ ] 
    475474 
     
    483482!+++++ [ 
    484483        WRITE(numout,*) ' 2.1 after rebinning' 
    485         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    486         WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    487         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    488         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    489         DO jk = 1, nlay_i 
    490         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
    491         WRITE(numout,*) ' t_i : ', t_i(jiindex, jjindex, jk, 1:jpl) 
    492         END DO 
    493         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
     484        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     485        WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     486        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     487        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     488        DO jk = 1, nlay_i 
     489        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
     490        WRITE(numout,*) ' t_i : ', t_i(jiindx, jjindx, jk, 1:jpl) 
     491        END DO 
     492        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
    494493!+++++ ] 
    495494 
     
    611610!+++++ [ 
    612611        WRITE(numout,*) ' 2.3 after melt of an internal ice layer ' 
    613         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    614         WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    615         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    616         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    617         DO jk = 1, nlay_i 
    618         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
    619         WRITE(numout,*) ' t_i : ', t_i(jiindex, jjindex, jk, 1:jpl) 
    620         END DO 
    621         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
     612        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     613        WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     614        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     615        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     616        DO jk = 1, nlay_i 
     617        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
     618        WRITE(numout,*) ' t_i : ', t_i(jiindx, jjindx, jk, 1:jpl) 
     619        END DO 
     620        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
    622621!+++++ ] 
    623622 
     
    638637 
    639638              !++++++ 
    640               IF ( (ji.eq.jiindex) .AND. (jj.eq.jjindex) ) THEN 
     639              IF ( (ji.eq.jiindx) .AND. (jj.eq.jjindx) ) THEN 
    641640                 WRITE(numout,*) ' jl    : ', jl 
    642641                 WRITE(numout,*) ' ze_s  : ', ze_s 
     
    737736!+++++ [ 
    738737        WRITE(numout,*) ' 2.8 ' 
    739         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    740         WRITE(numout,*) ' at_i: ', at_i(jiindex,jjindex) 
    741         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    742         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
    743         DO jk = 1, nlay_i 
    744         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
    745         END DO 
    746         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
     738        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     739        WRITE(numout,*) ' at_i: ', at_i(jiindx,jjindx) 
     740        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     741        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
     742        DO jk = 1, nlay_i 
     743        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
     744        END DO 
     745        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
    747746!+++++ ] 
    748747 
     
    767766     WRITE(numout,*) ' 2.9 ' 
    768767     DO jk = 1, nlay_i 
    769         WRITE(numout,*) ' e_i : ', e_i(jiindex, jjindex, jk, 1:jpl) 
    770      END DO 
    771         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    772  
    773         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
     768        WRITE(numout,*) ' e_i : ', e_i(jiindx, jjindx, jk, 1:jpl) 
     769     END DO 
     770        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     771 
     772        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
    774773 
    775774     !--------------------- 
     
    784783              DO ji = 1, jpi 
    785784                 ! salinity stays in bounds 
    786                  smv_i(ji,jj,jl)  =  MAX(MIN((rhoic-rhosn)/rhoic*sss_io(ji,jj),smv_i(ji,jj,jl)), & 
     785                 smv_i(ji,jj,jl)  =  MAX(MIN((rhoic-rhosn)/rhoic*sss_m(ji,jj),smv_i(ji,jj,jl)), & 
    787786                  0.1 * v_i(ji,jj,jl) ) 
    788787                 i_ice_switch    =  1.0-MAX(0.0,SIGN(1.0,-v_i(ji,jj,jl))) 
     
    798797!+++++ [ 
    799798        WRITE(numout,*) ' 2.11 ' 
    800         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    801         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    802         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    803         WRITE(numout,*) ' at_i    ', at_i(jiindex,jjindex) 
    804         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
     799        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     800        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     801        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     802        WRITE(numout,*) ' at_i    ', at_i(jiindx,jjindx) 
     803        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
    805804!+++++ ] 
    806805 
     
    826825!+++++ [ 
    827826        WRITE(numout,*) ' 2.12 ' 
    828         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    829         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    830         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    831         WRITE(numout,*) ' at_i    ', at_i(jiindex,jjindex) 
    832         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
     827        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     828        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     829        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     830        WRITE(numout,*) ' at_i    ', at_i(jiindx,jjindx) 
     831        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
    833832!+++++ ] 
    834833 
     
    873872!+++++ [ 
    874873        WRITE(numout,*) ' 2.13 ' 
    875         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    876         WRITE(numout,*) ' at_i    ', at_i(jiindex,jjindex) 
    877         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    878         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    879         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
     874        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     875        WRITE(numout,*) ' at_i    ', at_i(jiindx,jjindx) 
     876        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     877        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     878        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
    880879!+++++ ] 
    881880 
     
    907906!+++++ [ 
    908907        WRITE(numout,*) ' rebinning before' 
    909         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    910         WRITE(numout,*) ' at_i    ', at_i(jiindex,jjindex) 
    911         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    912         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    913         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
     908        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     909        WRITE(numout,*) ' at_i    ', at_i(jiindx,jjindx) 
     910        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     911        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     912        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
    914913!+++++ ] 
    915914!old version 
     
    925924!+++++ [ 
    926925        WRITE(numout,*) ' rebinning final' 
    927         WRITE(numout,*) ' a_i : ', a_i(jiindex, jjindex, 1:jpl) 
    928         WRITE(numout,*) ' at_i    ', at_i(jiindex,jjindex) 
    929         WRITE(numout,*) ' v_i : ', v_i(jiindex, jjindex, 1:jpl) 
    930         WRITE(numout,*) ' v_s : ', v_s(jiindex, jjindex, 1:jpl) 
    931         WRITE(numout,*) ' smv_i: ', smv_i(jiindex, jjindex, 1:jpl) 
     926        WRITE(numout,*) ' a_i : ', a_i(jiindx, jjindx, 1:jpl) 
     927        WRITE(numout,*) ' at_i    ', at_i(jiindx,jjindx) 
     928        WRITE(numout,*) ' v_i : ', v_i(jiindx, jjindx, 1:jpl) 
     929        WRITE(numout,*) ' v_s : ', v_s(jiindx, jjindx, 1:jpl) 
     930        WRITE(numout,*) ' smv_i: ', smv_i(jiindx, jjindx, 1:jpl) 
    932931!+++++ ] 
    933932 
     
    10141013     END DO !ji 
    10151014 
    1016      WRITE(numout,*) ' TESTOSC1 ', tio_u(jiindex,jjindex), tio_v(jiindex,jjindex) 
    1017      WRITE(numout,*) ' TESTOSC2 ', u_ice(jiindex,jjindex), v_ice(jiindex,jjindex) 
    1018      WRITE(numout,*) ' TESTOSC3 ', u_oce(jiindex,jjindex), v_oce(jiindex,jjindex) 
    1019      WRITE(numout,*) ' TESTOSC4 ', tauxw(jiindex,jjindex), tauxw(jiindex,jjindex) 
     1015     WRITE(numout,*) ' TESTOSC1 ', tio_u(jiindx,jjindx), tio_v(jiindx,jjindx) 
     1016     WRITE(numout,*) ' TESTOSC2 ', u_ice(jiindx,jjindx), v_ice(jiindx,jjindx) 
     1017     WRITE(numout,*) ' TESTOSC3 ', u_oce(jiindx,jjindx), v_oce(jiindx,jjindx) 
     1018     WRITE(numout,*) ' TESTOSC4 ', utau (jiindx,jjindx), vtau (jiindx,jjindx) 
    10201019 
    10211020 
     
    10871086         CALL prt_ctl_info('   ~~~~~~~~~~~~~~~~~~ ') 
    10881087         CALL prt_ctl(tab2d_1=fmmec  , clinfo1= ' lim_update : fmmec : ', tab2d_2=fhmec     , clinfo2= ' fhmec     : ') 
    1089          CALL prt_ctl(tab2d_1=sst_io , clinfo1= ' lim_update : sst   : ', tab2d_2=sss_io    , clinfo2= ' sss       : ') 
     1088         CALL prt_ctl(tab2d_1=sst_m  , clinfo1= ' lim_update : sst   : ', tab2d_2=sss_m     , clinfo2= ' sss       : ') 
    10901089         CALL prt_ctl(tab2d_1=fhbri  , clinfo1= ' lim_update : fhbri : ', tab2d_2=fheat_rpo , clinfo2= ' fheat_rpo : ') 
    10911090 
     
    10931092         CALL prt_ctl_info(' - Stresses : ') 
    10941093         CALL prt_ctl_info('   ~~~~~~~~~~ ') 
    1095          CALL prt_ctl(tab2d_1=tauxw , clinfo1= ' lim_update : tauxw : ', tab2d_2=tauyw , clinfo2= ' tauyw : ') 
    1096          CALL prt_ctl(tab2d_1=taux  , clinfo1= ' lim_update : taux  : ', tab2d_2=tauy  , clinfo2= ' tauy  : ') 
    1097          CALL prt_ctl(tab2d_1=ftaux , clinfo1= ' lim_update : ftaux : ', tab2d_2=ftauy , clinfo2= ' ftauy : ') 
    1098          CALL prt_ctl(tab2d_1=gtaux , clinfo1= ' lim_update : gtaux : ', tab2d_2=gtauy , clinfo2= ' gtauy : ') 
    1099          CALL prt_ctl(tab2d_1=u_io  , clinfo1= ' lim_update : u_io  : ', tab2d_2=v_io  , clinfo2= ' v_io  : ') 
     1094         CALL prt_ctl(tab2d_1=utau       , clinfo1= ' lim_update : utau      : ', tab2d_2=vtau       , clinfo2= ' vtau      : ') 
     1095         CALL prt_ctl(tab2d_1=utaui_ice  , clinfo1= ' lim_update : utaui_ice : ', tab2d_2=vtaui_ice  , clinfo2= ' vtaui_ice : ') 
     1096         CALL prt_ctl(tab2d_1=u_oce      , clinfo1= ' lim_update : u_oce     : ', tab2d_2=v_oce      , clinfo2= ' v_oce     : ') 
    11001097      ENDIF 
    11011098 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limvar.F90

    r884 r886  
    4040   USE phycst           ! physical constants (ocean directory)  
    4141   USE ice_oce          ! ice variables 
     42   USE sbc_oce          ! Surface boundary condition: ocean fields 
    4243   USE thd_ice 
    4344   USE in_out_manager 
     
    428429           zind0         ,     & !: switch, = 1 if sm_i lt s_i_0 
    429430           zind01        ,     & !: switch, = 1 if sm_i between s_i_0 and s_i_1 
    430            zindbal       ,     & !: switch, = 1, if 2*sm_i gt sss_io 
     431           zindbal       ,     & !: switch, = 1, if 2*sm_i gt sss_m 
    431432           zargtemp              !: dummy factor 
    432433 
     
    491492                  zind01 = ( 1.0 - zind0 ) *                                  & 
    492493                           MAX( 0.0   , SIGN( 1.0  , s_i_1 - sm_i(ji,jj,jl) ) )  
    493                   ! If 2.sm_i GE sss_io then zindbal = 1 
     494                  ! If 2.sm_i GE sss_m then zindbal = 1 
    494495                  zindbal = MAX( 0.0 , SIGN( 1.0 , 2. * sm_i(ji,jj,jl) -      & 
    495                   sss_io(ji,jj) ) ) 
     496                  sss_m(ji,jj) ) ) 
    496497                  zalpha(ji,jj,jl) = zind0  * 1.0                             & 
    497498                                   + zind01 * ( sm_i(ji,jj,jl) * dummy_fac0 + & 
     
    692693               zind01 = ( 1.0 - zind0 ) *                                  & 
    693694                        MAX( 0.0   , SIGN( 1.0  , s_i_1 - sm_i_b(ji) ) )  
    694                ! if 2.sm_i GE sss_io then zindbal = 1 
     695               ! if 2.sm_i GE sss_m then zindbal = 1 
    695696               zindbal = MAX( 0.0 , SIGN( 1.0 , 2. * sm_i_b(ji) -      & 
    696                sss_io(zji,zjj) ) ) 
     697               sss_m(zji,zjj) ) ) 
    697698 
    698699               zalpha = zind0  * 1.0                                       & 
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limwri.F90

    r884 r886  
    1818   !! * Modules used 
    1919   USE ioipsl 
    20    USE dianam    ! build name of file (routine) 
     20   USE dianam          ! build name of file (routine) 
    2121   USE phycst 
    2222   USE dom_oce 
     
    2424   USE in_out_manager 
    2525   USE ice_oce         ! ice variables 
    26    USE flx_oce 
     26   USE sbc_oce         ! Surface boundary condition: ocean fields 
     27   USE sbc_ice         ! Surface boundary condition: ice fields 
    2728   USE dom_ice 
    2829   USE ice 
     
    137138         zsto     = rdt_ice 
    138139         clop     = "ave(x)" 
    139          zout     = nwrite * rdt_ice / nfice 
     140         zout     = nwrite * rdt_ice / nn_fsbc 
    140141         zsec     = 0. 
    141142         niter    = 0 
     
    165166         zsto     = rdt_ice 
    166167         clop     = "ave(x)" 
    167          zout     = nwrite * rdt_ice / nfice 
     168         zout     = nwrite * rdt_ice / nn_fsbc 
    168169         zsec     = 0. 
    169170         nitera   = 0 
     
    221222               zinda  = MAX( zzero , SIGN( zone , at_i(ji,jj) - 0.10 ) ) 
    222223               zcmo(ji,jj,17) = zcmo(ji,jj,17) + a_i(ji,jj,jl)*qsr_ice (ji,jj,jl)  
    223                zcmo(ji,jj,18) = zcmo(ji,jj,18) + a_i(ji,jj,jl)*qnsr_ice(ji,jj,jl)  
     224               zcmo(ji,jj,18) = zcmo(ji,jj,18) + a_i(ji,jj,jl)*qns_ice(ji,jj,jl)  
    224225               zcmo(ji,jj,27) = zcmo(ji,jj,27) + t_su(ji,jj,jl)*a_i(ji,jj,jl)/MAX(at_i(ji,jj),epsi16)*zinda 
    225226            END DO 
     
    253254     &                     / 2.0  
    254255            zcmo(ji,jj,8)  = zindb * (  v_ice(ji,jj  ) * tmv(ji,jj)        & 
    255      &                              + v_ice(ji,jj-1) * tmv(ji,jj-1) )      & 
     256     &                                + v_ice(ji,jj-1) * tmv(ji,jj-1) )    & 
    256257     &                     / 2.0 
    257             zcmo(ji,jj,9)  = sst_io(ji,jj) 
    258             zcmo(ji,jj,10) = sss_io(ji,jj) 
    259  
    260             zcmo(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 
    261             zcmo(ji,jj,12) = fsolar (ji,jj) 
    262             zcmo(ji,jj,13) = fnsolar(ji,jj) 
     258            zcmo(ji,jj,9)  = sst_m(ji,jj) 
     259            zcmo(ji,jj,10) = sss_m(ji,jj) 
     260 
     261            zcmo(ji,jj,11) = qns(ji,jj) + qsr(ji,jj) 
     262            zcmo(ji,jj,12) = qsr(ji,jj) 
     263            zcmo(ji,jj,13) = qns(ji,jj) 
    263264            zcmo(ji,jj,14) = fhbri(ji,jj) 
    264             zcmo(ji,jj,15) = gtaux(ji,jj) 
    265             zcmo(ji,jj,16) = gtauy(ji,jj) 
    266             zcmo(ji,jj,17) = zcmo(ji,jj,17) + (1.0-at_i(ji,jj))*qsr_oce(ji,jj) 
    267             zcmo(ji,jj,18) = zcmo(ji,jj,18) + (1.0-at_i(ji,jj))*qnsr_oce (ji,jj) 
     265            zcmo(ji,jj,15) = utaui_ice(ji,jj) 
     266            zcmo(ji,jj,16) = vtaui_ice(ji,jj) 
     267            zcmo(ji,jj,17) = zcmo(ji,jj,17) + (1.0-at_i(ji,jj))*qsr(ji,jj) 
     268            zcmo(ji,jj,18) = zcmo(ji,jj,18) + (1.0-at_i(ji,jj))*qns(ji,jj) 
    268269            zcmo(ji,jj,19) = sprecip(ji,jj) 
    269270            zcmo(ji,jj,20) = smt_i(ji,jj) 
     
    299300         END DO 
    300301          
    301          IF ( jf == 7  .OR. jf == 8  .OR. jf == 11 .OR. jf == 12 .OR. jf == 15 .OR.   & 
    302             jf == 16 ) THEN  
     302         IF ( jf == 7  .OR. jf == 8  .OR. jf == 15 .OR. jf == 16 ) THEN  
    303303            CALL lbc_lnk( zfield, 'T', -1. ) 
    304304         ELSE  
     
    315315      END DO 
    316316 
    317       IF ( ( nfice * niter + nit000 - 1 ) >= nitend .OR. kindic < 0 ) THEN 
     317      IF ( ( nn_fsbc * niter + nit000 - 1 ) >= nitend .OR. kindic < 0 ) THEN 
    318318          WRITE(numout,*) ' Closing the icemod file ' 
    319319          CALL histclo( nice ) 
     
    374374!     not yet implemented 
    375375       
    376       IF ( ( nfice * niter + nit000 - 1 ) >= nitend .OR. kindic < 0 ) THEN 
     376      IF ( ( nn_fsbc * niter + nit000 - 1 ) >= nitend .OR. kindic < 0 ) THEN 
    377377         WRITE(numout,*) ' Closing the icemod file ' 
    378378         CALL histclo( nicea )  
  • branches/dev_001_SBC/NEMO/LIM_SRC_3/limwri_dimg.h90

    r884 r886  
    8080 
    8181       zsto     = rdt_ice 
    82        zout     = nwrite * rdt_ice / nfice 
     82       zout     = nwrite * rdt_ice / nn_fsbc 
    8383       zsec     = 0. 
    8484       niter    = 0 
     
    111111               + v_ice(ji,jj+1) * tmu(ji,jj+1) + v_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 
    112112               / ztmu 
    113           zcmo(ji,jj,9)  = sst_io(ji,jj) 
    114           zcmo(ji,jj,10) = sss_io(ji,jj) 
    115  
    116           zcmo(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 
    117           zcmo(ji,jj,12) = fsolar (ji,jj) 
    118           zcmo(ji,jj,13) = fnsolar(ji,jj) 
     113          zcmo(ji,jj,9)  = sst_m(ji,jj) 
     114          zcmo(ji,jj,10) = sss_m(ji,jj) 
     115 
     116          zcmo(ji,jj,11) = qns(ji,jj) + qsr(ji,jj) 
     117          zcmo(ji,jj,12) = qsr(ji,jj) 
     118          zcmo(ji,jj,13) = qns(ji,jj) 
    119119          ! See thersf for the coefficient 
    120           zcmo(ji,jj,14) = - fsalt(ji,jj) * rday * ( sss_io(ji,jj) + epsi16 ) / soce 
    121           zcmo(ji,jj,15) = gtaux(ji,jj) 
    122           zcmo(ji,jj,16) = gtauy(ji,jj) 
    123           zcmo(ji,jj,17) = ( 1.0 - frld(ji,jj) ) * qsr_ice (ji,jj) + frld(ji,jj) * qsr_oce (ji,jj) 
    124           zcmo(ji,jj,18) = ( 1.0 - frld(ji,jj) ) * qnsr_ice(ji,jj) + frld(ji,jj) * qnsr_oce(ji,jj) 
     120          zcmo(ji,jj,14) = - emps(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce 
     121          zcmo(ji,jj,15) = utaui_ice(ji,jj) 
     122          zcmo(ji,jj,16) = vtaui_ice(ji,jj) 
     123          zcmo(ji,jj,17) = qsr (ji,jj) 
     124          zcmo(ji,jj,18) = qns(ji,jj) 
    125125          zcmo(ji,jj,19) = sprecip(ji,jj) 
    126126       END DO 
     
    154154                     + v_ice(ji,jj+1) * tmu(ji,jj+1) + v_ice(ji+1,jj+1) * tmu(ji+1,jj+1) ) & 
    155155                     / ztmu 
    156                 rcmoy(ji,jj,9)  = sst_io(ji,jj) 
    157                 rcmoy(ji,jj,10) = sss_io(ji,jj) 
    158  
    159                 rcmoy(ji,jj,11) = fnsolar(ji,jj) + fsolar(ji,jj) 
    160                 rcmoy(ji,jj,12) = fsolar (ji,jj) 
    161                 rcmoy(ji,jj,13) = fnsolar(ji,jj) 
     156                rcmoy(ji,jj,9)  = sst_m(ji,jj) 
     157                rcmoy(ji,jj,10) = sss_m(ji,jj) 
     158 
     159                rcmoy(ji,jj,11) = qns(ji,jj) + qsr(ji,jj) 
     160                rcmoy(ji,jj,12) = qsr(ji,jj) 
     161                rcmoy(ji,jj,13) = qns(ji,jj) 
    162162                ! See thersf for the coefficient 
    163                 rcmoy(ji,jj,14) = - fsalt(ji,jj) * rday * ( sss_io(ji,jj) + epsi16 ) / soce 
    164                 rcmoy(ji,jj,15) = gtaux(ji,jj) 
    165                 rcmoy(ji,jj,16) = gtauy(ji,jj) 
    166                 rcmoy(ji,jj,17) = ( 1.0 - frld(ji,jj) ) * qsr_ice (ji,jj) + frld(ji,jj) * qsr_oce (ji,jj) 
    167                 rcmoy(ji,jj,18) = ( 1.0 - frld(ji,jj) ) * qnsr_ice(ji,jj) + frld(ji,jj) * qnsr_oce(ji,jj) 
     163                rcmoy(ji,jj,14) = - emps(ji,jj) * rday * ( sss_m(ji,jj) + epsi16 ) / soce 
     164                rcmoy(ji,jj,15) = utaui_ice(ji,jj) 
     165                rcmoy(ji,jj,16) = vtaui_ice(ji,jj) 
     166                rcmoy(ji,jj,17) = qsr(ji,jj) 
     167                rcmoy(ji,jj,18) = qns(ji,jj) 
    168168                rcmoy(ji,jj,19) = sprecip(ji,jj) 
    169169             END DO 
     
    176176             zfield(:,:) = (rcmoy(:,:,jf) * cmulti(jf) + cadd(jf)) * tmask(:,:,1) 
    177177 
    178              IF ( jf == 7  .OR. jf == 8  .OR. jf == 11 .OR. jf == 12 .OR. jf == 15 .OR.   & 
    179                   jf == 23 .OR. jf == 24 .OR. jf == 16 ) THEN  
     178             IF ( jf == 7  .OR. jf == 8  .OR. jf == 15 .OR. jf == 16 ) THEN  
    180179                CALL lbc_lnk( zfield, 'T', -1. ) 
    181180             ELSE  
Note: See TracChangeset for help on using the changeset viewer.