Changeset 13103
- Timestamp:
- 2020-06-12T13:44:47+02:00 (5 years ago)
- Files:
-
- 1 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/DIA/diaar5.F90
r12630 r13103 77 77 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zarea_ssh , zbotpres ! 2D workspace 78 78 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zpe, z2d ! 2D workspace 79 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zrhd , z rhop, ztpot! 3D workspace79 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zrhd , ztpot ! 3D workspace 80 80 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztsn ! 4D workspace 81 81 … … 87 87 IF( l_ar5 ) THEN 88 88 ALLOCATE( zarea_ssh(jpi,jpj), zbotpres(jpi,jpj), z2d(jpi,jpj) ) 89 ALLOCATE( zrhd(jpi,jpj,jpk) , zrhop(jpi,jpj,jpk))89 ALLOCATE( zrhd(jpi,jpj,jpk) ) 90 90 ALLOCATE( ztsn(jpi,jpj,jpk,jpts) ) 91 91 zarea_ssh(:,:) = e1e2t(:,:) * ssh(:,:,Kmm) … … 155 155 156 156 ! ! steric sea surface height 157 CALL eos( ts(:,:,:,:,Kmm), zrhd, zrhop, gdept(:,:,:,Kmm) ) ! now in situ and potential density158 zrhop(:,:,jpk) = 0._wp159 CALL iom_put( 'rhop', zrhop )160 !161 157 zbotpres(:,:) = 0._wp ! no atmospheric surface pressure, levitating sea-ice 162 158 DO jk = 1, jpkm1 163 zbotpres(:,:) = zbotpres(:,:) + e3t(:,:,jk,Kmm) * zrhd(:,:,jk)159 zbotpres(:,:) = zbotpres(:,:) + e3t(:,:,jk,Kmm) * rhd(:,:,jk) 164 160 END DO 165 161 IF( ln_linssh ) THEN … … 168 164 DO jj = 1,jpj 169 165 iks = mikt(ji,jj) 170 zbotpres(ji,jj) = zbotpres(ji,jj) + ssh(ji,jj,Kmm) * zrhd(ji,jj,iks) + riceload(ji,jj)166 zbotpres(ji,jj) = zbotpres(ji,jj) + ssh(ji,jj,Kmm) * rhd(ji,jj,iks) + riceload(ji,jj) 171 167 END DO 172 168 END DO 173 169 ELSE 174 zbotpres(:,:) = zbotpres(:,:) + ssh(:,:,Kmm) * zrhd(:,:,1)170 zbotpres(:,:) = zbotpres(:,:) + ssh(:,:,Kmm) * rhd(:,:,1) 175 171 END IF 176 172 END IF … … 293 289 IF( l_ar5 ) THEN 294 290 DEALLOCATE( zarea_ssh , zbotpres, z2d ) 295 DEALLOCATE( zrhd , zrhop )296 291 DEALLOCATE( ztsn ) 297 292 ENDIF … … 367 362 IF( iom_use( 'voltot' ) .OR. iom_use( 'sshtot' ) .OR. iom_use( 'sshdyn' ) .OR. & 368 363 & iom_use( 'masstot' ) .OR. iom_use( 'temptot' ) .OR. iom_use( 'saltot' ) .OR. & 369 & iom_use( 'botpres' ) .OR. iom_use( 'sshthster' ) .OR. iom_use( 'sshsteric' ) ) L_ar5 = .TRUE. 364 & iom_use( 'botpres' ) .OR. iom_use( 'sshthster' ) .OR. iom_use( 'sshsteric' ) .OR. & 365 & iom_use( 'rhop' ) ) L_ar5 = .TRUE. 370 366 371 367 IF( l_ar5 ) THEN -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/DIA/diawri.F90
r12933 r13103 171 171 CALL iom_put( "sbs", z2d ) ! bottom salinity 172 172 ENDIF 173 174 CALL iom_put( "rhop", rhop(:,:,:) ) ! 3D potential density (sigma0) 173 175 174 176 IF ( iom_use("taubot") ) THEN ! bottom stress -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/DOM/istate.F90
r13026 r13103 24 24 USE dom_oce ! ocean space and time domain 25 25 USE daymod ! calendar 26 USE divhor ! horizontal divergence (div_hor routine)27 26 USE dtatsd ! data temperature and salinity (dta_tsd routine) 28 27 USE dtauvd ! data: U & V current (dta_uvd routine) … … 131 130 uu (:,:,:,Kmm) = uu (:,:,:,Kbb) 132 131 vv (:,:,:,Kmm) = vv (:,:,:,Kbb) 133 hdiv(:,:,jpk) = 0._wp ! bottom divergence set one for 0 to zero at jpk level134 CALL div_hor( 0, Kbb, Kmm ) ! compute interior hdiv value135 !!gm hdiv(:,:,:) = 0._wp136 132 137 133 !!gm POTENTIAL BUG : -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/ICB/icbrst.F90
r13058 r13103 192 192 CHARACTER(len=256) :: cl_path 193 193 CHARACTER(len=256) :: cl_filename 194 CHARACTER(len= 256) :: cl_kt194 CHARACTER(len=8 ) :: cl_kt 195 195 CHARACTER(LEN=12 ) :: clfmt ! writing format 196 196 TYPE(iceberg), POINTER :: this … … 213 213 ! file name 214 214 WRITE(cl_kt, '(i8.8)') kt 215 cl_filename = TRIM(cexper)//"_"// TRIM(ADJUSTL(cl_kt))//"_"//TRIM(cn_icbrst_out)215 cl_filename = TRIM(cexper)//"_"//cl_kt//"_"//TRIM(cn_icbrst_out) 216 216 IF( lk_mpp ) THEN 217 217 idg = MAX( INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1, 4 ) ! how many digits to we need to write? min=4, max=9 218 218 WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg ! '(a,a,ix.x,a)' 219 WRITE(cl_filename, clfmt) TRIM(cl_filename), '_', narea-1, '.nc'219 WRITE(cl_filename, clfmt) TRIM(cl_filename), '_', narea-1, '.nc' 220 220 ELSE 221 WRITE(cl_filename,'( A,".nc")') TRIM(cl_filename)221 WRITE(cl_filename,'(a,a)') TRIM(cl_filename), '.nc' 222 222 ENDIF 223 223 -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/ICB/icbtrj.F90
r13058 r13103 66 66 CHARACTER(len=80) :: cl_filename 67 67 CHARACTER(LEN=12) :: clfmt ! writing format 68 CHARACTER(LEN= 20) :: cldate_ini, cldate_end68 CHARACTER(LEN=8 ) :: cldate_ini, cldate_end 69 69 TYPE(iceberg), POINTER :: this 70 70 TYPE(point) , POINTER :: pt … … 82 82 83 83 ! define trajectory output name 84 cl_filename = 'trajectory_icebergs_'// TRIM(ADJUSTL(cldate_ini))//'-'//TRIM(ADJUSTL(cldate_end))84 cl_filename = 'trajectory_icebergs_'//cldate_ini//'-'//cldate_end 85 85 IF ( lk_mpp ) THEN 86 86 idg = MAX( INT(LOG10(REAL(MAX(1,jpnij-1),wp))) + 1, 4 ) ! how many digits to we need to write? min=4, max=9 87 87 WRITE(clfmt, "('(a,a,i', i1, '.', i1, ',a)')") idg, idg ! '(a,a,ix.x,a)' 88 WRITE(cl_filename, clfmt) TRIM(cl_filename), '_', narea-1, '.nc'88 WRITE(cl_filename, clfmt) TRIM(cl_filename), '_', narea-1, '.nc' 89 89 ELSE 90 WRITE(cl_filename,'( A,".nc")') TRIM(cl_filename)90 WRITE(cl_filename,'(a,a)') TRIM(cl_filename), '.nc' 91 91 ENDIF 92 92 IF( lwp .AND. nn_verbose_level >= 0 ) WRITE(numout,'(2a)') 'icebergs, icb_trj_init: creating ',TRIM(cl_filename) -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/IOM/iom_def.F90
r12649 r13103 33 33 INTEGER, PARAMETER, PUBLIC :: jpmax_vars = 1200 !: maximum number of variables in one file 34 34 INTEGER, PARAMETER, PUBLIC :: jpmax_dims = 4 !: maximum number of dimensions for one variable 35 INTEGER, PARAMETER, PUBLIC :: jpmax_digits = 5!: maximum number of digits for the cpu number in the file name35 INTEGER, PARAMETER, PUBLIC :: jpmax_digits = 9 !: maximum number of digits for the cpu number in the file name 36 36 37 37 -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/LBC/lib_mpp.F90
r13058 r13103 1221 1221 CHARACTER(LEN=10) :: clfmt ! writing format 1222 1222 INTEGER :: iost 1223 INTEGER :: idg ! number of digits1223 INTEGER :: idg ! number of digits 1224 1224 !!---------------------------------------------------------------------- 1225 1225 ! -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/SBC/sbccpl.F90
r12952 r13103 1785 1785 ENDDO 1786 1786 ELSE 1787 qns_tot(:,:) =qns_tot(:,:) + picefr(:,:) * frcv(jpr_qnsice)%z3(:,:,1)1787 zqns_tot(:,:) = zqns_tot(:,:) + picefr(:,:) * frcv(jpr_qnsice)%z3(:,:,1) 1788 1788 DO jl = 1, jpl 1789 zqns_tot(:,: ) = zqns_tot(:,:) + picefr(:,:) * frcv(jpr_qnsice)%z3(:,:,1)1790 1789 zqns_ice(:,:,jl) = frcv(jpr_qnsice)%z3(:,:,1) 1791 1790 END DO … … 1928 1927 END DO 1929 1928 ELSE 1930 qsr_tot(:,: ) =qsr_tot(:,:) + picefr(:,:) * frcv(jpr_qsrice)%z3(:,:,1)1929 zqsr_tot(:,:) = zqsr_tot(:,:) + picefr(:,:) * frcv(jpr_qsrice)%z3(:,:,1) 1931 1930 DO jl = 1, jpl 1932 zqsr_tot(:,: ) = zqsr_tot(:,:) + picefr(:,:) * frcv(jpr_qsrice)%z3(:,:,1)1933 1931 zqsr_ice(:,:,jl) = frcv(jpr_qsrice)%z3(:,:,1) 1934 1932 END DO -
NEMO/branches/2020/dev_r12973_AGRIF_CMEMS/src/OCE/TRD/trdtra.F90
r12489 r13103 82 82 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL :: ptra ! now tracer variable 83 83 ! 84 INTEGER :: jk ! loop indices 84 INTEGER :: jk ! loop indices 85 INTEGER :: i01 ! 0 or 1 85 86 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ztrds ! 3D workspace 86 87 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zwt, zws, ztrdt ! 3D workspace … … 90 91 IF( trd_tra_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'trd_tra : unable to allocate arrays' ) 91 92 ENDIF 92 93 ! 94 i01 = COUNT( (/ PRESENT(pu) .OR. ( ktrd /= jptra_xad .AND. ktrd /= jptra_yad .AND. ktrd /= jptra_zad ) /) ) 95 ! 93 96 IF( ctype == 'TRA' .AND. ktra == jp_tem ) THEN !== Temperature trend ==! 94 97 ! 95 SELECT CASE( ktrd )98 SELECT CASE( ktrd*i01 ) 96 99 ! ! advection: transform the advective flux into a trend 97 100 CASE( jptra_xad ) ; CALL trd_tra_adv( ptrd, pu, ptra, 'X', trdtx, Kmm ) … … 112 115 IF( ctype == 'TRA' .AND. ktra == jp_sal ) THEN !== Salinity trends ==! 113 116 ! 114 SELECT CASE( ktrd )117 SELECT CASE( ktrd*i01 ) 115 118 ! ! advection: transform the advective flux into a trend 116 119 ! ! and send T & S trends to trd_tra_mng … … 163 166 IF( ctype == 'TRC' ) THEN !== passive tracer trend ==! 164 167 ! 165 SELECT CASE( ktrd )168 SELECT CASE( ktrd*i01 ) 166 169 ! ! advection: transform the advective flux into a masked trend 167 170 CASE( jptra_xad ) ; CALL trd_tra_adv( ptrd , pu , ptra, 'X', ztrds, Kmm ) -
utils/tools_dev_r12970_AGRIF_CMEMS/DOMAINcfg/src/agrif_connect.F90
r13056 r13103 123 123 e3t_interp(ji,jj,jk) = MAX( ptab(ji,jj,jk),MIN(e3zps_min, e3t_1d(jk)*e3zps_rat) ) 124 124 e3t_interp(ji,jj,jk) = MIN( e3t_interp(ji,jj,jk),e3t_1d(jk) ) 125 e3t_0(ji,jj,jk) = ztabramp(ji,jj)*e3t_0(ji,jj,jk)+(1.-ztabramp(ji,jj))*e3t_interp(ji,jj,jk)125 e3t_0(ji,jj,jk) = ( 1. + ztabramp(ji,jj) )*e3t_0(ji,jj,jk) + ztabramp(ji,jj)*e3t_interp(ji,jj,jk) 126 126 ENDIF 127 127 END DO
Note: See TracChangeset
for help on using the changeset viewer.