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 73 – NEMO

Changeset 73


Ignore:
Timestamp:
2004-04-22T14:24:13+02:00 (20 years ago)
Author:
opalod
Message:

CT : BUGFIX047 : Bug correction in mpp case, initialization to zero of rnfdta and zcoefr arrays

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/SBC/flxrnf.F90

    r18 r73  
    2828 
    2929   !! * Routine accessibility 
    30    PUBLIC flx_rnf          ! routine call by step.F90 
     30   PUBLIC flx_rnf          ! routine call in step module 
    3131 
    3232   !! * Shared module variables 
     
    3838      upsrnfz              !: mixed adv scheme in runoffs vicinity (vert.) 
    3939   INTEGER, PUBLIC ::   &  !: 
    40       numrof  = 48 ,    &  !: logical unit for runoff data 
    4140      nrunoff =  0 ,    &  !: runoff option (namelist) 
    4241      nrnf1, nrnf2         !: first and second record used 
     
    109108      INTEGER, DIMENSION(jpmois) ::     & 
    110109         istep                             ! temporary workspace 
    111       REAL(wp) ::   zdate0                 ! temporary scalars 
     110      REAL(wp) ::   zdate0, zdt            ! temporary scalars 
    112111      REAL(wp), DIMENSION(jpk) ::       & 
    113112         zlev                              ! temporary workspace 
     
    138137         CASE DEFAULT 
    139138            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' 
    141140            nstop = nstop + 1 
    142141 
     
    178177         ipj = jpjglo 
    179178         ipk = jpk 
     179         zdt = rdt 
    180180          
    181181         ! Open file 
     
    183183         IF( kt == nit000 ) THEN 
    184184            CALL flinopen( clname, mig(1), nlci, mjg(1), nlcj,    & 
    185                            .false., ipi, ipj, ipk, zlon,        & 
    186                            zlat, zlev, jpmois, istep, zdate0,   & 
    187                            rdt, numrof ) 
     185               &           .false., ipi, ipj, ipk, zlon,        & 
     186               &           zlat, zlev, jpmois, istep, zdate0,   & 
     187               &           zdt, numrnf ) 
    188188            !   Title, dimensions and tests 
    189189# if ! defined key_coupled 
     
    194194               nstop = nstop + 1 
    195195            ENDIF 
    196             IF(lwp) WRITE(numout,*) iman, istep, zdate0, rdt, numrof 
    197             IF(lwp) WRITE(numout,*) 'numrof=', numrof 
     196            IF(lwp) WRITE(numout,*) iman, istep, zdate0, rdt, numrnf 
     197            IF(lwp) WRITE(numout,*) 'numrnf=', numrnf 
    198198            IF(lwp) WRITE(numout,*) 'jpmois=', jpmois 
    199             IF(lwp) WRITE(numout,*) 'rdt=', rdt 
     199            IF(lwp) WRITE(numout,*) 'zdt=', zdt 
    200200# endif 
    201201            IF(ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= 1) THEN 
     
    240240             
    241241            ! 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) ) 
    247249 
    248250            IF(lwp) WRITE(numout,*) 
     
    257259         zxy = FLOAT( nday + idmeom - idbd * i15 ) / idbd 
    258260 
    259          runoff(:,:) = -( (1.-zxy)*rnfdta(:,:,1) + zxy*rnfdta(:,:,2) ) 
     261         runoff(:,:) = -( ( 1.e0 - zxy ) * rnfdta(:,:,1) + zxy * rnfdta(:,:,2) ) 
    260262 
    261263         ! Runoff reduction 
    262264         DO jj = 1, jpj 
    263265            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) 
    267267            END DO 
    268268         END DO 
     
    284284         !  coefr * upstream + (1- coefr) centered 
    285285         !  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) ) 
    289292 
    290293         IF(lwp) WRITE(numout,*) 
     
    362365      ! -------------------- 
    363366 
    364       IF( kt == nitend .AND. nrunoff >= 1 )   CALL flinclo( numrof ) 
     367      IF( kt == nitend .AND. nrunoff >= 1 )   CALL flinclo( numrnf ) 
    365368 
    366369   END SUBROUTINE flx_rnf 
Note: See TracChangeset for help on using the changeset viewer.