Changeset 12042
 Timestamp:
 20191203T16:41:39+01:00 (6 months ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

NEMO/branches/2019/dev_r10742_ENHANCE12_SimonMTides/src/OCE/TDE/tide_mod.F90
r11864 r12042 67 67 REAL(wp) :: sh_xi, sh_nu, sh_nuprim, sh_nusec, sh_R ! 68 68 REAL(wp) :: sh_I, sh_x1ra, sh_N ! 69 70 ! Longitudes on 1 Jan 1900, 00h and angular velocities (units of deg and 71 ! deg/h, respectively. The values of these module variables have been copied 72 ! from subroutine astronomic_angle of the version of this module used in 73 ! version 4.0 of NEMO 74 REAL(wp) :: rlon00_N = 259.1560564_wp ! Longitude of ascending lunar node 75 REAL(wp) :: romega_N = .0022064139_wp 76 REAL(wp) :: rlon00_T = 180.0_wp ! Mean solar angle (GMT) 77 REAL(wp) :: romega_T = 15.0_wp 78 REAL(wp) :: rlon00_h = 280.1895014_wp ! Mean solar Longitude 79 REAL(wp) :: romega_h = .0410686387_wp 80 REAL(wp) :: rlon00_s = 277.0256206_wp ! Mean lunar Longitude 81 REAL(wp) :: romega_s = .549016532_wp 82 REAL(wp) :: rlon00_p1 = 281.2208569_wp ! Longitude of solar perigee 83 REAL(wp) :: romega_p1 = .000001961_wp 84 REAL(wp) :: rlon00_p = 334.3837214_wp ! Longitude of lunar perigee 85 REAL(wp) :: romega_p = .004641834_wp 69 86 70 87 !! … … 423 440 SUBROUTINE astronomic_angle(psec_day) 424 441 !! 425 !! tj is time elapsed since 1st January 1900, 0 hour, counted in julian 426 !! century (e.g. time in days divide by 36525) 442 !! *** ROUTINE astronomic_angle *** 443 !! 444 !! ** Purpose : Compute astronomic angles 427 445 !! 428 446 INTEGER :: psec_day ! Number of seconds from midnight 429 447 REAL(wp) :: cosI, p, q, t2, t4, sin2I, s2, tgI2, P1, sh_tgn2, at1, at2 430 REAL(wp) :: zqy , zsy, zday, zdj, zhfrac 431 !! 432 ! 433 zqy = AINT( (nyear1901.)/4. ) 434 zsy = nyear  1900. 448 REAL(wp) :: zqy , zsy, zday, zdj, zhfrac, zt 449 !! 450 ! 451 ! Computation of the time from 1 Jan 1900, 00h in years 452 zqy = AINT( (nyear  1901.0_wp) / 4.0_wp ) 453 zsy = nyear  1900.0_wp 435 454 ! 436 455 zdj = dayjul( nyear, nmonth, nday ) 437 zday = zdj + zqy  1. 438 ! 439 zhfrac = psec_day / 3600. 440 ! 441 ! 442 ! Sh_n Longitude of ascending lunar node 443 ! 444 sh_N=(259.156056419.328185764*zsy.0529539336*zday.0022064139*zhfrac)*rad 445 ! 446 ! T mean solar angle (Greenwhich time) 447 ! 448 sh_T=(180.+zhfrac*(360./24.))*rad 449 ! 450 ! h mean solar Longitude 451 ! 452 sh_h=(280.1895014.238724988*zsy+.9856473288*zday+.0410686387*zhfrac)*rad 453 ! 454 ! s mean lunar Longitude 455 ! 456 sh_s=(277.0256206+129.38482032*zsy+13.176396768*zday+.549016532*zhfrac)*rad 457 ! 458 ! p1 Longitude of solar perigee 459 ! 460 sh_p1=(281.2208569+.01717836*zsy+.000047064*zday+.000001961*zhfrac)*rad 461 ! 462 ! p Longitude of lunar perigee 463 ! 464 sh_p=(334.3837214+40.66246584*zsy+.111404016*zday+.004641834*zhfrac)*rad 465 466 sh_N = MOD( sh_N ,2*rpi ) 467 sh_s = MOD( sh_s ,2*rpi ) 468 sh_h = MOD( sh_h, 2*rpi ) 469 sh_p = MOD( sh_p, 2*rpi ) 470 sh_p1= MOD( sh_p1,2*rpi ) 456 zday = zdj + zqy  1.0_wp 457 ! 458 zhfrac = psec_day / 3600.0_wp 459 ! 460 zt = zsy * 365.0_wp * 24.0_wp + zday * 24.0_wp + zhfrac 461 ! 462 ! Longitude of ascending lunar node 463 sh_N = ( rlon00_N + romega_N * zt ) * rad 464 sh_N = MOD( sh_N, 2*rpi ) 465 ! Mean solar angle (Greenwhich time) 466 sh_T = ( rlon00_T + romega_T * zhfrac ) * rad 467 ! Mean solar Longitude 468 sh_h = ( rlon00_h + romega_h * zt ) * rad 469 sh_h = MOD( sh_h, 2*rpi ) 470 ! Mean lunar Longitude 471 sh_s = ( rlon00_s + romega_s * zt ) * rad 472 sh_s = MOD( sh_s, 2*rpi ) 473 ! Longitude of solar perigee 474 sh_p1 = ( rlon00_p1 + romega_p1 * zt ) * rad 475 sh_p1= MOD( sh_p1, 2*rpi ) 476 ! Longitude of lunar perigee 477 sh_p = ( rlon00_p + romega_p * zt ) * rad 478 sh_p = MOD( sh_p, 2*rpi ) 471 479 472 480 cosI = 0.913694997 0.035692561 *cos(sh_N)
Note: See TracChangeset
for help on using the changeset viewer.