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 4689 for trunk/NEMOGCM/NEMO/OPA_SRC/BDY – NEMO

Ignore:
Timestamp:
2014-06-25T01:40:18+02:00 (10 years ago)
Author:
clem
Message:

new version of LIM3 with perfect conservation of heat, see ticket #1352

Location:
trunk/NEMOGCM/NEMO/OPA_SRC/BDY
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/BDY/bdy_oce.F90

    r4608 r4689  
    109109                                                              !: = 1 read it in a NetCDF file 
    110110#endif 
     111#if defined key_lim3 
     112   REAL,    DIMENSION(jp_bdy) ::   rn_ice_tem               !: choice of the temperature of incoming sea ice 
     113   REAL,    DIMENSION(jp_bdy) ::   rn_ice_sal               !: choice of the salinity    of incoming sea ice 
     114   REAL,    DIMENSION(jp_bdy) ::   rn_ice_age               !: choice of the age         of incoming sea ice 
     115#endif 
    111116   ! 
    112117    
  • trunk/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90

    r4673 r4689  
    676676               CALL iom_close ( inum ) 
    677677               !CALL fld_clopn ( bn_a_i, nyear, nmonth, nday, ldstop=.TRUE. ) 
    678                !CALL iom_open ( bn_a_i %clname, inum ) 
     678               !CALL iom_open ( bn_a_i%clname, inum ) 
    679679               !id1 = iom_varid ( bn_a_i%num, bn_a_i%clvar, kdimsz=zdimsz, kndims=zndims, ldstop = .FALSE. ) 
    680680                IF ( zndims == 4 ) THEN 
     
    907907   !!============================================================================== 
    908908END MODULE bdydta 
    909  
    910  
  • trunk/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn.F90

    r4370 r4689  
    3030   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3131   USE in_out_manager  ! 
    32    USE domvvl 
     32   USE domvvl          ! variable volume 
    3333 
    3434   IMPLICIT NONE 
  • trunk/NEMOGCM/NEMO/OPA_SRC/BDY/bdyice_lim.F90

    r4333 r4689  
    9999      REAL(wp) ::   zinda, ztmelts, zdh 
    100100 
    101       REAL(wp), PARAMETER  ::   zsal = 6.3    ! arbitrary salinity    for incoming ice 
    102       REAL(wp), PARAMETER  ::   ztem = 270.0  ! arbitrary temperature for incoming ice 
    103       REAL(wp), PARAMETER  ::   zage = 30.0   ! arbitrary age         for incoming ice 
    104101      !!------------------------------------------------------------------------------ 
    105102      ! 
     
    233230 
    234231               ! Ice salinity, age, temperature 
    235                sm_i(ji,jj,jl)   = zinda * zsal  + ( 1.0 - zinda ) * s_i_min 
    236                o_i(ji,jj,jl)    = zinda * zage  + ( 1.0 - zinda ) 
    237                t_su(ji,jj,jl)   = zinda * ztem  + ( 1.0 - zinda ) * ztem 
     232               sm_i(ji,jj,jl)   = zinda * rn_ice_sal(ib_bdy)  + ( 1.0 - zinda ) * s_i_min 
     233               o_i(ji,jj,jl)    = zinda * rn_ice_age(ib_bdy)  + ( 1.0 - zinda ) 
     234               t_su(ji,jj,jl)   = zinda * rn_ice_tem(ib_bdy)  + ( 1.0 - zinda ) * rn_ice_tem(ib_bdy) 
    238235               DO jk = 1, nlay_s 
    239                   t_s(ji,jj,jk,jl) = zinda * ztem + ( 1.0 - zinda ) * rtt 
     236                  t_s(ji,jj,jk,jl) = zinda * rn_ice_tem(ib_bdy) + ( 1.0 - zinda ) * rtt 
    240237               END DO 
    241238               DO jk = 1, nlay_i 
    242                   t_i(ji,jj,jk,jl) = zinda * ztem + ( 1.0 - zinda ) * rtt  
    243                   s_i(ji,jj,jk,jl) = zinda * zsal + ( 1.0 - zinda ) * s_i_min 
     239                  t_i(ji,jj,jk,jl) = zinda * rn_ice_tem(ib_bdy) + ( 1.0 - zinda ) * rtt  
     240                  s_i(ji,jj,jk,jl) = zinda * rn_ice_sal(ib_bdy) + ( 1.0 - zinda ) * s_i_min 
    244241               END DO 
    245242                
     
    259256 
    260257            END SELECT 
     258 
     259            ! if salinity is constant, then overwrite rn_ice_sal 
     260            IF( num_sal == 1 ) THEN 
     261               sm_i(ji,jj,jl)   = bulk_sal 
     262               s_i (ji,jj,:,jl) = bulk_sal 
     263            ENDIF 
    261264 
    262265            ! contents 
     
    338341      DO ib_bdy=1, nb_bdy 
    339342         ! 
    340          SELECT CASE( nn_ice_lim(ib_bdy) ) 
     343         SELECT CASE( cn_ice_lim(ib_bdy) ) 
    341344 
    342345         CASE('none') 
     
    355358                  ji    = idx_bdy(ib_bdy)%nbi(jb,jgrd) 
    356359                  jj    = idx_bdy(ib_bdy)%nbj(jb,jgrd) 
    357                   zflag = idx_bdy(ib_bdy)%flagu(jb) 
     360                  zflag = idx_bdy(ib_bdy)%flagu(jb,jgrd) 
    358361                   
    359362                  IF ( ABS( zflag ) == 1. ) THEN  ! eastern and western boundaries 
     
    384387                  ji    = idx_bdy(ib_bdy)%nbi(jb,jgrd) 
    385388                  jj    = idx_bdy(ib_bdy)%nbj(jb,jgrd) 
    386                   zflag = idx_bdy(ib_bdy)%flagv(jb) 
     389                  zflag = idx_bdy(ib_bdy)%flagv(jb,jgrd) 
    387390                   
    388391                  IF ( ABS( zflag ) == 1. ) THEN  ! northern and southern boundaries 
  • trunk/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90

    r4624 r4689  
    102102#if ( defined key_lim2 || defined key_lim3 ) 
    103103         &             cn_ice_lim, nn_ice_lim_dta,                           & 
     104#endif 
     105#if defined key_lim3 
     106         &             rn_ice_tem, rn_ice_sal, rn_ice_age,                 & 
    104107#endif 
    105108         &             ln_vol, nn_volctl, nn_rimwidth 
     
    359362        ENDIF 
    360363        IF(lwp) WRITE(numout,*) 
     364        IF(lwp) WRITE(numout,*) '      tem of bdy sea-ice = ', rn_ice_tem(ib_bdy)          
     365        IF(lwp) WRITE(numout,*) '      sal of bdy sea-ice = ', rn_ice_sal(ib_bdy)          
     366        IF(lwp) WRITE(numout,*) '      age of bdy sea-ice = ', rn_ice_age(ib_bdy)          
    361367#endif 
    362368 
Note: See TracChangeset for help on using the changeset viewer.