Changeset 1025 for trunk/NEMO/OPA_SRC/SBC/sbcana.F90
- Timestamp:
- 2008-05-30T13:26:09+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SBC/sbcana.F90
r1000 r1025 66 66 !!---------------------------------------------------------------------- 67 67 INTEGER, INTENT(in) :: kt ! ocean time step 68 ! 68 !! 69 69 INTEGER :: ji, jj ! dummy loop indices 70 70 REAL(wp) :: zfacto ! local scalar 71 71 REAL(wp) :: ztx, zty, ztau ! local scalar 72 !! 73 NAMELIST/namsbc_ana/ nn_tau000, rn_utau0, rn_vtau0, rn_qns0, rn_qsr0, rn_emp0 72 74 !!--------------------------------------------------------------------- 73 NAMELIST/namsbc_ana/ nn_tau000, rn_utau0, rn_vtau0, rn_qns0, rn_qsr0, rn_emp074 75 ! 75 76 IF( kt == nit000 ) THEN … … 77 78 REWIND ( numnam ) ! Read Namelist namsbc : surface fluxes 78 79 READ ( numnam, namsbc_ana ) 79 80 ! 80 81 IF(lwp) WRITE(numout,*)' ' 81 82 IF(lwp) WRITE(numout,*)' sbc_ana : Constant surface fluxes read in namsbc_ana namelist' … … 87 88 IF(lwp) WRITE(numout,*)' solar heat flux rn_qsr0 = ', rn_qsr0 , ' W/m2' 88 89 IF(lwp) WRITE(numout,*)' net heat flux rn_emp0 = ', rn_emp0 , ' Kg/m2/s' 89 90 ! 90 91 nn_tau000 = MAX( nn_tau000, 1 ) ! must be >= 1 91 92 qns (:,:) = rn_qns0 … … 97 98 98 99 ! Increase the surface stress to its nominal value during the first nn_tau000 time-steps 99 100 100 IF( kt <= nn_tau000 ) THEN 101 101 zfacto = 0.5 * ( 1. - COS( rpi * FLOAT( kt ) / FLOAT( nn_tau000 ) ) ) … … 103 103 vtau(:,:) = zfacto * rn_vtau0 104 104 ENDIF 105 106 ! Estimation of wind speed as a function of wind stress ( |tau|=rhoa*Cd*|U|^2 ) 107 zfacto = 0.5 / ( rhoa * cdrag ) 108 !CDIR NOVERRCHK 109 DO jj = 2, jpjm1 110 !CDIR NOVERRCHK 111 DO ji = fs_2, fs_jpim1 ! vect. opt. 112 ztx = utau(ji-1,jj ) + utau(ji,jj) 113 zty = vtau(ji ,jj-1) + vtau(ji,jj) 114 ztau = SQRT( ztx * ztx + zty * zty ) 115 wndm(ji,jj) = SQRT ( ztau * zfacto ) * tmask(ji,jj,1) 116 END DO 117 END DO 118 CALL lbc_lnk( wndm(:,:) , 'T', 1. ) 105 119 ! 106 107 ! Estimation of wind speed as a function of wind stress108 !CDIR NOVERRCHK109 DO jj = 1, jpj110 !CDIR NOVERRCHK111 DO ji = 1, jpi112 ztx = utau(ji,jj) * umask(ji,jj,1)113 zty = vtau(ji,jj) * vmask(ji,jj,1)114 ztau = SQRT( ztx * ztx + zty * zty )115 wndm(ji,jj) = SQRT ( ztau / ( rhoa * cdrag ) )116 ENDDO117 ENDDO118 119 120 END SUBROUTINE sbc_ana 120 121 … … 151 152 REAL(wp) :: zcos_sais1, zcos_sais2, ztrp, zconv, t_star 152 153 REAL(wp) :: zsumemp, zsurf 153 REAL(wp) :: ztx, zty 154 REAL(wp) :: ztx, zty, zfacto 154 155 !!--------------------------------------------------------------------- 155 156 … … 268 269 END DO 269 270 270 ! Estimation of wind speed as a function of wind stress 271 ! Estimation of wind speed as a function of wind stress ( |tau|=rhoa*Cd*|U|^2 ) 272 zfacto = 0.5 / ( rhoa * cdrag ) 271 273 !CDIR NOVERRCHK 272 DO jj = 1, jpj274 DO jj = 2, jpjm1 273 275 !CDIR NOVERRCHK 274 DO ji = 1, jpi275 ztx = utau(ji,jj) * umask(ji,jj,1)276 zty = vtau(ji,jj) * vmask(ji,jj,1)276 DO ji = fs_2, fs_jpim1 ! vect. opt. 277 ztx = utau(ji-1,jj ) + utau(ji,jj) 278 zty = vtau(ji ,jj-1) + vtau(ji,jj) 277 279 ztau = SQRT( ztx * ztx + zty * zty ) 278 wndm(ji,jj) = SQRT ( ztau / ( rhoa * cdrag ) ) 279 ENDDO 280 ENDDO 280 wndm(ji,jj) = SQRT ( ztau * zfacto ) * tmask(ji,jj,1) 281 END DO 282 END DO 283 CALL lbc_lnk( wndm(:,:) , 'T', 1. ) 281 284 282 285 ! ---------------------------------- !
Note: See TracChangeset
for help on using the changeset viewer.