- Timestamp:
- 2016-10-21T15:02:54+02:00 (8 years ago)
- Location:
- branches/UKMO/AMM15_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/AMM15_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90
r6928 r7062 1087 1087 DO ib = 1, idx_bdy(ib_bdy)%nblen(igrd) 1088 1088 nbr => idx_bdy(ib_bdy)%nbr(ib,igrd) 1089 idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( FLOAT( nbr - 1 ) *0.5 ) ! tanh formulation 1089 idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( FLOAT( nbr - 1 ) * 0.5 & 1090 & *(10./ FLOAT(nn_rimwidth(ib_bdy))) ) ! JGraham:modified for rim=15 1091 ! idx_bdy(ib_bdy)%nbw(ib,igrd) = 1.- TANH( FLOAT( nbr - 1 ) *0.5 ) ! tanh formulation 1090 1092 ! idx_bdy(ib_bdy)%nbw(ib,igrd) = (FLOAT(nn_rimwidth(ib_bdy)+1-nbr)/FLOAT(nn_rimwidth(ib_bdy)))**2. ! quadratic 1091 1093 ! idx_bdy(ib_bdy)%nbw(ib,igrd) = FLOAT(nn_rimwidth(ib_bdy)+1-nbr)/FLOAT(nn_rimwidth(ib_bdy)) ! linear -
branches/UKMO/AMM15_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90
r6928 r7062 209 209 ptsd(:,:,:,jp_sal) = sf_tsd(jp_sal)%fnow(:,:,:) 210 210 ! 211 IF( ln_sco ) THEN !== s- or mixed s-zps-coordinate ==!211 IF( ln_sco .and. 1==0) THEN !== s- or mixed s-zps-coordinate ==! 212 212 ! 213 213 CALL wrk_alloc( jpk, ztp, zsp ) -
branches/UKMO/AMM15_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/tide.h90
r4292 r7062 28 28 Wave(18) = tide( 'L2' , 0.006694 , 2 , 2 , -1 , 2 , -1 , 0 , +180 , 2 , -2 , 0 , 0 , 0 , 215 ) 29 29 Wave(19) = tide( 'T2' , 0.006614 , 2 , 2 , 0 , -1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) 30 ! 31 ! !! name_tide , equitide , nutide , nt , ns , nh , np , np1 , shift , nksi , nnu0 , nnu1 , nnu2 , R , formula !! 32 Wave(20) = tide( 'MNS2' , 0.000000 , 2 , 2 , -5 , 4 , 1 , 0 , 0 , 4 , -4 , 0 , 0 , 0 , 6 ) 33 Wave(21) = tide( 'Lam2' , 0.001760 , 2 , 2 , -1 , 0 , 1 , 0 , +180 , 2 , -2 , 0 , 0 , 0 , 78 ) 34 Wave(22) = tide( 'MSN2' , 0.000000 , 2 , 2 , 1 , 0 , 1 , 0 , 0 , 2 , -2 , 0 , 2 , 0 , 6 ) 35 Wave(23) = tide( '2SM2' , 0.000000 , 2 , 2 , 2 , -2 , 0 , 0 , 0 , -2 , 2 , 0 , 0 , 0 , 16 ) 36 Wave(24) = tide( 'MO3' , 0.000000 , 3 , 3 , -4 , 1 , 0 , 0 , +90 , 2 , -2 , 0 , 0 , 0 , 13 ) 37 Wave(25) = tide( 'MK3' , 0.000000 , 3 , 3 , -2 , 3 , 0 , 0 , -90 , 2 , -2 , -1 , 0 , 0 , 10 ) 38 Wave(26) = tide( 'MN4' , 0.000000 , 4 , 4 , -5 , 4 , 1 , 0 , 0 , 4 , -4 , 0 , 0 , 0 , 1 ) 39 Wave(27) = tide( 'MS4' , 0.000000 , 4 , 4 , -2 , 2 , 0 , 0 , 0 , 2 , -2 , 0 , 0 , 0 , 2 ) 40 Wave(28) = tide( 'M6' , 0.000000 , 6 , 6 , -6 , 6 , 0 , 0 , 0 , 6 , -6 , 0 , 0 , 0 , 4 ) 41 Wave(29) = tide( '2MS6' , 0.000000 , 6 , 6 , -4 , 4 , 0 , 0 , 0 , 4 , -4 , 0 , 0 , 0 , 6 ) 42 Wave(30) = tide( '2MK6' , 0.000000 , 6 , 6 , -4 , 6 , 0 , 0 , 0 , 4 , -4 , 0 , -2 , 0 , 5 ) 43 Wave(31) = tide( '3M2S2' , 0.000000 , 2 , 2 , -6 , 6 , 0 , 0 , 0 , 6 , -6 , 0 , 0 , 0 , 12 ) -
branches/UKMO/AMM15_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/tide_mod.F90
r6928 r7062 16 16 PUBLIC tide_init_Wave ! called by tideini and diaharm modules 17 17 18 INTEGER, PUBLIC, PARAMETER :: jpmax_harmo = 19!: maximum number of harmonic18 INTEGER, PUBLIC, PARAMETER :: jpmax_harmo = 31 !: maximum number of harmonic 19 19 20 20 TYPE, PUBLIC :: tide 21 CHARACTER(LEN= 4) :: cname_tide21 CHARACTER(LEN=5) :: cname_tide 22 22 REAL(wp) :: equitide 23 23 INTEGER :: nutide -
branches/UKMO/AMM15_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90
r6928 r7062 58 58 59 59 REAL(wp) :: rbcp ! Brown & Campana parameters for semi-implicit hpg 60 INTEGER :: warn_1, warn_2 ! indicators for warning statement 60 61 61 62 !! * Substitutions … … 93 94 INTEGER, INTENT(in) :: kt ! ocean time-step index 94 95 !! 95 INTEGER :: jk, jn ! dummy loop indices96 REAL(wp) :: zfact ! local scalars96 INTEGER :: jk, jn, ji, jj ! dummy loop indices 97 REAL(wp) :: zfact, zfreeze ! local scalars 97 98 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdt, ztrds 98 99 !!---------------------------------------------------------------------- … … 120 121 IF( lk_bdy ) CALL bdy_tra( kt ) ! BDY open boundaries 121 122 #endif 122 123 124 #if ( ! defined key_lim3 && ! defined key_lim2 && ! key_cice ) 125 IF ( kt == nit000 ) warn_1=0 126 warn_2=0 127 DO jk = 1, jpkm1 128 DO jj = 1, jpj 129 DO ji = 1, jpi 130 IF ( tsa(ji,jj,jk,jp_tem) .lt. 0.0 ) THEN 131 ! calculate freezing point 132 zfreeze = ( -0.0575_wp + 1.710523E-3 * Sqrt(Abs(tsn(ji,jj,jk,jp_sal))) & 133 - 2.154996E-4 * tsn(ji,jj,jk,jp_sal) ) * tsn(ji,jj,jk,jp_sal) - 7.53E-4 * ( 10.0_wp + fsdept(ji,jj,jk) ) 134 IF ( tsa(ji,jj,jk,jp_tem) .lt. zfreeze ) THEN 135 tsa(ji,jj,jk,jp_tem)=zfreeze 136 warn_2=1 137 ENDIF 138 ENDIF 139 END DO 140 END DO 141 END DO 142 CALL mpp_max(warn_1) 143 CALL mpp_max(warn_2) 144 IF ( (warn_1 == 0) .and. (warn_2 /= 0) ) THEN 145 IF(lwp) THEN 146 CALL ctl_warn( ' Temperatures dropping below freezing point, ', & 147 & ' being forced to freezing point, no longer conservative' ) 148 ENDIF 149 warn_1=1 150 ENDIF 151 #endif 152 123 153 ! set time step size (Euler/Leapfrog) 124 154 IF( neuler == 0 .AND. kt == nit000 ) THEN ; r2dtra(:) = rdttra(:) ! at nit000 (Euler)
Note: See TracChangeset
for help on using the changeset viewer.