- Timestamp:
- 2016-07-01T20:32:06+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_25hr_mean_assim_bkg/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90
r6762 r6775 63 63 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: en_tavg 64 64 #endif 65 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:) :: sshn_tavg 66 REAL(wp),SAVE :: gcx_tavg 65 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:) :: sshn_tavg, gcx_tavg 67 66 REAL(wp),SAVE :: numtimes_tavg ! No of times to average over 68 67 … … 93 92 INTEGER :: inum ! File unit number 94 93 REAL(wp) :: zdate ! Date 94 INTEGER :: ierror 95 95 !!----------------------------------------------------------------------- 96 97 96 98 97 ! If creating an averaged assim bkg, initialise on first timestep … … 119 118 ENDIF 120 119 vn_tavg=0 121 ALLOCATE( ssh _tavg(jpi,jpj), STAT=ierror )122 IF( ierror > 0 ) THEN 123 CALL ctl_stop( 'asm_wri_bkg: unable to allocate ssh _tavg' ) ; RETURN124 ENDIF 125 ssh _tavg=0120 ALLOCATE( sshn_tavg(jpi,jpj), STAT=ierror ) 121 IF( ierror > 0 ) THEN 122 CALL ctl_stop( 'asm_wri_bkg: unable to allocate sshn_tavg' ) ; RETURN 123 ENDIF 124 sshn_tavg=0 126 125 ALLOCATE( en_tavg(jpi,jpj,jpk), STAT=ierror ) 127 126 IF( ierror > 0 ) THEN … … 133 132 CALL ctl_stop( 'asm_wri_bkg: unable to allocate avt_tavg' ) ; RETURN 134 133 ENDIF 134 ALLOCATE( gcx_tavg(jpi,jpj), STAT=ierror ) 135 IF( ierror > 0 ) THEN 136 CALL ctl_stop( 'asm_wri_bkg: unable to allocate gcx_tavg' ) ; RETURN 137 ENDIF 138 gcx_tavg=0 135 139 avt_tavg=0 136 gcx_tavg=0137 140 138 141 numtimes_tavg = REAL ( nitavgbkg_r - nn_it000 + 1 ) … … 151 154 un_tavg(:,:,:) = un_tavg(:,:,:) + un(:,:,:) / numtimes_tavg 152 155 vn_tavg(:,:,:) = vn_tavg(:,:,:) + vn(:,:,:) / numtimes_tavg 153 gcx_tavg = gcx_tavg + gcx/ numtimes_tavg156 ! gcx_tavg(:,:) = gcx_tavg(:,:) + gcx(:,:) / numtimes_tavg 154 157 avt_tavg(:,:,:) = avt_tavg(:,:,:) + avt(:,:,:) / numtimes_tavg 155 158 #if defined key_zdftke … … 160 163 161 164 ! Write out background at time step nitbkg_r or nitavgbkg_r 162 IF ( .NOT. ln_avgbkg .AND. (kt == nitbkg_r) ) .OR. &163 & ( ln_avgbkg .AND. (kt == nitavgbkg_r) ) THEN165 IF ( ( .NOT. ln_avgbkg .AND. (kt == nitbkg_r) ) .OR. & 166 & ( ln_avgbkg .AND. (kt == nitavgbkg_r) ) ) THEN 164 167 ! 165 168 WRITE(cl_asmbkg, FMT='(A,".nc")' ) TRIM( c_asmbkg ) … … 193 196 CALL iom_rstput( kt, nitbkg_r, inum, 'tn' , tn_tavg ) 194 197 CALL iom_rstput( kt, nitbkg_r, inum, 'sn' , sn_tavg ) 195 CALL iom_rstput( kt, nitbkg_r, inum, 'sshn' , sshn 198 CALL iom_rstput( kt, nitbkg_r, inum, 'sshn' , sshn_tavg) 196 199 #if defined key_zdftke 197 200 CALL iom_rstput( kt, nitbkg_r, inum, 'en' , en_tavg )
Note: See TracChangeset
for help on using the changeset viewer.