Changeset 13226 for NEMO/trunk/src/OCE/OBS
- Timestamp:
- 2020-07-02T16:24:31+02:00 (4 years ago)
- Location:
- NEMO/trunk/src/OCE/OBS
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/OBS/ddatetoymdhms.h90
r10068 r13226 21 21 22 22 !! * Arguments 23 real( wp), INTENT(IN) :: ddate23 real(dp), INTENT(IN) :: ddate 24 24 INTEGER, INTENT(OUT) :: kyea 25 25 INTEGER, INTENT(OUT) :: kmon -
NEMO/trunk/src/OCE/OBS/grt_cir_dis.h90
r10068 r13226 28 28 REAL(KIND=wp) :: pc2 ! cos(lat2) * sin(lon2) 29 29 30 REAL(KIND=wp) :: cosdist ! cosine of great circle distance 31 32 ! Compute cosine of great circle distance, constraining it to be between 33 ! -1 and 1 (rounding errors can take it slightly outside this range 34 cosdist = MAX( MIN( pa1 * pa2 + pb1 * pb2 + pc1 * pc2, 1.0_wp), -1.0_wp ) 35 30 36 grt_cir_dis = & 31 & ASIN( SQRT( 1.0 - ( pa1 * pa2 + pb1 * pb2 + pc1 * pc2 )**2) )37 & ASIN( SQRT( 1.0_wp - cosdist**2.0_wp ) ) 32 38 33 39 END FUNCTION grt_cir_dis -
NEMO/trunk/src/OCE/OBS/obs_read_prof.F90
r10068 r13226 140 140 & zphi, & 141 141 & zlam 142 REAL( wp), DIMENSION(:), ALLOCATABLE :: &142 REAL(dp), DIMENSION(:), ALLOCATABLE :: & 143 143 & zdat 144 REAL( wp), DIMENSION(knumfiles) :: &144 REAL(dp), DIMENSION(knumfiles) :: & 145 145 & djulini, & 146 146 & djulend -
NEMO/trunk/src/OCE/OBS/obs_read_surf.F90
r10069 r13226 112 112 & zphi, & 113 113 & zlam 114 REAL( wp), DIMENSION(:), ALLOCATABLE :: &114 REAL(dp), DIMENSION(:), ALLOCATABLE :: & 115 115 & zdat 116 REAL( wp), DIMENSION(knumfiles) :: &116 REAL(dp), DIMENSION(knumfiles) :: & 117 117 & djulini, & 118 118 & djulend -
NEMO/trunk/src/OCE/OBS/obsinter_z1d.h90
r10068 r13226 62 62 z1dm = ( pdep(kkco(jdep)) - pobsdep(jdep) ) 63 63 z1dp = ( pobsdep(jdep) - pdep(kkco(jdep)-1) ) 64 IF ( pobsmask(kkco(jdep)) == 0.0_wp ) z1dp = 0.0_wp 64 65 ! If kkco(jdep) is masked then set pobs(jdep) to the lowest value located above bathymetry 66 IF ( pobsmask(kkco(jdep)) == 0.0_wp ) THEN 67 pobs(jdep) = pobsk(kkco(jdep)-1) 68 ELSE 69 zsum = z1dm + z1dp 65 70 66 zsum = z1dm + z1dp 67 68 IF ( k1dint == 0 ) THEN 71 IF ( k1dint == 0 ) THEN 69 72 70 !-----------------------------------------------------------------71 ! Linear interpolation72 !-----------------------------------------------------------------73 pobs(jdep) = ( z1dm * pobsk(kkco(jdep)-1) &74 & + z1dp * pobsk(kkco(jdep) ) ) / zsum73 !----------------------------------------------------------------- 74 ! Linear interpolation 75 !----------------------------------------------------------------- 76 pobs(jdep) = ( z1dm * pobsk(kkco(jdep)-1) & 77 & + z1dp * pobsk(kkco(jdep) ) ) / zsum 75 78 76 ELSEIF ( k1dint == 1 ) THEN79 ELSEIF ( k1dint == 1 ) THEN 77 80 78 !-----------------------------------------------------------------79 ! Cubic spline interpolation80 !-----------------------------------------------------------------81 zsum2 = zsum * zsum82 pobs(jdep) = ( z1dm * pobsk (kkco(jdep)-1) &83 & + z1dp * pobsk (kkco(jdep) ) &84 & + ( z1dm * ( z1dm * z1dm - zsum2 ) * pobs2k(kkco(jdep)-1) &85 & + z1dp * ( z1dp * z1dp - zsum2 ) * pobs2k(kkco(jdep) ) &86 & ) / 6.0_wp &87 & ) / zsum81 !----------------------------------------------------------------- 82 ! Cubic spline interpolation 83 !----------------------------------------------------------------- 84 zsum2 = zsum * zsum 85 pobs(jdep) = ( z1dm * pobsk (kkco(jdep)-1) & 86 & + z1dp * pobsk (kkco(jdep) ) & 87 & + ( z1dm * ( z1dm * z1dm - zsum2 ) * pobs2k(kkco(jdep)-1) & 88 & + z1dp * ( z1dp * z1dp - zsum2 ) * pobs2k(kkco(jdep) ) & 89 & ) / 6.0_wp & 90 & ) / zsum 88 91 92 ENDIF 89 93 ENDIF 90 94 END DO
Note: See TracChangeset
for help on using the changeset viewer.