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 6225 for branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/OPA_SRC/DIA/diaharm.F90 – NEMO

Ignore:
Timestamp:
2016-01-08T10:35:19+01:00 (8 years ago)
Author:
jamesharle
Message:

Update MPP_BDY_UPDATE branch to be consistent with head of trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/OPA_SRC/DIA/diaharm.F90

    • Property svn:keywords set to Id
    r4683 r6225  
    1414   USE dom_oce         ! ocean space and time domain 
    1515   USE phycst 
    16    USE dynspg_oce 
    17    USE dynspg_ts 
    1816   USE daymod 
    1917   USE tide_mod 
     
    2321   USE ioipsl          ! NetCDF IPSL library 
    2422   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    25    USE diadimg         ! To write dimg 
    2623   USE timing          ! preformance summary 
    2724   USE wrk_nemo        ! working arrays 
     
    6057   !!---------------------------------------------------------------------- 
    6158   !! NEMO/OPA 3.5 , NEMO Consortium (2013) 
    62    !! $Id:$ 
     59   !! $Id$ 
    6360   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    6461   !!---------------------------------------------------------------------- 
     
    137134      DO jk=1,nb_ana 
    138135       DO ji=1,jpmax_harmo 
    139           IF (TRIM(tname(jk)) .eq. Wave(ji)%cname_tide) THEN 
     136          IF (TRIM(tname(jk)) == Wave(ji)%cname_tide) THEN 
    140137             name(jk) = ji 
    141138             EXIT 
     
    193190                  &    +(1.-MOD(jc,2))* ft(jh) *SIN(ana_freq(jh)*ztime + vt(jh) + ut(jh))) 
    194191 
    195                DO jj = 1, jpj 
    196                   DO ji = 1, jpi 
     192               DO jj = 1,jpj 
     193                  DO ji = 1,jpi 
    197194                     ! Elevation 
    198                      ana_temp(ji,jj,nhc,1) = ana_temp(ji,jj,nhc,1) + ztemp*sshn(ji,jj)           *tmask(ji,jj,1) 
    199 #if defined key_dynspg_ts 
    200                      ana_temp(ji,jj,nhc,2) = ana_temp(ji,jj,nhc,2) + ztemp*un_b(ji,jj)*hur(ji,jj)*umask(ji,jj,1) 
    201                      ana_temp(ji,jj,nhc,3) = ana_temp(ji,jj,nhc,3) + ztemp*vn_b(ji,jj)*hvr(ji,jj)*vmask(ji,jj,1) 
    202 #endif 
     195                     ana_temp(ji,jj,nhc,1) = ana_temp(ji,jj,nhc,1) + ztemp*sshn(ji,jj)*ssmask (ji,jj)         
     196                     ana_temp(ji,jj,nhc,2) = ana_temp(ji,jj,nhc,2) + ztemp*un_b(ji,jj)*ssumask(ji,jj) 
     197                     ana_temp(ji,jj,nhc,3) = ana_temp(ji,jj,nhc,3) + ztemp*vn_b(ji,jj)*ssvmask(ji,jj) 
    203198                  END DO 
    204199               END DO 
     
    294289               X1 = ana_amp(ji,jj,jh,1) 
    295290               X2 =-ana_amp(ji,jj,jh,2) 
    296                out_eta(ji,jj,jh       ) = X1 * tmask(ji,jj,1) 
    297                out_eta(ji,jj,jh+nb_ana) = X2 * tmask(ji,jj,1) 
     291               out_eta(ji,jj,jh       ) = X1 * tmask_i(ji,jj) 
     292               out_eta(ji,jj,jh+nb_ana) = X2 * tmask_i(ji,jj) 
    298293            END DO 
    299294         END DO 
     
    326321         DO ji = 1, jpi 
    327322            DO jh = 1, nb_ana  
    328                X1 = ana_amp(ji,jj,jh,1) 
    329                X2 =-ana_amp(ji,jj,jh,2) 
    330                out_u(ji,jj,jh       ) = X1 * umask(ji,jj,1) 
    331                out_u(ji,jj,nb_ana+jh) = X2 * umask(ji,jj,1) 
    332             END DO 
    333          END DO 
    334       END DO 
     323               X1= ana_amp(ji,jj,jh,1) 
     324               X2=-ana_amp(ji,jj,jh,2) 
     325               out_u(ji,jj,       jh) = X1 * ssumask(ji,jj) 
     326               out_u(ji,jj,nb_ana+jh) = X2 * ssumask(ji,jj) 
     327            ENDDO 
     328         ENDDO 
     329      ENDDO 
    335330 
    336331      ! vbar: 
     
    362357               X1=ana_amp(ji,jj,jh,1) 
    363358               X2=-ana_amp(ji,jj,jh,2) 
    364                out_v(ji,jj,jh)=X1 * vmask(ji,jj,1) 
    365                out_v(ji,jj,nb_ana+jh)=X2 * vmask(ji,jj,1) 
     359               out_v(ji,jj,       jh)=X1 * ssvmask(ji,jj) 
     360               out_v(ji,jj,nb_ana+jh)=X2 * ssvmask(ji,jj) 
    366361            END DO 
    367362         END DO 
     
    388383      !!---------------------------------------------------------------------- 
    389384 
    390 #if defined key_dimgout 
    391       cdfile_name_T = TRIM(cexper)//'_Tidal_harmonics_gridT.dimgproc' 
    392       cdfile_name_U = TRIM(cexper)//'_Tidal_harmonics_gridU.dimgproc' 
    393       cdfile_name_V = TRIM(cexper)//'_Tidal_harmonics_gridV.dimgproc' 
    394 #endif 
    395  
    396385      IF(lwp) WRITE(numout,*) '  ' 
    397386      IF(lwp) WRITE(numout,*) 'dia_wri_harm : Write harmonic analysis results' 
    398 #if defined key_dimgout 
    399       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~  Output files: ', TRIM(cdfile_name_T) 
    400       IF(lwp) WRITE(numout,*) '                             ', TRIM(cdfile_name_U) 
    401       IF(lwp) WRITE(numout,*) '                             ', TRIM(cdfile_name_V) 
    402 #endif 
    403387      IF(lwp) WRITE(numout,*) '  ' 
    404388 
     
    406390      !///////////// 
    407391      ! 
    408 #if defined key_dimgout 
    409       cltext='Elevation amplitude and phase' 
    410       CALL dia_wri_dimg(TRIM(cdfile_name_T), TRIM(cltext), out_eta, 2*nb_ana, '2') 
    411 #else 
    412392      DO jh = 1, nb_ana 
    413393      CALL iom_put( TRIM(tname(jh))//'x', out_eta(:,:,jh) ) 
    414394      CALL iom_put( TRIM(tname(jh))//'y', out_eta(:,:,nb_ana+jh) ) 
    415395      END DO 
    416 #endif 
    417396 
    418397      ! B) ubar 
    419398      !///////// 
    420399      ! 
    421 #if defined key_dimgout 
    422       cltext='ubar amplitude and phase' 
    423       CALL dia_wri_dimg(TRIM(cdfile_name_U), TRIM(cltext), out_u, 2*nb_ana, '2') 
    424 #else 
    425400      DO jh = 1, nb_ana 
    426401      CALL iom_put( TRIM(tname(jh))//'x_u', out_u(:,:,jh) ) 
    427402      CALL iom_put( TRIM(tname(jh))//'y_u', out_u(:,:,nb_ana+jh) ) 
    428403      END DO 
    429 #endif 
    430404 
    431405      ! C) vbar 
    432406      !///////// 
    433407      ! 
    434 #if defined key_dimgout 
    435       cltext='vbar amplitude and phase' 
    436       CALL dia_wri_dimg(TRIM(cdfile_name_V), TRIM(cltext), out_v, 2*nb_ana, '2') 
    437 #else 
    438408      DO jh = 1, nb_ana 
    439409         CALL iom_put( TRIM(tname(jh))//'x_v', out_v(:,:,jh       ) ) 
    440410         CALL iom_put( TRIM(tname(jh))//'y_v', out_v(:,:,jh+nb_ana) ) 
    441411      END DO 
    442 #endif 
    443412      ! 
    444413   END SUBROUTINE dia_wri_harm 
     
    492461            DO jj_sd = ji_sd, ninco 
    493462               zval2 = ABS(ztmp3(ji_sd,jj_sd)) 
    494                IF( zval2.GE.zval1 )THEN 
     463               IF( zval2 >= zval1 )THEN 
    495464                  ipivot(ji_sd) = jj_sd 
    496465                  zval1         = zval2 
Note: See TracChangeset for help on using the changeset viewer.