Changeset 15450 for NEMO/trunk/src/TOP/PISCES/SED/sedwri.F90
- Timestamp:
- 2021-10-27T16:32:08+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/TOP/PISCES/SED/sedwri.F90
r14086 r15450 4 4 !! Sediment diagnostics : write sediment output files 5 5 !!====================================================================== 6 USE par_sed7 6 USE sed 8 7 USE sedarr 9 8 USE lib_mpp ! distribued memory computing library 10 9 USE iom 10 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 11 11 12 12 IMPLICIT NONE … … 38 38 CHARACTER(len = 20) :: cltra 39 39 REAL(wp) :: zrate 40 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zdta, zflx 40 REAL(wp), DIMENSION(jpoce, jpksed) :: zdta 41 REAL(wp), DIMENSION(jpoce, jptrased+1) :: zflx 42 REAL(wp), DIMENSION(jpi, jpj, jpksed, jptrased) :: trcsedi 43 REAL(wp), DIMENSION(jpi, jpj, jpksed, jpdia3dsed) :: flxsedi3d 44 REAL(wp), DIMENSION(jpi, jpj, jpdia2dsed) :: flxsedi2d 41 45 42 46 !!------------------------------------------------------------------- … … 54 58 IF (lwp) WRITE(numsed,*) ' ' 55 59 56 ALLOCATE( zdta(jpoce,jpksed) ) ; ALLOCATE( zflx(jpoce,jpwatp1) )57 58 60 ! Initialize variables 59 61 ! -------------------- … … 88 90 CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,2) , iarroce(1:jpoce), & 89 91 & co3por(1:jpoce,1:jpksed) ) 92 93 CALL unpack_arr( jpoce, flxsedi3d(1:jpi,1:jpj,1:jpksed,3) , iarroce(1:jpoce), & 94 & saturco3(1:jpoce,1:jpksed) ) 95 90 96 91 97 ! flxsedi3d = 0. … … 95 101 DO ji = 1, jpoce 96 102 zflx(ji,jw) = ( pwcp(ji,1,jw) - pwcp_dta(ji,jw) ) & 97 & * 1.e3 / 1.e2 * dzkbot(ji) / rDt_trc 103 & * 1.e3 * ( 1.e-2 * dzkbot(ji) ) / 1.E4 / rDt_trc 104 ENDDO 105 ENDDO 106 107 ! Calculation of fluxes g/cm2/s 108 DO js = 1, jpsol 109 zrate = 1.0 / rDt_trc 110 DO ji = 1, jpoce 111 zflx(ji,jpwat+js) = zflx(ji,jpwat+js) + ( tosed(ji,js) - fromsed(ji,js) ) * zrate 98 112 ENDDO 99 113 ENDDO … … 101 115 ! Calculation of accumulation rate per dt 102 116 DO js = 1, jpsol 103 zrate = 1.0 / ( denssol * por1(jpksed) ) /rDt_trc117 zrate = 1.0 / rDt_trc 104 118 DO ji = 1, jpoce 105 zflx(ji,jp watp1) = zflx(ji,jpwatp1) + ( tosed(ji,js) - fromsed(ji,js) ) * zrate119 zflx(ji,jptrased+1) = zflx(ji,jptrased+1) + ( tosed(ji,js) - fromsed(ji,js) ) * zrate 106 120 ENDDO 107 121 ENDDO 108 122 109 DO jn = 1, jpdia2dsed - 1123 DO jn = 1, jpdia2dsed - 2 110 124 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,jn), iarroce(1:jpoce), zflx(1:jpoce,jn) ) 111 125 END DO 126 112 127 zflx(:,1) = dzdep(:) / dtsed 113 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,jpdia2dsed ), iarroce(1:jpoce), zflx(1:jpoce,1) )128 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,jpdia2dsed-1), iarroce(1:jpoce), zflx(1:jpoce,1) ) 114 129 115 ! Start writing data 116 ! --------------------- 117 DO jn = 1, jptrased 118 cltra = sedtrcd(jn) ! short title for 3D diagnostic 119 CALL iom_put( cltra, trcsedi(:,:,:,jn) ) 120 END DO 130 CALL unpack_arr( jpoce, flxsedi2d(1:jpi,1:jpj,jpdia2dsed), iarroce(1:jpoce), rstepros(1:jpoce) ) 131 ! 132 ! CALL lbc_lnk( 'sedwri', trcsedi(:,:,:,:), 'T', 1._wp ) 133 ! CALL lbc_lnk( 'sedwri', flxsedi3d(:,:,:,:), 'T', 1._wp ) 134 ! CALL lbc_lnk( 'sedwri', flxsedi2d(:,:,:), 'T', 1._wp ) 121 135 122 DO jn = 1, jpdia3dsed 123 cltra = seddia3d(jn) ! short title for 3D diagnostic 124 CALL iom_put( cltra, flxsedi3d(:,:,:,jn) ) 125 END DO 136 ! Start writing data 137 ! --------------------- 138 DO jn = 1, jptrased 139 cltra = sedtrcd(jn) ! short title for 3D diagnostic 140 CALL iom_put( cltra, trcsedi(:,:,:,jn) ) 141 END DO 126 142 127 DO jn = 1, jpdia2dsed128 cltra = seddia2d(jn) ! short title for 2D diagnostic129 CALL iom_put( cltra, flxsedi2d(:,:,jn) )130 143 DO jn = 1, jpdia3dsed 144 cltra = seddia3d(jn) ! short title for 3D diagnostic 145 CALL iom_put( cltra, flxsedi3d(:,:,:,jn) ) 146 END DO 131 147 132 133 DEALLOCATE( zdta ) ; DEALLOCATE( zflx ) 148 DO jn = 1, jpdia2dsed 149 cltra = seddia2d(jn) ! short title for 2D diagnostic 150 CALL iom_put( cltra, flxsedi2d(:,:,jn) ) 151 END DO 134 152 135 153 IF( ln_timing ) CALL timing_stop('sed_wri')
Note: See TracChangeset
for help on using the changeset viewer.