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 14789 for NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/src/ICE/icestp.F90 – NEMO

Ignore:
Timestamp:
2021-05-05T13:18:04+02:00 (3 years ago)
Author:
mcastril
Message:

[2021/HPC-11_mcastril_HPDAonline_DiagGPU] Update externals

Location:
NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
         5^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8^/vendors/PPR@HEAD            ext/PPR 
        89 
        910# SETTE 
        10 ^/utils/CI/sette@13559        sette 
         11^/utils/CI/sette@14244        sette 
  • NEMO/branches/2021/dev_r13747_HPC-11_mcastril_HPDAonline_DiagGPU/src/ICE/icestp.F90

    r13721 r14789  
    88   !!                        aka Sea Ice cube for its nickname 
    99   !! 
    10    !!    is originally based on LIM3, developed in Louvain-la-Neuve by:  
     10   !!    is originally based on LIM3, developed in Louvain-la-Neuve by: 
    1111   !!       * Martin Vancoppenolle (UCL-ASTR, Belgium) 
    1212   !!       * Sylvain Bouillon (UCL-ASTR, Belgium) 
     
    121121      !!---------------------------------------------------------------------- 
    122122      ! 
    123       IF( ln_timing )   CALL timing_start('ice_stp') 
     123      IF( ln_timing )   CALL timing_start('icestp') 
    124124      ! 
    125125      !                                      !-----------------------! 
     
    140140         IF( .NOT. Agrif_Root() )       nbstep_ice = MOD( nbstep_ice, Agrif_irhot() * Agrif_Parent(nn_fsbc) / nn_fsbc ) + 1 
    141141         !                              ! these calls must remain here for restartability purposes 
    142                                         CALL agrif_interp_ice( 'T' )  
     142                                        CALL agrif_interp_ice( 'T' ) 
    143143                                        CALL agrif_interp_ice( 'U' ) 
    144144                                        CALL agrif_interp_ice( 'V' ) 
     
    152152         !    utau_ice, vtau_ice = surface ice stress [N/m2] 
    153153         !------------------------------------------------! 
    154                                         CALL ice_sbc_tau( kt, ksbc, utau_ice, vtau_ice )           
     154                                        CALL ice_sbc_tau( kt, ksbc, utau_ice, vtau_ice ) 
    155155         !-------------------------------------! 
    156156         ! --- ice dynamics and advection  --- ! 
    157157         !-------------------------------------! 
    158158                                        CALL diag_set0                ! set diag of mass, heat and salt fluxes to 0 
    159                                         CALL ice_rst_opn( kt )        ! Open Ice restart file (if necessary)  
     159                                        CALL ice_rst_opn( kt )        ! Open Ice restart file (if necessary) 
    160160         ! 
    161161         IF( ln_icedyn .AND. .NOT.lk_c1d )   & 
     
    169169         !                          !==  previous lead fraction and ice volume for flux calculations 
    170170                                        CALL ice_var_glo2eqv          ! h_i and h_s for ice albedo calculation 
    171                                         CALL ice_var_agg(1)           ! at_i for coupling  
     171                                        CALL ice_var_agg(1)           ! at_i for coupling 
    172172                                        CALL store_fields             ! Store now ice values 
    173173         ! 
     
    189189         ! --- ice thermodynamics --- ! 
    190190         !----------------------------! 
    191          IF( ln_icethd )                CALL ice_thd( kt )            ! -- Ice thermodynamics       
     191         IF( ln_icethd )                CALL ice_thd( kt )            ! -- Ice thermodynamics 
    192192         ! 
    193193                                        CALL diag_trends( 2 )         ! record thermo trends 
     
    197197                                        CALL ice_update_flx( kt )     ! -- Update ocean surface mass, heat and salt fluxes 
    198198         ! 
    199          IF( ln_icediahsb )             CALL ice_dia( kt )            ! -- Diagnostics outputs  
    200          ! 
    201          IF( ln_icediachk )             CALL ice_drift_wri( kt )      ! -- Diagnostics outputs for conservation  
    202          ! 
    203                                         CALL ice_wri( kt )            ! -- Ice outputs  
    204          ! 
    205          IF( lrst_ice )                 CALL ice_rst_write( kt )      ! -- Ice restart file  
     199         IF( ln_icediahsb )             CALL ice_dia( kt )            ! -- Diagnostics outputs 
     200         ! 
     201         IF( ln_icediachk )             CALL ice_drift_wri( kt )      ! -- Diagnostics outputs for conservation 
     202         ! 
     203                                        CALL ice_wri( kt )            ! -- Ice outputs 
     204         ! 
     205         IF( lrst_ice )                 CALL ice_rst_write( kt )      ! -- Ice restart file 
    206206         ! 
    207207         IF( ln_icectl )                CALL ice_ctl( kt )            ! -- Control checks 
     
    215215!!gm   remark, the ocean-ice stress is not saved in ice diag call above .....  find a solution!!! 
    216216      ! 
    217       IF( ln_timing )   CALL timing_stop('ice_stp') 
     217      IF( ln_timing )   CALL timing_stop('icestp') 
    218218      ! 
    219219   END SUBROUTINE ice_stp 
     
    231231      !!---------------------------------------------------------------------- 
    232232      IF(lwp) WRITE(numout,*) 
    233       IF(lwp) WRITE(numout,*) 'Sea Ice Model: SI3 (Sea Ice modelling Integrated Initiative)'  
     233      IF(lwp) WRITE(numout,*) 'Sea Ice Model: SI3 (Sea Ice modelling Integrated Initiative)' 
    234234      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~' 
    235235      IF(lwp) WRITE(numout,*) 
    236       IF(lwp) WRITE(numout,*) 'ice_init: Arrays allocation & Initialization of all routines & init state'  
     236      IF(lwp) WRITE(numout,*) 'ice_init: Arrays allocation & Initialization of all routines & init state' 
    237237      IF(lwp) WRITE(numout,*) '~~~~~~~~' 
    238238      ! 
     
    250250      !                                ! Allocate the ice arrays (sbc_ice already allocated in sbc_init) 
    251251      ierr =        ice_alloc        ()      ! ice variables 
    252       ierr = ierr + sbc_ice_alloc    ()      ! surface boundary conditions  
     252      ierr = ierr + sbc_ice_alloc    ()      ! surface boundary conditions 
    253253      ierr = ierr + ice1D_alloc      ()      ! thermodynamics 
    254254      ! 
     
    291291      tn_ice(:,:,:) = t_su(:,:,:)      ! initialisation of surface temp for coupled simu 
    292292      ! 
    293       IF( ln_rstart )   CALL iom_close( numrir )  ! close input ice restart file 
     293      IF( ln_rstart )  THEN 
     294         CALL iom_close( numrir )  ! close input ice restart file 
     295         IF(lrxios) CALL iom_context_finalize(      cr_icerst_cxt         ) 
     296      ENDIF 
    294297      ! 
    295298   END SUBROUTINE ice_init 
     
    330333         WRITE(numout,*) '         Ice dynamics       (T) or not (F)                   ln_icedyn = ', ln_icedyn 
    331334         WRITE(numout,*) '         Ice thermodynamics (T) or not (F)                   ln_icethd = ', ln_icethd 
    332          WRITE(numout,*) '         maximum ice concentration for NH                              = ', rn_amax_n  
     335         WRITE(numout,*) '         maximum ice concentration for NH                              = ', rn_amax_n 
    333336         WRITE(numout,*) '         maximum ice concentration for SH                              = ', rn_amax_s 
    334337      ENDIF 
     
    370373      v_i_b (:,:,:)   = v_i (:,:,:)     ! ice volume 
    371374      v_s_b (:,:,:)   = v_s (:,:,:)     ! snow volume 
     375      v_ip_b(:,:,:)   = v_ip(:,:,:)     ! pond volume 
     376      v_il_b(:,:,:)   = v_il(:,:,:)     ! pond lid volume 
    372377      sv_i_b(:,:,:)   = sv_i(:,:,:)     ! salt content 
    373378      e_s_b (:,:,:,:) = e_s (:,:,:,:)   ! snow thermal energy 
     
    412417         wfx_bom(ji,jj) = 0._wp   ;   wfx_sum(ji,jj) = 0._wp 
    413418         wfx_res(ji,jj) = 0._wp   ;   wfx_sub(ji,jj) = 0._wp 
    414          wfx_spr(ji,jj) = 0._wp   ;   wfx_lam(ji,jj) = 0._wp   
     419         wfx_spr(ji,jj) = 0._wp   ;   wfx_lam(ji,jj) = 0._wp 
    415420         wfx_snw_dyn(ji,jj) = 0._wp ; wfx_snw_sum(ji,jj) = 0._wp 
    416421         wfx_snw_sub(ji,jj) = 0._wp ; wfx_ice_sub(ji,jj) = 0._wp 
    417          wfx_snw_sni(ji,jj) = 0._wp  
     422         wfx_snw_sni(ji,jj) = 0._wp 
    418423         wfx_pnd(ji,jj) = 0._wp 
    419424 
     
    429434         diag_heat(ji,jj) = 0._wp ;   diag_sice(ji,jj) = 0._wp 
    430435         diag_vice(ji,jj) = 0._wp ;   diag_vsnw(ji,jj) = 0._wp 
     436         diag_aice(ji,jj) = 0._wp ;   diag_vpnd(ji,jj) = 0._wp 
    431437 
    432438         tau_icebfr (ji,jj) = 0._wp   ! landfast ice param only (clem: important to keep the init here) 
     
    454460            qcn_ice    (ji,jj,jl) = 0._wp   ! conductive flux (ln_cndflx=T & ln_cndemule=T) 
    455461            qtr_ice_bot(ji,jj,jl) = 0._wp   ! part of solar radiation transmitted through the ice needed at least for outputs 
     462            ! Melt pond surface melt diagnostics (mv - more efficient: grouped into one water volume flux) 
     463            dh_i_sum_2d(ji,jj,jl) = 0._wp 
     464            dh_s_mlt_2d(ji,jj,jl) = 0._wp 
    456465         END_2D 
    457466      ENDDO 
     
    482491         diag_vsnw(:,:) = diag_vsnw(:,:) & 
    483492            &             + SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_Dt_ice * rhos 
     493         diag_vpnd(:,:) = diag_vpnd(:,:) & 
     494            &             + SUM(     v_ip + v_il          - v_ip_b - v_il_b                , dim=3 ) * r1_Dt_ice * rhow 
    484495         ! 
    485496         IF( kn == 2 )    CALL iom_put ( 'hfxdhc' , diag_heat )   ! output of heat trend 
Note: See TracChangeset for help on using the changeset viewer.