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 13463 for NEMO/branches/2019/dev_r11351_fldread_with_XIOS/src/OCE/ICB/icbclv.F90 – NEMO

Ignore:
Timestamp:
2020-09-14T17:40:34+02:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2195:update to trunk 13461

Location:
NEMO/branches/2019/dev_r11351_fldread_with_XIOS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11351_fldread_with_XIOS

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev_r12970_AGRIF_CMEMS      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@13382        sette 
  • NEMO/branches/2019/dev_r11351_fldread_with_XIOS/src/OCE/ICB/icbclv.F90

    r10714 r13463  
    3232   PUBLIC   icb_clv      ! routine called in icbstp.F90 module 
    3333 
     34   !! * Substitutions 
     35#  include "do_loop_substitute.h90" 
    3436   !!---------------------------------------------------------------------- 
    3537   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    6971         !  where (berg_grid%calving==0.) berg_grid%stored_ice(:,:,jn)=0. 
    7072         !end do 
    71          DO jj = 2, jpjm1 
    72             DO ji = 2, jpim1 
    73                IF( berg_grid%calving(ji,jj) /= 0._wp )                                          &    ! Need units of J 
    74                   berg_grid%stored_heat(ji,jj) = SUM( berg_grid%stored_ice(ji,jj,:) ) *         &    ! initial stored ice in kg 
    75                      &                   berg_grid%calving_hflx(ji,jj) * e1e2t(ji,jj) / berg_grid%calving(ji,jj)   ! J/s/m2 x m^2  
    76                      !                                                                                             ! = J/s/calving in kg/s 
    77             END DO 
    78          END DO 
     73         DO_2D( 0, 0, 0, 0 ) 
     74            IF( berg_grid%calving(ji,jj) /= 0._wp )                                          &    ! Need units of J 
     75               berg_grid%stored_heat(ji,jj) = SUM( berg_grid%stored_ice(ji,jj,:) ) *         &    ! initial stored ice in kg 
     76                  &                   berg_grid%calving_hflx(ji,jj) * e1e2t(ji,jj) / berg_grid%calving(ji,jj)   ! J/s/m2 x m^2  
     77                  !                                                                                             ! = J/s/calving in kg/s 
     78         END_2D 
    7979      ENDIF 
    8080 
    8181      ! assume that all calving flux must be distributed even if distribution array does not sum 
    8282      ! to one - this may not be what is intended, but it's what you've got 
    83       DO jj = 1, jpj 
    84          DO ji = 1, jpi 
    85             imx = berg_grid%maxclass(ji,jj) 
    86             zdist = SUM( rn_distribution(1:nclasses) ) / SUM( rn_distribution(1:imx) ) 
    87             DO jn = 1, imx 
    88                berg_grid%stored_ice(ji,jj,jn) = berg_grid%stored_ice(ji,jj,jn)     & 
    89                   &                           + berg_dt * berg_grid%calving(ji,jj) * rn_distribution(jn) * zdist 
    90             END DO 
     83      DO_2D( 1, 1, 1, 1 ) 
     84         imx = berg_grid%maxclass(ji,jj) 
     85         zdist = SUM( rn_distribution(1:nclasses) ) / SUM( rn_distribution(1:imx) ) 
     86         DO jn = 1, imx 
     87            berg_grid%stored_ice(ji,jj,jn) = berg_grid%stored_ice(ji,jj,jn)     & 
     88               &                           + berg_dt * berg_grid%calving(ji,jj) * rn_distribution(jn) * zdist 
    9189         END DO 
    92       END DO 
     90      END_2D 
    9391 
    9492      ! before changing the calving, save the amount we're about to use and do budget 
Note: See TracChangeset for help on using the changeset viewer.