Changeset 12557 for branches/UKMO/dev_r5518_obs_oper_update_sit/NEMOGCM/NEMO/OPA_SRC/OBS/obs_prep.F90
- Timestamp:
- 2020-03-15T13:12:14+01:00 (4 years ago)
- 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 16 16 USE par_kind, ONLY : & ! Precision variables 17 17 & wp 18 USE dom_oce ! ocean space and time domain 18 19 USE in_out_manager ! I/O manager 19 20 USE obs_profiles_def ! Definitions for storage arrays for profiles … … 1188 1189 REAL(KIND=wp), DIMENSION(2,2,kprofno) :: & 1189 1190 & 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 1191 1193 INTEGER, DIMENSION(2,2,kprofno) :: & 1192 1194 & igrdi, & ! Grid i,j … … 1196 1198 INTEGER :: iig, ijg ! i,j of observation on model grid point. 1197 1199 INTEGER :: jobs, jobsp, jk, ji, jj 1200 REAL(KIND=wp) :: maxdept, maxdepw 1198 1201 1199 1202 ! Get grid point indices … … 1246 1249 CALL obs_int_comm_2d( 2, 2, kprofno, kpi, kpj, igrdi, igrdj, plam, zglam ) 1247 1250 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 ) 1248 1252 ! Need to know the bathy depth for each observation for sco 1249 1253 CALL obs_int_comm_3d( 2, 2, kprofno, kpi, kpj, kpk, igrdi, igrdj, fsdepw(:,:,:), & … … 1286 1290 DO jobsp = kpstart(jobs), kpend(jobs) 1287 1291 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 1288 1306 ! Flag if the observation falls outside the model spatial domain 1289 1307 IF ( ( pobslam(jobs) < -180. ) & … … 1292 1310 & .OR. ( pobsphi(jobs) > 90. ) & 1293 1311 & .OR. ( pobsdep(jobsp) < 0.0 ) & 1294 & .OR. ( pobsdep(jobsp) > gdepw_1d(kpk)) ) THEN1312 & .OR. ( pobsdep(jobsp) >= maxdepw ) ) THEN 1295 1313 kobsqc(jobsp) = IBSET(kobsqc(jobsp),11) 1296 1314 kosdobs = kosdobs + 1 … … 1359 1377 pobsdep(jobsp) = MINVAL(zgdept(1:2,1:2,1,jobs)) 1360 1378 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 1361 1385 1362 1386 #if defined key_bdy
Note: See TracChangeset
for help on using the changeset viewer.