Changeset 73
- Timestamp:
- 2004-04-22T14:24:13+02:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SBC/flxrnf.F90
r18 r73 28 28 29 29 !! * Routine accessibility 30 PUBLIC flx_rnf ! routine call by step.F9030 PUBLIC flx_rnf ! routine call in step module 31 31 32 32 !! * Shared module variables … … 38 38 upsrnfz !: mixed adv scheme in runoffs vicinity (vert.) 39 39 INTEGER, PUBLIC :: & !: 40 numrof = 48 , & !: logical unit for runoff data41 40 nrunoff = 0 , & !: runoff option (namelist) 42 41 nrnf1, nrnf2 !: first and second record used … … 109 108 INTEGER, DIMENSION(jpmois) :: & 110 109 istep ! temporary workspace 111 REAL(wp) :: zdate0 110 REAL(wp) :: zdate0, zdt ! temporary scalars 112 111 REAL(wp), DIMENSION(jpk) :: & 113 112 zlev ! temporary workspace … … 138 137 CASE DEFAULT 139 138 IF(lwp) WRITE(numout,cform_err) 140 IF(lwp) WRITE(numout,*) ' Error nrunoff = ', nrunoff, ' /= 0, 1 or 2'139 IF(lwp) WRITE(numout,*) ' Error nrunoff = ', nrunoff, ' /= 0, 1 or 2' 141 140 nstop = nstop + 1 142 141 … … 178 177 ipj = jpjglo 179 178 ipk = jpk 179 zdt = rdt 180 180 181 181 ! Open file … … 183 183 IF( kt == nit000 ) THEN 184 184 CALL flinopen( clname, mig(1), nlci, mjg(1), nlcj, & 185 186 187 rdt, numrof )185 & .false., ipi, ipj, ipk, zlon, & 186 & zlat, zlev, jpmois, istep, zdate0, & 187 & zdt, numrnf ) 188 188 ! Title, dimensions and tests 189 189 # if ! defined key_coupled … … 194 194 nstop = nstop + 1 195 195 ENDIF 196 IF(lwp) WRITE(numout,*) iman, istep, zdate0, rdt, numr of197 IF(lwp) WRITE(numout,*) 'numr of=', numrof196 IF(lwp) WRITE(numout,*) iman, istep, zdate0, rdt, numrnf 197 IF(lwp) WRITE(numout,*) 'numrnf=', numrnf 198 198 IF(lwp) WRITE(numout,*) 'jpmois=', jpmois 199 IF(lwp) WRITE(numout,*) ' rdt=', rdt199 IF(lwp) WRITE(numout,*) 'zdt=', zdt 200 200 # endif 201 201 IF(ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= 1) THEN … … 240 240 241 241 ! Read monthly runoff data in kg/m2/s 242 243 CALL flinget(numrof,'sorunoff',jpidta,jpjdta,1,jpmois & 244 ,nrnf1,nrnf1,mig(1),nlci,mjg(1),nlcj,rnfdta(1:nlci,1:nlcj,1)) 245 CALL flinget(numrof,'sorunoff',jpidta,jpjdta,1,jpmois & 246 ,nrnf2,nrnf2,mig(1),nlci,mjg(1),nlcj,rnfdta(1:nlci,1:nlcj,2)) 242 !ibug 243 IF( kt == nit000 ) rnfdta(:,:,:) = 0.e0 244 !ibug 245 CALL flinget( numrnf, 'sorunoff', jpidta, jpjdta, 1, jpmois & 246 & , nrnf1, nrnf1, mig(1), nlci, mjg(1), nlcj, rnfdta(1:nlci,1:nlcj,1) ) 247 CALL flinget( numrnf, 'sorunoff', jpidta, jpjdta, 1, jpmois & 248 & , nrnf2, nrnf2, mig(1), nlci, mjg(1), nlcj, rnfdta(1:nlci,1:nlcj,2) ) 247 249 248 250 IF(lwp) WRITE(numout,*) … … 257 259 zxy = FLOAT( nday + idmeom - idbd * i15 ) / idbd 258 260 259 runoff(:,:) = -( ( 1.-zxy)*rnfdta(:,:,1) + zxy*rnfdta(:,:,2) )261 runoff(:,:) = -( ( 1.e0 - zxy ) * rnfdta(:,:,1) + zxy * rnfdta(:,:,2) ) 260 262 261 263 ! Runoff reduction 262 264 DO jj = 1, jpj 263 265 DO ji = 1, jpi 264 IF( gphit(ji,jj) > 40 .AND. gphit(ji,jj) < 65 ) THEN 265 runoff(ji,jj) = 0.85 * runoff(ji,jj) 266 ENDIF 266 IF( gphit(ji,jj) > 40 .AND. gphit(ji,jj) < 65 ) runoff(ji,jj) = 0.85 * runoff(ji,jj) 267 267 END DO 268 268 END DO … … 284 284 ! coefr * upstream + (1- coefr) centered 285 285 ! coefr must be between 0 and 1. 286 287 CALL flinget(numrof,'socoefr',jpidta,jpjdta,1,jpmois,nrnf1 & 288 ,nrnf1,mig(1),nlci,mjg(1),nlcj,zcoefr(1:nlci,1:nlcj)) 286 !ibug 287 zcoefr(:,:) = 0.e0 288 !ibug 289 290 CALL flinget( numrnf, 'socoefr', jpidta, jpjdta, 1, jpmois, nrnf1, & 291 & nrnf1, mig(1), nlci, mjg(1), nlcj, zcoefr(1:nlci,1:nlcj) ) 289 292 290 293 IF(lwp) WRITE(numout,*) … … 362 365 ! -------------------- 363 366 364 IF( kt == nitend .AND. nrunoff >= 1 ) CALL flinclo( numr of )367 IF( kt == nitend .AND. nrunoff >= 1 ) CALL flinclo( numrnf ) 365 368 366 369 END SUBROUTINE flx_rnf
Note: See TracChangeset
for help on using the changeset viewer.