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 15285 for NEMO/branches/UKMO/NEMO_4.0.4_generic_obs/src/OCE/OBS/obs_readmdt.F90 – NEMO

Ignore:
Timestamp:
2021-09-24T12:33:16+02:00 (16 months ago)
Author:
dford
Message:

Some bug fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_generic_obs/src/OCE/OBS/obs_readmdt.F90

    r15187 r15285  
    3131    
    3232   PUBLIC   obs_rea_mdt     ! called by dia_obs_init 
    33    PUBLIC   obs_offset_mdt  ! called by obs_rea_mdt 
    34  
    35    INTEGER , PUBLIC :: nn_msshc    = 1         ! MDT correction scheme 
    36    REAL(wp), PUBLIC :: rn_mdtcorr   = 1.61_wp  ! User specified MDT correction 
    37    REAL(wp), PUBLIC :: rn_mdtcutoff = 65.0_wp  ! MDT cutoff for computed correction 
    3833 
    3934   !!---------------------------------------------------------------------- 
     
    4439CONTAINS 
    4540 
    46    SUBROUTINE obs_rea_mdt( sladata, k2dint, kmdt ) 
     41   SUBROUTINE obs_rea_mdt( sladata, k2dint, kmdt, nn_msshc, rn_mdtcorr, & 
     42                           rn_mdtcutoff ) 
    4743      !!--------------------------------------------------------------------- 
    4844      !! 
     
    5753      USE iom 
    5854      ! 
    59       TYPE(obs_surf), INTENT(inout) ::   sladata   ! SLA data 
    60       INTEGER       , INTENT(in)    ::   k2dint    ! ? 
    61       INTEGER       , INTENT(in)    ::   kmdt      ! Index of MDT extra var 
     55      TYPE(obs_surf), INTENT(inout) :: sladata      ! SLA data 
     56      INTEGER       , INTENT(in)    :: k2dint       ! Interpolation type 
     57      INTEGER       , INTENT(in)    :: kmdt         ! Index of MDT extra var 
     58      INTEGER       , INTENT(in)    :: nn_msshc     ! MDT correction scheme 
     59      REAL(wp)      , INTENT(in)    :: rn_mdtcorr   ! User specified MDT correction 
     60      REAL(wp)      , INTENT(in)    :: rn_mdtcutoff ! MDT cutoff for computed correction 
    6261      ! 
    6362      CHARACTER(LEN=12), PARAMETER ::   cpname  = 'obs_rea_mdt' 
     
    106105 
    107106      ! Remove the offset between the MDT used with the sla and the model MDT 
    108       IF( nn_msshc == 1 .OR. nn_msshc == 2 ) & 
    109          & CALL obs_offset_mdt( jpi, jpj, z_mdt, zfill ) 
     107      IF( nn_msshc == 1 .OR. nn_msshc == 2 ) THEN 
     108         CALL obs_offset_mdt( jpi, jpj, z_mdt, zfill, nn_msshc, & 
     109            &                 rn_mdtcorr, rn_mdtcutoff ) 
     110      ENDIF 
    110111 
    111112      ! Interpolate the MDT already on the model grid at the observation point 
     
    170171 
    171172 
    172    SUBROUTINE obs_offset_mdt( kpi, kpj, mdt, zfill ) 
     173   SUBROUTINE obs_offset_mdt( kpi, kpj, mdt, zfill, nn_msshc, rn_mdtcorr, & 
     174                              rn_mdtcutoff ) 
    173175      !!--------------------------------------------------------------------- 
    174176      !! 
     
    184186      !!---------------------------------------------------------------------- 
    185187      INTEGER, INTENT(IN) ::  kpi, kpj 
    186       REAL(wp), DIMENSION(kpi,kpj), INTENT(INOUT) ::   mdt     ! MDT used on the model grid 
    187       REAL(wp)                    , INTENT(IN   ) ::   zfill  
     188      REAL(wp), DIMENSION(kpi,kpj), INTENT(INOUT) :: mdt          ! MDT used on the model grid 
     189      REAL(wp)                    , INTENT(IN   ) :: zfill        ! Fill value 
     190      INTEGER                     , INTENT(IN   ) :: nn_msshc     ! MDT correction scheme 
     191      REAL(wp)                    , INTENT(IN   ) :: rn_mdtcorr   ! User specified MDT correction 
     192      REAL(wp)                    , INTENT(IN   ) :: rn_mdtcutoff ! MDT cutoff for computed correction 
    188193      !  
    189194      INTEGER  :: ji, jj 
Note: See TracChangeset for help on using the changeset viewer.