Changeset 12820
- Timestamp:
- 2020-04-27T15:57:00+02:00 (3 years ago)
- Location:
- branches/UKMO/dev_r5518_obs_oper_update_sit_SMOS/NEMOGCM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update_sit_SMOS/NEMOGCM/CONFIG/SHARED/namelist_ref
r12610 r12820 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 swithc for SSS observations … … 1242 1243 ln_sic_fp_indegs = .true. 1243 1244 ln_sit_fp_indegs = .true. 1245 ln_fbd_fp_indegs = .true. 1244 1246 ! All of the *files* variables below are arrays. Use namelist_cfg to add more files 1245 1247 cn_profbfiles = 'profiles_01.nc' ! Profile feedback input observation file names … … 1248 1250 cn_sicfbfiles = 'sic_01.nc' ! SIC feedback input observation file names 1249 1251 cn_sitfbfiles = 'sit_01.nc' ! SIT feedback input observation file names 1252 cn_fbdfbfiles = 'fbd_01.nc' ! FBD feedback input observation file names 1250 1253 cn_velfbfiles = 'vel_01.nc' ! Velocity feedback input observation file names 1251 1254 cn_sssfbfiles = 'sss_01.nc' ! SSS feedback input observation file names … … 1290 1293 rn_sit_avglamscl = 0. ! E/W diameter of SIT observation footprint (metres/degrees) 1291 1294 rn_sit_avgphiscl = 0. ! N/S diameter of SIT observation footprint (metres/degrees) 1295 rn_fbd_avglamscl = 0. ! E/W diameter of FBD observation footprint (metres/degrees) 1296 rn_fbd_avgphiscl = 0. ! N/S diameter of FBD observation footprint (metres/degrees) 1292 1297 nn_1dint = 0 ! Type of vertical interpolation method 1293 1298 nn_2dint_default = 0 ! Default horizontal interpolation method … … 1297 1302 nn_2dint_sic = -1 ! Horizontal interpolation method for SIC 1298 1303 nn_2dint_sit = -1 ! Horizontal interpolation method for SIT 1304 nn_2dint_fbd = -1 ! Horizontal interpolation method for FBD 1299 1305 nn_msshc = 0 ! MSSH correction scheme 1300 1306 rn_mdtcorr = 1.61 ! MDT correction -
branches/UKMO/dev_r5518_obs_oper_update_sit_SMOS/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r12610 r12820 56 56 LOGICAL :: ln_sic_fp_indegs !: T=> SIC obs footprint size specified in degrees, F=> in metres 57 57 LOGICAL :: ln_sit_fp_indegs !: T=> SIT obs footprint size specified in degrees, F=> in metres 58 LOGICAL :: ln_fbd_fp_indegs !: T=> SIT obs footprint size specified in degrees, F=> in metres 58 59 LOGICAL :: ln_output_clim !: Logical switch for interpolating and writing T/S climatology 59 60 LOGICAL :: ln_time_mean_sla_bkg !: Logical switch for applying time mean of SLA background to remove tidal signal … … 71 72 REAL(wp) :: rn_sit_avglamscl !: E/W diameter of SIT observation footprint 72 73 REAL(wp) :: rn_sit_avgphiscl !: N/S diameter of SIT observation footprint 74 REAL(wp) :: rn_fbd_avglamscl !: E/W diameter of FBD observation footprint 75 REAL(wp) :: rn_fbd_avgphiscl !: N/S diameter of FBD observation footprint 73 76 REAL(wp), PUBLIC :: & 74 77 & MeanPeriodHours = 24. + (5./6.) !: Meaning period for surface data. … … 82 85 INTEGER :: nn_2dint_sic !: SIC horizontal interpolation method (-1 = default) 83 86 INTEGER :: nn_2dint_sit !: SIT horizontal interpolation method (-1 = default) 87 INTEGER :: nn_2dint_fbd !: FBD horizontal interpolation method (-1 = default) 84 88 85 89 INTEGER, DIMENSION(imaxavtypes) :: & … … 167 171 & cn_sicfbfiles, & ! Seaice concentration input filenames 168 172 & cn_sitfbfiles, & ! Seaice thickness input filenames 173 & cn_fbdfbfiles, & ! Seaice freeboard input filenames 169 174 & cn_velfbfiles, & ! Velocity profile input filenames 170 175 & cn_sssfbfiles, & ! Sea surface salinity input filenames … … 206 211 LOGICAL :: ln_sic ! Logical switch for sea ice concentration 207 212 LOGICAL :: ln_sit ! Logical switch for sea ice thickness 213 LOGICAL :: ln_fbd ! Logical switch for sea ice freeboard 208 214 LOGICAL :: ln_sss ! Logical switch for sea surface salinity obs 209 215 LOGICAL :: ln_vel3d ! Logical switch for velocity (u,v) obs … … 264 270 265 271 NAMELIST/namobs/ln_diaobs, ln_t3d, ln_s3d, ln_sla, & 266 & ln_sst, ln_sic, ln_sit, ln_sss, ln_vel3d, & 272 & ln_sst, ln_sic, ln_sit, ln_fbd, & 273 & ln_sss, ln_vel3d, & 267 274 & ln_slchltot, ln_slchldia, ln_slchlnon, & 268 275 & ln_slchldin, ln_slchlmic, ln_slchlnan, & … … 281 288 & ln_sla_fp_indegs, ln_sst_fp_indegs, & 282 289 & ln_sss_fp_indegs, ln_sic_fp_indegs, & 283 & ln_sit_fp_indegs, 290 & ln_sit_fp_indegs, ln_fbd_fp_indegs, & 284 291 & cn_profbfiles, cn_slafbfiles, & 285 292 & cn_sstfbfiles, cn_sicfbfiles, & 286 & cn_sitfbfiles, 293 & cn_sitfbfiles, cn_fbdfbfiles, & 287 294 & cn_velfbfiles, cn_sssfbfiles, & 288 295 & cn_slchltotfbfiles, cn_slchldiafbfiles, & … … 307 314 & rn_sic_avglamscl, rn_sic_avgphiscl, & 308 315 & rn_sit_avglamscl, rn_sit_avgphiscl, & 316 & rn_fbd_avglamscl, rn_fbd_avgphiscl, & 309 317 & nn_1dint, nn_2dint_default, & 310 318 & nn_2dint_sla, nn_2dint_sst, & 311 & nn_2dint_sss, nn_2dint_sic, nn_2dint_sit, & 319 & nn_2dint_sss, nn_2dint_sic, & 320 & nn_2dint_sit, nn_2dint_fbd, & 312 321 & nn_msshc, rn_mdtcorr, rn_mdtcutoff, & 313 322 & nn_profdavtypes … … 323 332 cn_sicfbfiles(:) = '' 324 333 cn_sitfbfiles(:) = '' 334 cn_fbdfbfiles(:) = '' 325 335 cn_velfbfiles(:) = '' 326 336 cn_sssfbfiles(:) = '' … … 387 397 WRITE(numout,*) ' Logical switch for SIC observations ln_sic = ', ln_sic 388 398 WRITE(numout,*) ' Logical switch for SIT observations ln_sit = ', ln_sit 399 WRITE(numout,*) ' Logical switch for FBD observations ln_fbd = ', ln_fbd 389 400 WRITE(numout,*) ' Logical switch for velocity observations ln_vel3d = ', ln_vel3d 390 401 WRITE(numout,*) ' Logical switch for SSS observations ln_sss = ', ln_sss … … 426 437 WRITE(numout,*) ' Type of horizontal interpolation method for SIC nn_2dint_sic = ', nn_2dint_sic 427 438 WRITE(numout,*) ' Type of horizontal interpolation method for SIT nn_2dint_sit = ', nn_2dint_sit 439 WRITE(numout,*) ' Type of horizontal interpolation method for FBD nn_2dint_fbd = ', nn_2dint_fbd 428 440 WRITE(numout,*) ' Default E/W diameter of obs footprint rn_default_avglamscl = ', rn_default_avglamscl 429 441 WRITE(numout,*) ' Default N/S diameter of obs footprint rn_default_avgphiscl = ', rn_default_avgphiscl … … 441 453 WRITE(numout,*) ' SIT N/S diameter of obs footprint rn_sit_avgphiscl = ', rn_sit_avgphiscl 442 454 WRITE(numout,*) ' SIT obs footprint in deg [T] or m [F] ln_sit_fp_indegs = ', ln_sit_fp_indegs 455 WRITE(numout,*) ' FBD E/W diameter of obs footprint rn_fbd_avglamscl = ', rn_fbd_avglamscl 456 WRITE(numout,*) ' FBD N/S diameter of obs footprint rn_fbd_avgphiscl = ', rn_fbd_avgphiscl 457 WRITE(numout,*) ' FBD obs footprint in deg [T] or m [F] ln_fbd_fp_indegs = ', ln_fbd_fp_indegs 443 458 WRITE(numout,*) ' Rejection of observations near land switch ln_nea = ', ln_nea 444 459 WRITE(numout,*) ' Rejection of obs near open bdys ln_bound_reject = ', ln_bound_reject … … 462 477 & ln_pchltot, ln_pno3, ln_psi4, ln_ppo4, & 463 478 & ln_pdic, ln_palk, ln_pph, ln_po2 /) ) 464 nsurftypes = COUNT( (/ln_sla, ln_sst, ln_sic, ln_sit, ln_ sss,&479 nsurftypes = COUNT( (/ln_sla, ln_sst, ln_sic, ln_sit, ln_fbd, ln_sss, & 465 480 & ln_slchltot, ln_slchldia, ln_slchlnon, ln_slchldin, & 466 481 & ln_slchlmic, ln_slchlnan, ln_slchlpic, ln_schltot, & … … 586 601 cobstypessurf(jtype) = 'sit' 587 602 clsurffiles(jtype,:) = cn_sitfbfiles 603 ENDIF 604 IF (ln_fbd) THEN 605 jtype = jtype + 1 606 cobstypessurf(jtype) = 'fbd' 607 clsurffiles(jtype,:) = cn_fbdfbfiles 588 608 ENDIF 589 609 IF (ln_sss) THEN … … 711 731 ztype_avgphiscl = rn_sit_avgphiscl 712 732 ltype_fp_indegs = ln_sit_fp_indegs 733 ltype_night = .FALSE. 734 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'fbd' ) THEN 735 IF ( nn_2dint_fbd == -1 ) THEN 736 n2dint_type = nn_2dint_default 737 ELSE 738 n2dint_type = nn_2dint_fbd 739 ENDIF 740 ztype_avglamscl = rn_fbd_avglamscl 741 ztype_avgphiscl = rn_fbd_avgphiscl 742 ltype_fp_indegs = ln_fbd_fp_indegs 713 743 ltype_night = .FALSE. 714 744 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sss' ) THEN … … 900 930 901 931 IF ( (TRIM(cobstypessurf(jtype)) == 'sla') .OR. & 902 & (TRIM(cobstypessurf(jtype)) == 'sit') ) THEN 932 & (TRIM(cobstypessurf(jtype)) == 'sit') .OR. & 933 & (TRIM(cobstypessurf(jtype)) == 'fbd') ) THEN 903 934 nvarssurf(jtype) = 1 904 935 nextrsurf(jtype) = 2 … … 916 947 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sic' ) THEN 917 948 clvars(1) = 'ICECONC' 949 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'fbd' ) THEN 950 clvars(1) = 'FBD' 951 ln_seaicetypes = .TRUE. 918 952 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sit' ) THEN 919 clvars(1) = ' FBD'953 clvars(1) = 'SIT' 920 954 ln_seaicetypes = .TRUE. 921 955 ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sss' ) THEN … … 969 1003 970 1004 #if defined key_cice 971 IF ( TRIM(cobstypessurf(jtype)) == ' sit' ) THEN1005 IF ( TRIM(cobstypessurf(jtype)) == 'fbd' ) THEN 972 1006 CALL obs_rea_snowdepth( surfdataqc(jtype), n2dintsurf(jtype), thick_s(:,:) ) 973 1007 ENDIF … … 1409 1443 ENDIF 1410 1444 1445 CASE('fbd') 1446 IF ( kstp == 0 ) THEN 1447 IF ( lwp .AND. surfdataqc(jtype)%nsstpmpp(1) > 0 ) THEN 1448 CALL ctl_warn( 'Sea-ice not initialised on zeroth '// & 1449 & 'time-step but some obs are valid then.' ) 1450 WRITE(numout,*)surfdataqc(jtype)%nsstpmpp(1), & 1451 & ' sea-ice freeboard obs will be missed and QC flag set to 4' 1452 ENDIF 1453 ELSE 1454 #if defined key_cice 1455 zsurfvar(:,:) = thick_i(:,:) 1456 #elif defined key_lim2 || defined key_lim3 1457 CALL ctl_stop( ' No sea-ice freeboard observation operator defined for LIM model' ) 1458 #else 1459 CALL ctl_stop( ' Trying to run sea-ice freeboard observation operator', & 1460 & ' but no sea-ice model appears to have been defined' ) 1461 #endif 1462 ENDIF 1463 1411 1464 CASE('slchltot') 1412 1465 #if defined key_hadocc … … 1715 1768 ENDIF 1716 1769 1717 ! Change label of data from FBD ("freeboard") to SIT ("Sea Ice1718 ! Thickness")1719 IF ( TRIM(surfdataqc(jtype)%cvars(1)) == 'FBD' ) THEN1720 surfdata(jtype)%cvars(1) = 'SIT'1721 ENDIF1722 1723 1770 END DO 1724 1771 -
branches/UKMO/dev_r5518_obs_oper_update_sit_SMOS/NEMOGCM/NEMO/OPA_SRC/OBS/obs_write.F90
r12610 r12820 537 537 538 538 clfiletype = 'sitfb' 539 cllongname = 'Sea ice thickness' 540 clunits = 'm' 541 clgrid = 'T' 542 543 CASE('FBD') 544 545 clfiletype = 'fbdfb' 546 ! Change label from FBD ("freeboard") to SIT ("Sea Ice Thickness") 547 surfdata%cvars(1) = 'SIT' 539 548 cllongname = 'Sea ice thickness' 540 549 clunits = 'm'
Note: See TracChangeset
for help on using the changeset viewer.