Changeset 9155
- Timestamp:
- 2017-12-21T14:32:06+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r8600_closea_rewrite/NEMOGCM/NEMO/OPA_SRC/DOM/closea.F90
r9080 r9155 1 1 MODULE closea 2 2 !!====================================================================== 3 !! *** MODULE usrdef_closea ***3 !! *** MODULE closea *** 4 4 !! 5 5 !! User define : specific treatments associated with closed seas … … 30 30 USE lib_mpp ! MPP library 31 31 USE timing 32 USE wrk_nemo ! Memory allocation33 32 34 33 IMPLICIT NONE … … 95 94 INTEGER :: id ! netcdf variable ID 96 95 97 REAL(wp), POINTER, DIMENSION(:,:) :: zdata_in ! temporary real array for input96 REAL(wp), DIMENSION(jpi,jpj) :: zdata_in ! temporary real array for input 98 97 !!---------------------------------------------------------------------- 99 98 ! … … 102 101 IF(lwp) WRITE(numout,*)'~~~~~~~' 103 102 ! 104 CALL wrk_alloc( jpi,jpj, zdata_in)105 !106 103 ! read the closed seas masks (if they exist) from domain_cfg file 107 104 ! --------------------------------------------------------------- … … 179 176 CALL iom_close( inum ) 180 177 ! 181 CALL wrk_dealloc(jpi,jpj, zdata_in)182 !183 178 END SUBROUTINE dom_clo 184 179 … … 202 197 REAL(wp), PARAMETER :: rsmall = 1.e-20_wp ! Closed sea correction epsilon 203 198 REAL(wp) :: zfwf_total, zcoef, zcoef1 ! 204 REAL(wp), POINTER, DIMENSION(:) :: zfwf, zfwfr, zfwfe ! freshwater fluxes over closed seas 205 REAL(wp), POINTER, DIMENSION(:,:) :: ztmp2d ! 2D workspace 199 REAL(wp), DIMENSION(jncs) :: zfwf !: 200 REAL(wp), DIMENSION(jncsr+1) :: zfwfr !: freshwater fluxes over closed seas 201 REAL(wp), DIMENSION(jncse+1) :: zfwfe !: 202 REAL(wp), DIMENSION(jpi,jpj) :: ztmp2d ! 2D workspace 206 203 !!---------------------------------------------------------------------- 207 204 ! 208 205 IF( nn_timing == 1 ) CALL timing_start('sbc_clo') 209 206 ! 210 CALL wrk_alloc( jncs, zfwf )211 ! jncsr and jncse can be zero so add 1 to avoid allocating zero-length arrays212 CALL wrk_alloc( jncsr+1, zfwfr )213 CALL wrk_alloc( jncse+1, zfwfe )214 CALL wrk_alloc( jpi,jpj, ztmp2d )215 207 ! !------------------! 216 208 IF( kt == nit000 ) THEN ! Initialisation ! … … 395 387 CALL lbc_lnk( emp , 'T', 1._wp ) 396 388 ! 397 CALL wrk_dealloc( jncs , zfwf )398 CALL wrk_dealloc( jncsr+1 , zfwfr )399 CALL wrk_dealloc( jncse+1 , zfwfe )400 CALL wrk_dealloc( jpi,jpj, ztmp2d )401 !402 389 IF( nn_timing == 1 ) CALL timing_stop('sbc_clo') 403 390 ! … … 449 436 INTEGER, DIMENSION(:,:), INTENT(inout) :: k_top, k_bot ! ocean first and last level indices 450 437 INTEGER :: inum, id 451 INTEGER, POINTER, DIMENSION(:,:) :: closea_mask ! closea_mask field452 REAL(wp), POINTER, DIMENSION(:,:) :: zdata_in ! temporary real array for input438 INTEGER, DIMENSION(jpi,jpj) :: closea_mask ! closea_mask field 439 REAL(wp), DIMENSION(jpi,jpj) :: zdata_in ! temporary real array for input 453 440 !!---------------------------------------------------------------------- 454 441 ! … … 464 451 IF( id > 0 ) THEN 465 452 IF( lwp ) WRITE(numout,*) 'Suppressing closed seas in bathymetry based on closea_mask field,' 466 CALL wrk_alloc( jpi,jpj, zdata_in)467 CALL wrk_alloc( jpi,jpj, closea_mask)468 453 CALL iom_get ( inum, jpdom_data, 'closea_mask', zdata_in ) 469 454 closea_mask(:,:) = NINT(zdata_in(:,:)) … … 472 457 k_bot(:,:) = 0 473 458 ENDWHERE 474 CALL wrk_dealloc( jpi,jpj, zdata_in)475 CALL wrk_dealloc( jpi,jpj, closea_mask)476 459 ELSE 477 460 IF( lwp ) WRITE(numout,*) 'No closea_mask field found in domain_cfg file. No suppression of closed seas.'
Note: See TracChangeset
for help on using the changeset viewer.