- Timestamp:
- 2017-09-22T17:45:41+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/AMM15_v3_6_STABLE_package/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90
r8059 r8561 20 20 USE zdf_oce, ONLY: en 21 21 #endif 22 USE diatmb 22 23 23 24 IMPLICIT NONE … … 30 31 !! * variables for calculating 25-hourly means 31 32 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: tn_25h , sn_25h, rinsitu_t_25h 32 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:) :: sshn_25h 33 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:) :: sshn_25h, insitu_bot_25h, temp_bot_25h 33 34 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: un_25h , vn_25h , wn_25h 34 35 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: avt_25h , avm_25h … … 63 64 INTEGER :: ios ! Local integer output status for namelist read 64 65 INTEGER :: ierror ! Local integer for memory allocation 66 REAL(wp), DIMENSION(jpi,jpj,3) :: zwtmb ! temporary workspace 65 67 ! 66 68 NAMELIST/nam_dia25h/ ln_dia25h … … 99 101 CALL ctl_stop( 'dia_25h: unable to allocate rinsitu_t_25h' ) ; RETURN 100 102 ENDIF 103 ALLOCATE( insitu_bot_25h(jpi,jpj), STAT=ierror ) 104 IF( ierror > 0 ) THEN 105 CALL ctl_stop( 'dia_25h: unable to allocate insitu_bot_25h' ) ; RETURN 106 ENDIF 107 ALLOCATE( temp_bot_25h(jpi,jpj), STAT=ierror ) 108 IF( ierror > 0 ) THEN 109 CALL ctl_stop( 'dia_25h: unable to allocate temp_bot_25h' ) ; RETURN 110 ENDIF 101 111 ALLOCATE( un_25h(jpi,jpj,jpk), STAT=ierror ) 102 112 IF( ierror > 0 ) THEN … … 143 153 CALL theta2t 144 154 rinsitu_t_25h(:,:,:) = rinsitu_t(:,:,:) 155 CALL dia_calctmb( rinsitu_t(:,:,:),zwtmb ) 156 insitu_bot_25h(:,:) = zwtmb(:,:,3) 157 CALL dia_calctmb( tn_25h(:,:,:),zwtmb ) 158 temp_bot_25h(:,:) = zwtmb(:,:,3) 145 159 sshn_25h(:,:) = sshb(:,:) 146 160 un_25h(:,:,:) = ub(:,:,:) … … 237 251 CALL theta2t 238 252 rinsitu_t_25h(:,:,:) = rinsitu_t_25h(:,:,:) + rinsitu_t(:,:,:) 253 CALL dia_calctmb( rinsitu_t(:,:,:),zwtmb ) 254 insitu_bot_25h(:,:) = insitu_bot_25h(:,:) + zwtmb(:,:,3) 255 zw3d(:,:,:) = tsn(:,:,:,jp_tem) 256 CALL dia_calctmb( zw3d,zwtmb ) 257 temp_bot_25h(:,:) = temp_bot_25h(:,:) + zwtmb(:,:,3) 239 258 sshn_25h(:,:) = sshn_25h(:,:) + sshn (:,:) 240 259 un_25h(:,:,:) = un_25h(:,:,:) + un(:,:,:) … … 268 287 sn_25h(:,:,:) = sn_25h(:,:,:) / 25.0_wp 269 288 rinsitu_t_25h(:,:,:) = rinsitu_t_25h(:,:,:) / 25.0_wp 289 insitu_bot_25h(:,:) = insitu_bot_25h(:,:) / 25.0_wp 290 temp_bot_25h(:,:) = temp_bot_25h(:,:) /25.0_wp 270 291 sshn_25h(:,:) = sshn_25h(:,:) / 25.0_wp 271 292 un_25h(:,:,:) = un_25h(:,:,:) / 25.0_wp … … 289 310 zw3d(:,:,:) = rinsitu_t_25h(:,:,:)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 290 311 CALL iom_put("tempis25h", zw3d) ! in-situ temperature 312 zw2d(:,:) = insitu_bot_25h(:,:)*tmask(:,:,1) + zmdi*(1.0-tmask(:,:,1)) 313 CALL iom_put("tempisbot25h", zw2d) ! bottom in-situ temperature 314 zw2d(:,:) = temp_bot_25h(:,:)*tmask(:,:,1) + zmdi*(1.0-tmask(:,:,1)) 315 CALL iom_put("temperbot25h",zw2d) ! bottom potential temperature 291 316 zw3d(:,:,:) = sn_25h(:,:,:)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 292 317 CALL iom_put( "salin25h", zw3d ) ! salinity … … 321 346 CALL theta2t 322 347 rinsitu_t_25h(:,:,:) = rinsitu_t(:,:,:) 348 CALL dia_calctmb( rinsitu_t(:,:,:),zwtmb ) 349 insitu_bot_25h(:,:) = zwtmb(:,:,3) 350 CALL dia_calctmb( tn_25h(:,:,:),zwtmb) 351 temp_bot_25h(:,:) = zwtmb(:,:,3) 323 352 sshn_25h(:,:) = sshn (:,:) 324 353 un_25h(:,:,:) = un(:,:,:)
Note: See TracChangeset
for help on using the changeset viewer.