Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r2715 r3294 25 25 USE oce ! ocean dynamics and tracers 26 26 USE dom_oce ! ocean space and time domain 27 USE obc_oce ! ocean open boundary conditions28 27 USE in_out_manager ! I/O manager 29 28 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 30 29 USE lib_mpp 31 30 USE dynspg_oce ! choice/control of key cpp for surface pressure gradient 31 USE wrk_nemo ! Memory allocation 32 USE timing ! Timing 32 33 33 34 IMPLICIT NONE … … 38 39 39 40 ! !!* Namelist namlbc : lateral boundary condition * 40 REAL(wp) :: rn_shlat = 2. ! type of lateral boundary condition on velocity 41 REAL(wp) :: rn_shlat = 2. ! type of lateral boundary condition on velocity 42 LOGICAL, PUBLIC :: ln_vorlat = .false. ! consistency of vorticity boundary condition 43 ! with analytical eqs. 44 41 45 42 46 INTEGER, ALLOCATABLE, SAVE, DIMENSION(:,:) :: icoord ! Workspace for dom_msk_nsa() … … 125 129 !! tmask_i : interior ocean mask 126 130 !!---------------------------------------------------------------------- 127 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released128 USE wrk_nemo, ONLY: zwf => wrk_2d_1 ! 2D real workspace129 USE wrk_nemo, ONLY: imsk => iwrk_2d_1 ! 2D integer workspace130 131 ! 131 132 INTEGER :: ji, jj, jk ! dummy loop indices 132 133 INTEGER :: iif, iil, ii0, ii1, ii ! local integers 133 134 INTEGER :: ijf, ijl, ij0, ij1 ! - - 134 !! 135 NAMELIST/namlbc/ rn_shlat 135 INTEGER , POINTER, DIMENSION(:,:) :: imsk 136 REAL(wp), POINTER, DIMENSION(:,:) :: zwf 137 !! 138 NAMELIST/namlbc/ rn_shlat, ln_vorlat 136 139 !!--------------------------------------------------------------------- 137 138 IF( wrk_in_use(2, 1) .OR. iwrk_in_use(2, 1) ) THEN 139 CALL ctl_stop('dom_msk: requested workspace arrays unavailable') ; RETURN 140 ENDIF 141 140 ! 141 IF( nn_timing == 1 ) CALL timing_start('dom_msk') 142 ! 143 CALL wrk_alloc( jpi, jpj, imsk ) 144 CALL wrk_alloc( jpi, jpj, zwf ) 145 ! 142 146 REWIND( numnam ) ! Namelist namlbc : lateral momentum boundary condition 143 147 READ ( numnam, namlbc ) … … 148 152 WRITE(numout,*) '~~~~~~' 149 153 WRITE(numout,*) ' Namelist namlbc' 150 WRITE(numout,*) ' lateral momentum boundary cond. rn_shlat = ',rn_shlat 154 WRITE(numout,*) ' lateral momentum boundary cond. rn_shlat = ',rn_shlat 155 WRITE(numout,*) ' consistency with analytical form ln_vorlat = ',ln_vorlat 151 156 ENDIF 152 157 … … 390 395 CALL lbc_lnk( fmask, 'F', 1._wp ) ! Lateral boundary conditions on fmask 391 396 397 ! CAUTION : The fmask may be further modified in dyn_vor_init ( dynvor.F90 ) 392 398 393 399 IF( nprint == 1 .AND. lwp ) THEN ! Control print … … 436 442 ENDIF 437 443 ! 438 IF( wrk_not_released(2, 1) .OR. & 439 iwrk_not_released(2, 1) ) CALL ctl_stop('dom_msk: failed to release workspace arrays') 444 CALL wrk_dealloc( jpi, jpj, imsk ) 445 CALL wrk_dealloc( jpi, jpj, zwf ) 446 ! 447 IF( nn_timing == 1 ) CALL timing_stop('dom_msk') 440 448 ! 441 449 END SUBROUTINE dom_msk … … 460 468 REAL(wp) :: zaa 461 469 !!--------------------------------------------------------------------- 462 470 ! 471 IF( nn_timing == 1 ) CALL timing_start('dom_msk_nsa') 472 ! 463 473 IF(lwp) WRITE(numout,*) 464 474 IF(lwp) WRITE(numout,*) 'dom_msk_nsa : noslip accurate boundary condition' … … 620 630 ENDIF 621 631 ! 632 IF( nn_timing == 1 ) CALL timing_stop('dom_msk_nsa') 633 ! 622 634 END SUBROUTINE dom_msk_nsa 623 635
Note: See TracChangeset
for help on using the changeset viewer.