Changeset 9608


Ignore:
Timestamp:
2018-05-18T11:52:45+02:00 (2 years ago)
Author:
frrh
Message:

Introduce and apply a 3D interior mask for T, U, V and W grid diagnostics.

Location:
branches/UKMO/dev_r5518_GO6_diag_bitcomp/NEMOGCM/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_diag_bitcomp/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r8427 r9608  
    254254   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bathy                              !: ocean depth (meters) 
    255255   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_i, umask_i, vmask_i, fmask_i !: interior domain T-point mask 
     256   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   tmask_i_3d       !: 3D T-point mask of wrap and redundant N-fold points only. 
    256257   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bmask                              !: land/ocean mask of barotropic stream function 
    257258 
     
    406407 
    407408      ALLOCATE( tmask(jpi,jpj,jpk) , umask(jpi,jpj,jpk),     &  
    408          &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk), STAT=ierr(11) ) 
     409         &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk),     & 
     410                tmask_i_3d(jpi,jpj,jpk),       STAT=ierr(11) ) 
    409411 
    410412      ALLOCATE( wmask(jpi,jpj,jpk) , wumask(jpi,jpj,jpk), wvmask(jpi,jpj,jpk) , STAT=ierr(12) ) 
  • branches/UKMO/dev_r5518_GO6_diag_bitcomp/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r8280 r9608  
    233233      tmask_i(   :   ,ijl:jpj) = 0._wp      ! last  rows (including mpp extra rows) 
    234234 
     235      tmask_i_3d(:,:,:) = tmask(:,:,:)      ! Initialise 3D interior tmask with standard t mask 
     236      ! Now mask out any wrap columns 
     237      tmask_i_3d( 1 :iif,:,:) = 0._wp       ! first columns 
     238      tmask_i_3d(iil:jpi,:,:) = 0._wp       ! last  columns (including mpp extra columns) 
     239      ! Now mask out any extra rows 
     240      tmask_i_3d(:,1:ijf,:) = 0._wp         ! first rows 
     241      tmask_i_3d(:,ijl:jpj,:) = 0._wp       ! last  rows (including mpp extra rows) 
     242 
     243 
    235244      ! north fold mask 
    236245      ! --------------- 
     
    243252            DO ji = iif+1, iil-1 
    244253               tmask_i(ji,nlej-1) = tmask_i(ji,nlej-1) * tpol(mig(ji)) 
     254               tmask_i_3d(ji,nlej-1,:) = tmask_i_3d(ji,nlej-1,:) * tpol(mig(ji)) 
    245255            END DO 
    246256         ENDIF 
  • branches/UKMO/dev_r5518_GO6_diag_bitcomp/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r9321 r9608  
    14011401         ! mask land points, keep values on coast line -> specific mask for U, V and W points 
    14021402         SELECT CASE ( cdgrd ) 
    1403          CASE('T')   ;   zmask(:,:,:)       = tmask(:,:,:) 
    1404          CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk( zmask, 'U', 1. ) 
    1405          CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk( zmask, 'V', 1. ) 
    1406          CASE('W')   ;   zmask(:,:,2:jpk  ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk)   ;   zmask(:,:,1) = tmask(:,:,1) 
     1403         CASE('T')    
     1404            zmask(:,:,:)       = tmask_i_3d(:,:,:) 
     1405         CASE('U') 
     1406            zmask(2:jpim1,:,:) = tmask_i_3d(2:jpim1,:,:) + tmask_i_3d(3:jpi,:,:)    
     1407            CALL lbc_lnk( zmask, 'U', 1. ) 
     1408         CASE('V')  
     1409            zmask(:,2:jpjm1,:) = tmask_i_3d(:,2:jpjm1,:) + tmask_i_3d(:,3:jpj,:)    
     1410            CALL lbc_lnk( zmask, 'V', 1. ) 
     1411         CASE('W')    
     1412            zmask(:,:,2:jpk  ) = tmask_i_3d(:,:,1:jpkm1) + tmask_i_3d(:,:,2:jpk)    
     1413            zmask(:,:,1) = tmask_i_3d(:,:,1) 
    14071414         END SELECT 
    14081415         ! 
Note: See TracChangeset for help on using the changeset viewer.