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 5260 for branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90 – NEMO

Ignore:
Timestamp:
2015-05-12T12:37:15+02:00 (9 years ago)
Author:
deazer
Message:

Merged branch with Trunk at revision 5253.
Checked with SETTE, passes modified iodef.xml for AMM12 experiment

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO10_Tidally_Meaned_Diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90

    r4205 r5260  
    1818   USE ice            ! sea-ice variables 
    1919   USE oce     , ONLY :  snwice_mass, snwice_mass_b 
    20    USE par_ice        ! sea-ice parameters 
    2120   USE dom_oce        ! ocean domain 
    2221   USE sbc_oce        ! Surface boundary condition: ocean fields 
     
    2726   USE wrk_nemo       ! work arrays 
    2827   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
     28   USE limctl 
    2929 
    3030   IMPLICIT NONE 
     
    3333   PUBLIC   lim_rst_opn    ! routine called by icestep.F90 
    3434   PUBLIC   lim_rst_write  ! routine called by icestep.F90 
    35    PUBLIC   lim_rst_read   ! routine called by iceini.F90 
     35   PUBLIC   lim_rst_read   ! routine called by sbc_lim_init 
    3636 
    3737   LOGICAL, PUBLIC ::   lrst_ice         !: logical to control the ice restart write  
     
    8686      ENDIF 
    8787      ! 
     88      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - Beginning the time step - ' )   ! control print 
    8889   END SUBROUTINE lim_rst_opn 
    8990 
     
    142143         CALL iom_rstput( iter, nitrst, numriw, znam , z2d ) 
    143144      END DO 
    144  
     145       
    145146      DO jl = 1, jpl  
    146147         WRITE(zchar,'(I1)') jl 
     
    162163      CALL iom_rstput( iter, nitrst, numriw, 'u_ice'        , u_ice      ) 
    163164      CALL iom_rstput( iter, nitrst, numriw, 'v_ice'        , v_ice      ) 
    164       CALL iom_rstput( iter, nitrst, numriw, 'fsbbq'        , fsbbq      ) 
    165165      CALL iom_rstput( iter, nitrst, numriw, 'stress1_i'    , stress1_i  ) 
    166166      CALL iom_rstput( iter, nitrst, numriw, 'stress2_i'    , stress2_i  ) 
    167167      CALL iom_rstput( iter, nitrst, numriw, 'stress12_i'   , stress12_i ) 
    168       CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass'  , snwice_mass )   !clem modif 
    169       CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass_b', snwice_mass_b ) !clem modif 
     168      CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass'  , snwice_mass ) 
     169      CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass_b', snwice_mass_b ) 
    170170 
    171171      DO jl = 1, jpl  
     
    307307      !! ** purpose  :   read of sea-ice variable restart in a netcdf file 
    308308      !!---------------------------------------------------------------------- 
    309       INTEGER :: ji, jj, jk, jl, indx 
     309      INTEGER :: ji, jj, jk, jl 
    310310      REAL(wp) ::   zfice, ziter 
    311       REAL(wp) ::   zs_inf, z_slope_s, zsmax, zsmin, zalpha, zindb   ! local scalars used for the salinity profile 
    312       REAL(wp), POINTER, DIMENSION(:)  ::   zs_zero  
    313311      REAL(wp), POINTER, DIMENSION(:,:) ::   z2d 
    314312      CHARACTER(len=15) ::   znam 
     
    318316      !!---------------------------------------------------------------------- 
    319317 
    320       CALL wrk_alloc( nlay_i, zs_zero ) 
    321318      CALL wrk_alloc( jpi, jpj, z2d ) 
    322319 
     
    393390      CALL iom_get( numrir, jpdom_autoglo, 'u_ice'     , u_ice      ) 
    394391      CALL iom_get( numrir, jpdom_autoglo, 'v_ice'     , v_ice      ) 
    395       CALL iom_get( numrir, jpdom_autoglo, 'fsbbq'     , fsbbq      ) 
    396392      CALL iom_get( numrir, jpdom_autoglo, 'stress1_i' , stress1_i  ) 
    397393      CALL iom_get( numrir, jpdom_autoglo, 'stress2_i' , stress2_i  ) 
    398394      CALL iom_get( numrir, jpdom_autoglo, 'stress12_i', stress12_i ) 
    399       CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass'  , snwice_mass )   !clem modif 
    400       CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass_b', snwice_mass_b ) !clem modif 
     395      CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass'  , snwice_mass ) 
     396      CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass_b', snwice_mass_b ) 
    401397 
    402398      DO jl = 1, jpl  
     
    522518      END DO 
    523519      ! 
     520      ! clem: I do not understand why the following IF is needed 
     521      !       I suspect something inconsistent in the main code with option nn_icesal=1 
     522      IF( nn_icesal == 1 ) THEN 
     523         DO jl = 1, jpl  
     524            sm_i(:,:,jl) = rn_icesal 
     525            DO jk = 1, nlay_i  
     526               s_i(:,:,jk,jl) = rn_icesal 
     527            END DO 
     528         END DO 
     529      ENDIF 
     530      ! 
    524531      !CALL iom_close( numrir ) !clem: closed in sbcice_lim.F90 
    525532      ! 
    526       CALL wrk_dealloc( nlay_i, zs_zero ) 
    527533      CALL wrk_dealloc( jpi, jpj, z2d ) 
    528534      ! 
Note: See TracChangeset for help on using the changeset viewer.