Changeset 5834
- Timestamp:
- 2015-10-26T15:38:10+01:00 (8 years ago)
- Location:
- branches/2015/dev_r5151_UKMO_ISF/NEMOGCM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/CONFIG/SHARED/namelist_ref
r5624 r5834 457 457 rn_gammat0 = 1.0e-4 ! gammat coefficient used in blk formula 458 458 rn_gammas0 = 1.0e-4 ! gammas coefficient used in blk formula 459 ! only for nn_isf = 1 460 nn_isfblk = 1 ! 1 ISOMIP ; 2 conservative (3 equation formulation, Jenkins et al. 1991 ??) 459 ! only for nn_isf = 1 or 4 461 460 rn_hisf_tbl = 30. ! thickness of the top boundary layer (Losh et al. 2008) 462 461 ! 0 => thickness of the tbl = thickness of the first wet cell 462 ! only for nn_isf = 1 463 nn_isfblk = 1 ! 1 ISOMIP ; 2 : 3 equation formulation, Jenkins et al. 1991 463 464 nn_gammablk = 1 ! 0 = cst Gammat (= gammat/s) 464 465 ! 1 = velocity dependend Gamma (u* * gammat/s) (Jenkins et al. 2010) -
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r5621 r5834 225 225 ! Surface value + ice shelf gradient 226 226 ! compute pressure due to ice shelf load (used to compute hpgi/j for all the level from 1 to miku/v) 227 ! divided by 2 later 227 228 ziceload = 0._wp 228 229 DO jj = 1, jpj … … 547 548 ! CALL eos(ztstop,risfdep,zrhdtop_oce) 548 549 550 !================================================================================== 551 !===== Compute surface value ===================================================== 552 !================================================================================== 549 553 DO jj = 2, jpjm1 550 554 DO ji = fs_2, fs_jpim1 ! vector opt. -
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r5828 r5834 255 255 CALL fld_read ( kt, nn_fsbc, sf_fwfisf ) 256 256 !CALL fld_read ( kt, nn_fsbc, sf_qisf ) 257 fwfisf(:,:) = sf_fwfisf(1)%fnow(:,:,1) 257 fwfisf(:,:) = sf_fwfisf(1)%fnow(:,:,1) ! fwf 258 258 qisf(:,:) = fwfisf(:,:) * lfusisf ! heat flux 259 !qisf(:,:) = sf_qisf(1)%fnow(:,:,1) 259 !qisf(:,:) = sf_qisf(1)%fnow(:,:,1) ! heat flux 260 260 stbl(:,:) = soce 261 261 … … 428 428 ! Crude approximation for pressure (but commonly used) 429 429 ! 1e-04 to convert from Pa to dBar 430 !CDIR COLLAPSE431 430 DO jj = 1, jpj 432 431 DO ji = 1, jpi … … 503 502 ENDIF 504 503 505 ! define if we need to iterate 504 ! define if we need to iterate (nn_gammablk 0/1 do not need iteration) 506 505 IF ( nn_gammablk .LT. 2 ) THEN ; lit = .FALSE. 507 506 ELSE … … 543 542 REAL(wp), DIMENSION(:,:), INTENT(in ) :: zqhisf, zqwisf 544 543 545 INTEGER :: ikt ! loop index546 INTEGER :: ji,jj 544 INTEGER :: ikt 545 INTEGER :: ji,jj ! loop index 547 546 REAL(wp), DIMENSION(:,:), POINTER :: zustar ! U, V at T point and friction velocity 548 547 REAL(wp) :: zdku, zdkv ! U, V shear … … 555 554 REAL(wp) :: zcoef ! temporary coef 556 555 REAL(wp) :: zdep 556 REAL(wp) :: zeps = 1.0e-20_wp 557 557 REAL(wp), PARAMETER :: zxsiN = 0.052 ! dimensionless constant 558 REAL(wp), PARAMETER :: epsln = 1.0e-20 ! a small positive number559 558 REAL(wp), PARAMETER :: znu = 1.95e-6 ! kinamatic viscosity of sea water (m2.s-1) 560 REAL(wp) :: zeps = 1.0e-20_wp ! conversion: mm/s ==> m/s561 559 REAL(wp), DIMENSION(2) :: zts, zab 562 560 !!--------------------------------------------------------------------- … … 627 625 zhmax = fsdept(ji,jj,mbkt(ji,jj)) - fsdepw(ji,jj,mikt(ji,jj)) - 0.001_wp 628 626 ! Compute Monin obukhov length scale at the surface and Ekman depth: 629 zmob = zustar(ji,jj) ** 3 / (vkarmn * (zbuofdep + epsln))627 zmob = zustar(ji,jj) ** 3 / (vkarmn * (zbuofdep + zeps)) 630 628 zmols = SIGN(1._wp, zmob) * MIN(ABS(zmob), zhmax) * tmask(ji,jj,ikt) 631 629 … … 674 672 675 673 ! get first and last level of tbl 676 677 674 varout(:,:)=0._wp 678 675 IF (cptin == 'U') THEN … … 798 795 799 796 ! determine the deepest level influenced by the boundary layer 800 ! test on tmask useless ?????801 797 DO jk = ikt, mbkt(ji,jj) 802 798 IF ( (SUM(fse3t(ji,jj,ikt:jk-1)) .LT. rhisf_tbl(ji,jj)) .AND. (tmask(ji,jj,jk) == 1) ) ikb = jk … … 806 802 r1_hisf_tbl(ji,jj) = 1._wp / rhisf_tbl(ji,jj) 807 803 808 zhk = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj) 804 zhk = SUM( fse3t(ji, jj, ikt:ikb - 1)) * r1_hisf_tbl(ji,jj) ! proportion of tbl cover by cell from ikt to ikb - 1 809 805 ralpha(ji,jj) = rhisf_tbl(ji,jj) * (1._wp - zhk ) / fse3t(ji,jj,ikb) ! proportion of bottom cell influenced by boundary layer 810 806 END DO 811 807 END DO 812 END IF ! vvl case 813 ! 808 END IF 809 ! 810 !== ice shelf melting distributed over several levels ==! 814 811 DO jj = 1,jpj 815 812 DO ji = 1,jpi … … 824 821 phdivn(ji,jj,ikb) = phdivn(ji,jj,ikb) + ( fwfisf(ji,jj) & 825 822 & + fwfisf_b(ji,jj) ) * r1_hisf_tbl(ji,jj) * r1_rau0 * zfact * ralpha(ji,jj) 826 !== ice shelf melting mass distributed over several levels ==!827 823 END DO 828 824 END DO -
branches/2015/dev_r5151_UKMO_ISF/NEMOGCM/NEMO/OPA_SRC/TRA/zpshde.F90
r5216 r5834 208 208 !! levels are different for each grid point, so that T, S and rd 209 209 !! points are not at the same depth as in z-coord. To have horizontal 210 !! gradients again, we interpolate T and S at the good depth : 210 !! gradients again, we interpolate T and S at the good depth : 211 !! For the bottom case: 211 212 !! Linear interpolation of T, S 212 213 !! Computation of di(tb) and dj(tb) by vertical interpolation: … … 236 237 !! Gradient formulation for rho : 237 238 !! di(rho) = rd~ - rd(i,j,k) or rd(i+1,j,k) - rd~ 239 !! For the top case: As for the bottom case but upside down 238 240 !! 239 241 !! ** Action : compute for top and bottom interfaces
Note: See TracChangeset
for help on using the changeset viewer.