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 13467 for NEMO/branches/2020/temporary_r4_trunk/src/ICE – NEMO

Ignore:
Timestamp:
2020-09-15T09:28:26+02:00 (4 years ago)
Author:
smasson
Message:

r4_trunk: merge r4 13331:13348 13412,13444,13445,13449 see #2523

Location:
NEMO/branches/2020/temporary_r4_trunk/src/ICE
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/temporary_r4_trunk/src/ICE/ice.F90

    r13466 r13467  
    155155   INTEGER , PUBLIC ::   nn_nevp          !: number of iterations for subcycling 
    156156   REAL(wp), PUBLIC ::   rn_relast        !: ratio => telast/rdt_ice (1/3 or 1/9 depending on nb of subcycling nevp)  
    157    LOGICAL , PUBLIC ::   ln_rhg_chkcvg    !: check ice rheology convergence  
     157   INTEGER , PUBLIC ::   nn_rhg_chkcvg    !: check ice rheology convergence  
    158158   ! 
    159159   !                                     !!** ice-advection namelist (namdyn_adv) ** 
     
    412412   ! 
    413413   !!---------------------------------------------------------------------- 
    414    !! * Only for atmospheric coupling 
    415    !!---------------------------------------------------------------------- 
    416    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   a_i_last_couple !: Ice fractional area at last coupling time 
    417    ! 
    418    !!---------------------------------------------------------------------- 
    419414   !! NEMO/ICE 4.0 , NEMO Consortium (2018) 
    420415   !! $Id$ 
     
    429424      INTEGER :: ice_alloc 
    430425      ! 
    431       INTEGER :: ierr(17), ii 
     426      INTEGER :: ierr(16), ii 
    432427      !!----------------------------------------------------------------- 
    433428      ierr(:) = 0 
     
    511506      ALLOCATE( t_si(jpi,jpj,jpl) , tm_si(jpi,jpj) , qcn_ice_bot(jpi,jpj,jpl) , qcn_ice_top(jpi,jpj,jpl) , STAT = ierr(ii) ) 
    512507 
    513       ! * For atmospheric coupling 
    514       ii = ii + 1 
    515       ALLOCATE( a_i_last_couple(jpi,jpj,jpl) , STAT=ierr(ii) ) 
    516  
    517508      ice_alloc = MAXVAL( ierr(:) ) 
    518509      IF( ice_alloc /= 0 )   CALL ctl_stop( 'STOP', 'ice_alloc: failed to allocate arrays.' ) 
  • NEMO/branches/2020/temporary_r4_trunk/src/ICE/icedyn_rhg.F90

    r13466 r13467  
    110110      INTEGER ::   ios, ioptio   ! Local integer output status for namelist read 
    111111      !! 
    112       NAMELIST/namdyn_rhg/  ln_rhg_EVP, ln_aEVP, rn_creepl, rn_ecc , nn_nevp, rn_relast, ln_rhg_chkcvg 
     112      NAMELIST/namdyn_rhg/  ln_rhg_EVP, ln_aEVP, rn_creepl, rn_ecc , nn_nevp, rn_relast, nn_rhg_chkcvg 
    113113      !!------------------------------------------------------------------- 
    114114      ! 
     
    132132         WRITE(numout,*) '         number of iterations for subcycling               nn_nevp       = ', nn_nevp 
    133133         WRITE(numout,*) '         ratio of elastic timescale over ice time step     rn_relast     = ', rn_relast 
    134          WRITE(numout,*) '      check convergence of rheology                        ln_rhg_chkcvg = ', ln_rhg_chkcvg 
     134         WRITE(numout,*) '      check convergence of rheology                        nn_rhg_chkcvg = ', nn_rhg_chkcvg 
     135         IF    ( nn_rhg_chkcvg == 0 ) THEN   ;   WRITE(numout,*) '         no check' 
     136         ELSEIF( nn_rhg_chkcvg == 1 ) THEN   ;   WRITE(numout,*) '         check cvg at the main time step' 
     137         ELSEIF( nn_rhg_chkcvg == 2 ) THEN   ;   WRITE(numout,*) '         check cvg at both main and rheology time steps' 
     138         ENDIF 
    135139      ENDIF 
    136140      ! 
  • NEMO/branches/2020/temporary_r4_trunk/src/ICE/icedyn_rhg_evp.F90

    r13466 r13467  
    362362         ! 
    363363         ! convergence test 
    364          IF( ln_rhg_chkcvg ) THEN 
     364         IF( nn_rhg_chkcvg == 1 .OR. nn_rhg_chkcvg == 2 ) THEN 
    365365            DO jj = 1, jpj 
    366366               DO ji = 1, jpi 
     
    715715 
    716716         ! convergence test 
    717          IF( ln_rhg_chkcvg )   CALL rhg_cvg( kt, jter, nn_nevp, u_ice, v_ice, zu_ice, zv_ice ) 
     717         IF( nn_rhg_chkcvg == 2 )   CALL rhg_cvg( kt, jter, nn_nevp, u_ice, v_ice, zu_ice, zv_ice ) 
    718718         ! 
    719719         !                                                ! ==================== ! 
     
    890890      ! 
    891891      ! --- convergence tests --- ! 
    892       IF( ln_rhg_chkcvg ) THEN 
     892      IF( nn_rhg_chkcvg == 1 .OR. nn_rhg_chkcvg == 2 ) THEN 
    893893         IF( iom_use('uice_cvg') ) THEN 
    894894            IF( ln_aEVP ) THEN   ! output: beta * ( u(t=nn_nevp) - u(t=nn_nevp-1) ) 
  • NEMO/branches/2020/temporary_r4_trunk/src/ICE/icerst.F90

    r13466 r13467  
    1818   USE phycst  , ONLY : rt0 
    1919   USE sbc_oce , ONLY : nn_fsbc, ln_cpl 
     20   USE sbc_oce , ONLY : nn_components, jp_iam_sas   ! SAS ss[st]_m init 
     21   USE sbc_oce , ONLY : sst_m, sss_m                ! SAS ss[st]_m init 
     22   USE oce     , ONLY : tsn                         ! SAS ss[st]_m init 
     23   USE eosbn2  , ONLY : l_useCT, eos_pt_from_ct     ! SAS ss[st]_m init 
    2024   USE iceistate      ! sea-ice: initial state 
    2125   USE icectl         ! sea-ice: control 
     
    278282      ELSE                 ! == case of a simplified restart == ! 
    279283         !                 ! ---------------------------------- ! 
    280          CALL ctl_warn('ice_rst_read: you are using a simplified ice restart') 
     284         CALL ctl_warn('ice_rst_read: you are attempting to use an unsuitable ice restart') 
    281285         ! 
    282          CALL ice_istate_init 
     286         IF( .NOT. ln_iceini .OR. nn_iceini_file == 2 ) THEN 
     287            CALL ctl_stop('STOP', 'ice_rst_read: you need ln_ice_ini=T and nn_iceini_file=0 or 1') 
     288         ELSE 
     289            CALL ctl_warn('ice_rst_read: using ice_istate to set initial conditions instead') 
     290         ENDIF 
     291         ! 
     292         IF( nn_components == jp_iam_sas ) THEN   ! SAS case: ss[st]_m were not initialized by sbc_ssm_init 
     293            ! 
     294            IF(lwp) WRITE(numout,*) '  SAS: default initialisation of ss[st]_m arrays used in ice_istate' 
     295            IF( l_useCT )  THEN    ;   sst_m(:,:) = eos_pt_from_ct( tsn(:,:,1,jp_tem), tsn(:,:,1,jp_sal) ) 
     296            ELSE                   ;   sst_m(:,:) = tsn(:,:,1,jp_tem) 
     297            ENDIF 
     298            sss_m(:,:) = tsn(:,:,1,jp_sal) 
     299         ENDIF 
     300         ! 
    283301         CALL ice_istate( nit000 ) 
    284302         ! 
    285          IF( .NOT.ln_iceini .OR. nn_iceini_file == 0 ) & 
    286             &   CALL ctl_stop('STOP', 'ice_rst_read: you need ln_ice_ini=T and nn_iceini_file=0') 
    287          ! 
    288303      ENDIF 
    289304 
  • NEMO/branches/2020/temporary_r4_trunk/src/ICE/icestp.F90

    r13466 r13467  
    257257      ! 
    258258      !                                ! Initial sea-ice state 
     259      CALL ice_istate_init 
    259260      IF ( ln_rstart .OR. nn_iceini_file == 2 ) THEN 
    260261         CALL ice_rst_read                      ! start from a restart file 
    261262      ELSE 
    262          CALL ice_istate_init 
    263263         CALL ice_istate( nit000 )              ! start from rest or read a file 
    264264      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.