Changeset 6775
- Timestamp:
- 2016-07-01T20:32:06+02:00 (9 years ago)
- Location:
- branches/UKMO/dev_r5518_25hr_mean_assim_bkg/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 4 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 ) -
branches/UKMO/dev_r5518_25hr_mean_assim_bkg/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
r6762 r6775 161 161 ! so only apply surft increments. 162 162 !! 163 NAMELIST/nam_asminc/ ln_bkgwri, ln_avgbkg 163 NAMELIST/nam_asminc/ ln_bkgwri, ln_avgbkg, & 164 164 & ln_trainc, ln_dyninc, ln_sshinc, & 165 165 & ln_asmdin, ln_asmiau, & -
branches/UKMO/dev_r5518_25hr_mean_assim_bkg/NEMOGCM/NEMO/OPA_SRC/ASM/asmpar.F90
r6757 r6775 29 29 INTEGER, PUBLIC :: nitiaufin_r !: IAU final time step referenced to nit000 30 30 INTEGER, PUBLIC :: nittrjfrq !: Frequency of trajectory output for 4D-VAR 31 INTEGER, PUBLIC :: nitavgbkg_r !: Averaging period for assim bkg referenced to nit000 31 32 32 33 !!---------------------------------------------------------------------- -
branches/UKMO/dev_r5518_25hr_mean_assim_bkg/NEMOGCM/NEMO/OPA_SRC/step.F90
r6758 r6775 299 299 ! Dynamics (tsa used as workspace) 300 300 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 301 302 IF( ln_bkgwri ) CALL asm_bkg_wri( kstp ) ! output background fields 303 301 304 IF( lk_dynspg_ts ) THEN 302 305 ! revert to previously computed momentum tendencies … … 317 320 IF( lk_asminc .AND. ln_asmiau .AND. & 318 321 & ln_dyninc ) CALL dyn_asm_inc( kstp ) ! apply dynamics assimilation increment 319 IF( ln_bkgwri ) CALL asm_bkg_wri( kstp ) ! output background fields320 322 IF( ln_neptsimp ) CALL dyn_nept_cor( kstp ) ! subtract Neptune velocities (simplified) 321 323 IF( lk_bdy ) CALL bdy_dyn3d_dmp(kstp ) ! bdy damping trends
Note: See TracChangeset
for help on using the changeset viewer.