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 12140 for branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90 – NEMO

Ignore:
Timestamp:
2019-12-10T12:38:10+01:00 (4 years ago)
Author:
kingr
Message:

Added option to remove tides from SLA bkg by taking average over 24h50m.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90

    r11546 r12140  
    5555   LOGICAL :: ln_sic_fp_indegs     !: T=> sea-ice obs footprint size specified in degrees, F=> in metres 
    5656   LOGICAL :: ln_output_clim       !: Logical switch for interpolating and writing T/S climatology 
     57   LOGICAL :: ln_time_mean_sla_bkg !: Logical switch for applying time mean of SLA background to remove tidal signal 
    5758 
    5859   REAL(wp) :: rn_default_avglamscl !: Default E/W diameter of observation footprint 
     
    6667   REAL(wp) :: rn_sic_avglamscl     !: E/W diameter of sea-ice observation footprint 
    6768   REAL(wp) :: rn_sic_avgphiscl     !: N/S diameter of sea-ice observation footprint 
     69   REAL(wp), PUBLIC :: & 
     70      &        MeanPeriodHours = 24. + (5./6.) !: Meaning period for surface data. 
     71 
    6872 
    6973   INTEGER :: nn_1dint         !: Vertical interpolation method 
     
    262266         &            ln_ignmis, ln_s_at_t, ln_bound_reject,          & 
    263267         &            ln_sstnight,  ln_output_clim,                   & 
    264          &            ln_default_fp_indegs,                           & 
     268         &            ln_time_mean_sla_bkg, ln_default_fp_indegs,     & 
    265269         &            ln_sla_fp_indegs, ln_sst_fp_indegs,             & 
    266270         &            ln_sss_fp_indegs, ln_sic_fp_indegs,             & 
     
    427431         WRITE(numout,*) '             Logical switch for night-time SST obs               ln_sstnight = ', ln_sstnight 
    428432         WRITE(numout,*) '             Logical switch for writing climat. at obs points ln_output_clim = ', ln_output_clim 
     433         WRITE(numout,*) '             Logical switch for time-mean of SLA        ln_time_mean_sla_bkg = ', ln_time_mean_sla_bkg 
    429434      ENDIF 
    430435      !----------------------------------------------------------------------- 
     
    912917               &               clsurffiles(jtype,1:ifilessurf(jtype)), & 
    913918               &               nvarssurf(jtype), nextrsurf(jtype), nitend-nit000+2, & 
    914                &               rn_dobsini, rn_dobsend, ln_ignmis, .FALSE., & 
    915                &               llnightav(jtype), ltype_clim, clvars ) 
     919               &               rn_dobsini, rn_dobsend, MeanPeriodHours, ln_ignmis, .FALSE., & 
     920               &               llnightav(jtype), ltype_clim, ln_time_mean_sla_bkg, clvars ) 
    916921 
    917922            CALL obs_pre_surf( surfdata(jtype), surfdataqc(jtype), ln_nea, ln_bound_reject ) 
     
    10311036      !! * Local declarations 
    10321037      INTEGER :: idaystp           ! Number of timesteps per day 
     1038      INTEGER :: imeanstp          ! Number of timesteps for sla averaging 
    10331039      INTEGER :: jtype             ! Data loop variable 
    10341040      INTEGER :: jvar              ! Variable number 
     
    16241630            ENDIF 
    16251631 
    1626             CALL obs_surf_opt( surfdataqc(jtype), kstp, jpi, jpj,       & 
    1627                &               nit000, idaystp, zsurfvar,               & 
    1628                &               zsurfclim, zsurfmask,                    & 
    1629                &               n2dintsurf(jtype), llnightav(jtype),     & 
    1630                &               ravglamscl(jtype), ravgphiscl(jtype),    & 
    1631                &               lfpindegs(jtype) ) 
     1632            IF ( TRIM(cobstypessurf(jtype)) == 'sla' .AND.                 & 
     1633                  &  ln_time_mean_sla_bkg ) THEN 
     1634               !Number of time-steps in meaning period 
     1635               imeanstp = NINT( ( MeanPeriodHours * 60. * 60. ) / rdt ) 
     1636               CALL obs_surf_opt( surfdataqc(jtype), kstp, jpi, jpj,       & 
     1637                  &               nit000, idaystp, zsurfvar,               & 
     1638                  &               zsurfclim, zsurfmask,                    & 
     1639                  &               n2dintsurf(jtype), llnightav(jtype),     & 
     1640                  &               ravglamscl(jtype), ravgphiscl(jtype),    & 
     1641                  &               lfpindegs(jtype), kmeanstp = imeanstp ) 
     1642 
     1643            ELSE 
     1644               CALL obs_surf_opt( surfdataqc(jtype), kstp, jpi, jpj,       & 
     1645                  &               nit000, idaystp, zsurfvar,               & 
     1646                  &               zsurfclim, zsurfmask,                    & 
     1647                  &               n2dintsurf(jtype), llnightav(jtype),     & 
     1648                  &               ravglamscl(jtype), ravgphiscl(jtype),    & 
     1649                  &               lfpindegs(jtype) ) 
     1650            ENDIF 
    16321651 
    16331652         END DO 
Note: See TracChangeset for help on using the changeset viewer.