- Timestamp:
- 2020-03-27T20:55:44+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DIA/diawri.F90
r12377 r12622 85 85 !! * Substitutions 86 86 # include "do_loop_substitute.h90" 87 # include "domzgr_substitute.h90" 87 88 !!---------------------------------------------------------------------- 88 89 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 120 121 REAL(wp):: zztmp2, zztmpy ! - - 121 122 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D workspace 122 REAL(wp), DIMENSION(jpi,jpj,jpk) :: z3d ! 3D workspace123 REAL(wp), DIMENSION(jpi,jpj,jpk) :: z3d, ze3t, ze3u, ze3v, ze3w ! 3D workspace 123 124 !!---------------------------------------------------------------------- 124 125 ! … … 136 137 CALL iom_put("e3v_0", e3v_0(:,:,:) ) 137 138 ! 138 CALL iom_put( "e3t" , e3t(:,:,:,Kmm) ) 139 CALL iom_put( "e3u" , e3u(:,:,:,Kmm) ) 140 CALL iom_put( "e3v" , e3v(:,:,:,Kmm) ) 141 CALL iom_put( "e3w" , e3w(:,:,:,Kmm) ) 139 DO jk = 1, jpk 140 ze3t(:,:,jk) = e3t(:,:,jk,Kmm) 141 ze3u(:,:,jk) = e3u(:,:,jk,Kmm) 142 ze3v(:,:,jk) = e3v(:,:,jk,Kmm) 143 ze3w(:,:,jk) = e3w(:,:,jk,Kmm) 144 END DO 145 ! 146 CALL iom_put( "e3t" , ze3t(:,:,:) ) 147 CALL iom_put( "e3u" , ze3u(:,:,:) ) 148 CALL iom_put( "e3v" , ze3v(:,:,:) ) 149 CALL iom_put( "e3w" , ze3w(:,:,:) ) 142 150 IF( iom_use("e3tdef") ) & 143 CALL iom_put( "e3tdef" , ( ( e3t(:,:,:,Kmm) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 )151 CALL iom_put( "e3tdef" , ( ( ze3t(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 ) !!st r3t 144 152 145 153 IF( ll_wd ) THEN … … 410 418 ! 411 419 REAL(wp), DIMENSION(jpi,jpj) :: zw2d ! 2D workspace 412 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d ! 3D workspace420 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d, ze3t ! 3D workspace 413 421 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zw3d_abl ! ABL 3D workspace 414 422 !!---------------------------------------------------------------------- … … 450 458 it = kt 451 459 itmod = kt - nit000 + 1 460 461 ! store e3t for subsitute 462 DO jk = 1, jpk 463 ze3t(:,:,jk) = e3t(:,:,jk,Kmm) 464 END DO 452 465 453 466 … … 564 577 DEALLOCATE(zw3d_abl) 565 578 ENDIF 579 ! 566 580 567 581 ! Declare all the output fields as NETCDF variables … … 573 587 & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) 574 588 IF( .NOT.ln_linssh ) THEN 575 CALL histdef( nid_T, "vovvle3t", "Level thickness" , "m" ,& ! e3t (:,:,:,Kmm)589 CALL histdef( nid_T, "vovvle3t", "Level thickness" , "m" ,& ! e3t n 576 590 & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) 577 CALL histdef( nid_T, "vovvldep", "T point depth" , "m" ,& ! e3t (:,:,:,Kmm)591 CALL histdef( nid_T, "vovvldep", "T point depth" , "m" ,& ! e3t n 578 592 & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) 579 CALL histdef( nid_T, "vovvldef", "Squared level deformation" , "%^2" ,& ! e3t (:,:,:,Kmm)593 CALL histdef( nid_T, "vovvldef", "Squared level deformation" , "%^2" ,& ! e3t n 580 594 & jpi, jpj, nh_T, ipk, 1, ipk, nz_T, 32, clop, zsto, zout ) 581 595 ENDIF … … 761 775 762 776 IF( .NOT.ln_linssh ) THEN 763 CALL histwrite( nid_T, "votemper", it, ts(:,:,:,jp_tem,Kmm) * e3t(:,:,:,Kmm) , ndim_T , ndex_T ) ! heat content764 CALL histwrite( nid_T, "vosaline", it, ts(:,:,:,jp_sal,Kmm) * e3t(:,:,:,Kmm) , ndim_T , ndex_T ) ! salt content777 CALL histwrite( nid_T, "votemper", it, ts(:,:,:,jp_tem,Kmm) * ze3t(:,:,:) , ndim_T , ndex_T ) ! heat content 778 CALL histwrite( nid_T, "vosaline", it, ts(:,:,:,jp_sal,Kmm) * ze3t(:,:,:) , ndim_T , ndex_T ) ! salt content 765 779 CALL histwrite( nid_T, "sosstsst", it, ts(:,:,1,jp_tem,Kmm) * e3t(:,:,1,Kmm) , ndim_hT, ndex_hT ) ! sea surface heat content 766 780 CALL histwrite( nid_T, "sosaline", it, ts(:,:,1,jp_sal,Kmm) * e3t(:,:,1,Kmm) , ndim_hT, ndex_hT ) ! sea surface salinity content … … 772 786 ENDIF 773 787 IF( .NOT.ln_linssh ) THEN 774 zw3d(:,:,:) = ( ( e3t(:,:,:,Kmm) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2775 CALL histwrite( nid_T, "vovvle3t", it, e3t (:,:,:,Kmm), ndim_T , ndex_T ) ! level thickness788 zw3d(:,:,:) = ( ( ze3t(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 789 CALL histwrite( nid_T, "vovvle3t", it, ze3t (:,:,:) , ndim_T , ndex_T ) ! level thickness 776 790 CALL histwrite( nid_T, "vovvldep", it, gdept(:,:,:,Kmm) , ndim_T , ndex_T ) ! t-point depth 777 791 CALL histwrite( nid_T, "vovvldef", it, zw3d , ndim_T , ndex_T ) ! level thickness deformation … … 913 927 !! 914 928 INTEGER :: inum, jk 929 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze3t ! 3D workspace 915 930 !!---------------------------------------------------------------------- 916 931 ! … … 919 934 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~ and forcing fields file created ' 920 935 IF(lwp) WRITE(numout,*) ' and named :', cdfile_name, '...nc' 936 937 DO jk = 1, jpk 938 ze3t(:,:,jk) = e3t(:,:,jk,Kmm) 939 END DO 921 940 922 941 #if defined key_si3 … … 975 994 IF( .NOT.ln_linssh ) THEN 976 995 CALL iom_rstput( 0, 0, inum, 'vovvldep', gdept(:,:,:,Kmm) ) ! T-cell depth 977 CALL iom_rstput( 0, 0, inum, 'vovvle3t', e3t(:,:,:,Kmm) ) ! T-cell thickness996 CALL iom_rstput( 0, 0, inum, 'vovvle3t', ze3t(:,:,:) ) ! T-cell thickness 978 997 END IF 979 998 IF( ln_wave .AND. ln_sdw ) THEN
Note: See TracChangeset
for help on using the changeset viewer.