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

Ignore:
Timestamp:
2020-03-15T13:12:14+01:00 (4 years ago)
Author:
dcarneir
Message:

Branch in sync with obs_oper_update

File:
1 edited

Legend:

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

    r11932 r12557  
    1616   USE par_kind, ONLY : & ! Precision variables 
    1717      & wp    
     18   USE dom_oce            ! ocean space and time domain 
    1819   USE in_out_manager     ! I/O manager 
    1920   USE obs_profiles_def   ! Definitions for storage arrays for profiles 
     
    11881189      REAL(KIND=wp), DIMENSION(2,2,kprofno) :: & 
    11891190         & zglam, &           ! Model longitude at grid points 
    1190          & zgphi              ! Model latitude at grid points 
     1191         & zgphi, &           ! Model latitude at grid points 
     1192         & zbathy             ! Index of deepest wet level at grid points 
    11911193      INTEGER, DIMENSION(2,2,kprofno) :: & 
    11921194         & igrdi, &           ! Grid i,j 
     
    11961198      INTEGER :: iig, ijg           ! i,j of observation on model grid point. 
    11971199      INTEGER :: jobs, jobsp, jk, ji, jj 
     1200      REAL(KIND=wp) :: maxdept, maxdepw 
    11981201 
    11991202      ! Get grid point indices 
     
    12461249      CALL obs_int_comm_2d( 2, 2, kprofno, kpi, kpj, igrdi, igrdj, plam, zglam ) 
    12471250      CALL obs_int_comm_2d( 2, 2, kprofno, kpi, kpj, igrdi, igrdj, pphi, zgphi ) 
     1251      CALL obs_int_comm_2d( 2, 2, kprofno, kpi, kpj, igrdi, igrdj, REAL(mbathy), zbathy ) 
    12481252      ! Need to know the bathy depth for each observation for sco 
    12491253      CALL obs_int_comm_3d( 2, 2, kprofno, kpi, kpj, kpk, igrdi, igrdj, fsdepw(:,:,:), & 
     
    12861290         DO jobsp = kpstart(jobs), kpend(jobs) 
    12871291 
     1292            ! Calculate max T and W depths of 2x2 grid 
     1293            maxdept=zgdept(1,1,NINT(zbathy(1,1,jobs)),jobs) 
     1294            maxdepw=zgdepw(1,1,NINT(zbathy(1,1,jobs))+1,jobs) 
     1295            DO jj = 1, 2 
     1296               DO ji = 1, 2 
     1297                  IF ( zgdept(ji,jj,NINT(zbathy(ji,jj,jobs)),jobs) > maxdept ) THEN 
     1298                     maxdept = zgdept(ji,jj,NINT(zbathy(ji,jj,jobs)),jobs) 
     1299                  END IF 
     1300                  IF ( zgdepw(ji,jj,NINT(zbathy(ji,jj,jobs))+1,jobs) > maxdepw ) THEN 
     1301                     maxdepw = zgdepw(ji,jj,NINT(zbathy(ji,jj,jobs))+1,jobs) 
     1302                  END IF 
     1303               END DO 
     1304            END DO 
     1305 
    12881306            ! Flag if the observation falls outside the model spatial domain 
    12891307            IF (       ( pobslam(jobs) < -180.         )       & 
     
    12921310               &  .OR. ( pobsphi(jobs) >   90.         )       & 
    12931311               &  .OR. ( pobsdep(jobsp) < 0.0          )       & 
    1294                &  .OR. ( pobsdep(jobsp) > gdepw_1d(kpk)) ) THEN 
     1312               &  .OR. ( pobsdep(jobsp) >= maxdepw ) ) THEN 
    12951313               kobsqc(jobsp) = IBSET(kobsqc(jobsp),11) 
    12961314               kosdobs = kosdobs + 1 
     
    13591377               pobsdep(jobsp) = MINVAL(zgdept(1:2,1:2,1,jobs)) 
    13601378            ENDIF 
     1379 
     1380            ! Set observation depth equal to that of the last wet T-point 
     1381            IF ( ( pobsdep(jobsp) > maxdept ) .AND. & 
     1382               & ( pobsdep(jobsp) < maxdepw ) ) THEN 
     1383               pobsdep(jobsp) = maxdept 
     1384            END IF 
    13611385             
    13621386#if defined key_bdy 
Note: See TracChangeset for help on using the changeset viewer.