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 11380 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_DYN_optimization/src/ICE/icecor.F90 – NEMO

Ignore:
Timestamp:
2019-07-31T15:56:02+02:00 (5 years ago)
Author:
girrmann
Message:

dev_r10984_HPC-13 : adding extra halos in dyn_spg_ts is now possible, only works with a single halo when used with tide or bdy, see #2308

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_DYN_optimization/src/ICE/icecor.F90

    r11371 r11380  
    8484      !                             !----------------------------------------------------- 
    8585      IF ( nn_icesal == 2 ) THEN    !  salinity must stay in bounds [Simin,Simax]        ! 
    86          !                          !----------------------------------------------------- 
     86      !                             !----------------------------------------------------- 
    8787         zzc = rhoi * r1_rdtice 
    8888         DO jl = 1, jpl 
     
    117117            END DO 
    118118         END DO 
    119          CALL lbc_lnk_multi( 'icecor', u_ice, 'U', -1., v_ice, 'V', -1. ) 
     119         CALL lbc_lnk_multi( 'icecor', u_ice, 'U', -1., v_ice, 'V', -1. )            ! lateral boundary conditions 
    120120      ENDIF 
    121121 
     122!!gm I guess the trends are only out on demand  
     123!!   So please, only do this is it exite an iom_use of on a these variables 
     124!!   furthermore, only allocate the diag_ arrays in this case  
     125!!   and do the iom_put here so that it is only a local allocation 
     126!!gm  
    122127      !                             !----------------------------------------------------- 
    123128      SELECT CASE( kn )             !  Diagnostics                                       ! 
     
    138143         END DO 
    139144         !                       ! concentration tendency (dynamics) 
    140          IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN  
    141             zafx(:,:) = SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice  
    142             CALL iom_put( 'afxdyn' , zafx ) 
    143          ENDIF 
     145         zafx   (:,:) = SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice  
     146         afx_tot(:,:) = zafx(:,:) 
     147         IF( iom_use('afxdyn') )   CALL iom_put( 'afxdyn' , zafx(:,:) ) 
    144148         ! 
    145149      CASE( 2 )                        !--- thermo trend diagnostics & ice aging 
     
    160164         END DO 
    161165         !                       ! concentration tendency (total + thermo) 
    162          IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN  
    163             zafx(:,:) = zafx(:,:) + SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice 
    164             CALL iom_put( 'afxthd' , SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice ) 
    165             CALL iom_put( 'afxtot' , zafx ) 
    166          ENDIF 
     166         zafx   (:,:) = SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice 
     167         afx_tot(:,:) = afx_tot(:,:) + zafx(:,:) 
     168         IF( iom_use('afxthd') )   CALL iom_put( 'afxthd' , zafx(:,:) ) 
     169         IF( iom_use('afxtot') )   CALL iom_put( 'afxtot' , afx_tot(:,:) ) 
    167170         ! 
    168171      END SELECT 
     
    171174      IF( ln_icediachk   )   CALL ice_cons_hsm(1, 'icecor', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) ! conservation 
    172175      IF( ln_ctl         )   CALL ice_prt3D   ('icecor')                                                             ! prints 
    173       IF( ln_icectl .AND. kn == 2 ) & 
    174          &                   CALL ice_prt     ( kt, iiceprt, jiceprt, 2, ' - Final state - ' )                       ! prints 
     176      IF( ln_icectl .AND. kn == 2 )   CALL ice_prt( kt, iiceprt, jiceprt, 2, ' - Final state - ' )                   ! prints 
    175177      IF( ln_timing      )   CALL timing_stop ('icecor')                                                             ! timing 
    176178      ! 
Note: See TracChangeset for help on using the changeset viewer.