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 12068 for NEMO/branches/2019/UKMO_MERGE_2019/src/OCE/ISF/isfload.F90 – NEMO

Ignore:
Timestamp:
2019-12-05T13:18:21+01:00 (4 years ago)
Author:
davestorkey
Message:

2019/UKMO_MERGE_2019 : Merging in changes from ENHANCE-02_ISF_nemo.

Location:
NEMO/branches/2019/UKMO_MERGE_2019/src/OCE/ISF
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/UKMO_MERGE_2019/src/OCE/ISF/isfload.F90

    r11852 r12068  
    1313   USE isf, ONLY: cn_isfload   ! ice shelf variables 
    1414 
    15    USE dom_oce, ONLY: e3w_n, gdept_n, risfdep, mikt ! vertical scale factor 
     15   USE dom_oce, ONLY: e3w, gdept, risfdep, mikt    ! vertical scale factor 
    1616   USE eosbn2 , ONLY: eos                           ! eos routine 
    1717 
     
    2727CONTAINS 
    2828 
    29    SUBROUTINE isf_load ( pisfload ) 
     29   SUBROUTINE isf_load ( Kmm, pisfload ) 
    3030      !!-------------------------------------------------------------------- 
    3131      !!                  ***  SUBROUTINE isf_load  *** 
     
    3737      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) :: pisfload 
    3838      !!-------------------------- IN  ------------------------------------- 
     39      INTEGER,                      INTENT(in)    :: Kmm           ! ocean time level index 
    3940      !!---------------------------------------------------------------------- 
    4041      ! 
     
    4546      SELECT CASE ( cn_isfload ) 
    4647      CASE ( 'isomip' ) 
    47          CALL isf_load_isomip ( pisfload ) 
     48         CALL isf_load_isomip ( Kmm, pisfload ) 
    4849      CASE DEFAULT 
    4950         CALL ctl_stop('STOP','method cn_isfload to compute ice shelf load does not exist (isomip), check your namelist') 
     
    5253   END SUBROUTINE isf_load 
    5354 
    54    SUBROUTINE isf_load_isomip( pisfload ) 
     55   SUBROUTINE isf_load_isomip( Kmm, pisfload ) 
    5556      !!-------------------------------------------------------------------- 
    5657      !!                  ***  SUBROUTINE isf_load  *** 
     
    6667      REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) :: pisfload 
    6768      !!-------------------------- IN  ------------------------------------- 
     69      INTEGER,                      INTENT(in)    :: Kmm           ! ocean time level index 
    6870      !!-------------------------------------------------------------------- 
    6971      INTEGER  :: ji, jj, jk 
     
    8183      ! 
    8284      DO jk = 1, jpk                   !- compute density of the water displaced by the ice shelf  
    83          CALL eos( zts_top(:,:,:), gdept_n(:,:,jk), zrhd(:,:,jk) ) 
     85         CALL eos( zts_top(:,:,:), gdept(:,:,jk,Kmm), zrhd(:,:,jk) ) 
    8486      END DO 
    8587      ! 
     
    9698               ! 
    9799               ! top layer of the ice shelf 
    98                pisfload(ji,jj) = pisfload(ji,jj) + (znad + zrhd(ji,jj,1) ) * e3w_n(ji,jj,1) 
     100               pisfload(ji,jj) = pisfload(ji,jj) + (znad + zrhd(ji,jj,1) ) * e3w(ji,jj,1,Kmm) 
    99101               ! 
    100102               ! core layers of the ice shelf 
    101103               DO jk = 2, ikt-1 
    102                   pisfload(ji,jj) = pisfload(ji,jj) + (2._wp * znad + zrhd(ji,jj,jk-1) + zrhd(ji,jj,jk)) * e3w_n(ji,jj,jk) 
     104                  pisfload(ji,jj) = pisfload(ji,jj) + (2._wp * znad + zrhd(ji,jj,jk-1) + zrhd(ji,jj,jk)) * e3w(ji,jj,jk,Kmm) 
    103105               END DO 
    104106               ! 
    105107               ! deepest part of the ice shelf (between deepest T point and ice/ocean interface 
    106108               pisfload(ji,jj) = pisfload(ji,jj) + (2._wp * znad + zrhdtop_isf(ji,jj) + zrhd(ji,jj,ikt-1)) & 
    107                   &                                              * ( risfdep(ji,jj) - gdept_n(ji,jj,ikt-1) ) 
     109                  &                                              * ( risfdep(ji,jj) - gdept(ji,jj,ikt-1,Kmm) ) 
    108110               ! 
    109111            END IF 
Note: See TracChangeset for help on using the changeset viewer.