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 4854 for branches/2014/dev_4728_CNRS04_coupled_interface – NEMO

Ignore:
Timestamp:
2014-11-13T16:21:57+01:00 (9 years ago)
Author:
vancop
Message:

update changes to get reproducibility

Location:
branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90

    r4624 r4854  
    8989      CALL lim_itd_ini                 ! ice thickness distribution initialization 
    9090      ! 
     91      CALL lim_itd_me_init             ! ice thickness distribution initialization 
    9192      !                                ! Initial sea-ice state 
    9293      IF( .NOT. ln_rstart ) THEN              ! start from rest 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r4688 r4854  
    150150      CALL wrk_alloc( jpi, jpj, closing_net, divu_adv, opning, closing_gross, msnow_mlt, esnow_mlt, vt_i_init, vt_i_final ) 
    151151 
    152       IF( numit == nstart  )   CALL lim_itd_me_init   ! Initialization (first time-step only) 
    153  
    154152      IF(ln_ctl) THEN 
    155153         CALL prt_ctl(tab2d_1=ato_i , clinfo1=' lim_itd_me: ato_i  : ', tab2d_2=at_i   , clinfo2=' at_i    : ') 
     
    10371035            !     / rafting category n1. 
    10381036            !-------------------------------------------------------------------------- 
    1039             vrdg1(ji,jj) = vicen_init(ji,jj,jl1) * afrac(ji,jj) / ( 1._wp + ridge_por ) 
     1037            vrdg1(ji,jj) = vicen_init(ji,jj,jl1) * afrac(ji,jj) 
    10401038            vrdg2(ji,jj) = vrdg1(ji,jj) * ( 1. + ridge_por ) 
    10411039            vsw  (ji,jj) = vrdg1(ji,jj) * ridge_por 
     
    10431041            vsrdg(ji,jj) = vsnwn_init(ji,jj,jl1) * afrac(ji,jj) 
    10441042            esrdg(ji,jj) = esnwn_init(ji,jj,jl1) * afrac(ji,jj) 
    1045             srdg1(ji,jj) = smv_i_init(ji,jj,jl1) * afrac(ji,jj) / ( 1._wp + ridge_por ) 
     1043            srdg1(ji,jj) = smv_i_init(ji,jj,jl1) * afrac(ji,jj) 
    10461044            srdg2(ji,jj) = smv_i_init(ji,jj,jl1) * afrac(ji,jj) !! MV HC 2014 this line seems useless 
    10471045 
     
    11281126               jj = indxj(ij) 
    11291127               ! heat content of ridged ice 
    1130                erdg1(ji,jj,jk)      = eicen_init(ji,jj,jk,jl1) * afrac(ji,jj) / ( 1._wp + ridge_por )  
     1128               erdg1(ji,jj,jk)      = eicen_init(ji,jj,jk,jl1) * afrac(ji,jj)  
    11311129               eirft(ji,jj,jk)      = eicen_init(ji,jj,jk,jl1) * afrft(ji,jj) 
    11321130               e_i  (ji,jj,jk,jl1)  = e_i(ji,jj,jk,jl1) - erdg1(ji,jj,jk) - eirft(ji,jj,jk) 
  • branches/2014/dev_4728_CNRS04_coupled_interface/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90

    r4688 r4854  
    2929   USE lib_mpp        ! MPP library 
    3030   USE wrk_nemo       ! work arrays 
     31   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    3132   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
    3233   USE limthd_ent 
     
    133134                  !Energy of melting q(S,T) [J.m-3] 
    134135                  zindb = 1._wp - MAX(  0._wp , SIGN( 1._wp , -v_i(ji,jj,jl) + epsi10 )  )   !0 if no ice and 1 if yes 
    135                   e_i(ji,jj,jk,jl) = zindb * e_i(ji,jj,jk,jl) / ( area(ji,jj) * MAX( v_i(ji,jj,jl) ,  epsi10 ) ) * REAL( nlay_i ) 
     136                  e_i(ji,jj,jk,jl) = zindb * e_i(ji,jj,jk,jl) / ( area(ji,jj) * MAX( v_i(ji,jj,jl) ,  epsi10 ) ) * REAL( nlay_i, wp ) 
    136137                  e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * unit_fac 
    137138               END DO 
     
    171172         zgamafr = 0.03 
    172173 
    173          DO jj = 1, jpj 
    174             DO ji = 1, jpi 
    175  
     174         DO jj = 2, jpj 
     175            DO ji = 2, jpi 
    176176               IF ( qlead(ji,jj) < 0._wp ) THEN 
    177177                  !------------- 
     
    243243            END DO ! loop on ji ends 
    244244         END DO ! loop on jj ends 
     245      !  
     246      CALL lbc_lnk( zvrel(:,:), 'T', 1. ) 
     247      CALL lbc_lnk( hicol(:,:), 'T', 1. ) 
    245248 
    246249      ENDIF ! End of computation of frazil ice collection thickness 
     
    255258      ! This occurs if open water energy budget is negative 
    256259      nbpac = 0 
     260      npac(:) = 0 
     261      ! 
    257262      DO jj = 1, jpj 
    258263         DO ji = 1, jpi 
     
    315320         ! Keep old ice areas and volume in memory 
    316321         !----------------------------------------- 
    317          zv_old(:,:) = zv_i_1d(:,:)  
    318          za_old(:,:) = za_i_1d(:,:) 
    319  
     322         zv_old(1:nbpac,:) = zv_i_1d(1:nbpac,:)  
     323         za_old(1:nbpac,:) = za_i_1d(1:nbpac,:) 
    320324         !---------------------- 
    321325         ! Thickness of new ice 
     
    324328            zh_newice(ji) = hiccrit 
    325329         END DO 
    326          IF( fraz_swi == 1 ) zh_newice(:) = hicol_b(:) 
     330         IF( fraz_swi == 1 ) zh_newice(1:nbpac) = hicol_b(1:nbpac) 
    327331 
    328332         !---------------------- 
     
    331335         SELECT CASE ( num_sal ) 
    332336         CASE ( 1 )                    ! Sice = constant  
    333             zs_newice(:) = bulk_sal 
     337            zs_newice(1:nbpac) = bulk_sal 
    334338         CASE ( 2 )                    ! Sice = F(z,t) [Vancoppenolle et al (2005)] 
    335339            DO ji = 1, nbpac 
     
    339343            END DO 
    340344         CASE ( 3 )                    ! Sice = F(z) [multiyear ice] 
    341             zs_newice(:) =   2.3 
     345            zs_newice(1:nbpac) =   2.3 
    342346         END SELECT 
    343347 
     
    472476               za_i_1d(ji,jl) = zinda * za_i_1d(ji,jl)                
    473477               zv_i_1d(ji,jl) = zv_i_1d(ji,jl) + zv_newfra 
    474  
    475478               ! for remapping 
    476479               h_i_old (ji,nlay_i+1) = zv_newfra 
     
    479482 
    480483            ! --- Ice enthalpy remapping --- ! 
    481             IF( zv_newfra > 0._wp ) THEN 
    482                CALL lim_thd_ent( 1, nbpac, ze_i_1d(1:nbpac,:,jl) )  
    483             ENDIF 
     484            CALL lim_thd_ent( 1, nbpac, ze_i_1d(1:nbpac,:,jl) )  
    484485 
    485486         ENDDO 
     
    534535               DO ji = 1, jpi 
    535536                  ! heat content in Joules 
    536                   e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * area(ji,jj) * v_i(ji,jj,jl) / ( REAL( nlay_i ) * unit_fac )  
     537                  e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * area(ji,jj) * v_i(ji,jj,jl) / ( REAL( nlay_i ,wp ) * unit_fac )  
    537538               END DO 
    538539            END DO 
Note: See TracChangeset for help on using the changeset viewer.