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 5313 for branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/OFF_SRC – NEMO

Ignore:
Timestamp:
2015-05-29T11:46:03+02:00 (9 years ago)
Author:
timgraham
Message:

Merged head of trunk (r5302) into branch

Location:
branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/OFF_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/OFF_SRC/dommsk.F90

    r5312 r5313  
    1515   USE in_out_manager  ! I/O manager 
    1616   USE wrk_nemo   
     17   USE lbclnk   
    1718 
    1819   IMPLICIT NONE 
     
    4849      !!---------------------------------------------------------------------- 
    4950      ! 
    50       INTEGER  ::   ji, jk                   ! dummy loop indices 
     51      INTEGER  ::   ji, jj, jk                   ! dummy loop indices 
    5152      INTEGER  ::   iif, iil, ijf, ijl       ! local integers 
    5253      INTEGER, POINTER, DIMENSION(:,:) ::  imsk  
     
    8384      ENDIF  
    8485      ! 
     86      ! (ISF) MIN(1,SUM(umask)) is here to check if you have effectively at 
     87      ! least 1 wet u point 
     88      DO jj = 1, jpjm1 
     89         DO ji = 1, fs_jpim1   ! vector loop 
     90            umask_i(ji,jj)  = ssmask(ji,jj) * ssmask(ji+1,jj  )  * MIN(1._wp,SUM(umask(ji,jj,:))) 
     91            vmask_i(ji,jj)  = ssmask(ji,jj) * ssmask(ji  ,jj+1)  * MIN(1._wp,SUM(vmask(ji,jj,:))) 
     92         END DO 
     93         DO ji = 1, jpim1      ! NO vector opt. 
     94            fmask_i(ji,jj) =  ssmask(ji,jj  ) * ssmask(ji+1,jj  )   & 
     95               &            * ssmask(ji,jj+1) * ssmask(ji+1,jj+1) * MIN(1._wp,SUM(fmask(ji,jj,:))) 
     96         END DO 
     97      END DO 
     98      CALL lbc_lnk( umask_i, 'U', 1._wp )      ! Lateral boundary conditions 
     99      CALL lbc_lnk( vmask_i, 'V', 1._wp ) 
     100      CALL lbc_lnk( fmask_i, 'F', 1._wp ) 
     101 
     102      ! 3. Ocean/land mask at wu-, wv- and w points  
     103      !---------------------------------------------- 
     104      wmask (:,:,1) = tmask(:,:,1) ! ???????? 
     105      wumask(:,:,1) = umask(:,:,1) ! ???????? 
     106      wvmask(:,:,1) = vmask(:,:,1) ! ???????? 
     107      DO jk=2,jpk 
     108         wmask (:,:,jk)=tmask(:,:,jk) * tmask(:,:,jk-1) 
     109         wumask(:,:,jk)=umask(:,:,jk) * umask(:,:,jk-1)    
     110         wvmask(:,:,jk)=vmask(:,:,jk) * vmask(:,:,jk-1) 
     111      END DO 
     112      ! 
    85113      IF( nprint == 1 .AND. lwp ) THEN    ! Control print 
    86114         imsk(:,:) = INT( tmask_i(:,:) ) 
  • branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/OFF_SRC/dtadyn.F90

    r5312 r5313  
    245245      tsn(:,:,:,jp_sal) = sf_dyn(jf_sal)%fnow(:,:,:)  * tmask(:,:,:)    ! salinity 
    246246      ! 
    247       CALL eos    ( tsn, rhd, rhop, gdept_0(:,:,:) )                                       ! In any case, we need rhop 
     247      ! 
     248      CALL eos    ( tsn, rhd, rhop, gdept_0(:,:,:) ) ! In any case, we need rhop 
     249      CALL eos_rab( tsn, rab_n )       ! now    local thermal/haline expension ratio at T-points 
     250      CALL bn2    ( tsn, rab_n, rn2 ) ! before Brunt-Vaisala frequency need for zdfmxl 
     251 
     252      rn2b(:,:,:) = rn2(:,:,:)         ! need for zdfmxl 
    248253      CALL zdf_mxl( kt )                                                   ! In any case, we need mxl  
    249254      ! 
     
    535540      !!--------------------------------------------------------------------- 
    536541#if defined key_ldfslp && ! defined key_c1d 
     542      CALL eos    ( pts, rhd, rhop, gdept_0(:,:,:) ) 
    537543      CALL eos_rab( pts, rab_n )       ! now local thermal/haline expension ratio at T-points 
    538544      CALL bn2    ( pts, rab_n, rn2  ) ! now    Brunt-Vaisala 
    539       IF( ln_zps )   & ! Partial steps: before Horizontal DErivative 
    540         &    CALL zps_hde( kt, jpts, pts, gtsu, gtsv,  &        ! Partial steps: before horizontal gradient 
    541         &                                        rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   &             ! 
    542         &                                 gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    )  ! of t, s, rd at the last ocean level 
    543         ! only gtsu, gtsv, rhd, gru , grv are used  
    544  
    545  
    546          !                                                            ! of t, s, rd at the bottom ocean level 
     545 
     546      ! Partial steps: before Horizontal DErivative 
     547      IF( ln_zps  .AND. .NOT. ln_isfcav)                            & 
     548         &            CALL zps_hde    ( kt, jpts, pts, gtsu, gtsv,  &  ! Partial steps: before horizontal gradient 
     549         &                                        rhd, gru , grv    )  ! of t, s, rd at the last ocean level 
     550      IF( ln_zps .AND.        ln_isfcav)                            & 
     551         &            CALL zps_hde_isf( kt, jpts, pts, gtsu, gtsv,  &    ! Partial steps for top cell (ISF) 
     552         &                                        rhd, gru , grv , aru , arv , gzu , gzv , ge3ru , ge3rv ,   & 
     553         &                                 gtui, gtvi, grui, grvi, arui, arvi, gzui, gzvi, ge3rui, ge3rvi    ) ! of t, s, rd at the first ocean level 
     554 
     555      rn2b(:,:,:) = rn2(:,:,:)         ! need for zdfmxl 
    547556      CALL zdf_mxl( kt )            ! mixed layer depth 
    548557      CALL ldf_slp( kt, rhd, rn2 )  ! slopes 
  • branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/OFF_SRC/nemogcm.F90

    r5312 r5313  
    149149         &             nn_bench, nn_timing 
    150150      NAMELIST/namcfg/ cp_cfg, cp_cfz, jp_cfg, jpidta, jpjdta, jpkdta, jpiglo, jpjglo, & 
    151          &             jpizoom, jpjzoom, jperio 
     151         &             jpizoom, jpjzoom, jperio, ln_use_jattr 
    152152      !!---------------------------------------------------------------------- 
    153153      cltxt = '' 
     
    233233         WRITE(numout,*) '                       NEMO team' 
    234234         WRITE(numout,*) '            Ocean General Circulation Model' 
    235          WRITE(numout,*) '                  version 3.5  (2012) ' 
     235         WRITE(numout,*) '                  version 3.6  (2015) ' 
    236236         WRITE(numout,*) 
    237237         WRITE(numout,*) 
     
    359359         WRITE(numout,*) '      left bottom j index of the zoom (in data domain) jpizoom = ', jpjzoom 
    360360         WRITE(numout,*) '      lateral cond. type (between 0 and 6) jperio = ', jperio    
     361         WRITE(numout,*) '      use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 
    361362      ENDIF 
    362363      !                             ! Parameter control 
Note: See TracChangeset for help on using the changeset viewer.