- Timestamp:
- 2020-08-03T11:46:38+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13333_TOP-05_Ethe_Agrif/src/TOP/PISCES/P4Z/p4zopt.F90
r13333 r13373 32 32 REAL(wp) :: xsi0r ! 1. /rn_si0 33 33 34 INTEGER :: nksr1 ! levels below which the light cannot penetrate ( depth larger than 391 m) 35 34 36 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_par ! structure of input par 35 INTEGER , PARAMETER :: nbtimes = 366 !: maximum number of times record in a file36 INTEGER :: ntimes_par ! number of time steps in a file37 37 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: par_varsw ! PAR fraction of shortwave 38 38 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: ekb, ekg, ekr ! wavelength (Red-Green-Blue) … … 279 279 pe3(:,:,1) = zqsr(:,:) 280 280 ! 281 DO jk = 2, nksr + 1 282 DO jj = 1, jpj 283 DO ji = 1, jpi 284 pe0(ji,jj,jk) = pe0(ji,jj,jk-1) * EXP( -e3t(ji,jj,jk-1,Kmm) * xsi0r ) 285 pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -ekb (ji,jj,jk-1 ) ) 286 pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -ekg (ji,jj,jk-1 ) ) 287 pe3(ji,jj,jk) = pe3(ji,jj,jk-1) * EXP( -ekr (ji,jj,jk-1 ) ) 288 END DO 289 ! 290 END DO 291 ! 292 END DO 281 DO_3D( 1, 1, 1, 1, 2, nksr1 ) 282 pe0(ji,jj,jk) = pe0(ji,jj,jk-1) * EXP( -e3t(ji,jj,jk-1,Kmm) * xsi0r ) 283 pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -ekb (ji,jj,jk-1 ) ) 284 pe2(ji,jj,jk) = pe2(ji,jj,jk-1) * EXP( -ekg (ji,jj,jk-1 ) ) 285 pe3(ji,jj,jk) = pe3(ji,jj,jk-1) * EXP( -ekr (ji,jj,jk-1 ) ) 286 END_3D 293 287 ! 294 288 ELSE ! T- level … … 331 325 ! Compute par_varsw at nit000 or only if there is more than 1 time record in par coefficient file 332 326 IF( ln_varpar ) THEN 333 IF( kt == nit000 .OR. ( kt /= nit000 .AND. ntimes_par > 1 ) ) THEN 334 CALL fld_read( kt, 1, sf_par ) 335 par_varsw(:,:) = ( sf_par(1)%fnow(:,:,1) ) / 3.0 336 ENDIF 327 CALL fld_read( kt, 1, sf_par ) 328 par_varsw(:,:) = ( sf_par(1)%fnow(:,:,1) ) / 3.0 337 329 ENDIF 338 330 ! … … 377 369 xparsw = parlux / 3.0 378 370 xsi0r = 1.e0 / rn_si0 371 nksr1 = nksr + 1 379 372 ! 380 373 ! Variable PAR at the surface of the ocean … … 392 385 ALLOCATE( sf_par(1)%fnow(jpi,jpj,1) ) 393 386 IF( sn_par%ln_tint ) ALLOCATE( sf_par(1)%fdta(jpi,jpj,1,2) ) 394 395 CALL iom_open ( TRIM( sn_par%clname ) , numpar )396 ntimes_par = iom_getszuld( numpar ) ! get number of record in file397 387 ENDIF 398 388 !
Note: See TracChangeset
for help on using the changeset viewer.