- Timestamp:
- 2016-10-21T15:02:54+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.