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 9023 for branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90 – NEMO

Ignore:
Timestamp:
2017-12-13T18:08:50+01:00 (6 years ago)
Author:
timgraham
Message:

Merged METO_MERCATOR branch and resolved all conflicts in OPA_SRC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r9019 r9023  
    2020   !!   dyn_asm_inc    : Apply the dynamic (u and v) increments 
    2121   !!   ssh_asm_inc    : Apply the SSH increment 
     22   !!   ssh_asm_div    : Apply divergence associated with SSH increment 
    2223   !!   seaice_asm_inc : Apply the seaice increment 
    2324   !!---------------------------------------------------------------------- 
     
    4849   PUBLIC   dyn_asm_inc    !: Apply the dynamic (u and v) increments 
    4950   PUBLIC   ssh_asm_inc    !: Apply the SSH increment 
     51   PUBLIC   ssh_asm_div    !: Apply the SSH divergence 
    5052   PUBLIC   seaice_asm_inc !: Apply the seaice increment 
    5153 
     
    785787   END SUBROUTINE ssh_asm_inc 
    786788 
     789   SUBROUTINE ssh_asm_div( kt, phdivn ) 
     790      !!---------------------------------------------------------------------- 
     791      !!                  ***  ROUTINE ssh_asm_div  *** 
     792      !! 
     793      !! ** Purpose :   ssh increment with z* is incorporated via a correction of the local divergence           
     794      !!                across all the water column 
     795      !! 
     796      !! ** Method  : 
     797      !!                CAUTION : sshiau is positive (inflow) decreasing the 
     798      !!                          divergence and expressed in m/s 
     799      !! 
     800      !! ** Action  :   phdivn   decreased by the ssh increment 
     801      !!---------------------------------------------------------------------- 
     802      INTEGER, INTENT(IN) :: kt                               ! ocean time-step index 
     803      REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   phdivn   ! horizontal divergence 
     804      !! 
     805      INTEGER  ::   jk                                        ! dummy loop index 
     806      REAL(wp), DIMENSION(:,:)  , POINTER       ::   ztim     ! local array 
     807      !!---------------------------------------------------------------------- 
     808      !  
     809#if defined key_asminc 
     810      CALL ssh_asm_inc( kt ) !==   (calculate increments) 
     811      ! 
     812      IF( ln_linssh ) THEN  
     813         phdivn(:,:,1) = phdivn(:,:,1) - ssh_iau(:,:) / e3t_n(:,:,1) * tmask(:,:,1) 
     814      ELSE  
     815         CALL wrk_alloc( jpi,jpj, ztim) 
     816         ztim(:,:) = ssh_iau(:,:) / ( ht_n(:,:) + 1.0 - ssmask(:,:) ) 
     817         DO jk = 1, jpkm1                                  
     818            phdivn(:,:,jk) = phdivn(:,:,jk) - ztim(:,:) * tmask(:,:,jk)  
     819         END DO 
     820         ! 
     821         CALL wrk_dealloc( jpi,jpj, ztim) 
     822      ENDIF 
     823#endif 
     824      ! 
     825   END SUBROUTINE ssh_asm_div 
    787826 
    788827   SUBROUTINE seaice_asm_inc( kt, kindic ) 
Note: See TracChangeset for help on using the changeset viewer.