Changeset 4704


Ignore:
Timestamp:
2014-07-03T18:47:30+02:00 (6 years ago)
Author:
mathiot
Message:

Ice Shelf: correction of minor bugs if running without ice shelf

Location:
branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/DIA/diahsb.F90

    r4666 r4704  
    259259      IF(lwp) WRITE(numout,*) "dia_hsb: heat salt volume budgets activated" 
    260260      IF(lwp) WRITE(numout,*) '~~~~~~~' 
    261       surf(:,:) = e1t(:,:) * e2t(:,:) * tmask(:,:,1) * tmask_i(:,:)      ! masked surface grid cell area 
     261      surf(:,:) = e1t(:,:) * e2t(:,:) * tmask_i(:,:)      ! masked surface grid cell area 
    262262      surf_tot  = glob_sum( surf(:,:) )                                       ! total ocean surface area 
    263263 
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r4666 r4704  
    114114               ikbu = miku(ji,jj)       ! ocean top level at u- and v-points  
    115115               ikbv = mikv(ji,jj)       ! (first wet ocean u- and v-points) 
    116                avmu(ji,jj,ikbu-1) = -tfrua(ji,jj) * fse3uw(ji,jj,ikbu+1) 
    117                avmv(ji,jj,ikbv-1) = -tfrva(ji,jj) * fse3vw(ji,jj,ikbv+1) 
     116               IF (ikbu .GE. 2) avmu(ji,jj,ikbu-1) = -tfrua(ji,jj) * fse3uw(ji,jj,ikbu-1) 
     117               IF (ikbv .GE. 2) avmv(ji,jj,ikbv-1) = -tfrva(ji,jj) * fse3vw(ji,jj,ikbv-1) 
    118118            END DO 
    119119         END DO 
     
    152152               ua(ji,jj,ikbu) = ua(ji,jj,ikbu) + p2dt * bfrua(ji,jj) * ua_b(ji,jj) / ze3ua 
    153153               va(ji,jj,ikbv) = va(ji,jj,ikbv) + p2dt * bfrva(ji,jj) * va_b(ji,jj) / ze3va 
    154                ikbu = miku(ji,jj)         ! ocean bottom level at u- and v-points  
    155                ikbv = mikv(ji,jj)         ! (deepest ocean u- and v-points) 
     154               ikbu = miku(ji,jj)         ! top ocean level at u- and v-points  
     155               ikbv = mikv(ji,jj)         ! (first wet ocean u- and v-points) 
    156156               ze3ua =  ( 1._wp - r_vvl ) * fse3u_n(ji,jj,ikbu) + r_vvl   * fse3u_a(ji,jj,ikbu) 
    157157               ze3va =  ( 1._wp - r_vvl ) * fse3v_n(ji,jj,ikbv) + r_vvl   * fse3v_a(ji,jj,ikbv) 
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90

    r4666 r4704  
    244244                     &                            *   tmask(ji,jj,jk-1) 
    245245                  vslp(ji,jj,jk) = vslp(ji,jj,jk) * ( vmask(ji+1,jj,jk) + vmask(ji-1,jj,jk  ) ) * 0.5_wp   & 
    246                      &                            * ( vmask(ji  ,jj,jk) + vmask(ji  ,jj,jk+1) ) * 0.5_wp 
     246                     &                            * ( vmask(ji  ,jj,jk) + vmask(ji  ,jj,jk+1) ) * 0.5_wp   & 
    247247                     &                            *   tmask(ji,jj,jk-1) 
    248248               END DO 
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r4666 r4704  
    9999      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype     ! =TRA or TRC (tracer indicator) 
    100100      INTEGER                              , INTENT(in   ) ::   kjpt       ! number of tracers 
    101       REAL(wp), DIMENSION(jpi,jpj    ,kjpt), INTENT(in   ) ::   pgu, pgv   ! tracer gradient at pstep levels 
     101      REAL(wp), DIMENSION(jpi,jpj    ,kjpt), INTENT(in   ) ::   pgu , pgv    ! tracer gradient at pstep levels 
     102      REAL(wp), DIMENSION(jpi,jpj    ,kjpt), INTENT(in   ) ::   pgui, pgvi   ! tracer gradient at pstep levels 
    102103      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb        ! before and now tracer fields 
    103104      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta        ! tracer trend  
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.F90

    r4666 r4704  
    118118                      
    119119                     ! (ISH) 
    120                      ! ice shelf level level  
     120                     ! ice shelf level level MAX(2,jk) => only where ice shelf 
    121121                     iku = miku(ji,jj)  
    122122                     ikv = mikv(ji,jj)  
    123                      IF( iku == jk ) THEN  
     123                     IF( iku == MAX(2,jk) ) THEN  
    124124                        zabe1 = fsahtu(ji,jj,iku) * umask(ji,jj,iku) * re2u_e1u(ji,jj) * fse3u_n(ji,jj,iku)  
    125125                        ztu(ji,jj,jk) = zabe1 * pgui(ji,jj,jn)  
    126126                     ENDIF  
    127                      IF( ikv == jk ) THEN  
     127                     IF( ikv == MAX(2,jk) ) THEN  
    128128                        zabe2 = fsahtv(ji,jj,ikv) * vmask(ji,jj,ikv) * re1v_e2v(ji,jj) * fse3v_n(ji,jj,ikv)  
    129129                        ztv(ji,jj,jk) = zabe2 * pgvi(ji,jj,jn)  
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90

    r4666 r4704  
    179179               zecv = SQRT(  vn(ji,jj,ikbv) * vn(ji,jj,ikbv) + zuv*zuv + rn_bfeb2 ) 
    180180               ! 
    181                tfrua(ji,jj) = - 0.5_wp * ( ztfrt(ji,jj) + ztfrt(ji+1,jj  ) ) * zecu  
    182                tfrva(ji,jj) = - 0.5_wp * ( ztfrt(ji,jj) + ztfrt(ji  ,jj+1) ) * zecv 
     181               tfrua(ji,jj) = - 0.5_wp * ( ztfrt(ji,jj) + ztfrt(ji+1,jj  ) ) * zecu * (1._wp - umask(ji,jj,1)) 
     182               tfrva(ji,jj) = - 0.5_wp * ( ztfrt(ji,jj) + ztfrt(ji  ,jj+1) ) * zecv * (1._wp - vmask(ji,jj,1)) 
    183183               ! (ISF) END ==================================================================== 
    184184 
Note: See TracChangeset for help on using the changeset viewer.