Changeset 10181 for branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
- Timestamp:
- 2018-10-09T11:29:47+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r9306 r10181 52 52 LOGICAL :: ln_sst_fp_indegs !: T=> SST obs footprint size specified in degrees, F=> in metres 53 53 LOGICAL :: ln_sss_fp_indegs !: T=> SSS obs footprint size specified in degrees, F=> in metres 54 LOGICAL :: ln_sic_fp_indegs !: T=> sea-ice obs footprint size specified in degrees, F=> in metres 54 LOGICAL :: ln_sic_fp_indegs !: T=> SIC obs footprint size specified in degrees, F=> in metres 55 LOGICAL :: ln_sit_fp_indegs !: T=> SIT obs footprint size specified in degrees, F=> in metres 55 56 56 57 REAL(wp) :: rn_default_avglamscl !: Default E/W diameter of observation footprint … … 62 63 REAL(wp) :: rn_sss_avglamscl !: E/W diameter of SSS observation footprint 63 64 REAL(wp) :: rn_sss_avgphiscl !: N/S diameter of SSS observation footprint 64 REAL(wp) :: rn_sic_avglamscl !: E/W diameter of sea-ice observation footprint 65 REAL(wp) :: rn_sic_avgphiscl !: N/S diameter of sea-ice observation footprint 66 65 REAL(wp) :: rn_sic_avglamscl !: E/W diameter of SIC observation footprint 66 REAL(wp) :: rn_sic_avgphiscl !: N/S diameter of SIC observation footprint 67 REAL(wp) :: rn_sit_avglamscl !: E/W diameter of SIT observation footprint 68 REAL(wp) :: rn_sit_avgphiscl !: N/S diameter of SIT observation footprint 69 67 70 INTEGER :: nn_1dint !: Vertical interpolation method 68 71 INTEGER :: nn_2dint_default !: Default horizontal interpolation method … … 70 73 INTEGER :: nn_2dint_sst !: SST horizontal interpolation method (-1 = default) 71 74 INTEGER :: nn_2dint_sss !: SSS horizontal interpolation method (-1 = default) 72 INTEGER :: nn_2dint_sic !: Seaice horizontal interpolation method (-1 = default) 75 INTEGER :: nn_2dint_sic !: SIC horizontal interpolation method (-1 = default) 76 INTEGER :: nn_2dint_sit !: SIT horizontal interpolation method (-1 = default) 73 77 74 78 INTEGER, DIMENSION(imaxavtypes) :: & … … 151 155 & cn_slafbfiles, & ! Sea level anomaly input filenames 152 156 & cn_sicfbfiles, & ! Seaice concentration input filenames 157 & cn_sitfbfiles, & ! Seaice thickness input filenames 153 158 & cn_velfbfiles, & ! Velocity profile input filenames 154 159 & cn_sssfbfiles, & ! Sea surface salinity input filenames … … 187 192 LOGICAL :: ln_sst ! Logical switch for sea surface temperature 188 193 LOGICAL :: ln_sic ! Logical switch for sea ice concentration 194 LOGICAL :: ln_sit ! Logical switch for sea ice thickness 189 195 LOGICAL :: ln_sss ! Logical switch for sea surface salinity obs 190 196 LOGICAL :: ln_vel3d ! Logical switch for velocity (u,v) obs … … 242 248 243 249 NAMELIST/namobs/ln_diaobs, ln_t3d, ln_s3d, ln_sla, & 244 & ln_sst, ln_sic, ln_s ss, ln_vel3d,&250 & ln_sst, ln_sic, ln_sit, ln_sss, ln_vel3d, & 245 251 & ln_slchltot, ln_slchldia, ln_slchlnon, & 246 252 & ln_slchldin, ln_slchlmic, ln_slchlnan, & … … 257 263 & ln_sla_fp_indegs, ln_sst_fp_indegs, & 258 264 & ln_sss_fp_indegs, ln_sic_fp_indegs, & 265 & ln_sit_fp_indegs, & 259 266 & cn_profbfiles, cn_slafbfiles, & 260 267 & cn_sstfbfiles, cn_sicfbfiles, & 268 & cn_sitfbfiles, & 261 269 & cn_velfbfiles, cn_sssfbfiles, & 262 270 & cn_slchltotfbfiles, cn_slchldiafbfiles, & … … 279 287 & rn_sss_avglamscl, rn_sss_avgphiscl, & 280 288 & rn_sic_avglamscl, rn_sic_avgphiscl, & 289 & rn_sit_avglamscl, rn_sit_avgphiscl, & 281 290 & nn_1dint, nn_2dint_default, & 282 291 & nn_2dint_sla, nn_2dint_sst, & 283 292 & nn_2dint_sss, nn_2dint_sic, & 293 & nn_2dint_sit, & 284 294 & nn_msshc, rn_mdtcorr, rn_mdtcutoff, & 285 295 & nn_profdavtypes … … 294 304 cn_sstfbfiles(:) = '' 295 305 cn_sicfbfiles(:) = '' 306 cn_sitfbfiles(:) = '' 296 307 cn_velfbfiles(:) = '' 297 308 cn_sssfbfiles(:) = '' … … 355 366 WRITE(numout,*) ' Logical switch for SLA observations ln_sla = ', ln_sla 356 367 WRITE(numout,*) ' Logical switch for SST observations ln_sst = ', ln_sst 357 WRITE(numout,*) ' Logical switch for Sea Ice observations ln_sic = ', ln_sic 368 WRITE(numout,*) ' Logical switch for Sea Ice Concentration observations ln_sic = ', ln_sic 369 WRITE(numout,*) ' Logical switch for Sea Ice Thickness observations ln_sit = ', ln_sit 358 370 WRITE(numout,*) ' Logical switch for velocity observations ln_vel3d = ', ln_vel3d 359 371 WRITE(numout,*) ' Logical switch for SSS observations ln_sss = ', ln_sss … … 393 405 WRITE(numout,*) ' Type of horizontal interpolation method for SSS nn_2dint_sss = ', nn_2dint_sss 394 406 WRITE(numout,*) ' Type of horizontal interpolation method for SIC nn_2dint_sic = ', nn_2dint_sic 407 WRITE(numout,*) ' Type of horizontal interpolation method for SIT nn_2dint_sit = ', nn_2dint_sit 395 408 WRITE(numout,*) ' Default E/W diameter of obs footprint rn_default_avglamscl = ', rn_default_avglamscl 396 409 WRITE(numout,*) ' Default N/S diameter of obs footprint rn_default_avgphiscl = ', rn_default_avgphiscl … … 405 418 WRITE(numout,*) ' SIC N/S diameter of obs footprint rn_sic_avgphiscl = ', rn_sic_avgphiscl 406 419 WRITE(numout,*) ' SIC obs footprint in deg [T] or m [F] ln_sic_fp_indegs = ', ln_sic_fp_indegs 420 WRITE(numout,*) ' SIT E/W diameter of obs footprint rn_sit_avglamscl = ', rn_sit_avglamscl 421 WRITE(numout,*) ' SIT N/S diameter of obs footprint rn_sit_avgphiscl = ', rn_sit_avgphiscl 422 WRITE(numout,*) ' SIT obs footprint in deg [T] or m [F] ln_sit_fp_indegs = ', ln_sit_fp_indegs 407 423 WRITE(numout,*) ' Rejection of observations near land switch ln_nea = ', ln_nea 408 424 WRITE(numout,*) ' Rejection of obs near open bdys ln_bound_reject = ', ln_bound_reject … … 424 440 & ln_pchltot, ln_pno3, ln_psi4, ln_ppo4, & 425 441 & ln_pdic, ln_palk, ln_pph, ln_po2 /) ) 426 nsurftypes = COUNT( (/ln_sla, ln_sst, ln_sic, ln_s ss,&442 nsurftypes = COUNT( (/ln_sla, ln_sst, ln_sic, ln_sit, ln_sss, & 427 443 & ln_slchltot, ln_slchldia, ln_slchlnon, ln_slchldin, & 428 444 & ln_slchlmic, ln_slchlnan, ln_slchlpic, ln_schltot, & … … 535 551 clsurffiles(jtype,:) = cn_sicfbfiles 536 552 ENDIF 553 IF (ln_sit) THEN 554 jtype = jtype + 1 555 cobstypessurf(jtype) = 'sit' 556 clsurffiles(jtype,:) = cn_sitfbfiles 557 ENDIF 537 558 IF (ln_sss) THEN 538 559 jtype = jtype + 1 … … 645 666 ltype_fp_indegs = ln_sic_fp_indegs 646 667 ltype_night = .FALSE. 668 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sit' ) THEN 669 IF ( nn_2dint_sit == -1 ) THEN 670 n2dint_type = nn_2dint_default 671 ELSE 672 n2dint_type = nn_2dint_sit 673 ENDIF 674 ztype_avglamscl = rn_sit_avglamscl 675 ztype_avgphiscl = rn_sit_avgphiscl 676 ltype_fp_indegs = ln_sit_fp_indegs 677 ltype_night = .FALSE. 647 678 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sss' ) THEN 648 679 IF ( nn_2dint_sss == -1 ) THEN … … 877 908 #endif 878 909 #if defined key_cice 879 USE sbc_oce, ONLY : fr_i ! ice fraction 910 USE sbc_oce, ONLY : & ! CICE variables 911 & fr_i, & ! ice fraction 912 & thick_i ! ice thickness 880 913 #endif 881 914 #if defined key_hadocc … … 1190 1223 & 'time-step but some obs are valid then.' ) 1191 1224 WRITE(numout,*)surfdataqc(jtype)%nsstpmpp(1), & 1192 & ' sea-ice obs will be missed'1225 & ' sea-ice concentration obs will be missed' 1193 1226 ENDIF 1194 1227 surfdataqc(jtype)%nsurfup = surfdataqc(jtype)%nsurfup + & … … 1201 1234 zsurfvar(:,:) = 1._wp - frld(:,:) 1202 1235 #else 1203 CALL ctl_stop( ' Trying to run sea-ice observation operator', & 1236 CALL ctl_stop( ' Trying to run sea-ice concentration observation operator', & 1237 & ' but no sea-ice model appears to have been defined' ) 1238 #endif 1239 ENDIF 1240 CASE('sit') 1241 IF ( kstp == 0 ) THEN ! **Copied from SIC, check applies to SIT!** 1242 IF ( lwp .AND. surfdataqc(jtype)%nsstpmpp(1) > 0 ) THEN 1243 CALL ctl_warn( 'Sea-ice not initialised on zeroth '// & 1244 & 'time-step but some obs are valid then.' ) 1245 WRITE(numout,*)surfdataqc(jtype)%nsstpmpp(1), & 1246 & ' sea-ice thickness obs will be missed' 1247 ENDIF 1248 surfdataqc(jtype)%nsurfup = surfdataqc(jtype)%nsurfup + & 1249 & surfdataqc(jtype)%nsstp(1) 1250 CYCLE 1251 ELSE 1252 #if defined key_cice 1253 ! Will need to convert freeboard to thickness here 1254 zsurfvar(:,:) = thick_i(:,:) 1255 #elif defined key_lim2 || defined key_lim3 1256 CALL ctl_stop( ' No sea-ice thickness observation operator defined for LIM model' ) 1257 #else 1258 CALL ctl_stop( ' Trying to run sea-ice thickness observation operator', & 1204 1259 & ' but no sea-ice model appears to have been defined' ) 1205 1260 #endif
Note: See TracChangeset
for help on using the changeset viewer.