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

Changeset 10822


Ignore:
Timestamp:
2019-04-01T17:50:07+02:00 (5 years ago)
Author:
smueller
Message:

Addition of a new type (tide_harmonics in module tide_mod), two replacements of four separate arrays for the storage of oscillation parameters by one array of variables of this new type (in modules diaharm and tide_mod), and related adjustments in various modules (bdytides, diaharm, sbctides, and tide_mod) (ticket #2194)

Location:
NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/BDY/bdytides.F90

    r10811 r10822  
    115115                    WRITE(numout,*) '             Tidal components: '  
    116116               DO itide = 1, nb_harmo 
    117                   WRITE(numout,*)  '                 ', tide_components(itide)%cname_tide  
     117                  WRITE(numout,*)  '                 ', tide_harmonics(itide)%cname_tide  
    118118               END DO 
    119119            ENDIF  
     
    156156               igrd = 1                       ! Everything is at T-points here 
    157157               DO itide = 1, nb_harmo 
    158                   CALL iom_get( inum, jpdom_autoglo, TRIM(tide_components(itide)%cname_tide)//'_z1', ztr(:,:) ) 
    159                   CALL iom_get( inum, jpdom_autoglo, TRIM(tide_components(itide)%cname_tide)//'_z2', zti(:,:) )  
     158                  CALL iom_get( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_z1', ztr(:,:) ) 
     159                  CALL iom_get( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_z2', zti(:,:) )  
    160160                  DO ib = 1, ilen0(igrd) 
    161161                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    172172               igrd = 2                       ! Everything is at U-points here 
    173173               DO itide = 1, nb_harmo 
    174                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_components(itide)%cname_tide)//'_u1', ztr(:,:) ) 
    175                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_components(itide)%cname_tide)//'_u2', zti(:,:) ) 
     174                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_u1', ztr(:,:) ) 
     175                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_u2', zti(:,:) ) 
    176176                  DO ib = 1, ilen0(igrd) 
    177177                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    188188               igrd = 3                       ! Everything is at V-points here 
    189189               DO itide = 1, nb_harmo 
    190                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_components(itide)%cname_tide)//'_v1', ztr(:,:) ) 
    191                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_components(itide)%cname_tide)//'_v2', zti(:,:) ) 
     190                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_v1', ztr(:,:) ) 
     191                  CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_v2', zti(:,:) ) 
    192192                  DO ib = 1, ilen0(igrd) 
    193193                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    217217               DO itide = 1, nb_harmo 
    218218                  !                                                              ! SSH fields 
    219                   clfile = TRIM(filtide)//TRIM(tide_components(itide)%cname_tide)//'_grid_T.nc' 
     219                  clfile = TRIM(filtide)//TRIM(tide_harmonics(itide)%cname_tide)//'_grid_T.nc' 
    220220                  CALL iom_open( clfile, inum ) 
    221221                  CALL fld_map( inum, 'z1' , dta_read(1:ilen0(1),1:1,1:1) , 1,  ibmap_ptr(1) ) 
     
    225225                  CALL iom_close( inum ) 
    226226                  !                                                              ! U fields 
    227                   clfile = TRIM(filtide)//TRIM(tide_components(itide)%cname_tide)//'_grid_U.nc' 
     227                  clfile = TRIM(filtide)//TRIM(tide_harmonics(itide)%cname_tide)//'_grid_U.nc' 
    228228                  CALL iom_open( clfile, inum ) 
    229229                  CALL fld_map( inum, 'u1' , dta_read(1:ilen0(2),1:1,1:1) , 1, ibmap_ptr(2) ) 
     
    233233                  CALL iom_close( inum ) 
    234234                  !                                                              ! V fields 
    235                   clfile = TRIM(filtide)//TRIM(tide_components(itide)%cname_tide)//'_grid_V.nc' 
     235                  clfile = TRIM(filtide)//TRIM(tide_harmonics(itide)%cname_tide)//'_grid_V.nc' 
    236236                  CALL iom_open( clfile, inum ) 
    237237                  CALL fld_map( inum, 'v1' , dta_read(1:ilen0(3),1:1,1:1) , 1, ibmap_ptr(3) ) 
     
    335335 
    336336      DO itide = 1, nb_harmo 
    337          z_sarg = z_arg * omega_tide(itide) 
     337         z_sarg = z_arg * tide_harmonics(itide)%omega 
    338338         z_cost(itide) = COS( z_sarg ) 
    339339         z_sist(itide) = SIN( z_sarg ) 
     
    440440            DO itide = 1, nb_harmo 
    441441               ! 
    442                z_sarg = (z_arg + zoff) * omega_tide(itide) 
     442               z_sarg = (z_arg + zoff) * tide_harmonics(itide)%omega 
    443443               z_cost = zramp * COS( z_sarg ) 
    444444               z_sist = zramp * SIN( z_sarg ) 
     
    501501         END DO 
    502502         DO ib = 1 , ilen0(igrd) 
    503             mod_tide(ib)=mod_tide(ib)*ftide(itide) 
    504             phi_tide(ib)=phi_tide(ib)+v0tide(itide)+utide(itide) 
     503            mod_tide(ib)=mod_tide(ib)*tide_harmonics(itide)%f 
     504            phi_tide(ib)=phi_tide(ib)+tide_harmonics(itide)%v0+tide_harmonics(itide)%u 
    505505         ENDDO 
    506506         DO ib = 1 , ilen0(igrd) 
     
    540540         END DO 
    541541         DO ib = 1, ilen0(igrd) 
    542             mod_tide(ib)=mod_tide(ib)*ftide(itide) 
    543             phi_tide(ib)=phi_tide(ib)+v0tide(itide)+utide(itide) 
     542            mod_tide(ib)=mod_tide(ib)*tide_harmonics(itide)%f 
     543            phi_tide(ib)=phi_tide(ib)+tide_harmonics(itide)%v0 + tide_harmonics(itide)%u 
    544544         ENDDO 
    545545         DO ib = 1, ilen0(igrd) 
     
    561561         END DO 
    562562         DO ib = 1, ilen0(igrd) 
    563             mod_tide(ib)=mod_tide(ib)*ftide(itide) 
    564             phi_tide(ib)=phi_tide(ib)+v0tide(itide)+utide(itide) 
     563            mod_tide(ib)=mod_tide(ib)*tide_harmonics(itide)%f 
     564            phi_tide(ib)=phi_tide(ib)+tide_harmonics(itide)%v0 + tide_harmonics(itide)%u 
    565565         ENDDO 
    566566         DO ib = 1, ilen0(igrd) 
  • NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/DIA/diaharm.F90

    r10811 r10822  
    3939 
    4040   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::   ana_temp 
    41    REAL(wp), ALLOCATABLE, DIMENSION(:)       ::   ana_freq, ut   , vt   , ft 
    4241   REAL(wp), ALLOCATABLE, DIMENSION(:,:,:)   ::   out_eta , out_u, out_v 
    4342 
     
    7372      INTEGER ::   ios                 ! Local integer output status for namelist read 
    7473      TYPE(tide), PUBLIC, DIMENSION(:), POINTER ::   tide_components ! Selected tidal components 
     74      TYPE(tide),         DIMENSION(:), POINTER ::   tide_harmonics  ! Oscillation parameters of selected tidal components 
    7575 
    7676      NAMELIST/nam_diaharm/ nit000_han, nitend_han, nstep_han, tname 
     
    127127      ENDIF 
    128128 
    129       ! Initialize frequency array: 
    130       ! --------------------------- 
    131       ALLOCATE( ana_freq(nb_ana), ut(nb_ana), vt(nb_ana), ft(nb_ana) ) 
    132  
    133       CALL tide_harmo( ana_freq, vt, ut, ft, nb_ana ) 
     129      ! Initialize oscillation parameters of selected tidal components 
     130      ! -------------------------------------------------------------- 
     131      CALL tide_init_harmonics( tide_components, tide_harmonics) 
    134132 
    135133      IF(lwp) WRITE(numout,*) 'Analysed frequency  : ',nb_ana ,'Frequency ' 
    136134 
    137135      DO jh = 1, nb_ana 
    138         IF(lwp) WRITE(numout,*) '                    : ',tname(jh),' ',ana_freq(jh) 
     136        IF(lwp) WRITE(numout,*) '                    : ',tname(jh),' ',tide_harmonics(jh)%omega 
    139137      END DO 
    140138 
     
    173171            DO jc = 1, 2 
    174172               nhc = nhc+1 
    175                ztemp =(     MOD(jc,2) * ft(jh) *COS(ana_freq(jh)*ztime + vt(jh) + ut(jh))  & 
    176                   &    +(1.-MOD(jc,2))* ft(jh) *SIN(ana_freq(jh)*ztime + vt(jh) + ut(jh))) 
     173               ztemp =(     MOD(jc,2) * tide_harmonics(jh)%f *COS(tide_harmonics(jh)%omega*ztime + & 
     174                  &                                 tide_harmonics(jh)%v0 + tide_harmonics(jh)%u)  & 
     175                  &    +(1.-MOD(jc,2))* tide_harmonics(jh)%f *SIN(tide_harmonics(jh)%omega*ztime + & 
     176                  &                                 tide_harmonics(jh)%v0 + tide_harmonics(jh)%u)) 
    177177                  ! 
    178178               DO jj = 1,jpj 
     
    235235               nisparse(ksp) = keq 
    236236               njsparse(ksp) = kun 
    237                valuesparse(ksp) = (   MOD(jc,2) * ft(jh) * COS(ana_freq(jh)*ztime + vt(jh) + ut(jh))   & 
    238                   &             + (1.-MOD(jc,2))* ft(jh) * SIN(ana_freq(jh)*ztime + vt(jh) + ut(jh)) ) 
     237               valuesparse(ksp) = (   MOD(jc,2) * tide_harmonics(jh)%f * COS(tide_harmonics(jh)%omega*ztime & 
     238                  &                                          + tide_harmonics(jh)%v0 + tide_harmonics(jh)%u)   & 
     239                  &             + (1.-MOD(jc,2))* tide_harmonics(jh)%f * SIN(tide_harmonics(jh)%omega*ztime & 
     240                  &                                          + tide_harmonics(jh)%v0 + tide_harmonics(jh)%u) ) 
    239241            END DO 
    240242         END DO 
  • NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/SBC/sbctide.F90

    r10811 r10822  
    6161            kt_tide = kt  
    6262         ENDIF 
    63          CALL tide_harmo( omega_tide, v0tide, utide, ftide, nb_harmo ) 
     63         CALL tide_harmo(tide_components, tide_harmonics) ! Update oscillation parameters of tidal components 
    6464         ! 
    6565         ! 
     
    6969            WRITE(numout,*) '~~~~~~~~ ' 
    7070            DO jk = 1, nb_harmo 
    71                WRITE(numout,*) tide_components(jk)%cname_tide, utide(jk), ftide(jk), v0tide(jk), omega_tide(jk) 
     71               WRITE(numout,*) tide_harmonics(jk)%cname_tide, tide_harmonics(jk)%u, & 
     72                  &            tide_harmonics(jk)%f,tide_harmonics(jk)%v0, tide_harmonics(jk)%omega 
    7273            END DO 
    7374         ENDIF 
  • NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/TDE/tide_mod.F90

    r10811 r10822  
    2222   PUBLIC   tide_harmo       ! called by tideini and diaharm modules 
    2323   PUBLIC   tide_init_components ! called internally and by module diaharm 
     24   PUBLIC   tide_init_harmonics  ! called internally and by module diaharm 
    2425   PUBLIC   tide_init_load 
    2526   PUBLIC   tide_init_potential 
     
    3940   TYPE(tide), PUBLIC, DIMENSION(:), POINTER ::   tide_components !: Array of selected tidal component parameters 
    4041 
    41    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   omega_tide   !: 
    42    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   v0tide       !: 
    43    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   utide        !: 
    44    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:) ::   ftide        !: 
     42   TYPE, PUBLIC ::   tide_harmonic       !:   Oscillation parameters of harmonic tidal components 
     43      CHARACTER(LEN=4) ::   cname_tide   !    Name of component 
     44      REAL(wp)         ::   equitide     !    Amplitude of equilibrium tide 
     45      REAL(wp)         ::   f            !    Node factor 
     46      REAL(wp)         ::   omega        !    Angular velocity 
     47      REAL(wp)         ::   v0           !    Initial phase at prime meridian 
     48      REAL(wp)         ::   u            !    Phase correction 
     49   END type tide_harmonic 
     50 
     51   TYPE(tide_harmonic), PUBLIC, DIMENSION(:), POINTER ::   tide_harmonics !: Oscillation parameters of selected tidal components 
    4552 
    4653   LOGICAL , PUBLIC ::   ln_tide         !: 
     
    140147         &   CALL ctl_stop('rn_tide_ramp_dt must be positive') 
    141148      ! 
    142       ALLOCATE( omega_tide(nb_harmo), v0tide    (nb_harmo),   & 
    143          &      utide     (nb_harmo), ftide     (nb_harmo)  ) 
     149      ! Initialise array used to store tidal oscillation parameters (frequency, 
     150      ! amplitude, phase) 
     151      CALL tide_init_harmonics(tide_components, tide_harmonics) 
     152      ! 
     153      ! Reference time step for time-dependent tidal parameters 
    144154      kt_tide = nit000 
    145155      ! 
     
    209219 
    210220 
     221   SUBROUTINE tide_init_harmonics(ptide_comp, ptide_harmo) 
     222      !!---------------------------------------------------------------------- 
     223      !!                 ***  ROUTINE tide_init_harmonics  *** 
     224      !! 
     225      !! Returns pointer to array of variables of type 'tide_harmonics' that 
     226      !! contain oscillation parameters of the selected harmonic tidal 
     227      !! components 
     228      !! ---------------------------------------------------------------------- 
     229      TYPE(tide),          POINTER,     DIMENSION(:) ::   ptide_comp      ! Selected components 
     230      TYPE(tide_harmonic), POINTER,     DIMENSION(:) ::   ptide_harmo     ! Oscillation parameters of selected components 
     231 
     232      ! Allocate and populate array of oscillation parameters 
     233      ALLOCATE(ptide_harmo(size(ptide_comp))) 
     234      ptide_harmo(:)%cname_tide = ptide_comp(:)%cname_tide 
     235      ptide_harmo(:)%equitide = ptide_comp(:)%equitide 
     236      CALL tide_harmo(ptide_comp, ptide_harmo) 
     237 
     238   END SUBROUTINE tide_init_harmonics 
     239 
     240 
    211241   SUBROUTINE tide_init_potential 
    212242      !!---------------------------------------------------------------------- 
     
    218248 
    219249      DO jk = 1, nb_harmo 
    220          zcons = rn_tide_gamma * tide_components(jk)%equitide * ftide(jk) 
     250         zcons = rn_tide_gamma * tide_components(jk)%equitide * tide_harmonics(jk)%f 
    221251         DO ji = 1, jpi 
    222252            DO jj = 1, jpj 
    223                ztmp1 =  ftide(jk) * amp_pot(ji,jj,jk) * COS( phi_pot(ji,jj,jk) + v0tide(jk) + utide(jk) ) 
    224                ztmp2 = -ftide(jk) * amp_pot(ji,jj,jk) * SIN( phi_pot(ji,jj,jk) + v0tide(jk) + utide(jk) ) 
     253               ztmp1 =  tide_harmonics(jk)%f * amp_pot(ji,jj,jk) * COS( phi_pot(ji,jj,jk) & 
     254                  &                                                   + tide_harmonics(jk)%v0 + tide_harmonics(jk)%u ) 
     255               ztmp2 = -tide_harmonics(jk)%f * amp_pot(ji,jj,jk) * SIN( phi_pot(ji,jj,jk) & 
     256                  &                                                   + tide_harmonics(jk)%v0 + tide_harmonics(jk)%u ) 
    225257               zlat = gphit(ji,jj)*rad !! latitude en radian 
    226258               zlon = glamt(ji,jj)*rad !! longitude en radian 
    227                ztmp = v0tide(jk) + utide(jk) + tide_components(jk)%nutide * zlon 
     259               ztmp = tide_harmonics(jk)%v0 + tide_harmonics(jk)%u + tide_components(jk)%nutide * zlon 
    228260               ! le potentiel est composé des effets des astres: 
    229261               IF    ( tide_components(jk)%nutide == 1 )  THEN  ;  zcs = zcons * SIN( 2._wp*zlat ) 
     
    277309 
    278310 
    279    SUBROUTINE tide_harmo( pomega, pvt, put , pcor, kc) 
    280       !!---------------------------------------------------------------------- 
    281       !!---------------------------------------------------------------------- 
    282       INTEGER                , INTENT(in ) ::   kc               ! Total number of tidal constituents 
    283       REAL(wp), DIMENSION(kc), INTENT(out) ::   pomega           ! pulsation in radians/s 
    284       REAL(wp), DIMENSION(kc), INTENT(out) ::   pvt, put, pcor   ! 
    285       !!---------------------------------------------------------------------- 
     311   SUBROUTINE tide_harmo( ptide_comp, ptide_harmo ) 
     312      ! 
     313      TYPE(tide),          DIMENSION(:), POINTER ::   ptide_comp   ! Array of selected tidal component parameters 
     314      TYPE(tide_harmonic), DIMENSION(:), POINTER ::   ptide_harmo  ! Oscillation parameters of selected tidal components 
    286315      ! 
    287316      CALL astronomic_angle 
    288       CALL tide_pulse( pomega, kc ) 
    289       CALL tide_vuf  ( pvt, put, pcor, kc ) 
     317      CALL tide_pulse( ptide_comp, ptide_harmo ) 
     318      CALL tide_vuf(   ptide_comp, ptide_harmo ) 
    290319      ! 
    291320   END SUBROUTINE tide_harmo 
     
    383412 
    384413 
    385    SUBROUTINE tide_pulse( pomega, kc ) 
     414   SUBROUTINE tide_pulse( ptide_comp, ptide_harmo ) 
    386415      !!---------------------------------------------------------------------- 
    387416      !!                     ***  ROUTINE tide_pulse  *** 
     
    389418      !! ** Purpose : Compute tidal frequencies 
    390419      !!---------------------------------------------------------------------- 
    391       INTEGER                , INTENT(in ) ::   kc       ! Total number of tidal constituents 
    392       REAL(wp), DIMENSION(kc), INTENT(out) ::   pomega   ! pulsation in radians/s 
     420      TYPE(tide),          DIMENSION(:), POINTER ::   ptide_comp   ! Array of selected tidal component parameters 
     421      TYPE(tide_harmonic), DIMENSION(:), POINTER ::   ptide_harmo  ! Oscillation parameters of selected tidal components 
    393422      ! 
    394423      INTEGER  ::   jh 
     
    404433      zscale =  rad / ( 36525._wp * 86400._wp )  
    405434      ! 
    406       DO jh = 1, kc 
    407          pomega(jh) = (  zomega_T * tide_components( jh )%nT   & 
    408             &          + zomega_s * tide_components( jh )%ns   & 
    409             &          + zomega_h * tide_components( jh )%nh   & 
    410             &          + zomega_p * tide_components( jh )%np   & 
    411             &          + zomega_p1* tide_components( jh )%np1  ) * zscale 
     435      DO jh = 1, nb_harmo 
     436         ptide_harmo(jh)%omega = (  zomega_T * ptide_comp( jh )%nT   & 
     437            &                         + zomega_s * ptide_comp( jh )%ns   & 
     438            &                         + zomega_h * ptide_comp( jh )%nh   & 
     439            &                         + zomega_p * ptide_comp( jh )%np   & 
     440            &                         + zomega_p1* ptide_comp( jh )%np1  ) * zscale 
    412441      END DO 
    413442      ! 
     
    415444 
    416445 
    417    SUBROUTINE tide_vuf( pvt, put, pcor, kc ) 
     446   SUBROUTINE tide_vuf( ptide_comp, ptide_harmo ) 
    418447      !!---------------------------------------------------------------------- 
    419448      !!                     ***  ROUTINE tide_vuf  *** 
     
    425454      !!              ft: Nodal correction factor 
    426455      !!---------------------------------------------------------------------- 
    427       INTEGER                , INTENT(in ) ::   kc               ! Total number of tidal constituents 
    428       REAL(wp), DIMENSION(kc), INTENT(out) ::   pvt, put, pcor   ! 
     456      TYPE(tide),          DIMENSION(:), POINTER ::   ptide_comp   ! Array of selected tidal component parameters 
     457      TYPE(tide_harmonic), DIMENSION(:), POINTER ::   ptide_harmo  ! Oscillation parameters of selected tidal components 
    429458      ! 
    430459      INTEGER ::   jh   ! dummy loop index 
    431460      !!---------------------------------------------------------------------- 
    432461      ! 
    433       DO jh = 1, kc 
     462      DO jh = 1, nb_harmo 
    434463         !  Phase of the tidal potential relative to the Greenwhich  
    435464         !  meridian (e.g. the position of the fictuous celestial body). Units are radian: 
    436          pvt(jh) = sh_T * tide_components( jh )%nT    & 
    437             &    + sh_s * tide_components( jh )%ns    & 
    438             &    + sh_h * tide_components( jh )%nh    & 
    439             &    + sh_p * tide_components( jh )%np    & 
    440             &    + sh_p1* tide_components( jh )%np1   & 
    441             &    +        tide_components( jh )%shift * rad 
     465         ptide_harmo(jh)%v0 = sh_T * ptide_comp( jh )%nT    & 
     466            &                   + sh_s * ptide_comp( jh )%ns    & 
     467            &                   + sh_h * ptide_comp( jh )%nh    & 
     468            &                   + sh_p * ptide_comp( jh )%np    & 
     469            &                   + sh_p1* ptide_comp( jh )%np1   & 
     470            &                   +        ptide_comp( jh )%shift * rad 
    442471         ! 
    443472         !  Phase correction u due to nodal motion. Units are radian: 
    444          put(jh) = sh_xi     * tide_components( jh )%nksi   & 
    445             &    + sh_nu     * tide_components( jh )%nnu0   & 
    446             &    + sh_nuprim * tide_components( jh )%nnu1   & 
    447             &    + sh_nusec  * tide_components( jh )%nnu2   & 
    448             &    + sh_R      * tide_components( jh )%R 
     473         ptide_harmo(jh)%u = sh_xi     * ptide_comp( jh )%nksi   & 
     474            &                  + sh_nu     * ptide_comp( jh )%nnu0   & 
     475            &                  + sh_nuprim * ptide_comp( jh )%nnu1   & 
     476            &                  + sh_nusec  * ptide_comp( jh )%nnu2   & 
     477            &                  + sh_R      * ptide_comp( jh )%R 
    449478 
    450479         !  Nodal correction factor: 
    451          pcor(jh) = nodal_factort( tide_components( jh )%nformula ) 
     480         ptide_harmo(jh)%f = nodal_factort( ptide_comp( jh )%nformula ) 
    452481      END DO 
    453482      ! 
     
    672701      ENDIF 
    673702      ! 
    674       zwt(:) = omega_tide(:) * zt 
     703      zwt(:) = tide_harmonics(:)%omega * zt 
    675704 
    676705      pot_astro(:,:) = 0._wp          ! update tidal potential (sum of all harmonics) 
Note: See TracChangeset for help on using the changeset viewer.