Changeset 14591
- Timestamp:
- 2021-03-05T15:20:31+01:00 (3 years ago)
- Location:
- branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/CONFIG/SHARED/namelist_ref
r13393 r14591 1200 1200 ln_sic = .false. ! Logical switch for Sea Ice Concentration observations 1201 1201 ln_sit = .false. ! Logical switch for Sea Ice Thickness observations 1202 ln_fbd = .false. ! Logical switch for Sea Ice Freeboard observations 1202 1203 ln_vel3d = .false. ! Logical switch for velocity observations 1203 1204 ln_sss = .false. ! Logical switch for SSS observations … … 1244 1245 ln_sic_fp_indegs = .true. 1245 1246 ln_sit_fp_indegs = .true. 1247 ln_fbd_fp_indegs = .true. 1246 1248 ! All of the *files* variables below are arrays. Use namelist_cfg to add more files 1247 1249 cn_profbfiles = 'profiles_01.nc' ! Profile feedback input observation file names … … 1250 1252 cn_sicfbfiles = 'sic_01.nc' ! SIC feedback input observation file names 1251 1253 cn_sitfbfiles = 'sit_01.nc' ! SIT feedback input observation file names 1254 cn_fbdfbfiles = 'fbd_01.nc' ! FBD feedback input observation file names 1252 1255 cn_velfbfiles = 'vel_01.nc' ! Velocity feedback input observation file names 1253 1256 cn_sssfbfiles = 'sss_01.nc' ! SSS feedback input observation file names … … 1295 1298 rn_sit_avglamscl = 0. ! E/W diameter of SIT observation footprint (metres/degrees) 1296 1299 rn_sit_avgphiscl = 0. ! N/S diameter of SIT observation footprint (metres/degrees) 1300 rn_fbd_avglamscl = 0. ! E/W diameter of FBD observation footprint (metres/degrees) 1301 rn_fbd_avgphiscl = 0. ! N/S diameter of FBD observation footprint (metres/degrees) 1297 1302 nn_1dint = 0 ! Type of vertical interpolation method 1298 1303 nn_2dint_default = 0 ! Default horizontal interpolation method … … 1303 1308 nn_2dint_sic = -1 ! Horizontal interpolation method for SIC 1304 1309 nn_2dint_sit = -1 ! Horizontal interpolation method for SIT 1310 nn_2dint_fbd = -1 ! Horizontal interpolation method for FBD 1305 1311 nn_msshc = 0 ! MSSH correction scheme 1306 1312 rn_mdtcorr = 1.61 ! MDT correction -
branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r13575 r14591 57 57 LOGICAL :: ln_sic_fp_indegs !: T=> SIC obs footprint size specified in degrees, F=> in metres 58 58 LOGICAL :: ln_sit_fp_indegs !: T=> SIT obs footprint size specified in degrees, F=> in metres 59 LOGICAL :: ln_fbd_fp_indegs !: T=> SIT obs footprint size specified in degrees, F=> in metres 59 60 LOGICAL :: ln_output_clim !: Logical switch for interpolating and writing T/S climatology 60 61 LOGICAL :: ln_time_mean_sla_bkg !: Logical switch for applying time mean of SLA background to remove tidal signal … … 74 75 REAL(wp) :: rn_sit_avglamscl !: E/W diameter of SIT observation footprint 75 76 REAL(wp) :: rn_sit_avgphiscl !: N/S diameter of SIT observation footprint 77 REAL(wp) :: rn_fbd_avglamscl !: E/W diameter of FBD observation footprint 78 REAL(wp) :: rn_fbd_avgphiscl !: N/S diameter of FBD observation footprint 76 79 REAL(wp), PUBLIC :: & 77 80 & MeanPeriodHours = 24. + (5./6.) !: Meaning period for surface data. … … 86 89 INTEGER :: nn_2dint_sic !: SIC horizontal interpolation method (-1 = default) 87 90 INTEGER :: nn_2dint_sit !: SIT horizontal interpolation method (-1 = default) 91 INTEGER :: nn_2dint_fbd !: FBD horizontal interpolation method (-1 = default) 88 92 89 93 INTEGER, DIMENSION(imaxavtypes) :: & … … 171 175 & cn_sicfbfiles, & ! Seaice concentration input filenames 172 176 & cn_sitfbfiles, & ! Seaice thickness input filenames 177 & cn_fbdfbfiles, & ! Seaice freeboard input filenames 173 178 & cn_velfbfiles, & ! Velocity profile input filenames 174 179 & cn_sssfbfiles, & ! Sea surface salinity input filenames … … 211 216 LOGICAL :: ln_sic ! Logical switch for sea ice concentration 212 217 LOGICAL :: ln_sit ! Logical switch for sea ice thickness 218 LOGICAL :: ln_fbd ! Logical switch for sea ice freeboard 213 219 LOGICAL :: ln_sss ! Logical switch for sea surface salinity obs 214 220 LOGICAL :: ln_ssv ! Logical switch for sea surface velocity obs … … 272 278 273 279 NAMELIST/namobs/ln_diaobs, ln_t3d, ln_s3d, ln_sla, & 274 & ln_sst, ln_sic, ln_sit, ln_ sss, &275 & ln_ss v, ln_vel3d,&280 & ln_sst, ln_sic, ln_sit, ln_fbd, & 281 & ln_sss, ln_ssv, ln_vel3d, & 276 282 & ln_slchltot, ln_slchldia, ln_slchlnon, & 277 283 & ln_slchldin, ln_slchlmic, ln_slchlnan, & … … 291 297 & ln_sss_fp_indegs, ln_ssv_fp_indegs, & 292 298 & ln_sic_fp_indegs, ln_sit_fp_indegs, & 299 & ln_fbd_fp_indegs, & 293 300 & cn_profbfiles, cn_slafbfiles, & 294 301 & cn_sstfbfiles, cn_sicfbfiles, & 295 & cn_sitfbfiles, cn_ ssvfbfiles, &296 & cn_velfbfiles, cn_sssfbfiles, 302 & cn_sitfbfiles, cn_fbdfbfiles, & 303 & cn_velfbfiles, cn_sssfbfiles, cn_ssvfbfiles, & 297 304 & cn_slchltotfbfiles, cn_slchldiafbfiles, & 298 305 & cn_slchlnonfbfiles, cn_slchldinfbfiles, & … … 317 324 & rn_sic_avglamscl, rn_sic_avgphiscl, & 318 325 & rn_sit_avglamscl, rn_sit_avgphiscl, & 326 & rn_fbd_avglamscl, rn_fbd_avgphiscl, & 319 327 & nn_1dint, nn_2dint_default, & 320 328 & nn_2dint_sla, nn_2dint_sst, & 321 329 & nn_2dint_sss, nn_2dint_ssv, & 322 330 & nn_2dint_sic, nn_2dint_sit, & 331 & nn_2dint_fbd, & 323 332 & nn_msshc, rn_mdtcorr, rn_mdtcutoff, & 324 333 & nn_profdavtypes … … 334 343 cn_sicfbfiles(:) = '' 335 344 cn_sitfbfiles(:) = '' 345 cn_fbdfbfiles(:) = '' 336 346 cn_velfbfiles(:) = '' 337 347 cn_sssfbfiles(:) = '' … … 399 409 WRITE(numout,*) ' Logical switch for SIC observations ln_sic = ', ln_sic 400 410 WRITE(numout,*) ' Logical switch for SIT observations ln_sit = ', ln_sit 411 WRITE(numout,*) ' Logical switch for FBD observations ln_fbd = ', ln_fbd 401 412 WRITE(numout,*) ' Logical switch for velocity observations ln_vel3d = ', ln_vel3d 402 413 WRITE(numout,*) ' Logical switch for SSS observations ln_sss = ', ln_sss … … 440 451 WRITE(numout,*) ' Type of horizontal interpolation method for SIC nn_2dint_sic = ', nn_2dint_sic 441 452 WRITE(numout,*) ' Type of horizontal interpolation method for SIT nn_2dint_sit = ', nn_2dint_sit 453 WRITE(numout,*) ' Type of horizontal interpolation method for FBD nn_2dint_fbd = ', nn_2dint_fbd 442 454 WRITE(numout,*) ' Default E/W diameter of obs footprint rn_default_avglamscl = ', rn_default_avglamscl 443 455 WRITE(numout,*) ' Default N/S diameter of obs footprint rn_default_avgphiscl = ', rn_default_avgphiscl … … 455 467 WRITE(numout,*) ' SIT N/S diameter of obs footprint rn_sit_avgphiscl = ', rn_sit_avgphiscl 456 468 WRITE(numout,*) ' SIT obs footprint in deg [T] or m [F] ln_sit_fp_indegs = ', ln_sit_fp_indegs 469 WRITE(numout,*) ' FBD E/W diameter of obs footprint rn_fbd_avglamscl = ', rn_fbd_avglamscl 470 WRITE(numout,*) ' FBD N/S diameter of obs footprint rn_fbd_avgphiscl = ', rn_fbd_avgphiscl 471 WRITE(numout,*) ' FBD obs footprint in deg [T] or m [F] ln_fbd_fp_indegs = ', ln_fbd_fp_indegs 457 472 WRITE(numout,*) ' Rejection of observations near land switch ln_nea = ', ln_nea 458 473 WRITE(numout,*) ' Rejection of obs near open bdys ln_bound_reject = ', ln_bound_reject … … 476 491 & ln_pchltot, ln_pno3, ln_psi4, ln_ppo4, & 477 492 & ln_pdic, ln_palk, ln_pph, ln_po2 /) ) 478 nsurftypes = COUNT( (/ln_sla, ln_sst, ln_sic, ln_sit, ln_sss, ln_ssv, & 493 nsurftypes = COUNT( (/ln_sla, ln_sst, ln_sic, ln_sit, ln_fbd, & 494 & ln_sss, ln_ssv, & 479 495 & ln_slchltot, ln_slchldia, ln_slchlnon, ln_slchldin, & 480 496 & ln_slchlmic, ln_slchlnan, ln_slchlpic, ln_schltot, & … … 600 616 cobstypessurf(jtype) = 'sit' 601 617 clsurffiles(jtype,:) = cn_sitfbfiles 618 ENDIF 619 IF (ln_fbd) THEN 620 jtype = jtype + 1 621 cobstypessurf(jtype) = 'fbd' 622 clsurffiles(jtype,:) = cn_fbdfbfiles 602 623 ENDIF 603 624 IF (ln_sss) THEN … … 730 751 ztype_avgphiscl = rn_sit_avgphiscl 731 752 ltype_fp_indegs = ln_sit_fp_indegs 753 ltype_night = .FALSE. 754 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'fbd' ) THEN 755 IF ( nn_2dint_fbd == -1 ) THEN 756 n2dint_type = nn_2dint_default 757 ELSE 758 n2dint_type = nn_2dint_fbd 759 ENDIF 760 ztype_avglamscl = rn_fbd_avglamscl 761 ztype_avgphiscl = rn_fbd_avgphiscl 762 ltype_fp_indegs = ln_fbd_fp_indegs 732 763 ltype_night = .FALSE. 733 764 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sss' ) THEN … … 929 960 930 961 IF ( (TRIM(cobstypessurf(jtype)) == 'sla') .OR. & 931 & (TRIM(cobstypessurf(jtype)) == 'sit') ) THEN 962 & (TRIM(cobstypessurf(jtype)) == 'sit') .OR. & 963 & (TRIM(cobstypessurf(jtype)) == 'fbd') ) THEN 932 964 nvarssurf(jtype) = 1 933 965 nextrsurf(jtype) = 2 … … 966 998 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sic' ) THEN 967 999 clvars(1) = 'ICECONC' 1000 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'fbd' ) THEN 1001 clvars(1) = 'FBD' 1002 ln_seaicetypes = .TRUE. 968 1003 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sit' ) THEN 969 clvars(1) = ' FBD'1004 clvars(1) = 'SIT' 970 1005 ln_seaicetypes = .TRUE. 971 1006 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sss' ) THEN … … 1025 1060 1026 1061 #if defined key_cice 1027 IF ( TRIM(cobstypessurf(jtype)) == ' sit' ) THEN1062 IF ( TRIM(cobstypessurf(jtype)) == 'fbd' ) THEN 1028 1063 CALL obs_rea_snowdepth( surfdataqc(jtype), n2dintsurf(jtype), thick_s(:,:) ) 1029 1064 ENDIF … … 1482 1517 ENDIF 1483 1518 1519 CASE('fbd') 1520 IF ( kstp == 0 ) THEN 1521 IF ( lwp .AND. surfdataqc(jtype)%nsstpmpp(1) > 0 ) THEN 1522 CALL ctl_warn( 'Sea-ice not initialised on zeroth '// & 1523 & 'time-step but some obs are valid then.' ) 1524 WRITE(numout,*)surfdataqc(jtype)%nsstpmpp(1), & 1525 & ' sea-ice freeboard obs will be missed and QC flag set to 4' 1526 ENDIF 1527 ELSE 1528 #if defined key_cice 1529 zsurfvar(:,:) = thick_i(:,:) 1530 #elif defined key_lim2 || defined key_lim3 1531 CALL ctl_stop( ' No sea-ice freeboard observation operator defined for LIM model' ) 1532 #else 1533 CALL ctl_stop( ' Trying to run sea-ice freeboard observation operator', & 1534 & ' but no sea-ice model appears to have been defined' ) 1535 #endif 1536 ENDIF 1537 1484 1538 CASE('slchltot') 1485 1539 #if defined key_hadocc … … 1804 1858 1805 1859 END DO 1806 1807 ! Change label of data from FBD ("freeboard") to SIT ("Sea Ice1808 ! Thickness")1809 IF ( TRIM(surfdataqc(jtype)%cvars(1)) == 'FBD' ) THEN1810 surfdataqc(jtype)%cvars(1) = 'SIT'1811 ENDIF1812 1860 1813 1861 CALL wrk_dealloc( jpi, jpj, surfdataqc(jtype)%nvar, zsurfvar ) -
branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/obs_write.F90
r13575 r14591 542 542 clgrid(1) = 'T' 543 543 544 CASE('FBD') 545 546 clfiletype = 'fbdfb' 547 ! Change label from FBD ("freeboard") to SIT ("Sea Ice Thickness") 548 surfdata%cvars(1) = 'SIT' 549 cllongname = 'Sea ice thickness' 550 clunits = 'm' 551 clgrid = 'T' 552 544 553 CASE('SSS') 545 554
Note: See TracChangeset
for help on using the changeset viewer.