Changeset 6003 for branches/2015/dev_MetOffice_merge_2015/NEMOGCM
- Timestamp:
- 2015-12-04T17:03:23+01:00 (9 years ago)
- Location:
- branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/OBS
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r5998 r6003 61 61 & nextrprof, & !: Number of profile extra variables 62 62 & nextrsurf !: Number of surface extra variables 63 INTEGER, PUBLIC, ALLOCATABLE, DIMENSION(:) ,:: sstbias_type !SST bias type63 INTEGER, PUBLIC, ALLOCATABLE, DIMENSION(:) :: sstbias_type !SST bias type 64 64 TYPE(obs_surf), PUBLIC, POINTER, DIMENSION(:) :: & 65 65 & surfdata, & !: Initial surface data … … 120 120 & cn_slafbfiles, & ! Sea level anomaly input filenames 121 121 & cn_sicfbfiles, & ! Seaice concentration input filenames 122 & cn_velfbfiles ! Velocity profile input filenames 122 & cn_velfbfiles, & ! Velocity profile input filenames 123 & cn_sstbias_files ! SST bias input filenames 123 124 CHARACTER(LEN=128) :: & 124 125 & cn_altbiasfile ! Altimeter bias input filename 125 & cn_sstbias_files ! Altimeter bias input filenames126 126 CHARACTER(len=128), DIMENSION(:,:), ALLOCATABLE :: & 127 127 & clproffiles, & ! Profile filenames … … 142 142 LOGICAL :: llvar2 ! Logical for profile variable 1 143 143 LOGICAL :: llnightav ! Logical for calculating night-time averages 144 LOGICAL, DIMENSION(jpmaxnfiles) :: lmask ! Used for finding number of sstbias files 144 145 145 146 REAL(dp) :: rn_dobsini ! Obs window start date YYYYMMDD.HHMMSS … … 166 167 & rn_dobsini, rn_dobsend, nn_1dint, nn_2dint, & 167 168 & nn_msshc, rn_mdtcorr, rn_mdtcutoff, & 168 & nn_profdavtypes, ln_sstbias, sstbias_files169 170 INTEGER :: jnumsstbias !TG - Is this still needed169 & nn_profdavtypes, ln_sstbias, cn_sstbias_files 170 171 INTEGER :: jnumsstbias 171 172 CALL wrk_alloc( jpi, jpj, zglam1 ) 172 173 CALL wrk_alloc( jpi, jpj, zglam2 ) … … 181 182 182 183 !Initalise all values in namelist arrays 183 ALLOCATE(sstbias_type(jpmaxn umfiles))184 ALLOCATE(sstbias_type(jpmaxnfiles)) 184 185 ! Some namelist arrays need initialising 185 186 cn_profbfiles(:) = '' … … 220 221 IF (ln_sstbias) THEN 221 222 lmask(:) = .FALSE. 222 WHERE ( sstbias_files(:) /= '') lmask(:) = .TRUE.223 WHERE (cn_sstbias_files(:) /= '') lmask(:) = .TRUE. 223 224 jnumsstbias = COUNT(lmask) 224 225 lmask(:) = .FALSE. … … 467 468 & rn_dobsini, rn_dobsend, ln_ignmis, .FALSE., llnightav ) 468 469 470 471 CALL obs_pre_surf( surfdata(jtype), surfdataqc(jtype), ln_nea ) 472 473 IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) THEN 474 CALL obs_rea_mdt( surfdataqc(jtype), nn_2dint ) 475 IF ( ln_altbias ) CALL obs_rea_altbias ( surfdataqc(jtype), nn_2dint, cn_altbiasfile ) 476 ENDIF 477 478 END DO 479 469 480 !Read in bias field and correct SST. 470 481 IF ( ln_sstbias ) THEN … … 472 483 " but no bias"// & 473 484 " files to read in") 474 CALL obs_app_sstbias( nsstsets, sstdatqc, n2dint, & 475 jnumsstbias, & 476 sstbias_files(1:jnumsstbias) ) 485 ! CALL obs_app_sstbias( nsstsets, sstdatqc, nn_2dint, & 486 ! jnumsstbias, cn_sstbias_files(1:jnumsstbias) ) 477 487 ENDIF 478 479 CALL obs_pre_surf( surfdata(jtype), surfdataqc(jtype), ln_nea ) 480 481 IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) THEN 482 CALL obs_rea_mdt( surfdataqc(jtype), nn_2dint ) 483 IF ( ln_altbias ) CALL obs_rea_altbias ( surfdataqc(jtype), nn_2dint, cn_altbiasfile ) 484 ENDIF 485 486 END DO 488 487 489 488 490 DEALLOCATE( ifilessurf, clsurffiles ) … … 526 528 USE dom_oce, ONLY : & ! Ocean space and time domain variables 527 529 #if defined key_vvl 528 & gdept_n , &530 & gdept_n 529 531 #else 530 & gdept_1d , &532 & gdept_1d 531 533 #endif 532 534 USE phycst, ONLY : & ! Physical constants … … 534 536 USE oce, ONLY : & ! Ocean dynamics and tracers variables 535 537 & tsn, & 536 & un, vn, & 538 & un, vn, & 539 & sshn 537 540 USE phycst, ONLY : & ! Physical constants 538 541 & rday 539 & sshn540 542 #if defined key_lim3 541 543 USE ice, ONLY : & ! LIM3 Ice model variables … … 605 607 !----------------------------------------------------------------------- 606 608 607 <<<<<<< .working608 ! - Temperature/salinity profiles609 IF ( ln_t3d .OR. ln_s3d ) THEN610 DO jprofset = 1, nprofsets611 IF( ln_zco .OR. ln_zps ) THEN612 IF ( ld_enact(jprofset) ) THEN613 CALL obs_pro_opt( prodatqc(jprofset), &614 & kstp, jpi, jpj, jpk, nit000, idaystp, &615 & tsn(:,:,:,jp_tem), tsn(:,:,:,jp_sal), &616 & gdept_1d, tmask, n1dint, n2dint, &617 & kdailyavtypes = endailyavtypes )618 ELSE619 CALL obs_pro_opt( prodatqc(jprofset), &620 & kstp, jpi, jpj, jpk, nit000, idaystp, &621 & tsn(:,:,:,jp_tem), tsn(:,:,:,jp_sal), &622 & gdept_1d, tmask, n1dint, n2dint )623 ENDIF624 ELSE625 IF ( ld_enact(jprofset) ) THEN626 CALL obs_pro_sco_opt( prodatqc(jprofset), &627 & kstp, jpi, jpj, jpk, nit000, idaystp, &628 & tsn(:,:,:,jp_tem), tsn(:,:,:,jp_sal), &629 & fsdept(:,:,:), fsdepw(:,:,:), &630 & tmask, n1dint, n2dint, &631 & kdailyavtypes = endailyavtypes )632 ELSE633 CALL obs_pro_sco_opt( prodatqc(jprofset), &634 & kstp, jpi, jpj, jpk, nit000, idaystp, &635 & tsn(:,:,:,jp_tem), tsn(:,:,:,jp_sal), &636 & fsdept(:,:,:), fsdepw(:,:,:), &637 & tmask, n1dint, n2dint )638 ENDIF639 ENDIF640 END DO641 ENDIF642 =======643 609 IF ( nproftypes > 0 ) THEN 644 >>>>>>> .merge-right.r5997645 610 646 611 DO jtype = 1, nproftypes … … 675 640 & nn_1dint, nn_2dint, & 676 641 & kdailyavtypes = nn_profdavtypes ) 677 ELSE IF(TRIM(cobstypesprof(jtype)) == 'prof') 642 ELSE IF(TRIM(cobstypesprof(jtype)) == 'prof') THEN 678 643 !TG - THIS NEEDS MODIFICATION TO MATCH SIMPLIFICATION 679 CALL obs_pro_sco_opt( pro datqc(jtype), &644 CALL obs_pro_sco_opt( profdataqc(jtype), & 680 645 & kstp, jpi, jpj, jpk, nit000, idaystp, & 681 646 & zprofvar1, zprofvar2, & … … 684 649 & kdailyavtypes = nn_profdavtypes ) 685 650 ELSE 686 ctl_stop('DIA_OBS: Generalised vertical interpolation not'// &651 CALL ctl_stop('DIA_OBS: Generalised vertical interpolation not'// & 687 652 'yet working for velocity date (turn off velocity observations') 688 653 ENDIF -
branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/OBS/obs_oper.F90
r5998 r6003 571 571 & psn, & ! Model salinity field 572 572 & ptmask ! Land-sea mask 573 REAL(KIND=wp), INTENT(IN), DIMENSION(kpi, jpj,kpk) :: &573 REAL(KIND=wp), INTENT(IN), DIMENSION(kpi,kpj,kpk) :: & 574 574 & pgdept, & ! Model array of depth T levels 575 575 & pgdepw ! Model array of depth W levels … … 711 711 zgdepw = 0.0 712 712 713 CALL obs_int_comm_2d( 2, 2, ipro, igrdi, igrdj, glamt, zglam )714 CALL obs_int_comm_2d( 2, 2, ipro, igrdi, igrdj, gphit, zgphi )715 CALL obs_int_comm_3d( 2, 2, ipro, kp k, igrdi, igrdj, ptmask,zmask )716 CALL obs_int_comm_3d( 2, 2, ipro, kp k, igrdi, igrdj, ptn, zintt )717 CALL obs_int_comm_3d( 2, 2, ipro, kp k, igrdi, igrdj, psn, zints )718 CALL obs_int_comm_3d( 2, 2, ipro, kp k, igrdi, igrdj, pgdept(:,:,:), &713 CALL obs_int_comm_2d( 2, 2, ipro, kpi, kpj, igrdi, igrdj, glamt, zglam ) 714 CALL obs_int_comm_2d( 2, 2, ipro, kpi, kpj, igrdi, igrdj, gphit, zgphi ) 715 CALL obs_int_comm_3d( 2, 2, ipro, kpi, kpj, kpk, igrdi, igrdj, ptmask,zmask ) 716 CALL obs_int_comm_3d( 2, 2, ipro, kpi, kpj, kpk, igrdi, igrdj, ptn, zintt ) 717 CALL obs_int_comm_3d( 2, 2, ipro, kpi, kpj, kpk, igrdi, igrdj, psn, zints ) 718 CALL obs_int_comm_3d( 2, 2, ipro, kpi, kpj, kpk, igrdi, igrdj, pgdept(:,:,:), & 719 719 & zgdept ) 720 CALL obs_int_comm_3d( 2, 2, ipro, kp k, igrdi, igrdj, pgdepw(:,:,:), &720 CALL obs_int_comm_3d( 2, 2, ipro, kpi, kpj, kpk, igrdi, igrdj, pgdepw(:,:,:), & 721 721 & zgdepw ) 722 722 … … 729 729 & ) 730 730 731 CALL obs_int_comm_3d( 2, 2, ipro, kp k, igrdi, igrdj, &731 CALL obs_int_comm_3d( 2, 2, ipro, kpi, kpj, kpk, igrdi, igrdj, & 732 732 & prodatqc%vdmean(:,:,:,1), zinmt ) 733 CALL obs_int_comm_3d( 2, 2, ipro, kp k, igrdi, igrdj, &733 CALL obs_int_comm_3d( 2, 2, ipro, kpi, kpj, kpk, igrdi, igrdj, & 734 734 & prodatqc%vdmean(:,:,:,2), zinms ) 735 735 -
branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/OBS/obs_sstbias.F90
r5992 r6003 170 170 igrdj(2,2,jobs) = sstdata(jslano)%mj(jobs) 171 171 END DO 172 CALL obs_int_comm_2d( 2, 2, sstdata(jslano)%nsurf, &172 CALL obs_int_comm_2d( 2, 2, sstdata(jslano)%nsurf, jpi, jpj, & 173 173 & igrdi, igrdj, glamt, zglam ) 174 CALL obs_int_comm_2d( 2, 2, sstdata(jslano)%nsurf, &174 CALL obs_int_comm_2d( 2, 2, sstdata(jslano)%nsurf, jpi, jpj, & 175 175 & igrdi, igrdj, gphit, zgphi ) 176 CALL obs_int_comm_2d( 2, 2, sstdata(jslano)%nsurf, &176 CALL obs_int_comm_2d( 2, 2, sstdata(jslano)%nsurf, jpi, jpj, & 177 177 & igrdi, igrdj, tmask(:,:,1), zmask ) 178 178 DO jtype = 1, knumtypes … … 201 201 END DO 202 202 203 CALL obs_int_comm_2d( 2, 2, inumtype, &203 CALL obs_int_comm_2d( 2, 2, inumtype, jpi, jpj, & 204 204 & igrdi_tmp(:,:,:), igrdj_tmp(:,:,:), & 205 205 & z_sstbias(:,:,jtype), zbias(:,:,:) )
Note: See TracChangeset
for help on using the changeset viewer.