Changeset 15603 for branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
- Timestamp:
- 2021-12-16T10:39:55+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_starthour_obsoper/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r12555 r15603 26 26 USE wrk_nemo ! Memory Allocation 27 27 USE phycst, ONLY: vkarmn 28 USE stopack 28 29 29 30 IMPLICIT NONE … … 52 53 REAL(wp), PUBLIC :: rn_tfrz0 ! bottom roughness for loglayer bfr coeff (PUBLIC for TAM) 53 54 LOGICAL , PUBLIC :: ln_bfrimp ! logical switch for implicit bottom friction 54 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:), PUBLIC :: bfrcoef2d, tfrcoef2d ! 2D bottom/top drag coefficient (PUBLIC for TAM)55 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:), PUBLIC :: bfrcoef2d, tfrcoef2d,bfrcoef2d0 ! 2D bottom/top drag coefficient (PUBLIC for TAM) 55 56 56 57 !! * Substitutions … … 68 69 !! *** FUNCTION zdf_bfr_alloc *** 69 70 !!---------------------------------------------------------------------- 70 ALLOCATE( bfrcoef2d(jpi,jpj), tfrcoef2d(jpi,jpj), STAT=zdf_bfr_alloc )71 ALLOCATE( bfrcoef2d(jpi,jpj), tfrcoef2d(jpi,jpj), bfrcoef2d0(jpi,jpj),STAT=zdf_bfr_alloc ) 71 72 ! 72 73 IF( lk_mpp ) CALL mpp_sum ( zdf_bfr_alloc ) … … 107 108 IF(lflush) CALL flush(numout) 108 109 ENDIF 110 ! 111 #if defined key_traldf_c2d || key_traldf_c3d 112 IF( ln_stopack .AND. ( nn_spp_bfr > 0 ) ) THEN 113 bfrcoef2d = bfrcoef2d0 114 CALL spp_gen(kt, bfrcoef2d, nn_spp_bfr, rn_bfr_sd, jk_spp_bfr) 115 ENDIF 116 #else 117 IF ( ln_stopack .AND. ( nn_spp_bfr > 0 ) ) & 118 & CALL ctl_stop( 'zdf_bfr: parameter perturbation will only work with '// & 119 'key_traldf_c2d or key_traldf_c3d') 120 #endif 109 121 ! 110 122 IF( nn_bfr == 2 ) THEN ! quadratic bottom friction only … … 135 147 END DO 136 148 END IF 137 ! 149 ! 138 150 ELSE 139 151 zbfrt(:,:) = bfrcoef2d(:,:) … … 178 190 DO ji = 2, jpim1 179 191 ! (ISF) ======================================================================== 180 ikbu = miku(ji,jj) ! ocean top level at u- and v-points 192 ikbu = miku(ji,jj) ! ocean top level at u- and v-points 181 193 ikbv = mikv(ji,jj) ! (1st wet ocean u- and v-points) 182 194 ! … … 359 371 bfrcoef2d(:,:) = rn_bfri2 ! initialize bfrcoef2d to the namelist variable 360 372 ENDIF 361 373 362 374 IF ( ln_isfcav ) THEN 363 375 IF(ln_tfr2d) THEN … … 494 506 ENDIF 495 507 ! 508 bfrcoef2d0(:,:) = bfrcoef2d(:,:) 496 509 IF( nn_timing == 1 ) CALL timing_stop('zdf_bfr_init') 497 510 !
Note: See TracChangeset
for help on using the changeset viewer.