Changeset 5901 for branches/2014/dev_r4621_NOC4_BDY_VERT_INTERP/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
- Timestamp:
- 2015-11-20T09:39:06+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4621_NOC4_BDY_VERT_INTERP/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
- Property svn:keywords set to Id
r5038 r5901 81 81 82 82 83 !!* Substitution 84 # include "top_substitute.h90" 83 !! * Substitutions 84 # include "domzgr_substitute.h90" 85 # include "vectopt_loop_substitute.h90" 85 86 !!---------------------------------------------------------------------- 86 87 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 87 !! $ Header:$88 !! $Id$ 88 89 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 89 90 !!---------------------------------------------------------------------- … … 117 118 IF( kt == nit000 .OR. ( kt /= nit000 .AND. ntimes_dust > 1 ) ) THEN 118 119 CALL fld_read( kt, 1, sf_dust ) 119 dust(:,:) = sf_dust(1)%fnow(:,:,1) 120 IF( nn_ice_tr == -1 .AND. .NOT. ln_ironice ) THEN 121 dust(:,:) = sf_dust(1)%fnow(:,:,1) 122 ELSE 123 dust(:,:) = sf_dust(1)%fnow(:,:,1) * ( 1.0 - fr_i(:,:) ) 124 ENDIF 120 125 ENDIF 121 126 ENDIF … … 136 141 DO jj = 1, jpj 137 142 DO ji = 1, jpi 138 zcoef = ryyss * cvol(ji,jj,1)143 zcoef = ryyss * e1e2t(ji,jj) * h_rnf(ji,jj) 139 144 rivalk(ji,jj) = sf_river(jr_dic)%fnow(ji,jj,1) & 140 145 & * 1.E3 / ( 12. * zcoef + rtrn ) … … 187 192 INTEGER :: ierr, ierr1, ierr2, ierr3 188 193 INTEGER :: ios ! Local integer output status for namelist read 194 INTEGER :: ik50 ! last level where depth less than 50 m 195 INTEGER :: isrow ! index for ORCA1 starting row 189 196 REAL(wp) :: zexpide, zdenitide, zmaskt 190 197 REAL(wp) :: ztimes_dust, ztimes_riv, ztimes_ndep … … 216 223 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampissbc in configuration namelist', lwp ) 217 224 IF(lwm) WRITE ( numonp, nampissbc ) 225 226 IF ( ( nn_ice_tr >= 0 ) .AND. ln_ironice ) THEN 227 IF(lwp) THEN 228 WRITE(numout,*) ' ln_ironice incompatible with nn_ice_tr = ', nn_ice_tr 229 WRITE(numout,*) ' Specify your sea ice iron concentration in nampisice instead ' 230 WRITE(numout,*) ' ln_ironice is forced to .FALSE. ' 231 ln_ironice = .FALSE. 232 ENDIF 233 ENDIF 218 234 219 235 IF(lwp) THEN … … 247 263 ENDIF 248 264 265 ! set the number of level over which river runoffs are applied 266 ! online configuration : computed in sbcrnf 267 IF( lk_offline ) THEN 268 nk_rnf(:,:) = 1 269 h_rnf (:,:) = fsdept(:,:,1) 270 ENDIF 271 249 272 ! dust input from the atmosphere 250 273 ! ------------------------------ … … 358 381 rivalkinput = 0._wp 359 382 END IF 360 361 383 ! nutrient input from dust 362 384 ! ------------------------ … … 410 432 CALL iom_close( numiron ) 411 433 ! 412 DO jk = 1, 5 434 ik50 = 5 ! last level where depth less than 50 m 435 DO jk = jpkm1, 1, -1 436 IF( gdept_1d(jk) > 50. ) ik50 = jk - 1 437 END DO 438 IF (lwp) WRITE(numout,*) 439 IF (lwp) WRITE(numout,*) ' Level corresponding to 50m depth ', ik50,' ', gdept_1d(ik50+1) 440 IF (lwp) WRITE(numout,*) 441 DO jk = 1, ik50 413 442 DO jj = 2, jpjm1 414 443 DO ji = fs_2, fs_jpim1 … … 421 450 END DO 422 451 END DO 423 IF( cp_cfg == 'orca' .AND. jp_cfg == 2 ) THEN 424 ii0 = 176 ; ii1 = 176 ! Southern Island : Kerguelen 425 ij0 = 37 ; ij1 = 37 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 426 ! 427 ii0 = 119 ; ii1 = 119 ! South Georgia 428 ij0 = 29 ; ij1 = 29 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 429 ! 430 ii0 = 111 ; ii1 = 111 ! Falklands 431 ij0 = 35 ; ij1 = 35 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 432 ! 433 ii0 = 168 ; ii1 = 168 ! Crozet 434 ij0 = 40 ; ij1 = 40 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 435 ! 436 ii0 = 119 ; ii1 = 119 ! South Orkney 437 ij0 = 28 ; ij1 = 28 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 438 ! 439 ii0 = 140 ; ii1 = 140 ! Bouvet Island 440 ij0 = 33 ; ij1 = 33 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 441 ! 442 ii0 = 178 ; ii1 = 178 ! Prince edwards 443 ij0 = 34 ; ij1 = 34 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 444 ! 445 ii0 = 43 ; ii1 = 43 ! Balleny islands 446 ij0 = 21 ; ij1 = 21 ; zcmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1), 1:jpk ) = 0.3_wp 447 ENDIF 452 ! 448 453 CALL lbc_lnk( zcmask , 'T', 1. ) ! lateral boundary conditions on cmask (sign unchanged) 454 ! 449 455 DO jk = 1, jpk 450 456 DO jj = 1, jpj … … 514 520 515 521 !!====================================================================== 516 END MODULE 522 END MODULE p4zsbc
Note: See TracChangeset
for help on using the changeset viewer.