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 8291 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO – NEMO

Ignore:
Timestamp:
2017-07-06T11:49:56+02:00 (7 years ago)
Author:
clem
Message:

correct last commit changes. This is the start version for the modifications of the ice model. All sette tests passed except restartability for agrif and sas (though sas_biper is restartable). Configurations CREG, SPITZ, FER & SASBIPER are running.

Location:
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90

    r8240 r8291  
    640640                diag_intstrx(jpi,jpj) , diag_intstry(jpi,jpj) ,    & 
    641641                diag_sig1(jpi,jpj)    , diag_sig2(jpi,jpj)    ,    & 
    642                 STAT = ierr(ii) ) 
     642                diag_shear(jpi,jpj)   , STAT = ierr(ii) ) 
    643643 
    644644      ice_alloc = MAXVAL( ierr(:) ) 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limistate.F90

    r8239 r8291  
    531531      INTEGER :: ifpr, ierror 
    532532      ! 
    533       CHARACTER(len=100) ::  cn_dir          ! Root directory for location of ice files 
     533      CHARACTER(len=256) ::  cn_dir          ! Root directory for location of ice files 
    534534      TYPE(FLD_N)                    ::   sn_hti, sn_hts, sn_ati, sn_tsu, sn_tmi, sn_smi 
    535535      TYPE(FLD_N), DIMENSION(jpfldi) ::   slf_i                 ! array of namelist informations on the fields to read 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90

    r8289 r8291  
    5454      INTEGER  ::  ji, jj, jk, jl  ! dummy loop indices 
    5555      REAL(wp) ::  z2da, z2db, ztmp, zrho1, zrho2, zmiss_val 
     56      REAL(wp) ::  zs12, zshear 
    5657      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zswi2, zmiss2 
    5758      REAL(wp), POINTER, DIMENSION(:,:)   ::  z2d, zswi, zmiss !  2D workspace 
    5859      REAL(wp), POINTER, DIMENSION(:,:)   ::  zfb              ! ice freeboard 
    5960      REAL(wp), POINTER, DIMENSION(:,:)   ::  zamask, zamask15 ! 15% concentration mask 
     61      REAL(wp), POINTER, DIMENSION(:,:)   ::  zsig1, zsig2, zsig3 
    6062 
    6163      ! Global ice diagnostics (SIMIP) 
     
    7173      IF( nn_timing == 1 )  CALL timing_start('limwri') 
    7274 
    73       CALL wrk_alloc( jpi, jpj, jpl, zswi2, zmiss2 ) 
    74       CALL wrk_alloc( jpi, jpj     , z2d, zswi, zmiss ) 
    75       CALL wrk_alloc( jpi, jpj     , zfb, zamask, zamask15 ) 
     75      CALL wrk_alloc( jpi,jpj, jpl, zswi2, zmiss2 ) 
     76      CALL wrk_alloc( jpi,jpj     , z2d, zswi, zmiss ) 
     77      CALL wrk_alloc( jpi,jpj     , zfb, zamask, zamask15 ) 
     78      CALL wrk_alloc( jpi,jpj     , zsig1, zsig2, zsig3 ) 
    7679 
    7780      !---------------------------------------- 
     
    226229      CALL iom_put ('hfxspr'     , hfx_spr(:,:)         )   ! Heat content of snow precip  
    227230 
     231      ! specific outputs for EVP rheology 
     232      IF( iom_use( "isig1" ) .OR. iom_use( "isig2" ) .OR. iom_use( "isig3" ) ) THEN 
     233         zsig1(:,:) = 0._wp; zsig2(:,:) = 0._wp; zsig3(:,:) = 0._wp; 
     234         DO jj = 2, jpjm1 
     235            DO ji = 2, jpim1 
     236               zs12 = ( zswi(ji-1,jj) * stress12_i(ji-1,jj) + zswi(ji  ,jj-1) * stress12_i(ji  ,jj-1) +  &  ! stress12_i at T-point 
     237                  &     zswi(ji  ,jj) * stress12_i(ji  ,jj) + zswi(ji-1,jj-1) * stress12_i(ji-1,jj-1) )  & 
     238                  &   / MAX( 1._wp, zswi(ji-1,jj) + zswi(ji,jj-1) + zswi(ji,jj) + zswi(ji-1,jj-1) ) 
     239 
     240               zshear = SQRT( stress2_i(ji,jj) * stress2_i(ji,jj) + 4._wp * zs12 * zs12 ) ! shear stress   
     241 
     242               z2da = zswi(ji,jj) / MAX( 1._wp, strength(ji,jj) ) 
     243 
     244!!               zsig1(ji,jj) = 0.5_wp * z2da * ( stress1_i(ji,jj) + zshear ) ! principal stress (y-direction, see Hunke & Dukowicz 2002) 
     245!!               zsig2(ji,jj) = 0.5_wp * z2da * ( stress1_i(ji,jj) - zshear ) ! principal stress (x-direction, see Hunke & Dukowicz 2002) 
     246!!               zsig3(ji,jj) = z2da**2 * ( ( stress1_i(ji,jj) + strength(ji,jj) )**2 + ( rn_ecc * zshear )**2 ) ! quadratic relation linking compressive stress to shear stress 
     247!!                                                                                                               ! (scheme converges if this value is ~1, see Bouillon et al 2009 (eq. 11)) 
     248               zsig1(ji,jj) = 0.5_wp * z2da * ( stress1_i(ji,jj) )          ! compressive stress, see Bouillon et al. 2015 
     249               zsig2(ji,jj) = 0.5_wp * z2da * ( zshear )                    ! shear stress 
     250               zsig3(ji,jj) = z2da**2 * ( ( stress1_i(ji,jj) + strength(ji,jj) )**2 + ( rn_ecc * zshear )**2 ) 
     251            END DO 
     252         END DO 
     253         CALL lbc_lnk_multi( zsig1, 'T', 1., zsig2, 'T', 1., zsig3, 'T', 1. ) 
     254         CALL iom_put( "isig1" , zsig1 ) 
     255         CALL iom_put( "isig2" , zsig2 ) 
     256         CALL iom_put( "isig3" , zsig3 ) 
     257      ENDIF 
     258 
    228259      ! MV MP 2016 
    229260      IF ( ln_pnd ) THEN 
     
    400431      CALL wrk_dealloc( jpi, jpj     , z2d, zswi, zmiss ) 
    401432      CALL wrk_dealloc( jpi, jpj     , zfb, zamask, zamask15 ) 
     433      CALL wrk_dealloc( jpi, jpj     , zsig1, zsig2, zsig3 ) 
    402434 
    403435      IF( nn_timing == 1 )  CALL timing_stop('limwri') 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r8239 r8291  
    179179               u_ice(:,:) = rn_uice * umask(:,:,1)             !     or prescribed velocity 
    180180               v_ice(:,:) = rn_vice * vmask(:,:,1) 
     181               !!CALL RANDOM_NUMBER(u_ice(:,:)) 
     182               !!CALL RANDOM_NUMBER(v_ice(:,:)) 
    181183            ENDIF 
    182184                                      CALL lim_trp( kt )       ! -- Ice transport (Advection/diffusion) 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/SAS_SRC/sbcssm.F90

    r7761 r8291  
    115115      ELSE 
    116116         sst_m(:,:) = 0._wp 
    117          sss_m(:,:) = 0._wp 
     117         sss_m(:,:) = 35._wp 
    118118         ssu_m(:,:) = 0._wp 
    119119         ssv_m(:,:) = 0._wp 
Note: See TracChangeset for help on using the changeset viewer.