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

Changeset 15590


Ignore:
Timestamp:
2021-12-10T09:35:28+01:00 (2 years ago)
Author:
hadjt
Message:

diaharm_fast tidal current parameters disabled

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/DIA/diaharm_fast.F90

    r15589 r15590  
    379379      ln_diaharm_store = .TRUE. 
    380380 
     381      ln_diaharm_postproc_vel = .FALSE. 
     382 
    381383      IF(lwp) WRITE(numout,*) 
    382384      IF(lwp) WRITE(numout,*) 'harm_init : initialization of harmonic analysis of tides' 
     
    763765 
    764766 
    765       IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
    766          ALLOCATE( amp_u2d(jh,jpi,jpj),amp_v2d(jh,jpi,jpj),phi_u2d(jh,jpi,jpj),phi_v2d(jh,jpi,jpj) ) 
    767  
    768  
    769          ALLOCATE(tmp_u_amp_mat(jpi,jpj),tmp_v_amp_mat(jpi,jpj),tmp_u_phi_mat(jpi,jpj),tmp_v_phi_mat(jpi,jpj)) 
    770 !         ALLOCATE(a_u_mat(jpi,jpj),b_u_mat(jpi,jpj),a_v_mat(jpi,jpj),b_v_mat(jpi,jpj)) 
    771 !         ALLOCATE(qmax_mat(jpi,jpj),qmin_mat(jpi,jpj),ecc_mat(jpi,jpj)) 
    772 !         ALLOCATE(thetamax_mat(jpi,jpj),thetamin_mat(jpi,jpj),Qc_mat(jpi,jpj),Qac_mat(jpi,jpj)) 
    773 !         ALLOCATE(gc_mat(jpi,jpj),gac_mat(jpi,jpj),Phi_Ua_mat(jpi,jpj),dir_Ua_mat(jpi,jpj),polarity_mat(jpi,jpj)) 
    774  
    775       endif 
     767!      IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
     768!         ALLOCATE( amp_u2d(jh,jpi,jpj),amp_v2d(jh,jpi,jpj),phi_u2d(jh,jpi,jpj),phi_v2d(jh,jpi,jpj) ) 
     769 
     770 
     771!         ALLOCATE(tmp_u_amp_mat(jpi,jpj),tmp_v_amp_mat(jpi,jpj),tmp_u_phi_mat(jpi,jpj),tmp_v_phi_mat(jpi,jpj)) 
     772!!         ALLOCATE(a_u_mat(jpi,jpj),b_u_mat(jpi,jpj),a_v_mat(jpi,jpj),b_v_mat(jpi,jpj)) 
     773!!         ALLOCATE(qmax_mat(jpi,jpj),qmin_mat(jpi,jpj),ecc_mat(jpi,jpj)) 
     774!!         ALLOCATE(thetamax_mat(jpi,jpj),thetamin_mat(jpi,jpj),Qc_mat(jpi,jpj),Qac_mat(jpi,jpj)) 
     775!!         ALLOCATE(gc_mat(jpi,jpj),gac_mat(jpi,jpj),Phi_Ua_mat(jpi,jpj),dir_Ua_mat(jpi,jpj),polarity_mat(jpi,jpj)) 
     776 
     777!      endif 
    776778 
    777779      do jgrid=1,nvar_2d 
     
    829831 
    830832 
    831              IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
    832  
    833                !IF (m_posi_2d(jgrid) == 2) THEN 
    834                IF (TRIM(suffix) == TRIM('u2d')) THEN 
    835                   if (lwp)  WRITE(numout,*) "harm_ana_out ln_diaharm_postproc_vel: "//TRIM(Wave(ntide_all(jh))%cname_tide)//' u2d  '//TRIM(suffix) 
    836                   amp_u2d(jh,:,:) = h_out2D(:,:) 
    837                   phi_u2d(jh,:,:) = rpi*g_out2D(:,:)/180.0 
    838                ENDIF 
    839  
    840                !IF (m_posi_2d(jgrid) == 3) THEN 
    841                IF (TRIM(suffix) == TRIM('v2d')) THEN 
    842                   if (lwp)  WRITE(numout,*) "harm_ana_out ln_diaharm_postproc_vel: "//TRIM(Wave(ntide_all(jh))%cname_tide)//' v2d  '//TRIM(suffix) 
    843                   amp_v2d(jh,:,:) = h_out2D(:,:) 
    844                   phi_v2d(jh,:,:) = rpi*g_out2D(:,:)/180.0 
    845                ENDIF 
    846              ENDIF 
    847  
    848              CALL FLUSH(numout) 
     833!             IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
     834 
     835!               !IF (m_posi_2d(jgrid) == 2) THEN 
     836!               IF (TRIM(suffix) == TRIM('u2d')) THEN 
     837!                  if (lwp)  WRITE(numout,*) "harm_ana_out ln_diaharm_postproc_vel: "//TRIM(Wave(ntide_all(jh))%cname_tide)//' u2d  '//TRIM(suffix) 
     838!                  amp_u2d(jh,:,:) = h_out2D(:,:) 
     839!                  phi_u2d(jh,:,:) = rpi*g_out2D(:,:)/180.0 
     840!               ENDIF 
     841 
     842!               !IF (m_posi_2d(jgrid) == 3) THEN 
     843!               IF (TRIM(suffix) == TRIM('v2d')) THEN 
     844!                  if (lwp)  WRITE(numout,*) "harm_ana_out ln_diaharm_postproc_vel: "//TRIM(Wave(ntide_all(jh))%cname_tide)//' v2d  '//TRIM(suffix) 
     845!                  amp_v2d(jh,:,:) = h_out2D(:,:) 
     846!                  phi_v2d(jh,:,:) = rpi*g_out2D(:,:)/180.0 
     847!               ENDIF 
     848!             ENDIF 
     849 
     850!             CALL FLUSH(numout) 
    849851 
    850852 
     
    934936     CALL FLUSH(numout) 
    935937 
    936       IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
    937          IF(lwp) WRITE(numout,*) "diaharm_fast: Postprocess barotropic velocity tidal parameters" 
    938          CALL FLUSH(numout) 
    939          DO jh=1,nb_ana 
    940  
    941  
    942             tmp_u_amp_mat(:,:) = 0. 
    943             tmp_v_amp_mat(:,:) = 0. 
    944             tmp_u_phi_mat(:,:) = 0. 
    945             tmp_v_phi_mat(:,:) = 0. 
    946  
    947 !            a_u_mat(:,:) = 0. 
    948 !            b_u_mat(:,:) = 0. 
    949 !            a_v_mat(:,:) = 0. 
    950 !            b_v_mat(:,:) = 0. 
    951  
    952 !            qmax_mat(:,:) = 0. 
    953 !            qmin_mat(:,:) = 0. 
    954  
    955 !            ecc_mat(:,:) = 0 
    956 !            thetamax_mat(:,:) =0. 
    957 !            thetamin_mat(:,:) = 0. 
    958  
    959 !            Qc_mat(:,:) = 0. 
    960 !            Qac_mat(:,:) = 0. 
    961 !            gc_mat(:,:) = 0. 
    962 !            gac_mat(:,:) = 0. 
    963  
    964 !            Phi_Ua_mat(:,:) = 0. 
    965 !            dir_Ua_mat(:,:) = 0. 
    966 !            polarity_mat(:,:) = 0. 
    967  
    968  
    969 !             DO jj = 2, nlcj - 1 
    970 !                DO ji = 2, nlci - 1 
    971  
    972 !             do jj=2,nlcj 
    973 !                do ji=2,nlci 
    974                     !IF ((ssumask(ji,jj) + ssumask(ji-1,jj)) == 0 ) CYCLE 
    975                     !IF ((ssvmask(ji,jj) + ssvmask(ji,jj-1)) == 0 ) CYCLE 
    976  
    977 !                    IF ( ((ssumask(ji,jj) + ssumask(ji-1,jj)) > 0 ) .AND. ((ssvmask(ji,jj) + ssvmask(ji,jj-1)) > 0 ) ) THEN 
    978 !                        tmp_u_amp = ((amp_u2d(jh,ji,jj)*ssumask(ji,jj)) + (amp_u2d(jh,ji-1,jj)*ssumask(ji-1,jj)))/(ssumask(ji,jj) + ssumask(ji-1,jj)) 
    979 !                        tmp_v_amp = ((amp_v2d(jh,ji,jj)*ssvmask(ji,jj)) + (amp_v2d(jh,ji,jj-1)*ssvmask(ji,jj-1)))/(ssvmask(ji,jj) + ssvmask(ji,jj-1)) 
     938!      IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
     939!         IF(lwp) WRITE(numout,*) "diaharm_fast: Postprocess barotropic velocity tidal parameters" 
     940!         CALL FLUSH(numout) 
     941!         DO jh=1,nb_ana 
     942 
     943 
     944!            tmp_u_amp_mat(:,:) = 0. 
     945!            tmp_v_amp_mat(:,:) = 0. 
     946!            tmp_u_phi_mat(:,:) = 0. 
     947!            tmp_v_phi_mat(:,:) = 0. 
     948 
     949!!            a_u_mat(:,:) = 0. 
     950!!            b_u_mat(:,:) = 0. 
     951!!            a_v_mat(:,:) = 0. 
     952!!            b_v_mat(:,:) = 0. 
     953 
     954!!            qmax_mat(:,:) = 0. 
     955!!            qmin_mat(:,:) = 0. 
     956 
     957!!            ecc_mat(:,:) = 0 
     958!!            thetamax_mat(:,:) =0. 
     959!!            thetamin_mat(:,:) = 0. 
     960 
     961!!            Qc_mat(:,:) = 0. 
     962!!            Qac_mat(:,:) = 0. 
     963!!            gc_mat(:,:) = 0. 
     964!!            gac_mat(:,:) = 0. 
     965 
     966!!            Phi_Ua_mat(:,:) = 0. 
     967!!            dir_Ua_mat(:,:) = 0. 
     968!!            polarity_mat(:,:) = 0. 
     969 
     970 
     971!!             DO jj = 2, nlcj - 1 
     972!!                DO ji = 2, nlci - 1 
     973 
     974!!             do jj=2,nlcj 
     975!!                do ji=2,nlci 
     976!                    !IF ((ssumask(ji,jj) + ssumask(ji-1,jj)) == 0 ) CYCLE 
     977!                    !IF ((ssvmask(ji,jj) + ssvmask(ji,jj-1)) == 0 ) CYCLE 
     978 
     979!!                    IF ( ((ssumask(ji,jj) + ssumask(ji-1,jj)) > 0 ) .AND. ((ssvmask(ji,jj) + ssvmask(ji,jj-1)) > 0 ) ) THEN 
     980!!                        tmp_u_amp = ((amp_u2d(jh,ji,jj)*ssumask(ji,jj)) + (amp_u2d(jh,ji-1,jj)*ssumask(ji-1,jj)))/(ssumask(ji,jj) + ssumask(ji-1,jj)) 
     981!!                        tmp_v_amp = ((amp_v2d(jh,ji,jj)*ssvmask(ji,jj)) + (amp_v2d(jh,ji,jj-1)*ssvmask(ji,jj-1)))/(ssvmask(ji,jj) + ssvmask(ji,jj-1)) 
     982!!                        ! WORK ON THE WRAP AROUND 
     983!!                        tmp_u_phi = ((phi_u2d(jh,ji,jj)*ssumask(ji,jj)) + (phi_u2d(jh,ji-1,jj)*ssumask(ji-1,jj)))/(ssumask(ji,jj) + ssumask(ji-1,jj)) 
     984!!                        tmp_v_phi = ((phi_v2d(jh,ji,jj)*ssvmask(ji,jj)) + (phi_v2d(jh,ji,jj-1)*ssvmask(ji,jj-1)))/(ssvmask(ji,jj) + ssvmask(ji,jj-1)) 
     985 
     986!             do jj=1,nlcj 
     987!                do ji=1,nlci 
     988 
     989!!                        tmp_u_amp = ((amp_u2d(jh,ji,jj)) + (amp_u2d(jh,ji-1,jj)))/(2.) 
     990!!                        tmp_v_amp = ((amp_v2d(jh,ji,jj)) + (amp_v2d(jh,ji,jj-1)))/(2.) 
     991!!                        ! WORK ON THE WRAP AROUND 
     992!!                        tmp_u_phi = ((phi_u2d(jh,ji,jj)) + (phi_u2d(jh,ji-1,jj)))/(2.) 
     993!!                        tmp_v_phi = ((phi_v2d(jh,ji,jj)) + (phi_v2d(jh,ji,jj-1)))/(2.) 
     994 
     995 
     996 
     997!                        tmp_u_amp = (amp_u2d(jh,ji,jj))  
     998!                        tmp_v_amp = (amp_v2d(jh,ji,jj))  
    980999!                        ! WORK ON THE WRAP AROUND 
    981 !                        tmp_u_phi = ((phi_u2d(jh,ji,jj)*ssumask(ji,jj)) + (phi_u2d(jh,ji-1,jj)*ssumask(ji-1,jj)))/(ssumask(ji,jj) + ssumask(ji-1,jj)) 
    982 !                        tmp_v_phi = ((phi_v2d(jh,ji,jj)*ssvmask(ji,jj)) + (phi_v2d(jh,ji,jj-1)*ssvmask(ji,jj-1)))/(ssvmask(ji,jj) + ssvmask(ji,jj-1)) 
    983  
    984              do jj=1,nlcj 
    985                 do ji=1,nlci 
    986  
    987 !                        tmp_u_amp = ((amp_u2d(jh,ji,jj)) + (amp_u2d(jh,ji-1,jj)))/(2.) 
    988 !                        tmp_v_amp = ((amp_v2d(jh,ji,jj)) + (amp_v2d(jh,ji,jj-1)))/(2.) 
    989 !                        ! WORK ON THE WRAP AROUND 
    990 !                        tmp_u_phi = ((phi_u2d(jh,ji,jj)) + (phi_u2d(jh,ji-1,jj)))/(2.) 
    991 !                        tmp_v_phi = ((phi_v2d(jh,ji,jj)) + (phi_v2d(jh,ji,jj-1)))/(2.) 
    992  
    993  
    994  
    995                         tmp_u_amp = (amp_u2d(jh,ji,jj))  
    996                         tmp_v_amp = (amp_v2d(jh,ji,jj))  
    997                         ! WORK ON THE WRAP AROUND 
    998                         tmp_u_phi = (phi_u2d(jh,ji,jj))  
    999                         tmp_v_phi = (phi_v2d(jh,ji,jj))  
    1000  
    1001  
    1002  
    1003 !                        a_u = tmp_U_amp * cos(tmp_U_phi) 
    1004 !                        b_u = tmp_U_amp * sin(tmp_U_phi) 
    1005 !                        a_v = tmp_V_amp * cos(tmp_V_phi) 
    1006 !                        b_v = tmp_V_amp * sin(tmp_V_phi) 
    1007  
    1008 !                        twodelta =  atan2( (tmp_V_amp**2  * sin( 2*(tmp_U_phi - tmp_V_phi)  ) ) , (   tmp_U_amp**2   +   tmp_V_amp**2  * cos( 2*(tmp_U_phi - tmp_V_phi)  )     ) ) 
    1009 !                        delta = twodelta/2. 
    1010  
    1011 !                        !alpha2 = sqrt( tmp_U_amp**4 + tmp_V_amp**4 + 2*tmp_U_amp**2*tmp_V_amp**2*cos(2*(tmp_U_phi - tmp_V_phi))  ) 
    1012  
    1013 !                        tmpreal = tmp_U_amp**4 + tmp_V_amp**4 + 2*tmp_U_amp**2*tmp_V_amp**2*cos(2*(tmp_U_phi - tmp_V_phi))  
    1014 !                        if (tmpreal < 0) CYCLE 
    1015 !                        alpha2 = sqrt( tmp_U_amp**4 + tmp_V_amp**4 + 2*tmp_U_amp**2*tmp_V_amp**2*cos(2*(tmp_U_phi - tmp_V_phi))  ) 
    1016 !                        if (alpha2 < 0) CYCLE 
    1017 !                        alpha= sqrt( alpha2 ) 
    1018  
    1019  
    1020 !                        !major and minor axis of the ellipse 
    1021 !                        !qmax = sqrt( (tmp_U_amp**2 + tmp_V_amp**2 + alpha**2)/2 ) 
    1022 !                        !tmpreal =  (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 
    1023 !                        !qmin = 0 
    1024 !                        !if (tmpreal > 0) qmin = sqrt( (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 )   ! but always positive. 
    1025  
    1026 !                        tmpreal =  (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 
    1027 !                        if (tmpreal < 0) CYCLE 
    1028 !                        qmin = sqrt( (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 )   ! but always positive. 
    1029  
    1030 !                        !eccentricity of ellipse 
    1031 !                        ecc = (qmax - qmin)/(qmax + qmin) 
    1032 !                        ! Angle of major and minor ellipse 
    1033 !                        thetamax = atan2((  tmp_V_amp * cos((tmp_U_phi - tmp_V_phi) - delta)   ) , ( tmp_U_amp * cos( delta) )  ) 
    1034 !                        thetamin = thetamax + rpi/2. 
    1035  
    1036  
    1037  
    1038 !                        ! Rotary current components: Pugh A3.10 
    1039 !                        ! Clockwise (c) and anticlockwise (ac) rotating rotate_wind_vectors 
    1040 !                        ! so   Qc = clockwise     = anticyclonic = negative 
    1041 !                        ! and Qac = anticlockwise = cyclonic     = negative 
    1042  
    1043 !                        tmpreal = tmp_U_amp**2 + tmp_V_amp**2 - (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi)) 
    1044 !                        if (tmpreal < 0) CYCLE 
    1045 !                        Qc  = 0.5*sqrt( tmp_U_amp**2 + tmp_V_amp**2 - (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi))  ) 
    1046  
    1047 !                        tmpreal = tmp_U_amp**2 + tmp_V_amp**2 + (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi))  
    1048 !                        if (tmpreal < 0) CYCLE 
    1049 !                        Qac = 0.5*sqrt( tmp_U_amp**2 + tmp_V_amp**2 + (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi))  ) 
    1050  
    1051  
    1052 !                        gc  = atan2(  (  (  tmp_U_amp*sin( tmp_U_phi ) ) +  (tmp_V_amp*cos( tmp_V_phi)  ) )  ,  (  (tmp_U_amp*cos( tmp_U_phi ))  -  (tmp_V_amp*sin( tmp_V_phi ))  )  ) 
    1053 !                        gac = atan2(  (  ( -tmp_U_amp*sin( tmp_U_phi ) ) +  (tmp_V_amp*cos( tmp_V_phi)  ) )  ,  (  (tmp_U_amp*cos( tmp_U_phi ))  +  (tmp_V_amp*sin( tmp_V_phi ))  )  ) 
    1054  
    1055 !                        !Pugh A3.2 
    1056 !                        Phi_Ua = -0.5*(gac - gc) 
    1057 !                        dir_Ua = 0.5*(gac + gc)  ! positive from x axis 
    1058 !                        polarity = (Qac - Qc)/qmax 
    1059  
    1060  
    1061  
    1062                         tmp_u_amp_mat(ji,jj) = tmp_u_amp 
    1063                         tmp_v_amp_mat(ji,jj) = tmp_v_amp 
    1064                         tmp_u_phi_mat(ji,jj) = tmp_u_phi 
    1065                         tmp_v_phi_mat(ji,jj) = tmp_v_phi 
    1066  
    1067  
    1068 !                        a_u_mat(ji,jj) = a_u 
    1069 !                        b_u_mat(ji,jj) = b_u 
    1070 !                        a_v_mat(ji,jj) = a_v 
    1071 !                        b_v_mat(ji,jj) = b_v 
    1072  
    1073 !                        qmax_mat(ji,jj) = qmax 
    1074 !                        qmin_mat(ji,jj) = qmin 
    1075  
    1076 !                        ecc_mat(ji,jj) = ecc 
    1077 !                        thetamax_mat(ji,jj) = thetamax 
    1078 !                        thetamin_mat(ji,jj) = thetamin 
    1079  
    1080 !                        Qc_mat(ji,jj) = Qc 
    1081 !                        Qac_mat(ji,jj) = Qac 
    1082 !                        gc_mat(ji,jj) = gc 
    1083 !                        gac_mat(ji,jj) = gac 
    1084  
    1085 !                        Phi_Ua_mat(ji,jj) = Phi_Ua 
    1086 !                        dir_Ua_mat(ji,jj) = dir_Ua 
    1087 !                        polarity_mat(ji,jj) = polarity 
    1088  
    1089 !                    ENDIF 
    1090                 END DO 
    1091              END DO 
    1092  
    1093  
    1094 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_u_amp_t_uvbar' 
    1095 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1096 !               IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1097 !               CALL iom_put( TRIM(tmp_name), tmp_u_amp_mat(:,:)) 
    1098 !            ENDIF 
    1099 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_v_amp_t_uvbar' 
    1100 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1101 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1102 !              CALL iom_put( TRIM(tmp_name), tmp_v_amp_mat(:,:)) 
    1103 !            ENDIF 
    1104 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_u_phi_t_uvbar' 
    1105 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1106 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1107 !              CALL iom_put( TRIM(tmp_name), tmp_u_phi_mat(:,:)) 
    1108 !            ENDIF 
    1109 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_v_phi_t_uvbar' 
    1110 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1111 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1112 !              CALL iom_put( TRIM(tmp_name), tmp_v_phi_mat(:,:)) 
    1113 !            ENDIF 
    1114  
    1115  
    1116  
    1117 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_a_u_uvbar' 
    1118 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1119 !               IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1120 !               CALL iom_put( TRIM(tmp_name), a_u_mat(:,:)) 
    1121 !            ENDIF 
    1122 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_a_v_uvbar' 
    1123 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1124 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1125 !              CALL iom_put( TRIM(tmp_name), a_v_mat(:,:)) 
    1126 !            ENDIF 
    1127 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_b_u_uvbar' 
    1128 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1129 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1130 !              CALL iom_put( TRIM(tmp_name), b_u_mat(:,:)) 
    1131 !            ENDIF 
    1132 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_b_v_uvbar' 
    1133 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1134 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1135 !              CALL iom_put( TRIM(tmp_name), b_v_mat(:,:)) 
    1136 !            ENDIF 
    1137  
    1138 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_qmax_uvbar' 
    1139 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1140 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1141 !              CALL iom_put( TRIM(tmp_name), qmax_mat(:,:)) 
    1142 !            ENDIF 
    1143 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_qmin_uvbar' 
    1144 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1145 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1146 !              CALL iom_put( TRIM(tmp_name), qmin_mat(:,:)) 
    1147 !            ENDIF 
    1148  
    1149 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_ecc_uvbar' 
    1150 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1151 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1152 !              CALL iom_put( TRIM(tmp_name), ecc_mat(:,:)) 
    1153 !            ENDIF 
    1154 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_thetamax_uvbar' 
    1155 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1156 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1157 !              CALL iom_put( TRIM(tmp_name), thetamax_mat(:,:)) 
    1158 !            ENDIF 
    1159 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_thetamin_uvbar' 
    1160 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1161 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1162 !              CALL iom_put( TRIM(tmp_name), thetamin_mat(:,:)) 
    1163 !            ENDIF 
    1164  
    1165 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_Qc_uvbar' 
    1166 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1167 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1168 !              CALL iom_put( TRIM(tmp_name), Qc_mat(:,:)) 
    1169 !            ENDIF 
    1170 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_Qac_uvbar' 
    1171 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1172 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1173 !              CALL iom_put( TRIM(tmp_name), Qac_mat(:,:)) 
    1174 !            ENDIF 
    1175 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_gc_uvbar' 
    1176 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1177 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1178 !              CALL iom_put( TRIM(tmp_name), gc_mat(:,:)) 
    1179 !            ENDIF 
    1180 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_gac_uvbar' 
    1181 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1182 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1183 !              CALL iom_put( TRIM(tmp_name), gac_mat(:,:)) 
    1184 !            ENDIF 
    1185  
    1186  
    1187 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_Phi_Ua_uvbar' 
    1188 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1189 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1190 !              CALL iom_put( TRIM(tmp_name), Phi_Ua_mat(:,:)) 
    1191 !            ENDIF 
    1192 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_dir_Ua_uvbar' 
    1193 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1194 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1195 !              CALL iom_put( TRIM(tmp_name), dir_Ua_mat(:,:)) 
    1196 !            ENDIF 
    1197 !            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_polarity_uvbar' 
    1198 !            IF( iom_use(TRIM(tmp_name)) ) THEN 
    1199 !              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
    1200 !              CALL iom_put( TRIM(tmp_name), polarity_mat(:,:)) 
    1201 !            ENDIF 
    1202  
    1203             tmp_u_amp_mat(:,:) = 0. 
    1204             tmp_v_amp_mat(:,:) = 0. 
    1205             tmp_u_phi_mat(:,:) = 0. 
    1206             tmp_v_phi_mat(:,:) = 0. 
    1207  
    1208 !            a_u_mat(:,:) = 0. 
    1209 !            b_u_mat(:,:) = 0. 
    1210 !            a_v_mat(:,:) = 0. 
    1211 !            b_v_mat(:,:) = 0. 
    1212  
    1213 !            qmax_mat(:,:) = 0. 
    1214 !            qmin_mat(:,:) = 0. 
    1215  
    1216 !            ecc_mat(:,:) = 0 
    1217 !            thetamax_mat(:,:) =0. 
    1218 !            thetamin_mat(:,:) = 0. 
    1219  
    1220 !            Qc_mat(:,:) = 0. 
    1221 !            Qac_mat(:,:) = 0. 
    1222 !            gc_mat(:,:) = 0. 
    1223 !            gac_mat(:,:) = 0. 
    1224  
    1225 !            Phi_Ua_mat(:,:) = 0. 
    1226 !            dir_Ua_mat(:,:) = 0. 
    1227 !            polarity_mat(:,:) = 0. 
    1228  
    1229  
    1230          END DO 
    1231          IF(lwp) WRITE(numout,*) "diaharm_fast: Finshed postprocessing 2d velocity tidal parameters" 
    1232       ENDIF 
    1233  
    1234      CALL FLUSH(numout) 
    1235  
    1236       IF (ln_diaharm_postproc_vel .AND. ln_ana_uv3d)  THEN 
    1237            IF(lwp) WRITE(numout,*) "diaharm_fast: Postprocess 3d velocity tidal parameters" 
    1238       ENDIF 
    1239  
    1240  
    1241      CALL FLUSH(numout) 
     1000!                        tmp_u_phi = (phi_u2d(jh,ji,jj))  
     1001!                        tmp_v_phi = (phi_v2d(jh,ji,jj))  
     1002 
     1003 
     1004 
     1005!!                        a_u = tmp_U_amp * cos(tmp_U_phi) 
     1006!!                        b_u = tmp_U_amp * sin(tmp_U_phi) 
     1007!!                        a_v = tmp_V_amp * cos(tmp_V_phi) 
     1008!!                        b_v = tmp_V_amp * sin(tmp_V_phi) 
     1009 
     1010!!                        twodelta =  atan2( (tmp_V_amp**2  * sin( 2*(tmp_U_phi - tmp_V_phi)  ) ) , (   tmp_U_amp**2   +   tmp_V_amp**2  * cos( 2*(tmp_U_phi - tmp_V_phi)  )     ) ) 
     1011!!                        delta = twodelta/2. 
     1012 
     1013!!                        !alpha2 = sqrt( tmp_U_amp**4 + tmp_V_amp**4 + 2*tmp_U_amp**2*tmp_V_amp**2*cos(2*(tmp_U_phi - tmp_V_phi))  ) 
     1014 
     1015!!                        tmpreal = tmp_U_amp**4 + tmp_V_amp**4 + 2*tmp_U_amp**2*tmp_V_amp**2*cos(2*(tmp_U_phi - tmp_V_phi))  
     1016!!                        if (tmpreal < 0) CYCLE 
     1017!!                        alpha2 = sqrt( tmp_U_amp**4 + tmp_V_amp**4 + 2*tmp_U_amp**2*tmp_V_amp**2*cos(2*(tmp_U_phi - tmp_V_phi))  ) 
     1018!!                        if (alpha2 < 0) CYCLE 
     1019!!                        alpha= sqrt( alpha2 ) 
     1020 
     1021 
     1022!!                        !major and minor axis of the ellipse 
     1023!!                        !qmax = sqrt( (tmp_U_amp**2 + tmp_V_amp**2 + alpha**2)/2 ) 
     1024!!                        !tmpreal =  (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 
     1025!!                        !qmin = 0 
     1026!!                        !if (tmpreal > 0) qmin = sqrt( (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 )   ! but always positive. 
     1027 
     1028!!                        tmpreal =  (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 
     1029!!                        if (tmpreal < 0) CYCLE 
     1030!!                        qmin = sqrt( (tmp_U_amp**2 + tmp_V_amp**2 - alpha**2)/2 )   ! but always positive. 
     1031 
     1032!!                        !eccentricity of ellipse 
     1033!!                        ecc = (qmax - qmin)/(qmax + qmin) 
     1034!!                        ! Angle of major and minor ellipse 
     1035!!                        thetamax = atan2((  tmp_V_amp * cos((tmp_U_phi - tmp_V_phi) - delta)   ) , ( tmp_U_amp * cos( delta) )  ) 
     1036!!                        thetamin = thetamax + rpi/2. 
     1037 
     1038 
     1039 
     1040!!                        ! Rotary current components: Pugh A3.10 
     1041!!                        ! Clockwise (c) and anticlockwise (ac) rotating rotate_wind_vectors 
     1042!!                        ! so   Qc = clockwise     = anticyclonic = negative 
     1043!!                        ! and Qac = anticlockwise = cyclonic     = negative 
     1044 
     1045!!                        tmpreal = tmp_U_amp**2 + tmp_V_amp**2 - (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi)) 
     1046!!                        if (tmpreal < 0) CYCLE 
     1047!!                        Qc  = 0.5*sqrt( tmp_U_amp**2 + tmp_V_amp**2 - (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi))  ) 
     1048 
     1049!!                        tmpreal = tmp_U_amp**2 + tmp_V_amp**2 + (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi))  
     1050!!                        if (tmpreal < 0) CYCLE 
     1051!!                        Qac = 0.5*sqrt( tmp_U_amp**2 + tmp_V_amp**2 + (2*tmp_U_amp*tmp_V_amp*sin( tmp_V_phi - tmp_U_phi))  ) 
     1052 
     1053 
     1054!!                        gc  = atan2(  (  (  tmp_U_amp*sin( tmp_U_phi ) ) +  (tmp_V_amp*cos( tmp_V_phi)  ) )  ,  (  (tmp_U_amp*cos( tmp_U_phi ))  -  (tmp_V_amp*sin( tmp_V_phi ))  )  ) 
     1055!!                        gac = atan2(  (  ( -tmp_U_amp*sin( tmp_U_phi ) ) +  (tmp_V_amp*cos( tmp_V_phi)  ) )  ,  (  (tmp_U_amp*cos( tmp_U_phi ))  +  (tmp_V_amp*sin( tmp_V_phi ))  )  ) 
     1056 
     1057!!                        !Pugh A3.2 
     1058!!                        Phi_Ua = -0.5*(gac - gc) 
     1059!!                        dir_Ua = 0.5*(gac + gc)  ! positive from x axis 
     1060!!                        polarity = (Qac - Qc)/qmax 
     1061 
     1062 
     1063 
     1064!                        tmp_u_amp_mat(ji,jj) = tmp_u_amp 
     1065!                        tmp_v_amp_mat(ji,jj) = tmp_v_amp 
     1066!                        tmp_u_phi_mat(ji,jj) = tmp_u_phi 
     1067!                        tmp_v_phi_mat(ji,jj) = tmp_v_phi 
     1068 
     1069 
     1070!!                        a_u_mat(ji,jj) = a_u 
     1071!!                        b_u_mat(ji,jj) = b_u 
     1072!!                        a_v_mat(ji,jj) = a_v 
     1073!!                        b_v_mat(ji,jj) = b_v 
     1074 
     1075!!                        qmax_mat(ji,jj) = qmax 
     1076!!                        qmin_mat(ji,jj) = qmin 
     1077 
     1078!!                        ecc_mat(ji,jj) = ecc 
     1079!!                        thetamax_mat(ji,jj) = thetamax 
     1080!!                        thetamin_mat(ji,jj) = thetamin 
     1081 
     1082!!                        Qc_mat(ji,jj) = Qc 
     1083!!                        Qac_mat(ji,jj) = Qac 
     1084!!                        gc_mat(ji,jj) = gc 
     1085!!                        gac_mat(ji,jj) = gac 
     1086 
     1087!!                        Phi_Ua_mat(ji,jj) = Phi_Ua 
     1088!!                        dir_Ua_mat(ji,jj) = dir_Ua 
     1089!!                        polarity_mat(ji,jj) = polarity 
     1090 
     1091!!                    ENDIF 
     1092!                END DO 
     1093!             END DO 
     1094 
     1095 
     1096!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_u_amp_t_uvbar' 
     1097!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1098!!               IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1099!!               CALL iom_put( TRIM(tmp_name), tmp_u_amp_mat(:,:)) 
     1100!!            ENDIF 
     1101!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_v_amp_t_uvbar' 
     1102!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1103!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1104!!              CALL iom_put( TRIM(tmp_name), tmp_v_amp_mat(:,:)) 
     1105!!            ENDIF 
     1106!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_u_phi_t_uvbar' 
     1107!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1108!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1109!!              CALL iom_put( TRIM(tmp_name), tmp_u_phi_mat(:,:)) 
     1110!!            ENDIF 
     1111!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_v_phi_t_uvbar' 
     1112!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1113!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1114!!              CALL iom_put( TRIM(tmp_name), tmp_v_phi_mat(:,:)) 
     1115!!            ENDIF 
     1116 
     1117 
     1118 
     1119!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_a_u_uvbar' 
     1120!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1121!!               IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1122!!               CALL iom_put( TRIM(tmp_name), a_u_mat(:,:)) 
     1123!!            ENDIF 
     1124!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_a_v_uvbar' 
     1125!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1126!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1127!!              CALL iom_put( TRIM(tmp_name), a_v_mat(:,:)) 
     1128!!            ENDIF 
     1129!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_b_u_uvbar' 
     1130!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1131!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1132!!              CALL iom_put( TRIM(tmp_name), b_u_mat(:,:)) 
     1133!!            ENDIF 
     1134!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_b_v_uvbar' 
     1135!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1136!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1137!!              CALL iom_put( TRIM(tmp_name), b_v_mat(:,:)) 
     1138!!            ENDIF 
     1139 
     1140!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_qmax_uvbar' 
     1141!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1142!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1143!!              CALL iom_put( TRIM(tmp_name), qmax_mat(:,:)) 
     1144!!            ENDIF 
     1145!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_qmin_uvbar' 
     1146!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1147!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1148!!              CALL iom_put( TRIM(tmp_name), qmin_mat(:,:)) 
     1149!!            ENDIF 
     1150 
     1151!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_ecc_uvbar' 
     1152!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1153!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1154!!              CALL iom_put( TRIM(tmp_name), ecc_mat(:,:)) 
     1155!!            ENDIF 
     1156!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_thetamax_uvbar' 
     1157!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1158!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1159!!              CALL iom_put( TRIM(tmp_name), thetamax_mat(:,:)) 
     1160!!            ENDIF 
     1161!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_thetamin_uvbar' 
     1162!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1163!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1164!!              CALL iom_put( TRIM(tmp_name), thetamin_mat(:,:)) 
     1165!!            ENDIF 
     1166 
     1167!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_Qc_uvbar' 
     1168!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1169!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1170!!              CALL iom_put( TRIM(tmp_name), Qc_mat(:,:)) 
     1171!!            ENDIF 
     1172!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_Qac_uvbar' 
     1173!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1174!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1175!!              CALL iom_put( TRIM(tmp_name), Qac_mat(:,:)) 
     1176!!            ENDIF 
     1177!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_gc_uvbar' 
     1178!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1179!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1180!!              CALL iom_put( TRIM(tmp_name), gc_mat(:,:)) 
     1181!!            ENDIF 
     1182!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_gac_uvbar' 
     1183!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1184!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1185!!              CALL iom_put( TRIM(tmp_name), gac_mat(:,:)) 
     1186!!            ENDIF 
     1187 
     1188 
     1189!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_Phi_Ua_uvbar' 
     1190!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1191!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1192!!              CALL iom_put( TRIM(tmp_name), Phi_Ua_mat(:,:)) 
     1193!!            ENDIF 
     1194!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_dir_Ua_uvbar' 
     1195!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1196!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1197!!              CALL iom_put( TRIM(tmp_name), dir_Ua_mat(:,:)) 
     1198!!            ENDIF 
     1199!!            tmp_name=TRIM(Wave(ntide_all(jh))%cname_tide)//'_polarity_uvbar' 
     1200!!            IF( iom_use(TRIM(tmp_name)) ) THEN 
     1201!!              IF(lwp) WRITE(numout,*) "harm_ana_out: iom_put: ",TRIM(tmp_name) 
     1202!!              CALL iom_put( TRIM(tmp_name), polarity_mat(:,:)) 
     1203!!            ENDIF 
     1204 
     1205!            tmp_u_amp_mat(:,:) = 0. 
     1206!            tmp_v_amp_mat(:,:) = 0. 
     1207!            tmp_u_phi_mat(:,:) = 0. 
     1208!            tmp_v_phi_mat(:,:) = 0. 
     1209 
     1210!!            a_u_mat(:,:) = 0. 
     1211!!            b_u_mat(:,:) = 0. 
     1212!!            a_v_mat(:,:) = 0. 
     1213!!            b_v_mat(:,:) = 0. 
     1214 
     1215!!            qmax_mat(:,:) = 0. 
     1216!!            qmin_mat(:,:) = 0. 
     1217 
     1218!!            ecc_mat(:,:) = 0 
     1219!!            thetamax_mat(:,:) =0. 
     1220!!            thetamin_mat(:,:) = 0. 
     1221 
     1222!!            Qc_mat(:,:) = 0. 
     1223!!            Qac_mat(:,:) = 0. 
     1224!!            gc_mat(:,:) = 0. 
     1225!!            gac_mat(:,:) = 0. 
     1226 
     1227!!            Phi_Ua_mat(:,:) = 0. 
     1228!!            dir_Ua_mat(:,:) = 0. 
     1229!!            polarity_mat(:,:) = 0. 
     1230 
     1231 
     1232!         END DO 
     1233!         IF(lwp) WRITE(numout,*) "diaharm_fast: Finshed postprocessing 2d velocity tidal parameters" 
     1234!      ENDIF 
     1235 
     1236!     CALL FLUSH(numout) 
     1237 
     1238!      IF (ln_diaharm_postproc_vel .AND. ln_ana_uv3d)  THEN 
     1239!           IF(lwp) WRITE(numout,*) "diaharm_fast: Postprocess 3d velocity tidal parameters" 
     1240!      ENDIF 
     1241 
     1242 
     1243!     CALL FLUSH(numout) 
    12421244 
    12431245! to output tidal parameters, u and v on t grid 
     
    12561258 
    12571259 
    1258       IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
    1259  
    1260          DEALLOCATE(amp_u2d, amp_v2d, phi_u2d, phi_v2d ) 
    1261  
    1262  
    1263          DEALLOCATE(tmp_u_amp_mat, tmp_v_amp_mat, tmp_u_phi_mat, tmp_v_phi_mat ) 
    1264 !         DEALLOCATE(a_u_mat, b_u_mat, a_v_mat, b_v_mat, qmax_mat, qmin_mat, ecc_mat ) 
    1265 !         DEALLOCATE(thetamax_mat, thetamin_mat, Qc_mat, Qac_mat, gc_mat, gac_mat ) 
    1266 !         DEALLOCATE(Phi_Ua_mat, dir_Ua_mat, polarity_mat ) 
    1267  
    1268       endif 
    1269  
    1270       IF(lwp) WRITE(numout,*) "diaharm_fast: Deallocated 2d velocity tidal parameters" 
     1260!      IF (ln_diaharm_postproc_vel .AND. ln_ana_uvbar)  THEN 
     1261 
     1262!         DEALLOCATE(amp_u2d, amp_v2d, phi_u2d, phi_v2d ) 
     1263 
     1264 
     1265!         DEALLOCATE(tmp_u_amp_mat, tmp_v_amp_mat, tmp_u_phi_mat, tmp_v_phi_mat ) 
     1266!!         DEALLOCATE(a_u_mat, b_u_mat, a_v_mat, b_v_mat, qmax_mat, qmin_mat, ecc_mat ) 
     1267!!         DEALLOCATE(thetamax_mat, thetamin_mat, Qc_mat, Qac_mat, gc_mat, gac_mat ) 
     1268!!         DEALLOCATE(Phi_Ua_mat, dir_Ua_mat, polarity_mat ) 
     1269 
     1270!      endif 
     1271 
     1272!      IF(lwp) WRITE(numout,*) "diaharm_fast: Deallocated 2d velocity tidal parameters" 
    12711273 
    12721274      CALL FLUSH(numout) 
Note: See TracChangeset for help on using the changeset viewer.