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 13640 for NEMO/releases/r4.0/r4.0-HEAD/src/ICE/icecor.F90 – NEMO

Ignore:
Timestamp:
2020-10-19T19:15:09+02:00 (3 years ago)
Author:
clem
Message:

4.0-HEAD: solve ticket #2554

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/releases/r4.0/r4.0-HEAD/src/ICE/icecor.F90

    r13589 r13640  
    5555      INTEGER  ::   ji, jj, jk, jl   ! dummy loop indices 
    5656      REAL(wp) ::   zsal, zzc 
    57       REAL(wp), DIMENSION(jpi,jpj) ::   zafx   ! concentration trends diag 
    5857      !!---------------------------------------------------------------------- 
    5958      ! controls 
     
    123122         CALL lbc_lnk_multi( 'icecor', u_ice, 'U', -1._wp, v_ice, 'V', -1._wp ) 
    124123      ENDIF 
    125  
    126       !                             !----------------------------------------------------- 
    127       SELECT CASE( kn )             !  Diagnostics                                       ! 
    128       !                             !----------------------------------------------------- 
    129       CASE( 1 )                        !--- dyn trend diagnostics 
    130          ! 
    131          IF( ln_icediachk .OR. iom_use('hfxdhc') ) THEN 
    132             diag_heat(:,:) = - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_rdtice &      ! W.m-2 
    133                &             - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_rdtice 
    134             diag_sice(:,:) =   SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_rdtice * rhoi 
    135             diag_vice(:,:) =   SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhoi 
    136             diag_vsnw(:,:) =   SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhos 
    137          ENDIF 
    138          !                       ! concentration tendency (dynamics) 
    139          IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN  
    140             zafx(:,:) = SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice  
    141             CALL iom_put( 'afxdyn' , zafx ) 
    142          ENDIF 
    143          ! 
    144       CASE( 2 )                        !--- thermo trend diagnostics & ice aging 
    145          ! 
    146          oa_i(:,:,:) = oa_i(:,:,:) + a_i(:,:,:) * rdt_ice   ! ice natural aging incrementation 
    147          ! 
    148          IF( ln_icediachk .OR. iom_use('hfxdhc') ) THEN 
    149             diag_heat(:,:) = diag_heat(:,:) & 
    150                &             - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_rdtice & 
    151                &             - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_rdtice 
    152             diag_sice(:,:) = diag_sice(:,:) & 
    153                &             + SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_rdtice * rhoi 
    154             diag_vice(:,:) = diag_vice(:,:) & 
    155                &             + SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhoi 
    156             diag_vsnw(:,:) = diag_vsnw(:,:) & 
    157                &             + SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhos 
    158             CALL iom_put ( 'hfxdhc' , diag_heat )  
    159          ENDIF 
    160          !                       ! concentration tendency (total + thermo) 
    161          IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN  
    162             zafx(:,:) = zafx(:,:) + SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice 
    163             CALL iom_put( 'afxthd' , SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice ) 
    164             CALL iom_put( 'afxtot' , zafx ) 
    165          ENDIF 
    166          ! 
    167       END SELECT 
    168124      ! 
    169125      ! controls 
Note: See TracChangeset for help on using the changeset viewer.