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

Ignore:
Timestamp:
2020-02-13T15:10:57+01:00 (4 years ago)
Author:
dcarneir
Message:

Updating obs_oper with obs_oper version in the apps trunk

File:
1 edited

Legend:

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

    r12364 r12380  
    5757   LOGICAL :: ln_sit_fp_indegs     !: T=> SIT obs footprint size specified in degrees, F=> in metres 
    5858   LOGICAL :: ln_output_clim       !: Logical switch for interpolating and writing T/S climatology 
     59   LOGICAL :: ln_time_mean_sla_bkg !: Logical switch for applying time mean of SLA background to remove tidal signal 
    5960 
    6061   REAL(wp) :: rn_default_avglamscl !: Default E/W diameter of observation footprint 
     
    7071   REAL(wp) :: rn_sit_avglamscl     !: E/W diameter of SIT observation footprint 
    7172   REAL(wp) :: rn_sit_avgphiscl     !: N/S diameter of SIT observation footprint 
     73   REAL(wp), PUBLIC :: & 
     74      &        MeanPeriodHours = 24. + (5./6.) !: Meaning period for surface data. 
     75 
    7276 
    7377   INTEGER :: nn_1dint         !: Vertical interpolation method 
     
    274278         &            ln_ignmis, ln_s_at_t, ln_bound_reject,          & 
    275279         &            ln_sstnight,  ln_output_clim,                   & 
    276          &            ln_default_fp_indegs,                           & 
     280         &            ln_time_mean_sla_bkg, ln_default_fp_indegs,     & 
    277281         &            ln_sla_fp_indegs, ln_sst_fp_indegs,             & 
    278282         &            ln_sss_fp_indegs, ln_sic_fp_indegs,             & 
     
    448452         WRITE(numout,*) '             Logical switch for night-time SST obs               ln_sstnight = ', ln_sstnight 
    449453         WRITE(numout,*) '             Logical switch for writing climat. at obs points ln_output_clim = ', ln_output_clim 
     454         WRITE(numout,*) '             Logical switch for time-mean of SLA        ln_time_mean_sla_bkg = ', ln_time_mean_sla_bkg 
    450455      ENDIF 
    451456      !----------------------------------------------------------------------- 
     
    952957               &               clsurffiles(jtype,1:ifilessurf(jtype)), & 
    953958               &               nvarssurf(jtype), nextrsurf(jtype), nitend-nit000+2, & 
    954                &               rn_dobsini, rn_dobsend, ln_ignmis, .FALSE., & 
    955                &               llnightav(jtype), ltype_clim, clvars ) 
     959               &               rn_dobsini, rn_dobsend, MeanPeriodHours, ln_ignmis, .FALSE., & 
     960               &               llnightav(jtype), ltype_clim, ln_time_mean_sla_bkg, clvars ) 
    956961 
    957962            CALL obs_pre_surf( surfdata(jtype), surfdataqc(jtype), ln_nea, ln_bound_reject, ln_seaicetypes ) 
     
    10771082      !! * Local declarations 
    10781083      INTEGER :: idaystp           ! Number of timesteps per day 
     1084      INTEGER :: imeanstp          ! Number of timesteps for sla averaging 
    10791085      INTEGER :: jtype             ! Data loop variable 
    10801086      INTEGER :: jvar              ! Variable number 
     
    16861692            ENDIF 
    16871693 
    1688             CALL obs_surf_opt( surfdataqc(jtype), kstp, jpi, jpj,       & 
    1689                &               nit000, idaystp, zsurfvar,               & 
    1690                &               zsurfclim, zsurfmask,                    & 
    1691                &               n2dintsurf(jtype), llnightav(jtype),     & 
    1692                &               ravglamscl(jtype), ravgphiscl(jtype),    & 
    1693                &               lfpindegs(jtype) ) 
    1694  
    1695  
    1696            ! Change label of data from FBD ("freeboard") to SIT ("Sea Ice 
    1697            ! Thickness") 
     1694            IF ( TRIM(cobstypessurf(jtype)) == 'sla' .AND.                 & 
     1695                  &  ln_time_mean_sla_bkg ) THEN 
     1696               !Number of time-steps in meaning period 
     1697               imeanstp = NINT( ( MeanPeriodHours * 60. * 60. ) / rdt ) 
     1698               CALL obs_surf_opt( surfdataqc(jtype), kstp, jpi, jpj,       & 
     1699                  &               nit000, idaystp, zsurfvar,               & 
     1700                  &               zsurfclim, zsurfmask,                    & 
     1701                  &               n2dintsurf(jtype), llnightav(jtype),     & 
     1702                  &               ravglamscl(jtype), ravgphiscl(jtype),    & 
     1703                  &               lfpindegs(jtype), kmeanstp = imeanstp ) 
     1704 
     1705 
     1706            ELSE 
     1707               CALL obs_surf_opt( surfdataqc(jtype), kstp, jpi, jpj,       & 
     1708                  &               nit000, idaystp, zsurfvar,               & 
     1709                  &               zsurfclim, zsurfmask,                    & 
     1710                  &               n2dintsurf(jtype), llnightav(jtype),     & 
     1711                  &               ravglamscl(jtype), ravgphiscl(jtype),    & 
     1712                  &               lfpindegs(jtype) ) 
     1713            ENDIF 
     1714 
     1715            ! Change label of data from FBD ("freeboard") to SIT ("Sea Ice 
     1716            ! Thickness") 
    16981717            IF ( TRIM(surfdataqc(jtype)%cvars(1)) == 'FBD' ) THEN 
    16991718                 surfdata(jtype)%cvars(1) = 'SIT' 
Note: See TracChangeset for help on using the changeset viewer.