- Timestamp:
- 2017-05-01T16:21:42+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90
r7990 r7991 9 9 USE dom_oce ! ocean space and time domain 10 10 USE zdf_oce ! ocean vertical physics 11 USE zdfgls , ONLY : hmx n11 USE zdfgls , ONLY : hmxl_n 12 12 USE in_out_manager ! I/O units 13 13 USE iom ! I/0 library … … 23 23 24 24 ! variables for calculating 25-hourly means 25 INTEGER , SAVE :: cnt_25h ! Counter for 25 hour means 25 INTEGER , SAVE :: cnt_25h ! Counter for 25 hour means 26 REAL(wp), SAVE :: r1_25 = 0.04_wp ! =1/25 26 27 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: tn_25h , sn_25h 27 28 REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:) :: sshn_25h … … 94 95 ! ------------------------- ! 95 96 cnt_25h = 1 ! sets the first value of sum at timestep 1 (note - should strictly be at timestep zero so before values used where possible) 96 tn_25h (:,:,:) = tsb(:,:,:,jp_tem)97 sn_25h (:,:,:) = tsb(:,:,:,jp_sal)98 sshn_25h(:,:) = sshb(:,:)99 un_25h (:,:,:) = ub(:,:,:)100 vn_25h (:,:,:) = vb(:,:,:)101 wn_25h (:,:,:) = wn(:,:,:)102 avt_25h (:,:,:) = avt(:,:,:)103 avm_25h (:,:,:) = avm(:,:,:)97 tn_25h (:,:,:) = tsb (:,:,:,jp_tem) 98 sn_25h (:,:,:) = tsb (:,:,:,jp_sal) 99 sshn_25h(:,:) = sshb(:,:) 100 un_25h (:,:,:) = ub (:,:,:) 101 vn_25h (:,:,:) = vb (:,:,:) 102 wn_25h (:,:,:) = wn (:,:,:) 103 avt_25h (:,:,:) = avt (:,:,:) 104 avm_25h (:,:,:) = avm (:,:,:) 104 105 IF( ln_zdftke ) THEN 105 106 en_25h(:,:,:) = en(:,:,:) 106 107 ENDIF 107 108 IF( ln_zdfgls ) THEN 108 en_25h (:,:,:) = en(:,:,:)109 rmxln_25h(:,:,:) = hmx n(:,:,:)109 en_25h (:,:,:) = en (:,:,:) 110 rmxln_25h(:,:,:) = hmxl_n(:,:,:) 110 111 ENDIF 111 112 #if defined key_lim3 || defined key_lim2 … … 156 157 ENDIF 157 158 158 tn_25h (:,:,:) = tn_25h(:,:,:) + tsn(:,:,:,jp_tem)159 sn_25h (:,:,:) = sn_25h(:,:,:) + tsn(:,:,:,jp_sal)160 sshn_25h(:,:) = sshn_25h(:,:) + sshn(:,:)161 un_25h (:,:,:) = un_25h(:,:,:) + un(:,:,:)162 vn_25h (:,:,:) = vn_25h(:,:,:) + vn(:,:,:)163 wn_25h (:,:,:) = wn_25h(:,:,:) + wn(:,:,:)164 avt_25h (:,:,:) = avt_25h(:,:,:) + avt(:,:,:)165 avm_25h (:,:,:) = avm_25h(:,:,:) + avm(:,:,:)166 IF( ln_zdftke ) THEN 167 en_25h(:,:,:) = en_25h(:,:,:) + en(:,:,:)168 ENDIF 169 IF( ln_zdfgls ) THEN 170 en_25h (:,:,:) = en_25h(:,:,:) + en(:,:,:)171 rmxln_25h(:,:,:) = rmxln_25h(:,:,:) + hmxn(:,:,:)159 tn_25h (:,:,:) = tn_25h (:,:,:) + tsn (:,:,:,jp_tem) 160 sn_25h (:,:,:) = sn_25h (:,:,:) + tsn (:,:,:,jp_sal) 161 sshn_25h(:,:) = sshn_25h(:,:) + sshn(:,:) 162 un_25h (:,:,:) = un_25h (:,:,:) + un (:,:,:) 163 vn_25h (:,:,:) = vn_25h (:,:,:) + vn (:,:,:) 164 wn_25h (:,:,:) = wn_25h (:,:,:) + wn (:,:,:) 165 avt_25h (:,:,:) = avt_25h (:,:,:) + avt (:,:,:) 166 avm_25h (:,:,:) = avm_25h (:,:,:) + avm (:,:,:) 167 IF( ln_zdftke ) THEN 168 en_25h(:,:,:) = en_25h (:,:,:) + en(:,:,:) 169 ENDIF 170 IF( ln_zdfgls ) THEN 171 en_25h (:,:,:) = en_25h (:,:,:) + en (:,:,:) 172 rmxln_25h(:,:,:) = rmxln_25h(:,:,:) + hmxl_n(:,:,:) 172 173 ENDIF 173 174 cnt_25h = cnt_25h + 1 … … 187 188 ENDIF 188 189 ! 189 tn_25h (:,:,:) = tn_25h(:,:,:) / 25.0_wp190 sn_25h (:,:,:) = sn_25h(:,:,:) / 25.0_wp191 sshn_25h(:,:) = sshn_25h(:,:) / 25.0_wp192 un_25h (:,:,:) = un_25h(:,:,:) / 25.0_wp193 vn_25h (:,:,:) = vn_25h(:,:,:) / 25.0_wp194 wn_25h (:,:,:) = wn_25h(:,:,:) / 25.0_wp195 avt_25h (:,:,:) = avt_25h(:,:,:) / 25.0_wp196 avm_25h (:,:,:) = avm_25h(:,:,:) / 25.0_wp197 IF( ln_zdftke ) THEN 198 en_25h(:,:,:) = en_25h(:,:,:) / 25.0_wp199 ENDIF 200 IF( ln_zdfgls ) THEN 201 en_25h (:,:,:) = en_25h(:,:,:) / 25.0_wp202 rmxln_25h(:,:,:) = rmxln_25h(:,:,:) / 25.0_wp190 tn_25h (:,:,:) = tn_25h (:,:,:) * r1_25 191 sn_25h (:,:,:) = sn_25h (:,:,:) * r1_25 192 sshn_25h(:,:) = sshn_25h(:,:) * r1_25 193 un_25h (:,:,:) = un_25h (:,:,:) * r1_25 194 vn_25h (:,:,:) = vn_25h (:,:,:) * r1_25 195 wn_25h (:,:,:) = wn_25h (:,:,:) * r1_25 196 avt_25h (:,:,:) = avt_25h (:,:,:) * r1_25 197 avm_25h (:,:,:) = avm_25h (:,:,:) * r1_25 198 IF( ln_zdftke ) THEN 199 en_25h(:,:,:) = en_25h(:,:,:) * r1_25 200 ENDIF 201 IF( ln_zdfgls ) THEN 202 en_25h (:,:,:) = en_25h (:,:,:) * r1_25 203 rmxln_25h(:,:,:) = rmxln_25h(:,:,:) * r1_25 203 204 ENDIF 204 205 ! … … 236 237 ! 237 238 ! After the write reset the values to cnt=1 and sum values equal current value 238 tn_25h (:,:,:) = tsn(:,:,:,jp_tem)239 sn_25h (:,:,:) = tsn(:,:,:,jp_sal)240 sshn_25h(:,:) = sshn(:,:)241 un_25h (:,:,:) = un(:,:,:)242 vn_25h (:,:,:) = vn(:,:,:)243 wn_25h (:,:,:) = wn(:,:,:)244 avt_25h (:,:,:) = avt(:,:,:)245 avm_25h (:,:,:) = avm(:,:,:)239 tn_25h (:,:,:) = tsn (:,:,:,jp_tem) 240 sn_25h (:,:,:) = tsn (:,:,:,jp_sal) 241 sshn_25h(:,:) = sshn(:,:) 242 un_25h (:,:,:) = un (:,:,:) 243 vn_25h (:,:,:) = vn (:,:,:) 244 wn_25h (:,:,:) = wn (:,:,:) 245 avt_25h (:,:,:) = avt (:,:,:) 246 avm_25h (:,:,:) = avm (:,:,:) 246 247 IF( ln_zdftke ) THEN 247 248 en_25h(:,:,:) = en(:,:,:) 248 249 ENDIF 249 250 IF( ln_zdfgls ) THEN 250 en_25h (:,:,:) = en(:,:,:)251 rmxln_25h(:,:,:) = hmx n(:,:,:)251 en_25h (:,:,:) = en (:,:,:) 252 rmxln_25h(:,:,:) = hmxl_n(:,:,:) 252 253 ENDIF 253 254 cnt_25h = 1
Note: See TracChangeset
for help on using the changeset viewer.