New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 13373 for NEMO/branches/2020/dev_r13333_TOP-05_Ethe_Agrif/src/TOP/PISCES/P4Z/p4zopt.F90 – NEMO

Ignore:
Timestamp:
2020-08-03T11:46:38+02:00 (4 years ago)
Author:
cetlod
Message:

TOP-05_Ethe_Agrif : 1st step of changes to successfully compile, see ticket #2508

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13333_TOP-05_Ethe_Agrif/src/TOP/PISCES/P4Z/p4zopt.F90

    r13333 r13373  
    3232   REAL(wp) ::   xsi0r       ! 1. /rn_si0 
    3333 
     34  INTEGER  ::   nksr1        ! levels below which the light cannot penetrate ( depth larger than 391 m) 
     35 
    3436   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_par      ! structure of input par 
    35    INTEGER , PARAMETER :: nbtimes = 366  !: maximum number of times record in a file 
    36    INTEGER  :: ntimes_par                ! number of time steps in a file 
    3737   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   par_varsw      ! PAR fraction of shortwave 
    3838   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   ekb, ekg, ekr  ! wavelength (Red-Green-Blue) 
     
    279279         pe3(:,:,1) = zqsr(:,:) 
    280280         ! 
    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 
    293287        ! 
    294288      ELSE   ! T- level 
     
    331325      ! Compute par_varsw at nit000 or only if there is more than 1 time record in par coefficient file 
    332326      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 
    337329      ENDIF 
    338330      ! 
     
    377369      xparsw = parlux / 3.0 
    378370      xsi0r  = 1.e0 / rn_si0 
     371      nksr1  = nksr + 1 
    379372      ! 
    380373      ! Variable PAR at the surface of the ocean 
     
    392385                                   ALLOCATE( sf_par(1)%fnow(jpi,jpj,1)   ) 
    393386         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 file 
    397387      ENDIF 
    398388      ! 
Note: See TracChangeset for help on using the changeset viewer.