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 6012 for branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM – NEMO

Ignore:
Timestamp:
2015-12-07T16:11:45+01:00 (8 years ago)
Author:
mathiot
Message:

merge MetO branch with dev_r5151_UKMO_ISF

Location:
branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r6006 r6012  
    256256   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_i            !: interior domain T-point mask 
    257257   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_h            !: internal domain T-point mask (Figure 8.5 NEMO book) 
    258    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bmask                     !: land/ocean mask of barotropic stream function 
     258   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bmask              !: land/ocean mask of barotropic stream function 
    259259 
    260260   INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   misfdep                 !: top first ocean level                (ISF) 
     
    390390 
    391391      ALLOCATE( mbathy(jpi,jpj) , bathy  (jpi,jpj) ,                                       & 
    392          &     tmask_i(jpi,jpj) , tmask_h(jpi, jpj),                                       &  
     392         &     tmask_i(jpi,jpj) , tmask_h(jpi,jpj) ,                                       &  
    393393         &     ssmask (jpi,jpj) , ssumask(jpi,jpj) , ssvmask(jpi,jpj) , ssfmask(jpi,jpj) , & 
    394394         &     bmask(jpi,jpj)   ,                                                          & 
  • branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90

    r5836 r6012  
    506506      CALL iom_close( inum ) 
    507507       
    508 !!gm   THIS is TO BE REMOVED !!!!!!! 
    509  
    510 ! need to be define for the extended grid south of -80S 
    511 ! some point are undefined but you need to have e1 and e2 .NE. 0 
    512       WHERE (e1t==0.0_wp) 
    513          e1t=1.0e2 
    514       END WHERE 
    515       WHERE (e1v==0.0_wp) 
    516          e1v=1.0e2 
    517       END WHERE 
    518       WHERE (e1u==0.0_wp) 
    519          e1u=1.0e2 
    520       END WHERE 
    521       WHERE (e1f==0.0_wp) 
    522          e1f=1.0e2 
    523       END WHERE 
    524       WHERE (e2t==0.0_wp) 
    525          e2t=1.0e2 
    526       END WHERE 
    527       WHERE (e2v==0.0_wp) 
    528          e2v=1.0e2 
    529       END WHERE 
    530       WHERE (e2u==0.0_wp) 
    531          e2u=1.0e2 
    532       END WHERE 
    533       WHERE (e2f==0.0_wp) 
    534          e2f=1.0e2 
    535       END WHERE 
    536 !!gm end 
    537         
    538508    END SUBROUTINE hgr_read 
    539509     
  • branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r6006 r6012  
    975975      ! 
    976976      IF( ioptio /= 1 )   CALL ctl_stop( 'Choose ONE vertical coordinate in namelist nam_vvl' ) 
    977       IF( .NOT. ln_vvl_zstar .AND. nn_isf .NE. 0) CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' ) 
     977      IF( .NOT. ln_vvl_zstar .AND. ln_isf ) CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' ) 
    978978      ! 
    979979      IF(lwp) THEN                   ! Print the choice 
  • branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r6006 r6012  
    12581258      END WHERE 
    12591259 
     1260      ! remove very shallow ice shelf (less than ~ 10m if 75L) 
     1261      WHERE (risfdep(:,:) <= 10._wp .AND. misfdep(:,:) > 1) 
     1262         misfdep = 0; risfdep = 0.0_wp; 
     1263         mbathy  = 0; bathy   = 0.0_wp; 
     1264      END WHERE 
     1265      WHERE (bathy(:,:) <= 30.0_wp .AND. gphit < -60._wp) 
     1266         misfdep = 0; risfdep = 0.0_wp; 
     1267         mbathy  = 0; bathy   = 0.0_wp; 
     1268      END WHERE 
     1269  
    12601270! basic check for the compatibility of bathy and risfdep. I think it should be offline because it is not perfect and cannot solved all the situation 
    12611271      icompt = 0  
     
    13231333                     zrisfdepdiff=ABS(risfdep(ji,jj) - (gdepw_1d(misfdep(ji,jj)  ) & 
    13241334                         &            - MIN( e3zps_min, e3t_1d(misfdep(ji,jj)-1)*e3zps_rat ))) 
    1325   
    13261335                     IF (bathy(ji,jj) > risfdep(ji,jj) .AND. mbathy(ji,jj) <  misfdep(ji,jj)) THEN 
    13271336                        IF (zbathydiff <= zrisfdepdiff) THEN 
     
    13691378         END DO 
    13701379  
    1371  ! point V mbathy(ji,jj) EQ misfdep(ji,jj+1)  
     1380 ! point V mbathy(ji,jj) == misfdep(ji,jj+1)  
    13721381         DO jj = 1, jpjm1 
    13731382            DO ji = 1, jpim1 
     
    14051414            mbathy(:,:)  = INT( zbathy(:,:) ) 
    14061415         ENDIF 
    1407  ! point V misdep(ji,jj) EQ mbathy(ji,jj+1)  
     1416 ! point V misdep(ji,jj) == mbathy(ji,jj+1)  
    14081417         DO jj = 1, jpjm1 
    14091418            DO ji = 1, jpim1 
     
    14431452         ENDIF  
    14441453  
    1445  ! point U mbathy(ji,jj) EQ misfdep(ji,jj+1)  
     1454 ! point U mbathy(ji,jj) == misfdep(ji,jj+1)  
    14461455         DO jj = 1, jpjm1 
    14471456            DO ji = 1, jpim1 
     
    14801489         ENDIF  
    14811490  
    1482  ! point U misfdep(ji,jj) EQ bathy(ji,jj+1)  
     1491 ! point U misfdep(ji,jj) == bathy(ji,jj+1)  
    14831492         DO jj = 1, jpjm1 
    14841493            DO ji = 1, jpim1 
     
    17491758! end check compatibility ice shelf/bathy 
    17501759      ! remove very shallow ice shelf (less than ~ 10m if 75L) 
     1760      WHERE (risfdep(:,:) <= 10._wp) 
     1761         misfdep = 1; risfdep = 0.0_wp; 
     1762      END WHERE 
     1763 
    17511764      IF( icompt == 0 ) THEN  
    17521765         IF(lwp) WRITE(numout,*)'     no points with ice shelf too close to bathymetry'  
     
    18321845               ENDIF  
    18331846            !       ... on ik / ik-1  
    1834                e3w_0  (ji,jj,ik  ) = e3t_0  (ji,jj,ik)  
     1847               e3w_0  (ji,jj,ik  ) = e3t_0  (ji,jj,ik) !2._wp * (gdept_0(ji,jj,ik) - gdepw_0(ji,jj,ik))  
    18351848               e3t_0  (ji,jj,ik-1) = gdepw_0(ji,jj,ik) - gdepw_1d(ik-1) 
    18361849! The next line isn't required and doesn't affect results - included for consistency with bathymetry code  
Note: See TracChangeset for help on using the changeset viewer.