- Timestamp:
- 2020-05-14T21:46:00+02:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
- Property svn:externals
-
old new 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL 8 9 # SETTE 10 ^/utils/CI/sette@HEAD sette
-
- Property svn:externals
-
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/OCE/OBS/obs_oper.F90
r10068 r12928 31 31 INTEGER, PARAMETER, PUBLIC :: imaxavtypes = 20 !: Max number of daily avgd obs types 32 32 33 !! * Substitutions 34 # include "do_loop_substitute.h90" 33 35 !!---------------------------------------------------------------------- 34 36 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 187 189 ! Initialize daily mean for first timestep of the day 188 190 IF ( idayend == 1 .OR. kt == 0 ) THEN 189 DO jk = 1, jpk 190 DO jj = 1, jpj 191 DO ji = 1, jpi 192 prodatqc%vdmean(ji,jj,jk,1) = 0.0 193 prodatqc%vdmean(ji,jj,jk,2) = 0.0 194 END DO 195 END DO 196 END DO 197 ENDIF 198 199 DO jk = 1, jpk 200 DO jj = 1, jpj 201 DO ji = 1, jpi 202 ! Increment field 1 for computing daily mean 203 prodatqc%vdmean(ji,jj,jk,1) = prodatqc%vdmean(ji,jj,jk,1) & 204 & + pvar1(ji,jj,jk) 205 ! Increment field 2 for computing daily mean 206 prodatqc%vdmean(ji,jj,jk,2) = prodatqc%vdmean(ji,jj,jk,2) & 207 & + pvar2(ji,jj,jk) 208 END DO 209 END DO 210 END DO 191 DO_3D_11_11( 1, jpk ) 192 prodatqc%vdmean(ji,jj,jk,1) = 0.0 193 prodatqc%vdmean(ji,jj,jk,2) = 0.0 194 END_3D 195 ENDIF 196 197 DO_3D_11_11( 1, jpk ) 198 ! Increment field 1 for computing daily mean 199 prodatqc%vdmean(ji,jj,jk,1) = prodatqc%vdmean(ji,jj,jk,1) & 200 & + pvar1(ji,jj,jk) 201 ! Increment field 2 for computing daily mean 202 prodatqc%vdmean(ji,jj,jk,2) = prodatqc%vdmean(ji,jj,jk,2) & 203 & + pvar2(ji,jj,jk) 204 END_3D 211 205 212 206 ! Compute the daily mean at the end of day … … 215 209 IF (lwp) WRITE(numout,*) 'Calculating prodatqc%vdmean on time-step: ',kt 216 210 CALL FLUSH(numout) 217 DO jk = 1, jpk 218 DO jj = 1, jpj 219 DO ji = 1, jpi 220 prodatqc%vdmean(ji,jj,jk,1) = prodatqc%vdmean(ji,jj,jk,1) & 221 & * zdaystp 222 prodatqc%vdmean(ji,jj,jk,2) = prodatqc%vdmean(ji,jj,jk,2) & 223 & * zdaystp 224 END DO 225 END DO 226 END DO 211 DO_3D_11_11( 1, jpk ) 212 prodatqc%vdmean(ji,jj,jk,1) = prodatqc%vdmean(ji,jj,jk,1) & 213 & * zdaystp 214 prodatqc%vdmean(ji,jj,jk,2) = prodatqc%vdmean(ji,jj,jk,2) & 215 & * zdaystp 216 END_3D 227 217 ENDIF 228 218 … … 342 332 CALL obs_int_h2d_init( 1, 1, k2dint, zlam, zphi, & 343 333 & zglam2(:,:,iobs), zgphi2(:,:,iobs), & 344 & zmask2(:,:,1,iobs), zweig2, zmsk_2 334 & zmask2(:,:,1,iobs), zweig2, zmsk_2) 345 335 346 336 ENDIF … … 760 750 ! Initialize night-time mean for first timestep of the day 761 751 IF ( idayend == 1 .OR. kt == 0 ) THEN 762 DO jj = 1, jpj 763 DO ji = 1, jpi 764 surfdataqc%vdmean(ji,jj) = 0.0 765 zmeanday(ji,jj) = 0.0 766 icount_night(ji,jj) = 0 767 END DO 768 END DO 752 DO_2D_11_11 753 surfdataqc%vdmean(ji,jj) = 0.0 754 zmeanday(ji,jj) = 0.0 755 icount_night(ji,jj) = 0 756 END_2D 769 757 ENDIF 770 758 … … 773 761 imask_night(:,:) = INT( zouttmp(:,:) ) 774 762 775 DO jj = 1, jpj 776 DO ji = 1, jpi 777 ! Increment the temperature field for computing night mean and counter 778 surfdataqc%vdmean(ji,jj) = surfdataqc%vdmean(ji,jj) & 779 & + psurf(ji,jj) * REAL( imask_night(ji,jj) ) 780 zmeanday(ji,jj) = zmeanday(ji,jj) + psurf(ji,jj) 781 icount_night(ji,jj) = icount_night(ji,jj) + imask_night(ji,jj) 782 END DO 783 END DO 763 DO_2D_11_11 764 ! Increment the temperature field for computing night mean and counter 765 surfdataqc%vdmean(ji,jj) = surfdataqc%vdmean(ji,jj) & 766 & + psurf(ji,jj) * REAL( imask_night(ji,jj) ) 767 zmeanday(ji,jj) = zmeanday(ji,jj) + psurf(ji,jj) 768 icount_night(ji,jj) = icount_night(ji,jj) + imask_night(ji,jj) 769 END_2D 784 770 785 771 ! Compute the night-time mean at the end of the day … … 787 773 IF ( idayend == 0 ) THEN 788 774 IF (lwp) WRITE(numout,*) 'Calculating surfdataqc%vdmean on time-step: ',kt 789 DO jj = 1, jpj 790 DO ji = 1, jpi 791 ! Test if "no night" point 792 IF ( icount_night(ji,jj) > 0 ) THEN 793 surfdataqc%vdmean(ji,jj) = surfdataqc%vdmean(ji,jj) & 794 & / REAL( icount_night(ji,jj) ) 795 ELSE 796 !At locations where there is no night (e.g. poles), 797 ! calculate daily mean instead of night-time mean. 798 surfdataqc%vdmean(ji,jj) = zmeanday(ji,jj) * zdaystp 799 ENDIF 800 END DO 801 END DO 775 DO_2D_11_11 776 ! Test if "no night" point 777 IF ( icount_night(ji,jj) > 0 ) THEN 778 surfdataqc%vdmean(ji,jj) = surfdataqc%vdmean(ji,jj) & 779 & / REAL( icount_night(ji,jj) ) 780 ELSE 781 !At locations where there is no night (e.g. poles), 782 ! calculate daily mean instead of night-time mean. 783 surfdataqc%vdmean(ji,jj) = zmeanday(ji,jj) * zdaystp 784 ENDIF 785 END_2D 802 786 ENDIF 803 787 … … 924 908 & zglamf(:,:,iobs), zgphif(:,:,iobs), & 925 909 & zmask(:,:,iobs), plamscl, pphiscl, & 926 & lindegrees, zweig , zobsmask)910 & lindegrees, zweig ) 927 911 928 912 ! Average the model SST to the observation footprint
Note: See TracChangeset
for help on using the changeset viewer.