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 12747 for NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynnxt.F90 – NEMO

Ignore:
Timestamp:
2020-04-15T13:57:58+02:00 (4 years ago)
Author:
mathiot
Message:

NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo: fix compilation issue

Location:
NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo

    • Property svn:externals
      •  

        old new  
        66^/vendors/FCM@10134           ext/FCM 
        77^/vendors/IOIPSL@9655         ext/IOIPSL 
         8^/utils/CI/sette@12135        sette 
  • NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynnxt.F90

    r12658 r12747  
    2929   USE sbc_oce        ! Surface boundary condition: ocean fields 
    3030   USE sbcrnf         ! river runoffs 
    31    USE sbcisf         ! ice shelf 
    3231   USE phycst         ! physical constants 
    3332   USE dynadv         ! dynamics: vector invariant versus flux form 
     
    3534   USE domvvl         ! variable volume 
    3635   USE bdy_oce   , ONLY: ln_bdy 
     36   USE isf_oce        ! ice shelf 
    3737   USE bdydta         ! ocean open boundary conditions 
    3838   USE bdydyn         ! ocean open boundary conditions 
     
    9898      REAL(wp) ::   zue3a, zue3n, zue3b, zuf, zcoef    ! local scalars 
    9999      REAL(wp) ::   zve3a, zve3n, zve3b, zvf, z1_2dt   !   -      - 
    100       REAL(wp), ALLOCATABLE, DIMENSION(:,:)   ::   zue, zve 
     100      REAL(wp), ALLOCATABLE, DIMENSION(:,:)   ::   zue, zve, zfwf 
    101101      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ze3u_f, ze3v_f, zua, zva  
    102102      !!---------------------------------------------------------------------- 
    103103      ! 
    104104      IF( ln_timing    )   CALL timing_start('dyn_nxt') 
    105       IF( ln_dynspg_ts )   ALLOCATE( zue(jpi,jpj)     , zve(jpi,jpj)     ) 
     105      IF( ln_dynspg_ts )   ALLOCATE( zue(jpi,jpj)     , zve(jpi,jpj)    , zfwf(jpi,jpj)) 
    106106      IF( l_trddyn     )   ALLOCATE( zua(jpi,jpj,jpk) , zva(jpi,jpj,jpk) ) 
    107107      ! 
     
    237237            ENDIF 
    238238 
    239             IF ( ln_isf ) THEN 
    240                DO jk = 1, jpkm1 
    241                   e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_b(:,:) - fwfisf(:,:) ) * tmask(:,:,jk) &  
    242                                 &                       * e3t_n(:,:,jk) /  ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 
    243                END DO 
    244             ENDIF 
     239            IF ( ln_isf ) THEN  
     240               IF ( ln_isfpar_mlt ) THEN 
     241                  DO jk = 1, jpkm1 
     242                     e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_cav_b(:,:) - fwfisf_cav(:,:) ) * tmask(:,:,jk) &  
     243                                   &                       * e3t_n(:,:,jk) /  ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 
     244                  END DO 
     245               END IF 
     246               IF ( ln_isfpar_mlt ) THEN 
     247                  DO jk = 1, jpkm1 
     248                     e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_par_b(:,:) - fwfisf_par(:,:) ) * tmask(:,:,jk) &  
     249                                   &                       * e3t_n(:,:,jk) /  ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 
     250                  END DO 
     251               END IF 
     252               IF ( ln_isfcpl .AND. ln_rstart .AND. kt == nit000+1 ) THEN 
     253                  ! risfcpl_vol in m3/s 
     254                  zfwf(:,:) = SUM(risfcpl_vol,DIM=3) 
     255                  DO jk = 1, jpkm1 
     256                     e3t_b(:,:,jk) =   e3t_b(:,:,jk) - zcoef * zfwf(:,:) * r1_e1e2t(:,:) * r1_rau0 * tmask(:,:,jk) & 
     257                                   &                         * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 
     258                  END DO 
     259               END IF 
     260            END IF 
    245261            ! 
    246262            IF( ln_dynadv_vec ) THEN      ! Asselin filter applied on velocity 
     
    357373         &                       tab3d_2=vn, clinfo2=' Vn: '       , mask2=vmask ) 
    358374      !  
    359       IF( ln_dynspg_ts )   DEALLOCATE( zue, zve ) 
     375      IF( ln_dynspg_ts )   DEALLOCATE( zue, zve, zfwf ) 
    360376      IF( l_trddyn     )   DEALLOCATE( zua, zva ) 
    361377      IF( ln_timing    )   CALL timing_stop('dyn_nxt') 
Note: See TracChangeset for help on using the changeset viewer.