diff --git a/bigrid.F90 b/bigrid.F90 index f10d2bf..0d0f382 100644 --- a/bigrid.F90 +++ b/bigrid.F90 @@ -395,7 +395,7 @@ subroutine bigrid(depth, mapflg, util1,util2,util3) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'ip array, cols',ifrst+1,' --',ilast endif do j= jtdm,1,-1 @@ -452,8 +452,8 @@ subroutine indxi(ipt,if,il,is) k = k+1 elseif (last .eq. 0 .and. ipt(i,j) .eq. 1) then if (k .gt. ms) then - write(lp,'(a,i5)') 'indxi problem on proc ',mnproc - write(lp,'(a,2i5)') & + write(lp,'(a,i6)') 'indxi problem on proc ',mnproc + write(lp,'(a,2i6)') & ' error in indxi -- ms too small at i,j =',i0+i,j0+j call xchalt('(indxi)') stop '(indxi)' @@ -510,8 +510,8 @@ subroutine indxj(jpt,jf,jl,js) k = k+1 elseif (last .eq. 0 .and. jpt(i,j) .eq. 1) then if (k .gt. ms) then - write(lp,'(a,i5)') 'indxj problem on proc ',mnproc - write(lp,'(a,2i5)') & + write(lp,'(a,i6)') 'indxj problem on proc ',mnproc + write(lp,'(a,2i6)') & ' error in indxj -- ms too small at i,j =',i0+i,j0+j call xchalt('(indxj)') stop '(indxj)' @@ -537,3 +537,4 @@ subroutine indxj(jpt,jf,jl,js) !> Oct 2008 - warning on single-width inlets !> May 2014 - added ipim1,ipip1,ipjm1,ipjp1,ipim1x,ipip1x,ipjm1x,ipjp1x !> May 2014 - added allip,alliq,alliu,alliv +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/blkdat.F90 b/blkdat.F90 index 5eab815..c3da0a1 100644 --- a/blkdat.F90 +++ b/blkdat.F90 @@ -69,7 +69,7 @@ subroutine blkdat(linit) ! if (itest.ne.itdm) then if (mnproc.eq.1) then - write(lp,'(/ a,i5 /)') & + write(lp,'(/ a,i6 /)') & 'error - expected idm =',itdm call flush(lp) endif !1st tile @@ -78,7 +78,7 @@ subroutine blkdat(linit) endif !error if (jtest.ne.jtdm) then if (mnproc.eq.1) then - write(lp,'(/ a,i5 /)') & + write(lp,'(/ a,i6 /)') & 'error - expected jdm =',jtdm call flush(lp) endif !1st tile @@ -96,7 +96,7 @@ subroutine blkdat(linit) ! if (ittest.gt.itdm) then if (mnproc.eq.1) then - write(lp,'(/ a,i5 /)') & + write(lp,'(/ a,i6 /)') & 'error - maximum itest is',itdm call flush(lp) endif !1st tile @@ -105,7 +105,7 @@ subroutine blkdat(linit) endif !error if (jttest.gt.jtdm) then if (mnproc.eq.1) then - write(lp,'(/ a,i5 /)') & + write(lp,'(/ a,i6 /)') & 'error - maximum jtest is',jtdm call flush(lp) endif !1st tile @@ -129,7 +129,7 @@ subroutine blkdat(linit) ! call xcsync(flush_lp) ! do k= 1,ijpr ! if (mnproc.eq.k) then -! write(lp,'(a,3i5)') 'mnproc,[ij]test =',mnproc,itest,jtest +! write(lp,'(a,3i6)') 'mnproc,[ij]test =',mnproc,itest,jtest ! endif ! call xcsync(flush_lp) ! enddo !k @@ -3087,3 +3087,4 @@ subroutine blkinl(lvar,cvar) !> Jan. 2025 - added tidnud to nudge towards the observed tides !> Feb. 2025 - Added cbtidc for adding tidal velocities to bottom speed !> Feb. 2025 - Negative cbar to input tidal amplitude flow speed +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/cnuity.F90 b/cnuity.F90 index bbdc2fe..aaab04e 100644 --- a/cnuity.F90 +++ b/cnuity.F90 @@ -389,7 +389,7 @@ subroutine cnuity(m,n) !diag enddo !diag enddo !diag endif - 101 format (i9,2i5,i3,1p,e15.2,e30.2/a17,6e10.2/e37.2,e30.2) + 101 format (i9,2i6,i4,1p,e15.2,e30.2/a17,6e10.2/e37.2,e30.2) ! ! --- at each grid point, determine the ratio of the largest permissible ! --- pos. (neg.) change in -dp- to the sum of all incoming (outgoing) fluxes @@ -512,7 +512,7 @@ subroutine cnuity(m,n) ! ! --- check for negative thicknesses. ! - 100 format (i9,' i,j,k=',2i5,i3,' neg. dp (m) in loop ',i2,g15.2,a) + 100 format (i9,' i,j,k=',2i6,i4,' neg. dp (m) in loop ',i2,g15.2,a) ! if (mod(nstep,3).eq.0) then !skip some time steps for efficiency call xcminr(dpkmin(1:2*kk)) @@ -928,7 +928,7 @@ subroutine cnuity(m,n) !$OMP END PARALLEL DO ! !diag if (itest.gt.0.and.jtest.gt.0) & -!diag write (lp,'(i9,2i5,i3,'' intfc.depth diffusion -- p_old,p_new ='', & +!diag write (lp,'(i9,2i6,i4,'' intfc.depth diffusion -- p_old,p_new ='', & !diag 2f9.3)') nstep,itest,jtest,k,pold(itest,jtest)*qonem,p(itest, & !diag jtest,k)*qonem ! @@ -946,7 +946,7 @@ subroutine cnuity(m,n) do i=1-margin,ii+margin if (SEA_P) then if (p(i,j,k+1).lt.p(i,j,k)) then -!diag write (lp,'(i9,2i5,i3,a,g15.2,i4)') nstep,i+i0,j+j0,k, & +!diag write (lp,'(i9,2i6,i4,a,g15.2,i4)') nstep,i+i0,j+j0,k, & !diag ' neg. dp after thknss smoothing', & !diag qonem*(p(i,j,k+1)-p(i,j,k)),iflip p(i,j,k+1)=p(i,j,k) @@ -1080,7 +1080,7 @@ subroutine cnuity(m,n) !$OMP END PARALLEL DO ! !diag if (itest.gt.0.and.jtest.gt.0) & -!diag write (lp,'(i9,2i5,i3," intfc.depth diffusion -- p_old,p_new =", & +!diag write (lp,'(i9,2i6,i4," intfc.depth diffusion -- p_old,p_new =", & !diag 2f9.3)') nstep,itest+i0,jtest+j0,k,pold(itest,jtest)*qonem, & !diag p(itest,jtest,k)*qonem ! @@ -1098,7 +1098,7 @@ subroutine cnuity(m,n) do i=1-margin,ii+margin if (SEA_P) then if (p(i,j,k+1).lt.p(i,j,k)) then -!diag write (lp,'(i9,2i5,i3,a,g15.2,i4)') nstep,i+i0,j+j0,k, & +!diag write (lp,'(i9,2i6,i4,a,g15.2,i4)') nstep,i+i0,j+j0,k, & !diag ' neg. dp after thknss smoothing', & !diag qonem*(p(i,j,k+1)-p(i,j,k)),iflip p(i,j,k+1)=p(i,j,k) @@ -1449,3 +1449,4 @@ end subroutine cnuity !> Aug. 2018 - btrmas added, use onetamas to simplify logic !> Nov. 2018 - added oneta_u and oneta_v to correct and simplify logic !> Mar. 2023 - neg. dp in loop 19 is not fatal, might be corrected in loop 15 +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/convec.F90 b/convec.F90 index c00d246..8d96de7 100644 --- a/convec.F90 +++ b/convec.F90 @@ -34,7 +34,7 @@ subroutine convch(m,n) ! --- convective adjustment ! --- --------------------- ! - 103 format (i9,2i5,a/(33x,i3,2f8.3,f8.3,f8.2,f8.1)) + 103 format (i9,2i6,a/(33x,i3,2f8.3,f8.3,f8.2,f8.1)) !diag if (itest.gt.0 .and. jtest.gt.0) then !diag write (lp,103) nstep,itest+i0,jtest+i0, & !diag ' entering convec: temp saln dens thkns dpth', & @@ -242,7 +242,7 @@ subroutine convch(m,n) endif if (llayer) then !$OMP CRITICAL - write (lp,'(i9,2i5,i3,a,i3,a,i3,a,2f10.4)') & + write (lp,'(i9,2i6,i4,a,i4,a,i4,a,2f10.4)') & nstep,i+i0,j+j0,k, & ' colmn unstbl (wrt',ks,') after', & iter-1,' its', & @@ -276,7 +276,7 @@ subroutine convch(m,n) !diag ' upr,lwr,final dens:',(sigup+thbase), & !diag (siglo+thbase),(th3d(i,j,k,n)+thbase),q !diag endif - 100 format (i9,2i5,i3,' it',i2,a,3f8.3,f5.2) + 100 format (i9,2i6,i4,' it',i2,a,3f8.3,f5.2) ! end if end if @@ -291,7 +291,7 @@ subroutine convch(m,n) !cc colout(i)=colout(i)+temp(i,j,k,n)*dp(i,j,k,n) !cc enddo !k !cc if (abs((colout(i)-coluin(i))/coluin(i)).gt.1.e-6) -!cc . write (lp,'(i9,2i5,a/1p,3e14.6)') nstep,i,j, +!cc . write (lp,'(i9,2i6,a/1p,3e14.6)') nstep,i,j, !cc . ' column integral not conserved in convec:', !cc . coluin(i),colout(i),(colout(i)-coluin(i))/coluin(i) endif !ip @@ -324,7 +324,7 @@ subroutine convcm(m,n) ! # include "stmt_fns.h" ! - 103 format (i9,2i5,a/(33x,i3,2f8.3,3p,f8.3,0p,f8.2,f8.1)) + 103 format (i9,2i6,a/(33x,i3,2f8.3,3p,f8.3,0p,f8.2,f8.1)) !diag if (itest.gt.0 .and. jtest.gt.0) then !diag write (lp,103) nstep,itest+i0,jtest+j0, & !diag ' entering convec: temp saln dens thkns dpth', & @@ -381,8 +381,8 @@ subroutine convcm(m,n) !diag +thbase,dp(i,j,1,n)*qonem,temp(i,j,1,n),saln(i,j,1,n),k, & !diag th3d(i,j,k,n)+thbase,dp(i,j,k,n)*qonem,temp(i,j,k,n),saln(i,j,k,n) !diag endif - 100 format (i9,2i5,a,i3,' th3d,dp,t,s =',3pf7.3,0pf7.1,2f8.3 & - /26x,i3,15x,3pf7.3,0pf7.1,2f8.3) + 100 format (i9,2i6,a,i4,' th3d,dp,t,s =',3pf7.3,0pf7.1,2f8.3 & + /26x,i4,15x,3pf7.3,0pf7.1,2f8.3) ! ! --- layer -k- contains mass less dense than mixed layer. entrain it. delp=dp(i,j,1,n)+dp(i,j,k,n) @@ -489,3 +489,4 @@ subroutine convcm(m,n) !> Oct 2010 - replaced two calls to dsiglocdX with one call at mid-point !> Aug 2011 - replaced dpold,dpoldm with dpo !> May 2014 - use land/sea masks (e.g. ip) to skip land +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/diapfl.F90 b/diapfl.F90 index 76557c6..101d8f1 100644 --- a/diapfl.F90 +++ b/diapfl.F90 @@ -482,11 +482,11 @@ subroutine diapf1aij(m,n, i,j) ! return ! - 101 format(25x,' thick viscty t diff s diff ' & - /(i9,2i5,i3,2x,4f10.2)) + 101 format(28x,' thick viscty t diff s diff ' & + /(i9,2i6,i4,2x,4f10.2)) 102 format(25x, & ' diff t t old t new t chng diff s s old s new s chng' & - /(i9,2i5,i3,1x,8f8.3)) + /(i9,2i6,i4,1x,8f8.3)) end subroutine diapf1uij(m,n, i,j) use mod_xc ! HYCOM communication interface @@ -570,7 +570,7 @@ subroutine diapf1uij(m,n, i,j) !diag (nstep,i+i0,j+j0,k,hm(k),u1do(k),u1dn(k),k=1,nlayer) ! return - 106 format(23x,' thick u old u new'/(i9,2i5,i3,1x,f10.3,2f8.3)) + 106 format(26x,' thick u old u new'/(i9,2i6,i4,1x,f10.3,2f8.3)) end subroutine diapf1vij(m,n, i,j) use mod_xc ! HYCOM communication interface @@ -655,7 +655,7 @@ subroutine diapf1vij(m,n, i,j) !diag (nstep,i+i0,j+j0,k,hm(k),v1do(k),v1dn(k),k=1,nlayer) ! return - 107 format(23x,' thick v old v new'/(i9,2i5,i3,1x,f10.3,2f8.3)) + 107 format(26x,' thick v old v new'/(i9,2i6,i4,1x,f10.3,2f8.3)) end ! subroutine diapf2(m,n) @@ -747,7 +747,7 @@ subroutine diapf2j(m,n, j) enddo !ktr ! !diag if (i.eq.itest.and.j.eq.jtest) & -!diag write (lp,'(i9,2i5,3x,a/(i36,4f10.3))') nstep,i+i0,j+j0, & +!diag write (lp,'(i9,2i6,3x,a/(i36,4f10.3))') nstep,i+i0,j+j0, & !diag 'before diapf2: thickness salinity temperature density', & !diag (k,dp(i,j,k,n)*qonem,saln(i,j,k,n), & !diag temp(i,j,k,n),th3d(i,j,k,n)+thbase,k=1,kk) @@ -768,7 +768,7 @@ subroutine diapf2j(m,n, j) enddo !k ! !diag if (j.eq.jtest.and.itest.ge.ifp(j,l).and.itest.le.ilp(j,l)) & -!diag write (lp,'(i9,2i5,a,2i5)') & +!diag write (lp,'(i9,2i6,a,2i4)') & !diag nstep,itest+i0,j+j0,' kmin,kmax =',kmin(itest),kmax(itest) ! ! --- find buoyancy frequency for each layer @@ -852,7 +852,7 @@ subroutine diapf2j(m,n, j) q=min(1.,.5*min(p(i,j,k)-p(i,j,k-1),p(i,j,k+2)-p(i,j,k+1))/ & max(flxu(i,k),flxl(i,k),epsil)) ! -!diag if (q.ne.1.) write (lp,'(i9,2i5,i3,a,1p,2e10.2,0p,2f7.2,f5.2)') & +!diag if (q.ne.1.) write (lp,'(i9,2i6,i4,a,1p,2e10.2,0p,2f7.2,f5.2)') & !diag nstep,i+i0,j+j0,k,' flxu/l,dpu/l,q=',flxu(i,k),flxl(i,k), & !diag (p(i,j,k)-p(i,j,k-1))*qonem,(p(i,j,k+2)-p(i,j,k+1))*qonem,q ! @@ -862,7 +862,7 @@ subroutine diapf2j(m,n, j) endif ! kmin < k < kmax ! !diag if (i.eq.itest.and.j.eq.jtest.and.k.ge.kmin(i).and.k.le.kmax(i)) & -!diag write (lp,'(i9,2i5,i3,3x,a/22x,f9.3,2f7.3,1p,3e10.3)') & +!diag write (lp,'(i9,2i6,i4,3x,a/22x,f9.3,2f7.3,1p,3e10.3)') & !diag nstep,i+i0,j+j0,k, & !diag 'thknss temp saln flngth flxu flxl', & !diag dp(i,j,k,n)*qonem,temp(i,j,k,n),saln(i,j,k,n),flngth(i,k), & @@ -999,10 +999,10 @@ subroutine diapf2j(m,n, j) ! if (abs(tndcys/tosal(i)).gt.1.e-11) ! . write (lp,100) ! . i+i0,j+i0,' diapf2 saln.col.intgl.:',tosal(i),tndcys,clips(i) -!100 format(2i5,a,1p,e16.8,2e13.5) +!100 format(2i6,a,1p,e16.8,2e13.5) ! !diag if (i.eq.itest.and.j.eq.jtest) & -!diag write (lp,'(i9,2i5,3x,a/(i36,0p,4f10.3))') & +!diag write (lp,'(i9,2i6,3x,a/(i36,0p,4f10.3))') & !diag nstep,i+i0,j+j0, & !diag 'after diapf2: thickness salinity temperature density', & !diag (k,dp(i,j,k,n)*qonem,saln(i,j,k,n), & @@ -1090,7 +1090,7 @@ subroutine diapf3j(m,n, j) flxl(i,1)=0. ! !diag if (i.eq.itest .and. j.eq.jtest) & -!diag write (lp,'(i9,2i5,3x,a/(i36,0p,3f10.3,3p,f10.3))') & +!diag write (lp,'(i9,2i6,3x,a/(i36,0p,3f10.3,3p,f10.3))') & !diag nstep,i+i0,j+j0, & !diag 'before diapfl: thickness salinity temperature density', & !diag 1,dp(i,j,1,n)*qonem,saln(i,j,1,n),temp(i,j,1,n), & @@ -1119,7 +1119,7 @@ subroutine diapf3j(m,n, j) enddo !k ! !diag if (j.eq.jtest.and.itest.ge.ifp(j,l).and.itest.le.ilp(j,l)) & -!diag write (lp,'(i9,2i5,a,2i5)') & +!diag write (lp,'(i9,2i6,a,2i4)') & !diag nstep,itest+i0,j+j0,' kmin,kmax =',kmin(itest),kmax(itest) ! ! --- temporarily swap layers 1 and kmin-1 @@ -1229,7 +1229,7 @@ subroutine diapf3j(m,n, j) max(flxu(i,k),flxl(i,k),epsil)) ! !diag if (i.eq.itest .and. j.eq.jtest .and. q.ne.1.) & -!diag write (lp,'(i9,2i5,i3,a,1p,2e10.2,0p,2f7.2,f4.2)') & +!diag write (lp,'(i9,2i6,i4,a,1p,2e10.2,0p,2f7.2,f4.2)') & !diag nstep,i+i0,j+j0,k,' flxu/l,dpu/l,q=',flxu(i,k),flxl(i,k), & !diag (p(i,j,k)-p(i,j,k-1))*qonem,(p(i,j,k+2)-p(i,j,k+1))*qonem,q ! @@ -1239,7 +1239,7 @@ subroutine diapf3j(m,n, j) end if ! kmin < k < kmax ! !diag if (i.eq.itest.and.j.eq.jtest.and.k.ge.kmin(i).and.k.le.kmax(i)) & -!diag write (lp,'(i9,2i5,i3,3x,a/22x,f9.3,2f7.3,1p,3e10.3)') & +!diag write (lp,'(i9,2i6,i4,3x,a/22x,f9.3,2f7.3,1p,3e10.3)') & !diag nstep,i+i0,j+j0,k, & !diag ' thknss temp saln flngth flxu flxl', & !diag dp(i,j,k,n)*qonem,temp(i,j,k,n),saln(i,j,k,n),flngth(i,k), & @@ -1337,9 +1337,9 @@ subroutine diapf3j(m,n, j) if (k.eq.kmin(i) .and. p(i,j,k).lt..1*onemm) then ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write (lp,'(i9,2i5,3x,a,i3,a)') nstep,i,j,'diapfl -- layer',k, & +!diag write (lp,'(i9,2i6,a,i4,a)') nstep,i,j,'diapfl -- layer',k, & !diag ' erodes mixed layer' -!diag write (lp,'(i9,2i5,i3,3x,a/22x,f9.3,2f7.3,1p,3e10.3)') & +!diag write (lp,'(i9,2i6,i4,3x,a/22x,f9.3,2f7.3,1p,3e10.3)') & !diag nstep,i+i0,j+j0,k, & !diag ' thknss temp saln flngth flxu flxl', & !diag (p(i,j,k+1)-p(i,j,k))*qonem,temp(i,j,k,n), & @@ -1364,7 +1364,7 @@ subroutine diapf3j(m,n, j) ! dpmixl(i,j,n)=dp(i,j,1,n) !diag if (i.eq.itest.and.j.eq.jtest) & -!diag write (lp,'(i9,2i5,3x,a/(i36,0p,3f10.3,3p,f10.3))') & +!diag write (lp,'(i9,2i6,i4,a/(i36,0p,3f10.3,3p,f10.3))') & !diag nstep,i+i0,j+j0, & !diag 'after diapfl: thickness salinity temperature density', & !diag 1,dp(i,j,1,n)*qonem,saln(i,j,1,n),temp(i,j,1,n), & @@ -1403,3 +1403,4 @@ subroutine diapf3j(m,n, j) !> May 2014 - use land/sea masks (e.g. ip) to skip land !> July 2017 - added needed halo updates (xctilr) !> Dec. 2018 - add /* USE_NUOPC_CESMBETA */ macro and riv_input for coupled simulation +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/forfun.F90 b/forfun.F90 index 7a30a90..698ee09 100644 --- a/forfun.F90 +++ b/forfun.F90 @@ -4175,21 +4175,21 @@ subroutine rdbaro_in(dtime,larchm,lslot) call xcsync(flush_lp) if (i0.lt.ittest .and. i0+ii.ge.ittest .and. & j0.lt.jttest .and. j0+jj.ge.jttest ) then - write(lp,'(i5,i4,a,1p5e13.5)') & + write(lp,'(i6,i6,a,1p5e13.5)') & itest+i0,jtest+j0,' rdbaro: ub,vb,pb,ubp,vbp = ', & ubnest(itest,jtest,lslot), & vbnest(itest,jtest,lslot), & pbnest(itest,jtest,lslot), & ubpnst(itest,jtest,lslot), & vbpnst(itest,jtest,lslot) - write(lp,'(i5,i4,a,1p5e13.5)') & + write(lp,'(i6,i6,a,1p5e13.5)') & itest+1+i0,jtest+j0,' rdbaro: ub,vb,pb,ubp,vbp = ', & ubnest(itest+1,jtest,lslot), & vbnest(itest+1,jtest,lslot), & pbnest(itest+1,jtest,lslot), & ubpnst(itest+1,jtest,lslot), & vbpnst(itest+1,jtest,lslot) - write(lp,'(i5,i4,a,1p5e13.5)') & + write(lp,'(i6,i6,a,1p5e13.5)') & itest+i0,jtest+1+j0,' rdbaro: ub,vb,pb,ubp,vbp = ', & ubnest(itest,jtest+1,lslot), & vbnest(itest,jtest+1,lslot), & @@ -4783,8 +4783,8 @@ subroutine rdnest_in(dtime,larchm,lslot) call xcsync(flush_lp) if (i0.lt.ittest .and. i0+ii.ge.ittest .and. & j0.lt.jttest .and. j0+jj.ge.jttest ) then - 103 format(i8,i5,i4,1x,a,a/ & - (i8,5x,i4,1x,a,a,2f7.3,2f7.3,f8.4,f9.3,f9.2)) + 103 format( i9,i6,i6,1x,a,a/ & + (i9,6x,i6,1x,a,a,2f7.3,2f7.3,f8.4,f9.3,f9.2)) write(lp,103) & nstep,itest+i0,jtest+j0,'rdnest', & ': utot vtot temp saln dens thkns dpth', & @@ -5047,3 +5047,4 @@ subroutine str2spd(wspd, tx,ty) !> Jan. 2025 - added forfunn for nudging towards the observed tides !> Jan. 2025 - salfac and hnudge in mod_tides !> Feb. 2025 - cbarmin (forfundf) ensures that BBL speed is not zero +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/geopar.F90 b/geopar.F90 index bae685d..ae0ada8 100644 --- a/geopar.F90 +++ b/geopar.F90 @@ -193,7 +193,7 @@ subroutine geopar if (itest.gt.0 .and. jtest.gt.0) then i=itest j=jtest - write (lp,'(/ a,2i5,a,f8.3,a,f12.9,2f10.2/)') & + write (lp,'(/ a,2i6,a,f8.3,a,f12.9,2f10.2/)') & ' i,j=',i+i0,j+j0, & ' plat=',plat(i,j), & ' corio,scux,vy=',corio(i,j),scux(i,j),scvy(i,j) @@ -480,7 +480,7 @@ subroutine geopar write(lp,125) 1,dx0k( 1)*qonem write(lp,125) kk,dx0k(kk)*qonem endif - 125 format('dx0k(',i2,') =',f7.2,' m') + 125 format('dx0k(',i3,') =',f7.2,' m') ! ! --- calculate dp0k and ds0k? if (dp00.lt.0.0) then @@ -535,7 +535,7 @@ subroutine geopar write(lp,*) write(lp,135) 1,dp0k(1)*qonem,dpm,dpms endif - 135 format('dp0k(',i2,') =',f7.2,' m', & + 135 format('dp0k(',i3,') =',f7.2,' m', & ' thkns =',f7.2,' m', & ' depth =',f8.2,' m') call xcsync(flush_lp) @@ -578,7 +578,7 @@ subroutine geopar write(lp,*) write(lp,130) 1,ds0k(1)*qonem,dsm,dsms endif - 130 format('ds0k(',i2,') =',f7.2,' m', & + 130 format('ds0k(',i3,') =',f7.2,' m', & ' thkns =',f7.2,' m', & ' depth =',f8.2,' m') call xcsync(flush_lp) @@ -632,7 +632,7 @@ subroutine geopar if (mnproc.eq.1) then write(lp,131) nsigma,dpns,dsns endif - 131 format('nsigma = ',i2, & + 131 format('nsigma = ',i3, & ' deep =',f8.2,' m', & ' shallow =',f8.2,' m' ) call flush(lp) @@ -994,44 +994,44 @@ subroutine geopar_halo(sc, g_sc, halo_type) !diag !diag if (itest.gt.0 .and. jtest.gt.0) then !diag do j= 1,jtdm -!diag write(lp,'(a,2i5,e16.8)') & +!diag write(lp,'(a,2i6,e16.8)') & !diag 'g_sc =',ittest,j,g_sc(ittest,j) !diag enddo !diag do i= 1,itdm -!diag write(lp,'(a,2i5,e16.8)') & +!diag write(lp,'(a,2i6,e16.8)') & !diag 'g_sc =',i,jttest,g_sc(i,jttest) !diag enddo !diag i = itest -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'sc (km) =', & !diag i+i0,1+j0, & !diag (sc(i,j)*1.e-3,j=1,-3,-1) -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'g_sc (km) =', & !diag i+i0,1+j0, & !diag (g_sc(i+i0,j+j0)*1.e-3,j=1,-3,-1) -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'sc (km) =', & !diag i+i0,jj+j0, & !diag (sc(i,j)*1.e-3,j=jj,jj+4) -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'g_sc (km) =', & !diag i+i0,jj+j0, & !diag (g_sc(i+i0,j+j0)*1.e-3,j=jj,jj+4) !diag j = jtest -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'sc (km) =', & !diag 1+i0,j+j0, & !diag (sc(i,j)*1.e-3,i=1,-3,-1) -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'g_sc (km) =', & !diag 1+i0,j+j0, & !diag (g_sc(i+i0,j+j0)*1.e-3,i=1,-3,-1) -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'sc (km) =', & !diag ii+i0,j+j0, & !diag (sc(i,j)*1.e-3,i=ii,ii+4) -!diag write(lp,'(a,2i5,5f10.5)') & +!diag write(lp,'(a,2i6,5f10.5)') & !diag 'g_sc (km) =', & !diag ii+i0,j+j0, & !diag (g_sc(i+i0,j+j0)*1.e-3,i=ii,ii+4) @@ -1064,3 +1064,4 @@ subroutine geopar_halo(sc, g_sc, halo_type) !> Apr. 2023 - added dx0k !> Jan. 2025 - converted displd_mn and dispqd_mn to surface tracers !> Feb. 2025 - always read pang in case it is used in mod_tides +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/hybgen.F90 b/hybgen.F90 index 73f6fdb..e878727 100644 --- a/hybgen.F90 +++ b/hybgen.F90 @@ -32,7 +32,7 @@ subroutine hybgen(m,n, hybgen_raflag) real q character text*12 ! - 103 format (i9,2i5,a/(33x,i3,2f8.3,f8.3,f9.3,f9.2)) + 103 format (i9,2i6,a/(33x,i3,2f8.3,f8.3,f9.3,f9.2)) !diag if (itest.gt.0 .and. jtest.gt.0) then !diag write (lp,103) nstep,itest+i0,jtest+j0, & !diag ' entering hybgen: temp saln dens thkns dpth', & @@ -526,7 +526,7 @@ subroutine hybgenaj(m,n,j ) ! !diag if (i.eq.itest .and. j.eq.jtest) then !diag write(lp,'(a,i3)') & -!diag 'hybgen, deepest inflated layer:',kp +!diag 'hybgen, deepest inflated layer: ',kp !diag call flush(lp) !diag endif !debug ! @@ -570,7 +570,7 @@ subroutine hybgenaj(m,n,j ) if (ndebug_tracer.gt.0 .and. ndebug_tracer.le.ntracr .and. & i.eq.itest .and. j.eq.jtest) then ktr = ndebug_tracer - write(lp,'(a,i3,f6.3,f9.4)') & + write(lp,'(a,i4,f6.3,f9.4)') & 'hybgen, 11(+):', & k-1,0.0,tracer(i,j,k-1,n,ktr) call flush(lp) @@ -583,13 +583,13 @@ subroutine hybgenaj(m,n,j ) if (ndebug_tracer.gt.0 .and. ndebug_tracer.le.ntracr .and. & i.eq.itest .and. j.eq.jtest) then ktr = ndebug_tracer - write(lp,'(a,i3,f6.3,f9.4)') & + write(lp,'(a,i4,f6.3,f9.4)') & 'hybgen, 11(+):', & k-1,q,tracer(i,j,k-1,n,ktr) - write(lp,'(a,i3,f6.3,f9.4)') & + write(lp,'(a,i4,f6.3,f9.4)') & 'hybgen, 11(+):', & k,q,tracer(i,j,k,n,ktr) - write(lp,'(a,i3)') & + write(lp,'(a,i4)') & 'hybgen, deepest inflated layer:',kp call flush(lp) endif !debug_tracer @@ -603,11 +603,11 @@ subroutine hybgenaj(m,n,j ) p(i,j,k) = p(i,j,k+1) kp = k-1 !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3,f6.3,5f8.3)') & +!diag write(lp,'(a,i4,f6.3,5f8.3)') & !diag 'hybgen, 11(+):', & !diag k-1,q,temp(i,j,k-1,n),saln(i,j,k-1,n), & !diag th3d(i,j,k-1,n)+thbase,theta(i,j,k-1)+thbase -!diag write(lp,'(a,i3)') & +!diag write(lp,'(a,i4)') & !diag 'hybgen, deepest inflated layer:',kp !diag call flush(lp) !diag endif !debug @@ -621,11 +621,11 @@ subroutine hybgenaj(m,n,j ) ! --- ! --- swap the entire layer with the one above. !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3,f8.5,5f10.5)') & +!diag write(lp,'(a,i4,f8.5,5f10.5)') & !diag 'hybgen, original:', & !diag k-1,0.0,temp(i,j,k-1,n),saln(i,j,k-1,n), & !diag th3d(i,j,k-1,n)+thbase,theta(i,j,k-1)+thbase -!diag write(lp,'(a,i3,f8.5,5f10.5)') & +!diag write(lp,'(a,i4,f8.5,5f10.5)') & !diag 'hybgen, original:', & !diag k,0.0,temp(i,j,k, n),saln(i,j,k, n), & !diag th3d(i,j,k, n)+thbase,theta(i,j,k )+thbase @@ -725,11 +725,11 @@ subroutine hybgenaj(m,n,j ) endif endif !bottom too light !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3,f8.5,5f10.5)') & +!diag write(lp,'(a,i4,f8.5,5f10.5)') & !diag 'hybgen, overturn:', & !diag k-1,q,temp(i,j,k-1,n),saln(i,j,k-1,n), & !diag th3d(i,j,k-1,n)+thbase,theta(i,j,k-1)+thbase -!diag write(lp,'(a,i3,f8.5,5f10.5)') & +!diag write(lp,'(a,i4,f8.5,5f10.5)') & !diag 'hybgen, overturn:', & !diag k, q,temp(i,j,k, n),saln(i,j,k, n), & !diag th3d(i,j,k, n)+thbase,theta(i,j,k )+thbase @@ -761,7 +761,7 @@ subroutine hybgenaj(m,n,j ) ! --- It is also limited to a 50% change in layer thickness. ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3)') & +!diag write(lp,'(a,i4)') & !diag 'hybgen, deepest inflated layer too light (stable):',k !diag call flush(lp) !diag endif !debug @@ -824,7 +824,7 @@ subroutine hybgenaj(m,n,j ) if (ndebug_tracer.gt.0 .and. ndebug_tracer.le.ntracr .and. & i.eq.itest .and. j.eq.jtest) then ktr = ndebug_tracer - write(lp,'(a,i3,f6.3,f9.4)') & + write(lp,'(a,i4,f6.3,f9.4)') & 'hybgen, 10(+):', & k-1,0.0,tracer(i,j,k-1,n,ktr) call flush(lp) @@ -852,13 +852,13 @@ subroutine hybgenaj(m,n,j ) if (ndebug_tracer.gt.0 .and. ndebug_tracer.le.ntracr .and. & i.eq.itest .and. j.eq.jtest) then ktr = ndebug_tracer - write(lp,'(a,i3,f6.3,f9.4)') & + write(lp,'(a,i4,f6.3,f9.4)') & 'hybgen, 10(+):', & k-1,qtr,tracer(i,j,k-1,n,ktr) - write(lp,'(a,i3,f6.3,f9.4)') & + write(lp,'(a,i4,f6.3,f9.4)') & 'hybgen, 10(+):', & k,qtr,tracer(i,j,k,n,ktr) - write(lp,'(a,i3)') & + write(lp,'(a,i4)') & 'hybgen, deepest inflated layer:',kp call flush(lp) endif !debug_tracer @@ -871,7 +871,7 @@ subroutine hybgenaj(m,n,j ) q2l(i,j,k-1,n)=q2l(i,j,k-1,n)+ & qtr*(q2l(i,j,k,n)-q2l(i,j,k-1,n)) !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i4,i3,6e12.3)') & +!diag write(lp,'(a,i4,i4,6e12.3)') & !diag 'hybgen, 10(+):', & !diag k,0,p_hat,p(i,j,k)-p(i,j,k-1),p(i,j,k+1)-p(i,j,k), & !diag qtr,q2(i,j,k-1,n),q2l(i,j,k-1,n) @@ -879,14 +879,14 @@ subroutine hybgenaj(m,n,j ) !diag endif !debug endif !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3,f6.3,5f8.3)') & +!diag write(lp,'(a,i4,f6.3,5f8.3)') & !diag 'hybgen, 10(+):', & !diag k,q,temp(i,j,k,n),saln(i,j,k,n), & !diag th3d(i,j,k,n)+thbase,theta(i,j,k)+thbase !diag call flush(lp) !diag endif !debug !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3,f6.3,5f8.3)') & +!diag write(lp,'(a,i4,f6.3,5f8.3)') & !diag 'hybgen, 10(-):', & !diag k,0.0,temp(i,j,k,n),saln(i,j,k,n), & !diag th3d(i,j,k,n)+thbase,theta(i,j,k)+thbase @@ -922,7 +922,7 @@ subroutine hybgenaj(m,n,j ) if (ndebug_tracer.gt.0 .and. ndebug_tracer.le.ntracr .and. & i.eq.itest .and. j.eq.jtest) then ktr = ndebug_tracer - write(lp,'(a,i3,f9.4)') & + write(lp,'(a,i4,f9.4)') & 'hybgen, massless:', & k,tracer(i,j,k,n,ktr) call flush(lp) @@ -991,18 +991,18 @@ subroutine hybgenaj(m,n,j ) ! !diag if (i.eq.itest .and. j.eq.jtest) then !diag write(cinfo,'(a9,i2.2,1x)') ' do 88 k=',k -!diag write(lp,'(i9,2i5,a,a)') nstep,itest+i0,jtest+j0, & +!diag write(lp,'(i9,2i6,a,a)') nstep,itest+i0,jtest+j0, & !diag cinfo,': othkns odpth nthkns ndpth' !diag do ka=1,kk !diag if (pres(ka+1).eq.p(itest,jtest,ka+1) .and. & !diag pres(ka ).eq.p(itest,jtest,ka ) ) then -!diag write(lp,'(i9,8x,a,a,i3,f10.3,f9.3)') & +!diag write(lp,'(i9,8x,a,a,i4,f10.3,f9.3)') & !diag nstep,cinfo,':',ka, & !diag (pres(ka+1)- & !diag pres(ka) )*qonem, & !diag pres(ka+1) *qonem !diag else -!diag write(lp,'(i9,8x,a,a,i3,f10.3,f9.3,f10.3,f9.3)') & +!diag write(lp,'(i9,8x,a,a,i4,f10.3,f9.3,f10.3,f9.3)') & !diag nstep,cinfo,':',ka, & !diag (pres(ka+1)- & !diag pres(ka) )*qonem, & @@ -1033,7 +1033,7 @@ subroutine hybgenaj(m,n,j ) endif !k.lt.kk ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') 'hybgen, fixlay :', & +!diag write(lp,'(a,i4.2,f8.2)') 'hybgen, fixlay :', & !diag k+1,p(i,j,k+1)*qonem !diag call flush(lp) !diag endif !debug @@ -1236,7 +1236,7 @@ subroutine hybgenaj(m,n,j ) qhrlx(k-1) *max(p_hat2, & 2.0*p(i,j,k-1)-p_hat) !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') 'hybgen, 1blocking :', & +!diag write(lp,'(a,i4.2,f8.2)') 'hybgen, 1blocking :', & !diag k-1,p(i,j,k-1)*qonem !diag call flush(lp) !diag endif !debug @@ -1262,7 +1262,7 @@ subroutine hybgenaj(m,n,j ) qhrlx(k-2)*max(p_hat3, & 2.0*p(i,j,k-2)-p(i,j,k-1)) !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') 'hybgen, 2blocking :', & +!diag write(lp,'(a,i4.2,f8.2)') 'hybgen, 2blocking :', & !diag k-2,p(i,j,k-2)*qonem !diag call flush(lp) !diag endif !debug @@ -1274,7 +1274,7 @@ subroutine hybgenaj(m,n,j ) qhrlx(k-1) *max(p_hat2, & 2.0*p(i,j,k-1)-p_hat) !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') 'hybgen, 3blocking :', & +!diag write(lp,'(a,i4.2,f8.2)') 'hybgen, 3blocking :', & !diag k-1,p(i,j,k-1)*qonem !diag call flush(lp) !diag endif !debug @@ -1292,7 +1292,7 @@ subroutine hybgenaj(m,n,j ) endif !entrain ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') 'hybgen, entrain(k) :', & +!diag write(lp,'(a,i4.2,f8.2)') 'hybgen, entrain(k) :', & !diag k,p(i,j,k)*qonem !diag call flush(lp) !diag endif !debug @@ -1379,7 +1379,7 @@ subroutine hybgenaj(m,n,j ) endif !entrain ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') & +!diag write(lp,'(a,i4.2,f8.2)') & !diag 'hybgen, entrain(k+):',k,p(i,j,k+1)*qonem !diag call flush(lp) !diag endif !debug @@ -1408,7 +1408,7 @@ subroutine hybgenaj(m,n,j ) p(i,j,k)=min(p_hat,p(i,j,k+1)) ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') & +!diag write(lp,'(a,i4.2,f8.2)') & !diag 'hybgen, min. thknss (k+):',k-1,p(i,j,k)*qonem !diag call flush(lp) !diag endif !debug @@ -1426,7 +1426,7 @@ subroutine hybgenaj(m,n,j ) lcm(k-1) = .false. ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write(lp,'(a,i3.2,f8.2)') & +!diag write(lp,'(a,i4.2,f8.2)') & !diag 'hybgen, max. thknss (k+):',k,p(i,j,k+1)*qonem !diag call flush(lp) !diag endif !debug @@ -1495,7 +1495,7 @@ subroutine hybgenaj(m,n,j ) if (ndebug_tracer.gt.0 .and. ndebug_tracer.le.ntracr .and. & i.eq.itest .and. j.eq.jtest) then ktr = ndebug_tracer - write(lp,'(a,i3,2f9.4)') & + write(lp,'(a,i4,2f9.4)') & 'hybgen, old2new:', & k,s1d(k,2+ktr),tracer(i,j,k,n,ktr) call flush(lp) @@ -1641,7 +1641,7 @@ subroutine hybgenaj(m,n,j ) !diag call flush(lp) !diag endif ! -!diag 103 format (i9,2i5,a/(33x,i3,2f8.3,f8.3,f9.3,f9.2)) +!diag 103 format (i9,2i6,a/(33x,i4,2f8.3,f8.3,f9.3,f9.2)) !diag if (i.eq.itest .and. j.eq.jtest) then !diag if (hybflg.eq.0) then !T&S !diag write (lp,103) nstep,itest+i0,jtest+j0, & @@ -1757,7 +1757,7 @@ subroutine hybgenbj(nl, j) endif enddo !k ! - 104 format (i9,2i5,a/(33x,i3,f8.3,f9.3,f9.2)) + 104 format (i9,2i6,a/(33x,i4,f8.3,f9.3,f9.2)) !diag if (i.eq.itest .and. j.eq.jtest) then !diag write (lp,104) nstep,itest+i0,jtest+j0, & !diag ' hybgen, do 412: u thkns dpth', & @@ -2159,7 +2159,7 @@ subroutine hybgencj(m,n,j ) !diag call flush(lp) !diag endif ! -!diag 103 format (i9,2i5,a/(33x,i3,2f8.3,f8.3,f9.3,f9.2)) +!diag 103 format (i9,2i6,a/(33x,i4,2f8.3,f8.3,f9.3,f9.2)) !diag if (i.eq.itest .and. j.eq.jtest) then !diag if (hybflg.eq.0) then !T&S !diag write (lp,103) nstep,itest+i0,jtest+j0, & @@ -3093,3 +3093,4 @@ end subroutine hybgen_weno_remap !> July 2023 - added trcflg=803: change in layer salinity due to hybgen !> Sep. 2024 - dx0k-ed layers are never remapped with PCM !> Sep. 2024 - added hybthk +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/icloan.F90 b/icloan.F90 index ea6b3de..feb7d37 100644 --- a/icloan.F90 +++ b/icloan.F90 @@ -117,7 +117,7 @@ subroutine icloan(m,n) borrow=max( -fluxmx, min( fluxmx, borrow ) ) ! !diag if (i.eq.itest .and. j.eq.jtest) then -!diag write (lp,'(i9,2i5,a,5f9.3)') & +!diag write (lp,'(i9,2i6,a,5f9.3)') & !diag nstep,i+i0,j+j0,' t,tfrz,flx,hfrz,cov:', & !diag tmxl,tfrz,borrow,hfrz*qonem,covice(i,j) !diag endif @@ -383,3 +383,4 @@ end subroutine icloan !> Nov. 2018 - virtual salt flux replaced with water and actual salt flux !> Nov. 2018 - added lwflag=-1 for input radflx=Qlwdn !> Nov. 2018 - allow for difference in ocean and sea ice albedo when lwflag=-1 +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/inicon.F90 b/inicon.F90 index a876eeb..8ac80dd 100644 --- a/inicon.F90 +++ b/inicon.F90 @@ -354,7 +354,7 @@ subroutine inicon(mnth) endif ! !diag if (mod(k,3).ne.1) go to 55 -!diag write (text,'(''intf.pressure (m), k='',i3)') k+1 +!diag write (text,'(''intf.pressure (m), k='',i4)') k+1 !diag call prtmsk(ip,p(1-nbdy,1-nbdy,k+1),util1,idm,ii,jj,0.,1.*qonem,text) ! enddo !k @@ -569,7 +569,7 @@ subroutine inicon(mnth) (p(itest,jtest,k+1)+p(itest,jtest,k))*0.5*qonem, & montg(itest,jtest,k,1)/g,k=1,kk) write(lp,104) depths(itest,jtest) - 103 format (i9,2i5,a/23x,'mxl',32x, f8.1/ & + 103 format (i9,2i6,a/25x,'mxl',32x, f8.1/ & (23x,i3,2f8.2,f8.2,2f8.1,f8.3)) 104 format ( 23x,'bot',32x, f8.1) endif !test tile @@ -598,3 +598,4 @@ subroutine inicon(mnth) !> Feb 2019 - onetai is 1.0 !> Feb 2019 - montg_c correction to pbavg (see momtum for correction to psikk) !> Feb 2019 - removed onetai +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/latbdy.F90 b/latbdy.F90 index d891c03..5aa8c7c 100644 --- a/latbdy.F90 +++ b/latbdy.F90 @@ -782,7 +782,7 @@ subroutine latbdf(n,lll) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iu array, cols',ifrst+1,' --',ilast endif do j= jtdm,1,-1 @@ -804,7 +804,7 @@ subroutine latbdf(n,lll) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iv array, cols',ifrst+1,' --',ilast endif do j= jtdm,1,-1 @@ -1615,7 +1615,7 @@ subroutine latbdp(n) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iu array, cols',ifrst+1,' --',ilast endif do j= jtdm,1,-1 @@ -1637,7 +1637,7 @@ subroutine latbdp(n) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iv array, cols',ifrst+1,' --',ilast endif do j= jtdm,1,-1 @@ -1702,7 +1702,7 @@ subroutine latbdp(n) speedw(j) = sqrt(svref/(onem*dline(j))) rspedw(j) = 1.0/speedw(j) if (mnproc.eq.1) then - write(lp,'(a,i2,2i5,1p2e13.5)') & + write(lp,'(a,i2,2i6,1p2e13.5)') & 'w port: ',l,i,j,uportw(j),speedw(j) endif ! @@ -1732,7 +1732,7 @@ subroutine latbdp(n) speede(j) = sqrt(svref/(onem*dline(j))) rspede(j) = 1.0/speede(j) if (mnproc.eq.1) then - write(lp,'(a,i2,2i5,1p2e13.5)') & + write(lp,'(a,i2,2i6,1p2e13.5)') & 'e port: ',l,i,j,uporte(j),speede(j) endif ! @@ -1762,7 +1762,7 @@ subroutine latbdp(n) speedn(i) = sqrt(svref/(onem*dline(i))) rspedn(i) = 1.0/speedn(i) if (mnproc.eq.1) then - write(lp,'(a,i2,2i5,1p2e13.5)') & + write(lp,'(a,i2,2i6,1p2e13.5)') & 'n port: ',l,i,j,vportn(i),speedn(i) endif ! @@ -1792,7 +1792,7 @@ subroutine latbdp(n) speeds(i) = sqrt(svref/(onem*dline(i))) rspeds(i) = 1.0/speeds(i) if (mnproc.eq.1) then - write(lp,'(a,i2,2i5,1p2e13.5)') & + write(lp,'(a,i2,2i6,1p2e13.5)') & 's port: ',l,i,j,vports(i),speeds(i) endif ! @@ -1872,9 +1872,9 @@ subroutine latbdp(n) ubavg(1-nbdy,1-nbdy,n), i, j,0,1) ! if (ldebug_latbdp .and. mnproc.eq.1) then - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(pb - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(pb - ', & l,lnport(l),i, j,0,1 - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(ub - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(ub - ', & l,lnport(l),i, j,0,1 call flush(lp) endif @@ -1910,7 +1910,7 @@ subroutine latbdp(n) uline(j,1)=(fin+crs)-uline(j,1) sum=sum+uline(j,1)*dline(j)*xline(j) ! if (mnproc.eq.1) then -! write(lp,'(a,i2,2i5,1p2e13.5)') +! write(lp,'(a,i2,2i6,1p2e13.5)') ! & 'e port: ',l,i,j,pline(j),uline(j,1) ! endif enddo @@ -1921,9 +1921,9 @@ subroutine latbdp(n) ubavg(1-nbdy,1-nbdy,n), i+1,j,0,1) ! if (ldebug_latbdp .and. mnproc.eq.1) then - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(pb - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(pb - ', & l,lnport(l),i, j,0,1 - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(ub - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(ub - ', & l,lnport(l),i+1,j,0,1 call flush(lp) endif @@ -1966,9 +1966,9 @@ subroutine latbdp(n) vbavg(1-nbdy,1-nbdy,n), i,j+1,1,0) ! if (ldebug_latbdp .and. mnproc.eq.1) then - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(pb - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(pb - ', & l,lnport(l),i,j, 1,0 - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(vb - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(vb - ', & l,lnport(l),i,j+1,1,0 call flush(lp) endif @@ -2011,9 +2011,9 @@ subroutine latbdp(n) vbavg(1-nbdy,1-nbdy,n), i,j, 1,0) ! if (ldebug_latbdp .and. mnproc.eq.1) then - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(pb - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(pb - ', & l,lnport(l),i,j, 1,0 - write(lp,'(a,i2,3i5,2i2)') 'l,xclput(vb - ', & + write(lp,'(a,i2,3i6,2i2)') 'l,xclput(vb - ', & l,lnport(l),i,j, 1,0 call flush(lp) endif @@ -2394,7 +2394,7 @@ subroutine latbdt(n,lll) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iu array, cols',ifrst+1,' --',ilast endif !1st tile do j= jtdm,1,-1 @@ -2416,7 +2416,7 @@ subroutine latbdt(n,lll) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iv array, cols',ifrst+1,' --',ilast endif !1st tile do j= jtdm,1,-1 @@ -2500,7 +2500,7 @@ subroutine latbdt(n,lll) endif if (ldebug_latbdt .and. np+j.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja w:',np+j, & + write(lp,'(a,5i6)') 'n,ia,ja w:',np+j, & iaub(np+j),jaub(np+j),iaui(np+j),jaui(np+j) endif !ldebug_latbdt enddo !j @@ -2532,7 +2532,7 @@ subroutine latbdt(n,lll) endif if (ldebug_latbdt .and. np+j.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja e:',np+j, & + write(lp,'(a,5i6)') 'n,ia,ja e:',np+j, & iaub(np+j),jaub(np+j),iaui(np+j),jaui(np+j) endif !ldebug_latbdt enddo !j @@ -2564,7 +2564,7 @@ subroutine latbdt(n,lll) endif if (ldebug_latbdt .and. np+i.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja n:',np+i, & + write(lp,'(a,5i6)') 'n,ia,ja n:',np+i, & iavb(np+i),javb(np+i),iavi(np+i),javi(np+i) endif !ldebug_latbdt enddo !i @@ -2596,7 +2596,7 @@ subroutine latbdt(n,lll) endif if (ldebug_latbdt .and. np+i.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja n:',np+i, & + write(lp,'(a,5i6)') 'n,ia,ja n:',np+i, & iavb(np+i),javb(np+i),iavi(np+i),javi(np+i) endif !ldebug_latbdt enddo !i @@ -2610,7 +2610,7 @@ subroutine latbdt(n,lll) .and. japi(i).eq.japi(j) ) then ndup(i) = j if (ldebug_latbdt .and. mnproc.eq.1) then - write(lp,'(a,4i5)') 'n,ndup,ia,ja', & + write(lp,'(a,4i6)') 'n,ndup,ia,ja', & i,j,iapi(i),japi(i) endif !ldebug_latbdt endif @@ -2647,7 +2647,7 @@ subroutine latbdt(n,lll) rspeed(np+j) = 1.0/pspeed(np+j) if (ldebug_latbdt .and. np+j.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1pe13.5)') & + write(lp,'(a,i2,4i6,1pe13.5)') & 'w port: ',l,i,j,iapi(np+j),japi(np+j),pspeed(np+j) endif !ldebug_latbdt ! @@ -2670,7 +2670,7 @@ subroutine latbdt(n,lll) rspeed(np+j) = 1.0/pspeed(np+j) if (ldebug_latbdt .and. np+j.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1pe13.5)') & + write(lp,'(a,i2,4i6,1pe13.5)') & 'e port: ',l,i,j,iapi(np+j),japi(np+j),pspeed(np+j) endif !ldebug_latbdt ! @@ -2693,7 +2693,7 @@ subroutine latbdt(n,lll) rspeed(np+i) = 1.0/pspeed(np+i) if (ldebug_latbdt .and. np+i.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1pe13.5)') & + write(lp,'(a,i2,4i6,1pe13.5)') & 'n port: ',l,i,j,iapi(np+i),japi(np+i),pspeed(np+i) endif !ldebug_latbdt ! @@ -2716,7 +2716,7 @@ subroutine latbdt(n,lll) rspeed(np+i) = 1.0/pspeed(np+i) if (ldebug_latbdt .and. np+i.eq.nptest & .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1pe13.5)') & + write(lp,'(a,i2,4i6,1pe13.5)') & 's port: ',l,i,j,iapi(np+i),japi(np+i),pspeed(np+i) endif !ldebug_latbdt ! @@ -2773,7 +2773,7 @@ subroutine latbdt(n,lll) do j= jfport(l),jlport(l) utrans(np+j) = uline(np+j)*ulin2(np+j)*qonem if (ltrans_latbdt .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1p3e13.5)') & + write(lp,'(a,i2,4i6,1p3e13.5)') & 'w tran: ',l,i,j,iaub(np+j),jaub(np+j), & utrans(np+j),uline(np+j)*qonem,ulin2(np+j) endif !ltrans_latbdt @@ -2788,7 +2788,7 @@ subroutine latbdt(n,lll) do j= jfport(l),jlport(l) utrans(np+j) = uline(np+j)*ulin2(np+j)*qonem if (ltrans_latbdt .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1p3e13.5)') & + write(lp,'(a,i2,4i6,1p3e13.5)') & 'e tran: ',l,i,j,iaub(np+j),jaub(np+j), & utrans(np+j),uline(np+j)*qonem,ulin2(np+j) endif !ltrans_latbdt @@ -2803,7 +2803,7 @@ subroutine latbdt(n,lll) do i= ifport(l),ilport(l) vtrans(np+i) = vline(np+i)*vlin2(np+i)*qonem if (ltrans_latbdt .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1p3e13.5)') & + write(lp,'(a,i2,4i6,1p3e13.5)') & 'n tran: ',l,i,j,iavb(np+i),javb(np+i), & vtrans(np+i),vline(np+i)*qonem,vlin2(np+i) endif !ltrans_latbdt @@ -2818,7 +2818,7 @@ subroutine latbdt(n,lll) do i= ifport(l),ilport(l) vtrans(np+i) = vline(np+i)*vlin2(np+i)*qonem if (ltrans_latbdt .and. mnproc.eq.1) then - write(lp,'(a,i2,4i5,1p3e13.5)') & + write(lp,'(a,i2,4i6,1p3e13.5)') & 's tran: ',l,i,j,iavb(np+i),javb(np+i), & vtrans(np+i),vline(np+i)*qonem,vlin2(np+i) endif !ltrans_latbdt @@ -2943,15 +2943,15 @@ subroutine latbdt(n,lll) if (ldebug_latbdt .and. & l.eq.1 .and. mnproc.eq.max(mnp,1)) then i=nptest - write(lp,'(a,2i5,1pe13.5)') 'e port, uline:', & + write(lp,'(a,2i6,1pe13.5)') 'e port, uline:', & iaui(i),jaui(i),uline(i) - write(lp,'(a,2i5,1pe13.5)') 'e port, ulin2:', & + write(lp,'(a,2i6,1pe13.5)') 'e port, ulin2:', & iau2(i),jau2(i),ulin2(i) - write(lp,'(a,2i5,1pe13.5)') 'e port, pline:', & + write(lp,'(a,2i6,1pe13.5)') 'e port, pline:', & iapi(i),japi(i),pline(i) - write(lp,'(a,2i5,1pe13.5)') 'e port, plnst:', & + write(lp,'(a,2i6,1pe13.5)') 'e port, plnst:', & iapi(i),japi(i),plnst(i) - write(lp,'(a,2i5,1pe13.5)') 'e port, ulnst:', & + write(lp,'(a,2i6,1pe13.5)') 'e port, ulnst:', & iapi(i),japi(i),ulnst(i) endif !ldebug_latbdt if (mnp.eq.0 .or. mnp.eq.mnproc) then @@ -2985,13 +2985,13 @@ subroutine latbdt(n,lll) if (ldebug_latbdt .and. & l.eq.1 .and. mnproc.eq.max(mnp,1)) then i=nptest - write(lp,'(a,2i5,1p2e13.5)') 'e port, crs:', & + write(lp,'(a,2i6,1p2e13.5)') 'e port, crs:', & iapi(i),japi(i), crs(i),fin(i) - write(lp,'(a,2i5,1p1e13.5)') 'e port, pbavg:', & + write(lp,'(a,2i6,1p1e13.5)') 'e port, pbavg:', & iapi(i),japi(i),pline(i) - write(lp,'(a,2i5,1p1e13.5)') 'e port, ubavg:', & + write(lp,'(a,2i6,1p1e13.5)') 'e port, ubavg:', & iaub(i),jaub(i),uline(i) - write(lp,'(a,2i5,1p1e13.5)') 'e port, vbavg:', & + write(lp,'(a,2i6,1p1e13.5)') 'e port, vbavg:', & iavb(i),javb(i),vline(i) write(lp,*) call flush(lp) @@ -3004,15 +3004,15 @@ subroutine latbdt(n,lll) if (ldebug_latbdt .and. & l.eq.1 .and. mnproc.eq.max(mnp,1)) then j=nptest - write(lp,'(a,2i5,1pe13.5)') 'n port, vline:', & + write(lp,'(a,2i6,1pe13.5)') 'n port, vline:', & iavi(j),javi(j),vline(j) - write(lp,'(a,2i5,1pe13.5)') 'n port, vlin2:', & + write(lp,'(a,2i6,1pe13.5)') 'n port, vlin2:', & iav2(j),jav2(j),vlin2(j) - write(lp,'(a,2i5,1p1e13.5)') 'n port, pline:', & + write(lp,'(a,2i6,1p1e13.5)') 'n port, pline:', & iapi(j),japi(j),pline(j) - write(lp,'(a,2i5,1p1e13.5)') 'n port, plnst:', & + write(lp,'(a,2i6,1p1e13.5)') 'n port, plnst:', & iapi(j),japi(j),vlnst(j) - write(lp,'(a,2i5,1p1e13.5)') 'n port, plnst:', & + write(lp,'(a,2i6,1p1e13.5)') 'n port, plnst:', & iapi(j),japi(j),vlnst(j) endif !ldebug_latbdt if (mnp.eq.0 .or. mnp.eq.mnproc) then @@ -3046,13 +3046,13 @@ subroutine latbdt(n,lll) if (ldebug_latbdt .and. & l.eq.1 .and. mnproc.eq.max(mnp,1)) then j=nptest - write(lp,'(a,2i5,1p2e13.5)') 'n port, crs:', & + write(lp,'(a,2i6,1p2e13.5)') 'n port, crs:', & iapi(j),japi(j), crs(j),fin(j) - write(lp,'(a,2i5,1p1e13.5)') 'n port, pbavg:', & + write(lp,'(a,2i6,1p1e13.5)') 'n port, pbavg:', & iapi(j),japi(j),pline(j) - write(lp,'(a,2i5,1p1e13.5)') 'n port, vbavg:', & + write(lp,'(a,2i6,1p1e13.5)') 'n port, vbavg:', & iavb(j),javb(j),vline(j) - write(lp,'(a,2i5,1p1e13.5)') 'n port, ubavg:', & + write(lp,'(a,2i6,1p1e13.5)') 'n port, ubavg:', & iaub(j),jaub(j),uline(j) write(lp,*) call flush(lp) @@ -3472,7 +3472,7 @@ subroutine latbdtf(n,lll) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iu array, cols',ifrst+1,' --',ilast endif !1st tile do j= jtdm,1,-1 @@ -3494,7 +3494,7 @@ subroutine latbdtf(n,lll) write (char3,'(i3)') ilast-ifrst fmt(8:10)=char3 if (mnproc.eq.1) then - write (lp,'(a,i5,a,i5)') & + write (lp,'(a,i6,a,i6)') & 'iv array, cols',ifrst+1,' --',ilast endif !1st tile do j= jtdm,1,-1 @@ -3563,7 +3563,7 @@ subroutine latbdtf(n,lll) iavi(np+j) = i javi(np+j) = j if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja w:',np+j, & + write(lp,'(a,5i6)') 'n,ia,ja w:',np+j, & iaub(np+j),jaub(np+j),iaui(np+j),jaui(np+j) endif !ldebug_latbdtf enddo !j @@ -3583,7 +3583,7 @@ subroutine latbdtf(n,lll) iavi(np+j) = i javi(np+j) = j if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja e:',np+j, & + write(lp,'(a,5i6)') 'n,ia,ja e:',np+j, & iaub(np+j),jaub(np+j),iaui(np+j),jaui(np+j) endif !ldebug_latbdtf enddo !j @@ -3603,7 +3603,7 @@ subroutine latbdtf(n,lll) iaui(np+i) = i jaui(np+i) = j if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja n:',np+i, & + write(lp,'(a,5i6)') 'n,ia,ja n:',np+i, & iavb(np+i),javb(np+i),iavi(np+i),javi(np+i) endif !ldebug_latbdtf enddo !i @@ -3623,7 +3623,7 @@ subroutine latbdtf(n,lll) iaui(np+i) = i jaui(np+i) = j if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,5i5)') 'n,ia,ja n:',np+i, & + write(lp,'(a,5i6)') 'n,ia,ja n:',np+i, & iavb(np+i),javb(np+i),iavi(np+i),javi(np+i) endif !ldebug_latbdtf enddo !i @@ -3653,7 +3653,7 @@ subroutine latbdtf(n,lll) do j= jfport(l),jlport(l) pspeed(np+j) = qonem*sqrt(g/pline(np+j)) if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,i2,2i5,1pe13.5)') & + write(lp,'(a,i2,2i6,1pe13.5)') & 'w port: ',l,i,j,pspeed(np+j) endif !ldebug_latbdtf ! @@ -3674,7 +3674,7 @@ subroutine latbdtf(n,lll) do j= jfport(l),jlport(l) pspeed(np+j) = qonem*sqrt(g/pline(np+j)) if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,i2,2i5,1pe13.5)') & + write(lp,'(a,i2,2i6,1pe13.5)') & 'e port: ',l,i,j,pspeed(np+j) endif !ldebug_latbdtf ! @@ -3695,7 +3695,7 @@ subroutine latbdtf(n,lll) do i= ifport(l),ilport(l) pspeed(np+i) = qonem*sqrt(g/pline(np+i)) if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,i2,2i5,1pe13.5)') & + write(lp,'(a,i2,2i6,1pe13.5)') & 'n port: ',l,i,j,pspeed(np+i) endif !ldebug_latbdtf ! @@ -3716,7 +3716,7 @@ subroutine latbdtf(n,lll) do i= ifport(l),ilport(l) pspeed(np+i) = qonem*sqrt(g/pline(np+i)) if (ldebug_latbdtf .and. mnproc.eq.1) then - write(lp,'(a,i2,2i5,1pe13.5)') & + write(lp,'(a,i2,2i6,1pe13.5)') & 's port: ',l,i,j,pspeed(np+i) endif !ldebug_latbdtf ! @@ -4093,7 +4093,7 @@ subroutine latbd_tide(z_A,z_R,z_I,nportpts) (z_R(j,i,1),z_I(j,i,1),j=1,ncon) endif elseif (mnproc.eq.1) then - write(lp,'(a,i5,a / a)') & + write(lp,'(a,i6,a / a)') & 'WARNING: port location',i,' treated as all zeros', & trim(Tide_Line) endif @@ -4197,7 +4197,7 @@ subroutine latbd_tide(z_A,z_R,z_I,nportpts) (z_R(j,i,2),z_I(j,i,2),j=1,ncon) endif elseif (mnproc.eq.1) then - write(lp,'(a,i5,a / a)') & + write(lp,'(a,i6,a / a)') & 'WARNING: port location',i,' treated as all zeros', & trim(Tide_Line) endif @@ -4302,7 +4302,7 @@ subroutine latbd_tide(z_A,z_R,z_I,nportpts) (z_R(j,i,3),z_I(j,i,3),j=1,ncon) endif elseif (mnproc.eq.1) then - write(lp,'(a,i5,a / a)') & + write(lp,'(a,i6,a / a)') & 'WARNING: port location',i,' treated as all zeros', & trim(Tide_Line) endif @@ -4347,3 +4347,4 @@ end subroutine latbd_tide !> Oct 2019 -- update pline in latbdt every npline time steps !> Oct 2019 -- smooth the Browning&Kreiss normal transport !> Oct 2019 -- npline=3 via a CPP macro +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_archiv.F90 b/mod_archiv.F90 index 6651121..a637316 100644 --- a/mod_archiv.F90 +++ b/mod_archiv.F90 @@ -149,13 +149,13 @@ subroutine archiv(n, kkout, iyear,iday,ihour, intvl) call flush(nop) endif !1st tile 116 format (a80/a80/a80/a80/ & - i5,4x,'''iversn'' = hycom version number x10'/ & - i5,4x,'''iexpt '' = experiment number x10'/ & - i5,4x,'''yrflag'' = days in year flag'/ & - i5,4x,'''idm '' = longitudinal array size'/ & - i5,4x,'''jdm '' = latitudinal array size'/ & + i6,3x,'''iversn'' = hycom version number x10'/ & + i6,3x,'''iexpt '' = experiment number x10'/ & + i6,3x,'''yrflag'' = days in year flag'/ & + i6,3x,'''idm '' = longitudinal array size'/ & + i6,3x,'''jdm '' = latitudinal array size'/ & 'field time step model day', & - ' k dens min max') + ' k dens min max') ! ! --- surface fields ! @@ -446,7 +446,7 @@ subroutine archiv(n, kkout, iyear,iday,ihour, intvl) endif !kkout/=0 75 continue ! - 117 format (a8,' =',i11,f11.3,i3,f7.3,1p2e16.7) + 117 format (a8,' =',i11,f11.3,i4,f7.3,1p2e16.7) ! ! --- output time-averaged mass fluxes, if required ! @@ -459,7 +459,7 @@ subroutine archiv(n, kkout, iyear,iday,ihour, intvl) write (nop,118) 'diafx',intvl,nstep,time,k,coord,xmin,xmax call flush(nop) endif !1st tile - 118 format (a5,a3,' =',i11,f11.3,i3,f7.3,1p2e16.7) + 118 format (a5,a3,' =',i11,f11.3,i4,f7.3,1p2e16.7) enddo endif !diaflx ! @@ -1299,15 +1299,15 @@ subroutine archiv_tile(n, kkout, iyear,iday,ihour) write(nop,116) ctitle,iversn,iexpt,yrflag,i0+1,j0+1,ii,jj call flush(nop) 116 format (a80/a80/a80/a80/ & - i5,4x,'''iversn'' = hycom version number x10'/ & - i5,4x,'''iexpt '' = experiment number x10'/ & - i5,4x,'''yrflag'' = days in year flag'/ & - i5,4x,'''i1 '' = longitudinal array starting index'/ & - i5,4x,'''j1 '' = latitudinal array starting index'/ & - i5,4x,'''ii '' = longitudinal array size'/ & - i5,4x,'''jj '' = latitudinal array size'/ & + i6,3x,'''iversn'' = hycom version number x10'/ & + i6,3x,'''iexpt '' = experiment number x10'/ & + i6,3x,'''yrflag'' = days in year flag'/ & + i6,3x,'''i1 '' = longitudinal array starting index'/ & + i6,3x,'''j1 '' = latitudinal array starting index'/ & + i6,3x,'''ii '' = longitudinal array size'/ & + i6,3x,'''jj '' = latitudinal array size'/ & 'field time step model day', & - ' k dens min max') + ' k dens min max') ! ! --- surface fields ! @@ -1449,7 +1449,7 @@ subroutine archiv_tile(n, kkout, iyear,iday,ihour) endif !difout 75 continue ! - 117 format (a8,' =',i11,f11.3,i3,f7.3,1p2e16.7) + 117 format (a8,' =',i11,f11.3,i4,f7.3,1p2e16.7) ! close (unit=nop) call ztiocl(nopa) @@ -1525,13 +1525,13 @@ subroutine archiv_exchange call flush(nop) endif !1st tile 116 format (a80/a80/a80/a80/ & - i5,4x,'''iversn'' = hycom version number x10'/ & - i5,4x,'''iexpt '' = experiment number x10'/ & - i5,4x,'''yrflag'' = days in year flag'/ & - i5,4x,'''idm '' = longitudinal array size'/ & - i5,4x,'''jdm '' = latitudinal array size'/ & + i6,3x,'''iversn'' = hycom version number x10'/ & + i6,3x,'''iexpt '' = experiment number x10'/ & + i6,3x,'''yrflag'' = days in year flag'/ & + i6,3x,'''idm '' = longitudinal array size'/ & + i6,3x,'''jdm '' = latitudinal array size'/ & 'field time step model day', & - ' k dens min max') + ' k dens min max') ! #if defined(ARCTIC) ! --- Arctic (tripole) domain, top row is replicated (ignore it) @@ -1858,7 +1858,7 @@ subroutine archiv_exchange write (nop,117) cname,nstep,time,0,coord,xmin,xmax call flush(nop) endif !1st tile - 117 format (a8,' =',i11,f11.3,i3,f7.3,1p2e16.7) + 117 format (a8,' =',i11,f11.3,i4,f7.3,1p2e16.7) ! close (unit=nop) call zaiocl(nopa) @@ -1930,3 +1930,4 @@ end module mod_archiv !> Jan. 2025 - Added sshflg=3 for steric SSH and Montg. Potential !> Jan. 2025 - tidnud adds extra surface fields to archiv_prof_out !> Feb. 2025 - Added efold_cb,spdbot,spdtid: strflg=721,722,723 +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_barotp.F90 b/mod_barotp.F90 index 666e42e..0bcaf8b 100644 --- a/mod_barotp.F90 +++ b/mod_barotp.F90 @@ -182,7 +182,7 @@ subroutine barotp(m,n) if (tidnud.eq.2) then q = pbavg(i,j,m)-hntide(i,j) endif !tidnud=2 - write (lp,'(i9,2i5,3x,a,8g15.6)') & + write (lp,'(i9,2i6,3x,a,8g15.6)') & nstep,i+i0,j+j0, & 'nudge,h,tide =', & q, & @@ -422,7 +422,7 @@ subroutine barotp(m,n) ! ! if (ldebug_barotp .and. ! & i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,4g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,4g15.6)') ! & nstep,i+i0,j+j0,lll, ! & 'ubp,new,vbp,new =', ! & ubp,ubp+util5(i,j), @@ -503,7 +503,7 @@ subroutine barotp(m,n) depths(i,j)*rhoref/dlt ! ! if (ldebug_barotp .and. i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,4g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,4g15.6)') ! & nstep,i+i0,j+j0,lll, ! & 'ubp,new,vbp,new =', ! & ubp,ubp+util5(i,j), @@ -551,7 +551,7 @@ subroutine barotp(m,n) endif ! ! if (ldebug_barotp .and. i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,8g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,8g15.6)') ! & nstep,i+i0,j+j0,lll, ! & 'u_old,u_new,p_grad,t_g,m_g,corio,u_star,drag =', ! & ubavg(i,j,ml),ubavg(i,j,nl), @@ -602,7 +602,7 @@ subroutine barotp(m,n) endif ! ! if (ldebug_barotp .and. i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,8g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,8g15.6)') ! & nstep,i+i0,j+j0,lll, ! & 'v_old,v_new,p_grad,t_g,m_g,corio,v_star,drag =', ! & vbavg(i,j,ml),vbavg(i,j,nl), @@ -734,7 +734,7 @@ subroutine barotp(m,n) ! ! if (ldebug_barotp .and. ! & i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,4g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,4g15.6)') ! & nstep,i+i0,j+j0,lll, ! & 'ubp,new,vbp,new =', ! & ubp,ubp+util5(i,j), @@ -826,7 +826,7 @@ subroutine barotp(m,n) depths(i,j)*rhoref/dlt ! ! if (ldebug_barotp .and. i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,4g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,4g15.6)') ! & nstep,i+i0,j+j0,lll+1, ! & 'ubp,new,vbp,new =', ! & ubp,ubp+util5(i,j), @@ -874,7 +874,7 @@ subroutine barotp(m,n) endif ! ! if (ldebug_barotp .and. i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,8g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,8g15.6)') ! & nstep,i+i0,j+j0,lll+1, ! & 'v_old,v_new,p_grad,t_g,m_g,corio,v_star,drag =', ! & vbavg(i,j,ml),vbavg(i,j,nl), @@ -926,7 +926,7 @@ subroutine barotp(m,n) endif ! ! if (ldebug_barotp .and. i.eq.itest.and.j.eq.jtest) then -! write (lp,'(i9,2i5,i3,3x,a,7g15.6)') +! write (lp,'(i9,2i6,i4,3x,a,7g15.6)') ! & nstep,i+i0,j+j0,lll+1, ! & 'u_old,u_new,p_grad,t_g,m_g,corio,u_star,drag =', ! & ubavg(i,j,ml),ubavg(i,j,nl), @@ -1301,7 +1301,7 @@ subroutine barotp(m,n) if (oneta(i,j,mn).le.oneta0+epsil) then oneclp(i,j) = oneclp(i,j) + 1 if (oneclp(i,j).eq.1) then !1st time clipped - write (lp,'(i9,a,2i5,i3,a,f9.6)') & + write (lp,'(i9,a,2i6,i4,a,f9.6)') & nstep,' i,j,mn =',i+i0,j+j0,mn, & ' clipped oneta after barotp call ', & oneta(i,j,mn) @@ -1415,3 +1415,4 @@ end module mod_barotp !> Jan. 2025 - converted displd_mn to a surface tracer !> Jan. 2025 - added sshflg=3 for steric SSH and Montg. Potential !> Jan. 2025 - added the option to nudge towards the observed tides +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_floats.F90 b/mod_floats.F90 index d1d2581..bb8cfd2 100644 --- a/mod_floats.F90 +++ b/mod_floats.F90 @@ -925,7 +925,7 @@ subroutine floats(m,n,timefl,ioflag) 100 format(/'diagnostics for float',i6,' of',i6,', time step', & i9/'float time step',i9) 101 format('float',i6,' ntermn:',i6,' position:',2(1pe12.4)/ & - 'lower left points, p,u,v:',3(2i5,2x)/ & + 'lower left points, p,u,v:',3(2i6,2x)/ & 'mnproc =',i4,' plon,plat =',1pe12.4,1pe12.4) call flush(lp) endif !nfl_debug @@ -1249,7 +1249,7 @@ subroutine floats(m,n,timefl,ioflag) if (nfl.eq.nfl_debug) then write(lp,103) nfl,k,phi,flt(nfl,3),plo,q write(lp,104) ngood - 103 format('nfl,k,phi,pflt,plo,q',i6,i3,1p,4e12.4) + 103 format('nfl,k,phi,pflt,plo,q',i6,i4,1p,4e12.4) 104 format('number of good points, p,u,v',3i4) endif !nfl_debug ! @@ -1639,7 +1639,7 @@ subroutine floats(m,n,timefl,ioflag) ! if (nfl.eq.nfl_debug) then write(lp,105) nfl,uflt,uturb1,vflt,vturb1 - 105 format('nfl,uflt,uturb1,vflt,vturb1',i5,1p,4e12.4) + 105 format('nfl,uflt,uturb1,vflt,vturb1',i6,1p,4e12.4) endif !nfl_debug ! uflt=(1.0-dtturb*tdecri)*uflt+uturb1 @@ -2023,7 +2023,7 @@ subroutine floats(m,n,timefl,ioflag) ! if (nfl.eq.nfl_debug) then write(lp,111) nfl,tflt,sflt,thflt - 111 format('new t,s,th, float',i5,2x,3f9.3) + 111 format('new t,s,th, float',i6,2x,3f9.3) endif !nfl_debug ! endif ! ioflag.eq.1 @@ -2790,3 +2790,4 @@ end module mod_floats !> Nov 2012 - implicit none added by Till Andreas Rasmussen !> May 2014 - use land/sea masks (e.g. ip) to skip land !> Aug 2017 - Added macro to allow NAG Fortran to compile +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_hycom.F90 b/mod_hycom.F90 index 849ed7e..f8451a3 100644 --- a/mod_hycom.F90 +++ b/mod_hycom.F90 @@ -877,13 +877,13 @@ subroutine Archive_ESMF(iyear,jday,ihour) call flush(nop) endif !1st tile 116 format (a80/a80/a80/a80/ & - i5,4x,'''iversn'' = hycom version number x10'/ & - i5,4x,'''iexpt '' = experiment number x10'/ & - i5,4x,'''yrflag'' = days in year flag'/ & - i5,4x,'''idm '' = longitudinal array size'/ & - i5,4x,'''jdm '' = latitudinal array size'/ & + i6,3x,'''iversn'' = hycom version number x10'/ & + i6,3x,'''iexpt '' = experiment number x10'/ & + i6,3x,'''yrflag'' = days in year flag'/ & + i6,3x,'''idm '' = longitudinal array size'/ & + i6,3x,'''jdm '' = latitudinal array size'/ & 'field time step model day', & - ' k dens min max') + ' k dens min max') ! ! --- surface fields ! @@ -1027,7 +1027,7 @@ subroutine Archive_ESMF(iyear,jday,ihour) write (nop,117) cname,nstep,time,0,coord,xmin,xmax call flush(nop) endif !1st tile - 117 format (a8,' =',i11,f11.3,i3,f7.3,1p2e16.7) + 117 format (a8,' =',i11,f11.3,i4,f7.3,1p2e16.7) ! close (unit=nop) call zaiocl(nopa) @@ -1396,6 +1396,15 @@ subroutine HYCOM_Init & call ESMF_Finalize(rc=rc) #endif +! +#if defined(STOKES) +! +! --- set up fields for Stokes Drift Velocities +! (set to zero if stdflg==0) +! --- note that stokes_set calls stokes_forfun if necessary +! + call stokes_set(dtime0) +#endif ! ! --- set up forcing functions ! @@ -1652,7 +1661,7 @@ subroutine HYCOM_Init & if (.false. .and. itest.gt.0 .and. jtest.gt.0) then i = itest j = jtest - write (lp,'(2i5,3x,a,g15.6)') & + write (lp,'(2i6,3x,a,g15.6)') & i+i0,j+j0, & 'nudge =', & hnudge(i,j) @@ -1874,15 +1883,6 @@ subroutine HYCOM_Init & call forfunhz endif endif -! -#if defined(STOKES) -! -! --- set up fields for Stokes Drift Velocities -! (set to zero if stdflg==0) -! --- note that stokes_set calls stokes_forfun if necessary -! - call stokes_set(dtime0) -#endif ! if (jerlv0.le.0) then ! --- read in kpar or chk field for 4 consecutive months @@ -3381,14 +3381,14 @@ subroutine HYCOM_Run & endif if (mnproc.eq.1) then write (lp,'(i9,a, & - &'' mean L '',i2,'' thk. (m):'',f8.2, & + &'' mean L '',i3,'' thk. (m):'',f8.2, & &'' temp:'',f7.3, & &'' saln:'',f7.3)') & nstep,c_ydh, & k,sum,smt,sms call flush(lp) write(nod,'(i9,a, & - &'' mean L '',i2,'' thk. (m):'',f8.2, & + &'' mean L '',i3,'' thk. (m):'',f8.2, & &'' temp:'',f7.3, & &'' saln:'',f7.3)') & nstep,c_ydh, & @@ -4141,3 +4141,4 @@ end module mod_hycom !> Jan. 2025 - added the option to nudge towards the observed tides !> Jan. 2025 - call overtn only at the end of one month or shorter runs !> Feb. 2025 - tidflg==-1 adds tidal velocities to bottom speed +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_mean.F90 b/mod_mean.F90 index d33659f..e31912e 100644 --- a/mod_mean.F90 +++ b/mod_mean.F90 @@ -438,13 +438,13 @@ subroutine mean_archiv(n, iyear,iday,ihour) call flush(nop) endif !1st tile 116 format (a80/a80/a80/a80/ & - i5,4x,'''iversn'' = hycom version number x10'/ & - i5,4x,'''iexpt '' = experiment number x10'/ & - i5,4x,'''yrflag'' = days in year flag'/ & - i5,4x,'''idm '' = longitudinal array size'/ & - i5,4x,'''jdm '' = latitudinal array size'/ & + i6,3x,'''iversn'' = hycom version number x10'/ & + i6,3x,'''iexpt '' = experiment number x10'/ & + i6,3x,'''yrflag'' = days in year flag'/ & + i6,3x,'''idm '' = longitudinal array size'/ & + i6,3x,'''jdm '' = latitudinal array size'/ & 'field time step mean day', & - ' k dens min max') + ' k dens min max') ! ! --- surface fields ! @@ -666,7 +666,7 @@ subroutine mean_archiv(n, iyear,iday,ihour) #endif 75 continue ! - 117 format (a8,' =',i11,f11.3,i3,f7.3,1p2e16.7) + 117 format (a8,' =',i11,f11.3,i4,f7.3,1p2e16.7) ! close (unit=nop) call zaiocl(nopa) @@ -864,3 +864,4 @@ end module mod_mean !> July 2023 - added a number 01-99 to tracer output !> July 2023 - added mtracr for diagnostic tracers !> Jan. 2025 - Added sshflg=3 for steric SSH and Montg. Potential +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_momtum.F90 b/mod_momtum.F90 index 61cbed7..f5dcbde 100644 --- a/mod_momtum.F90 +++ b/mod_momtum.F90 @@ -262,15 +262,15 @@ subroutine momtum_hs(m,n) ! !diag if (sshflg.eq.1 .or. sshflg.eq.3) then !diag if (itest.gt.0 .and. jtest.gt.0) then -!diag write (lp,'(i9,2i5,3x,a,2f12.6,f12.2)') & +!diag write (lp,'(i9,2i6,3x,a,2f12.6,f12.2)') & !diag nstep,itest+i0,jtest+j0, & !diag 'sssh =', & !diag steric(i,j),sshgmn(i,j),sumdp -!diag write (lp,'(i9,2i5,3x,a,3f12.6)') & +!diag write (lp,'(i9,2i6,3x,a,3f12.6)') & !diag nstep,itest+i0,jtest+j0, & !diag 'thmn =', & !diag sumth,thmean(i,j),1000.0+thbase+sumth -!diag write (lp,'(i9,2i5,3x,a,3f12.6)') & +!diag write (lp,'(i9,2i6,3x,a,3f12.6)') & !diag nstep,itest+i0,jtest+j0, & !diag 'ssh =', & !diag srfhgt(i,j),steric(i,j),srfhgt(i,j)-steric(i,j) @@ -1386,11 +1386,11 @@ subroutine momtum(m,n) vatuk0 *ql2+ & vatukp *ql3 ) !diag if (max(abs(i-itest),abs(j-jtest)).eq.0) then -!diag write(lp,'(a,i3,3g20.10)') & +!diag write(lp,'(a,i4,3g20.10)') & !diag 'dp,k =',k,dp12,dp23,ql1+ql2+ql3 -!diag write(lp,'(a,i3,3g20.10)') & +!diag write(lp,'(a,i4,3g20.10)') & !diag 'ql,k =',k,ql1,ql2,ql3 -!diag write(lp,'(a,i3,2g20.10)') & +!diag write(lp,'(a,i4,2g20.10)') & !diag 'dz,k =',k,dudzu(i,j,k),dvdzu(i,j,k) !diag endif !test endif !iu @@ -2598,13 +2598,13 @@ subroutine momtum(m,n) !diag if (k.eq.kk) then !diag if (iv(ia,j).eq.0 .and. dpv(ia,j,k,m).ne.0.) then !diag!$OMP CRITICAL -!diag write(lp,'(i9,2i5,a,1p,2e9.1)') nstep,i,j, & +!diag write(lp,'(i9,2i6,a,1p,2e9.1)') nstep,i,j, & !diag ' error - nonzero dpv(ia):',dpv(ia,j,k,m) !diag!$OMP END CRITICAL !diag endif !diag if (iv(ib,j).eq.0 .and. dpv(ib,j,k,m).ne.0.) then !diag!$OMP CRITICAL -!diag write(lp,'(i9,2i5,a,1p,2e9.1)') nstep,i,j, & +!diag write(lp,'(i9,2i6,a,1p,2e9.1)') nstep,i,j, & !diag ' error - nonzero dpv(ib):',dpv(ib,j,k,m) !diag!$OMP END CRITICAL !diag endif @@ -3119,7 +3119,7 @@ subroutine momtum(m,n) if (uvkclp(k).gt.uvkmax(k)) then if (mnproc.eq.1) then write(lp, & - '(i9,a,i3,a,f7.2,a)') & + '(i9,a,i4,a,f7.2,a)') & nstep,' k=',k, & ' velocty clipped, max=',uvkclp(k),' m/s' endif !mnproc @@ -3555,23 +3555,23 @@ subroutine momtum4(m,n) endif !iu.i+1 ! !idag if (max(abs(i-itest),abs(j-jtest)).le.0) then -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'x5 (km) =', !idag. i+i0,j+j0, !idag. x5(:)*1.e-3 -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.1 =', !idag. i+i0,j+j0, !idag. scluad(:,1,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.2 =', !idag. i+i0,j+j0, !idag. scluad(:,2,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.3 =', !idag. i+i0,j+j0, !idag. scluad(:,3,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.13=', !idag. i+i0,j+j0, !idag. sum(scluad(:,1,i,j)), @@ -3677,23 +3677,23 @@ subroutine momtum4(m,n) endif !iu.j+1 ! !idag if (max(abs(i-itest),abs(j-jtest)).le.0) then -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'y5 (km) =', !idag. i+i0,j+j0, !idag. x5(:)*1.e-3 -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.4 =', !idag. i+i0,j+j0, !idag. scluad(:,4,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.5 =', !idag. i+i0,j+j0, !idag. scluad(:,5,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.6 =', !idag. i+i0,j+j0, !idag. scluad(:,6,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'scluad.46=', !idag. i+i0,j+j0, !idag. sum(scluad(:,4,i,j)), @@ -3809,23 +3809,23 @@ subroutine momtum4(m,n) endif !!iv.j+1 ! !idag if (max(abs(i-itest),abs(j-jtest)).le.0) then -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'y5 (km) =', !idag. i+i0,j+j0, !idag. x5(:)*1.e-3 -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.1 =', !idag. i+i0,j+j0, !idag. sclvad(:,1,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.2 =', !idag. i+i0,j+j0, !idag. sclvad(:,2,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.3 =', !idag. i+i0,j+j0, !idag. sclvad(:,3,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.13=', !idag. i+i0,j+j0, !idag. sum(sclvad(:,1,i,j)), @@ -3932,23 +3932,23 @@ subroutine momtum4(m,n) endif !iv.i+1 ! !idag if (max(abs(i-itest),abs(j-jtest)).le.0) then -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'x5 (km) =', !idag. i+i0,j+j0, !idag. x5(:)*1.e-3 -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.4 =', !idag. i+i0,j+j0, !idag. sclvad(:,4,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.5 =', !idag. i+i0,j+j0, !idag. sclvad(:,5,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.6 =', !idag. i+i0,j+j0, !idag. sclvad(:,6,i,j) -!idag write(lp,'(a,2i5,5f10.5)') +!idag write(lp,'(a,2i6,5f10.5)') !idag. 'sclvad.46=', !idag. i+i0,j+j0, !idag. sum(sclvad(:,4,i,j)), @@ -4607,51 +4607,51 @@ subroutine momtum4(m,n) )*scuxi(i,j)/max(hmindiff,dpu(i,j,k,n)) ! !idag if (max(abs(i-itest),abs(j-jtest)).le.0.and.k.eq.1) then -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'ut.m =', !idag. i+i0,j+j0,k, !idag. 0.0,utotm(i-1,j),utotm(i,j),utotm(i+1,j) -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'uwim =', !idag. i+i0,j+j0,k, !idag. 0.0,uwim(-1),uwim(0),uwim(+1) -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'ut.n =', !idag. i+i0,j+j0,k, !idag. utotn(i-2,j),utotn(i-1,j),utotn(i,j), !idag. utotn(i+1,j),utotn(i+2,j) -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'uwin =', !idag. i+i0,j+j0,k, !idag. uwin(-2),uwin(-1),uwin(0),uwin(+1),uwin(+2) -!idag write(lp,'(a,2i5,i3,5f10.2)') +!idag write(lp,'(a,2i6,i4,5f10.2)') !idag. 'dpHD =', !idag. i+i0,j+j0,k, !idag. max(hmindiff,dpo(i-1,j,k,n))*qonem, !idag. max(hmindiff,dpo(i, j,k,n))*qonem, !idag. max(hmindiff,dpu(i, j,k,n))*qonem -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'adfX =', !idag. i+i0,j+j0,k, !idag. -delt1*advu(i,j),delt1*diffu(i,j) -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'uaXc =', !idag. i+i0,j+j0,k, !idag. scluad(-2,1,i,j),scluad(-1,1,i,j),scluad( 0,1,i,j), !idag. scluad(+1,1,i,j),scluad(+2,1,i,j) -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'udXr =', !idag. i+i0,j+j0,k, !idag. 0.0,scluad(-1,2,i,j),scluad( 0,2,i,j), !idag. scluad(+1,2,i,j),scluad(+2,2,i,j) -!idag write(lp,'(a,2i5,i3,5f10.5)') +!idag write(lp,'(a,2i6,i4,5f10.5)') !idag. 'udXl =', !idag. i+i0,j+j0,k, !idag. scluad(-2,3,i,j),scluad(-1,3,i,j), !idag. scluad( 0,3,i,j),scluad(+1,3,i,j),0.0 !idag endif !test !idag if (max(abs(i-itest),abs(j-jtest)).le.0.and.k.eq.1) then -!idag write(lp,'(a,2i5,i3,4f12.5)') +!idag write(lp,'(a,2i6,i4,4f12.5)') !idag. 'advu-x =', !idag. i+i0,j+j0,k, !idag. -delt1*advu(i,j), @@ -4711,24 +4711,24 @@ subroutine momtum4(m,n) )*scuyi(i,j)/max(hmindiff,dpu(i,j,k,n)) ! !diag if (max(abs(i-itest),abs(j-jtest)).le.0.and.k.eq.1) then -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vt.m =', & !diag i+i0,j+j0,k, & !diag 0.0,vtotm(i,j-1),vtotm(i,j),vtotm(i,j+1) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'uwjm =', & !diag i+i0,j+j0,k, & !diag 0.0,uwjm(-1),uwjm(0),uwjm(+1) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vt.n =', & !diag i+i0,j+j0,k, & !diag vtotn(i,j-2),vtotn(i,j-1),vtotn(i,j), & !diag vtotn(i,j+1),vtotn(i,j+2) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'uwjn =', & !diag i+i0,j+j0,k, & !diag uwjn(-2),uwjn(-1),uwjn(0),uwjn(+1),uwjn(+2) -!diag write(lp,'(a,2i5,i3,5f10.2)') & +!diag write(lp,'(a,2i6,i4,5f10.2)') & !diag 'dpHD =', & !diag i+i0,j+j0,k, & !diag max(hmindiff,sclu2q(2,i,j+1)*dpu(i,j, k,n)+ & @@ -4736,28 +4736,28 @@ subroutine momtum4(m,n) !diag max(hmindiff,sclu2q(2,i,j )*dpu(i,j-1,k,n)+ & !diag sclu2q(1,i,j )*dpu(i,j, k,n) )*qonem, & !diag max(hmindiff,dpu(i,j,k,n))*qonem -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'adfY =', & !diag i+i0,j+j0,k, & !diag -delt1*advu(i,j),delt1*diffu(i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'uaYc =', & !diag i+i0,j+j0,k, & !diag scluad(-2,4,i,j),scluad(-1,4,i,j),scluad( 0,4,i,j), & !diag scluad(+1,4,i,j),scluad(+2,4,i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'udYr =', & !diag i+i0,j+j0,k, & !diag 0.0,scluad(-1,5,i,j),scluad( 0,5,i,j), & !diag scluad(+1,5,i,j),scluad(+2,5,i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'udYl =', & !diag i+i0,j+j0,k, & !diag scluad(-2,6,i,j),scluad(-1,6,i,j), & !diag scluad( 0,6,i,j),scluad(+1,6,i,j),0.0 !diag endif !test !diag if (max(abs(i-itest),abs(j-jtest)).le.0.and.0.eq.1) then -!diag write(lp,'(a,2i5,i3,4f12.5)') & +!diag write(lp,'(a,2i6,i4,4f12.5)') & !diag 'advu-y =', & !diag i+i0,j+j0,k, & !diag -delt1*advu(i,j), & @@ -4828,51 +4828,51 @@ subroutine momtum4(m,n) )*scvyi(i,j)/max(hmindiff,dpv(i,j,k,n)) ! !diag if (max(abs(i-itest),abs(j-jtest)).le.0.and.k.eq.1) then -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vt.m =', & !diag i+i0,j+j0,k, & !diag 0.0,vtotm(i,j-1),vtotm(i,j),vtotm(i,j+1) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vwjm =', & !diag i+i0,j+j0,k, & !diag 0.0,vwjm(-1),vwjm(0),vwjm(+1) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vt.n =', & !diag i+i0,j+j0,k, & !diag vtotn(i,j-2),vtotn(i,j-1),vtotn(i,j), & !diag vtotn(i,j+1),vtotn(i,j+2) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vwjn =', & !diag i+i0,j+j0,k, & !diag vwjn(-2),vwjn(-1),vwjn(0),vwjn(+1),vwjn(+2) -!diag write(lp,'(a,2i5,i3,5f10.2)') & +!diag write(lp,'(a,2i6,i4,5f10.2)') & !diag 'dpHD =', & !diag i+i0,j+j0,k, & !diag max(hmindiff,dpo(i,j-1,k,n))*qonem, & !diag max(hmindiff,dpo(i,j, k,n))*qonem, & !diag max(hmindiff,dpv(i,j, k,n))*qonem -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'adfY =', & !diag i+i0,j+j0,k, & !diag -delt1*advv(i,j),delt1*diffv(i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vaYc =', & !diag i+i0,j+j0,k, & !diag sclvad(-2,1,i,j),sclvad(-1,1,i,j),sclvad( 0,1,i,j), & !diag sclvad(+1,1,i,j),sclvad(+2,1,i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vdYr =', & !diag i+i0,j+j0,k, & !diag 0.0,sclvad(-2,2,i,j),sclvad( 0,2,i,j), & !diag sclvad(+1,2,i,j),sclvad(+2,2,i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vdYl =', & !diag i+i0,j+j0,k, & !diag sclvad(-2,3,i,j),sclvad(-1,3,i,j), & !diag sclvad( 0,3,i,j),sclvad(+1,3,i,j),0.0 !diag endif !test !diag if (max(abs(i-itest),abs(j-jtest)).le.0.and.k.eq.1) then -!diag write(lp,'(a,2i5,i3,4f12.5)') & +!diag write(lp,'(a,2i6,i4,4f12.5)') & !diag 'advv-y =', & !diag i+i0,j+j0,k, & !diag -delt1*advv(i,j), & @@ -4933,24 +4933,24 @@ subroutine momtum4(m,n) )*scvxi(i,j)/max(hmindiff,dpv(i,j,k,n)) ! !diag if (max(abs(i-itest),abs(j-jtest)).le.0.and.k.eq.1) then -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'ut.m =', & !diag i+i0,j+j0,k, & !diag 0.0,utotm(i-1,j),utotm(i,j),utotm(i+1,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vwim =', & !diag i+i0,j+j0,k, & !diag 0.0,vwim(-1),vwim(0),vwim(+1) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'ut.n =', & !diag i+i0,j+j0,k, & !diag utotn(i-2,j),utotn(i-1,j),utotn(i,j), & !diag utotn(i+1,j),utotn(i+2,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vwin =', & !diag i+i0,j+j0,k, & !diag vwin(-2),vwin(-1),vwin(0),vwin(+1),vwin(+2) -!diag write(lp,'(a,2i5,i3,5f10.2)') & +!diag write(lp,'(a,2i6,i4,5f10.2)') & !diag 'dpHD =', & !diag i+i0,j+j0,k, & !diag max(hmindiff,sclv2q(2,i+1,j)*dpv(i, j,k,n)+ & @@ -4958,28 +4958,28 @@ subroutine momtum4(m,n) !diag max(hmindiff,sclv2q(2,i, j)*dpv(i-1,j,k,n)+ & !diag sclv2q(1,i, j)*dpv(i, j,k,n) )*qonem, & !diag max(hmindiff,dpv(i,j,k,n))*qonem -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'adfX =', & !diag i+i0,j+j0,k, & !diag -delt1*advv(i,j),delt1*diffv(i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vaXc =', & !diag i+i0,j+j0,k, & !diag sclvad(-2,4,i,j),sclvad(-1,4,i,j),sclvad( 0,4,i,j), & !diag sclvad(+1,4,i,j),sclvad(+2,4,i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vdXr =', & !diag i+i0,j+j0,k, & !diag 0.0,sclvad(-1,5,i,j),sclvad( 0,5,i,j), & !diag sclvad(+1,5,i,j),sclvad(+2,5,i,j) -!diag write(lp,'(a,2i5,i3,5f10.5)') & +!diag write(lp,'(a,2i6,i4,5f10.5)') & !diag 'vdXl =', & !diag i+i0,j+j0,k, & !diag sclvad(-2,6,i,j),sclvad(-1,6,i,j), & !diag sclvad( 0,6,i,j),sclvad(+1,6,i,j),0.0 !diag endif !test !diag if (max(abs(i-itest),abs(j-jtest)).le.0.and.k.eq.1) then -!diag write(lp,'(a,2i5,i3,4f12.5)') & +!diag write(lp,'(a,2i6,i4,4f12.5)') & !diag 'advX =', & !diag i+i0,j+j0,k, & !diag -delt1*advv(i,j), & @@ -5254,10 +5254,10 @@ subroutine momtum4(m,n) !diag do j=jtest-1,jtest+1 !diag do i=itest-1,itest+1 !diag if (iu(i,j).ne.1) then -!diag write (lp,'(2i5,i3,2f8.3)') i+i0,j+j0,k, & +!diag write (lp,'(2i6,i4,2f8.3)') i+i0,j+j0,k, & !diag 0.0,0.0 !diag else -!diag write (lp,'(2i5,i3,8f8.3)') i+i0,j+j0,k, & +!diag write (lp,'(2i6,i4,8f8.3)') i+i0,j+j0,k, & !diag util4(i,j),u(i,j,k,n), & !diag -delt1*gradx(i,j), & !diag -delt1*advu(i,j), & @@ -5498,10 +5498,10 @@ subroutine momtum4(m,n) !diag do j=jtest-1,jtest+1 !diag do i=itest-1,itest+1 !diag if (iv(i,j).ne.1) then -!diag write (lp,'(2i5,i3,2f8.3)') i+i0,j+j0,k, & +!diag write (lp,'(2i6,i4,2f8.3)') i+i0,j+j0,k, & !diag 0.0,0.0 !diag else -!diag write (lp,'(2i5,i3,8f8.3)') i+i0,j+j0,k, & +!diag write (lp,'(2i6,i4,8f8.3)') i+i0,j+j0,k, & !diag util4(i,j),v(i,j,k,n), & !diag -delt1*grady(i,j), & !diag -delt1*advv(i,j), & @@ -5795,3 +5795,4 @@ end module mod_momtum !> Feb. 2025 - added spdtid, strflg=723 !> Feb. 2025 - if cbar is negative, cbarp represents tidal amplitude !> Feb. 2025 - optionally add observed tidal velocities to bottom speed +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_pipe.F90 b/mod_pipe.F90 index c154994..fbc03a0 100644 --- a/mod_pipe.F90 +++ b/mod_pipe.F90 @@ -324,7 +324,7 @@ subroutine pipe_init status='old',form='formatted') read ( 17,*) ishift,jshift close(unit=17) - write(lp,'(a,2i5)') 'slave periodic shift is:', & + write(lp,'(a,2i6)') 'slave periodic shift is:', & ishift,jshift call flush(lp) endif ! shift @@ -420,12 +420,12 @@ subroutine pipe_compare(field,mask,what) if (.not. & (field2(i,j).ge.-huge(fnan) .and. & field2(i,j).le. huge(fnan) )) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' master:',field2(i,j), & ' slave:', field1(i,j),what else - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' master:',field2(i,j), & ' error:', field2(i,j)-field1(i,j),what @@ -526,12 +526,12 @@ subroutine pipe_compare(field,mask,what) if (.not. & (field2(i,j).ge.-huge(fnan) .and. & field2(i,j).le. huge(fnan) )) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' master:',field2(i,j), & ' slave:', field1(i,j),what else - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' master:',field2(i,j), & ' error:', field2(i,j)-field1(i,j),what @@ -552,7 +552,7 @@ subroutine pipe_compare(field,mask,what) ! if (ldebugpnt) then ! if (i0.lt.ittest .and. i0+ii.ge.ittest .and. ! & j0.lt.jttest .and. j0+jj.ge.jttest ) then -! write (lp,'(a,2i5,2x,a,a,1pg24.10)') +! write (lp,'(a,2i6,2x,a,a,1pg24.10)') ! & 'i,j=',itest+i0,jtest+j0, ! & what,': ', ! & field(itest,jtest) @@ -603,7 +603,7 @@ subroutine pipe_compare_sym1(field,mask,what) io = itdm-mod(i-1,itdm) if (tmask(i,j).gt.0.0 .and. & field1(i,j).ne.field1(io,jo)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field1(io,jo),what @@ -616,7 +616,7 @@ subroutine pipe_compare_sym1(field,mask,what) if (tmask(i,j).gt.0.0) then if (nsym.eq.0) then ! constant field if (field1(i,j).ne.field1(1,1)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field1(1,1),what @@ -624,7 +624,7 @@ subroutine pipe_compare_sym1(field,mask,what) endif elseif (nsym.eq.2) then ! constant field in j direction if (field1(i,j).ne.field1(i,1)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field1(i,1),what @@ -633,7 +633,7 @@ subroutine pipe_compare_sym1(field,mask,what) elseif (nsym.eq.1) then ! p=p.transpose if (tmask(i,j).gt.0.0 .and. & field1(i,j).ne.field1(j,i)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field1(j,i),what @@ -666,7 +666,7 @@ subroutine pipe_compare_sym1(field,mask,what) if (.not. & (field(i,j).ge.-huge(fnan) .and. & field(i,j).le. huge(fnan) )) then - write (lpunit,'(a,a,2i5)') & + write (lpunit,'(a,a,2i6)') & what,' (NaN): i,j=',i+i0,j+j0 lnan_anyfailed = .true. !local fail endif @@ -732,7 +732,7 @@ subroutine pipe_compare_sym2(field_u,mask_u,what_u, & io = mod(itdm-(i-1),itdm)+1 if (tmask(i,j).gt.0.0 .and. & field1(i,j).ne.-field1(io,jo)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)+field1(io,jo),what_u @@ -745,7 +745,7 @@ subroutine pipe_compare_sym2(field_u,mask_u,what_u, & io = itdm-mod(i-1,itdm) if (vmask(i,j).gt.0.0 .and. & field2(i,j).ne.-field2(io,jo)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field2(i,j), & ' error:',field2(i,j)+field2(io,jo),what_v @@ -757,14 +757,14 @@ subroutine pipe_compare_sym2(field_u,mask_u,what_u, & do i=1,itdm if (nsym.eq.0) then ! constant field if (field1(i,j).ne.field1(1,1)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field1(1,1),what_u fail=.true. endif if (field2(i,j).ne.field2(1,1)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field2(i,j), & ' error:',field2(i,j)-field2(1,1),what_v @@ -772,14 +772,14 @@ subroutine pipe_compare_sym2(field_u,mask_u,what_u, & endif elseif (nsym.eq.2) then ! constant field in j direction if (field1(i,j).ne.field1(i,1)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field1(i,1),what_u fail=.true. endif if (field2(i,j).ne.field2(i,1)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field2(i,j), & ' error:',field2(i,j)-field2(i,1),what_v @@ -788,7 +788,7 @@ subroutine pipe_compare_sym2(field_u,mask_u,what_u, & elseif (nsym.eq.1) then ! u==v.transpose if (tmask(i,j).gt.0.0 .and. & field1(i,j).ne.field2(j,i)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' uvel :',field1(i,j), & ' error:',field1(i,j)-field2(j,i),what_u @@ -846,7 +846,7 @@ subroutine pipe_compare_same(fielda,fieldb,mask,what) do i=1,itdm if (tmask(i,j).gt.0.0 .and. & field1(i,j).ne.field2(i,j)) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field2(i,j),what @@ -902,7 +902,7 @@ subroutine pipe_compare_notneg(field,mask,what,field_max) if (.not. & (field(i,j).ge.-huge(fnan) .and. & field(i,j).le. huge(fnan) )) then - write (lpunit,'(a,a,2i5)') & + write (lpunit,'(a,a,2i6)') & what,' (NaN): i,j=',i+i0,j+j0 fail=.true. endif @@ -933,13 +933,13 @@ subroutine pipe_compare_notneg(field,mask,what,field_max) do i=1,itdm if (tmask(i,j).gt.0.0) then if (field1(i,j).lt.0.0) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j),what fail=.true. elseif (field1(i,j).gt.field_max) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j)-field_max,what @@ -948,7 +948,7 @@ subroutine pipe_compare_notneg(field,mask,what,field_max) elseif (.not. & (field1(i,j).ge.-huge(fnan) .and. & field1(i,j).le. huge(fnan) )) then - write (lpunit,'(a,2i5,1p,2(a,e12.5),4x,a)') & + write (lpunit,'(a,2i6,1p,2(a,e12.5),4x,a)') & 'i,j=',i,j, & ' orig :',field1(i,j), & ' error:',field1(i,j),what @@ -1015,7 +1015,7 @@ subroutine pipe_comparall(m,n, cinfo) if (i0.lt.ittest .and. i0+ii.ge.ittest .and. & j0.lt.jttest .and. j0+jj.ge.jttest ) then ! ssh,montg,svref*pbavg (cm) - write (lp,"(i9,i5,i5,1x,a,a,3f15.8)") & + write (lp,"(i9,i6,i6,1x,a,a,3f15.8)") & nstep,itest+i0,jtest+j0,cinfo(1:6),':', & (100.0/g)*srfhgt(itest,jtest), & (100.0/g)*montg1(itest,jtest), & @@ -1033,7 +1033,7 @@ subroutine pipe_comparall(m,n, cinfo) if (.not. & (srfhgt(i,j).ge.-huge(fnan) .and. & srfhgt(i,j).le. huge(fnan) )) then - write (lp,"(i9,i5,i5,1x,a,a,3f15.8)") & + write (lp,"(i9,i6,i6,1x,a,a,3f15.8)") & nstep,i+i0,j+j0,cinfo(1:6),': NaN' endif !hycom_isnaninf endif !ip @@ -1061,8 +1061,8 @@ subroutine pipe_comparall(m,n, cinfo) endif if (cinfo(1:6).eq.'momtum') then write(cformat,'(a,a)') & - '(i9,i5,i5,1x,a,a/', & - '(i9,5x,i5,1x,a,a,1p4e12.4))' + '(i9,i6,i6,1x,a,a/', & + '(i9,6x,i6,1x,a,a,1p4e12.4))' write (lp,cformat) & nstep,itest+i0,jtest+j0,cinfo(1:6), & ': surtx surty srfhgt montg1', & @@ -1074,12 +1074,12 @@ subroutine pipe_comparall(m,n, cinfo) endif !'momtum' if (ntracr.eq.0) then write(cformat,'(a,a)') & - '(i9,i5,i5,1x,a,a/', & - '(i9,5x,i5,1x,a,a,2f7.3,2f7.3,f8.4,f9.3,f10.3))' + '(i9,i6,i6,1x,a,a/', & + '(i9,6x,i6,1x,a,a,2f7.3,2f7.3,f8.4,f9.3,f10.3))' else write(cformat,'(a,i2,a,a,i2,a)') & - '(i9,i5,i5,1x,a,a,',ntracr,'a / ', & - '(i9,5x,i5,1x,a,a,2f7.3,2f7.3,f8.4,f9.3,f10.3,', & + '(i9,i6,i6,1x,a,a,',ntracr,'a / ', & + '(i9,6x,i6,1x,a,a,2f7.3,2f7.3,f8.4,f9.3,f10.3,', & ntracr,'f8.4))' endif ! write(lp,'(3a)') '"',trim(cformat),'"' @@ -1184,8 +1184,8 @@ subroutine pipe_comparall(m,n, cinfo) endif if (mxlmy) then write(cformat,'(a,a)') & - '(i9,i5,i5,1x,a,a/', & - '(i9,5x,i5,1x,a,a,g15.5,g15.5,f9.3,f9.2))' + '(i9,i6,i6,1x,a,a/', & + '(i9,6x,i6,1x,a,a,g15.5,g15.5,f9.3,f9.2))' write (lp,cformat) & nstep,itest+i0,jtest+j0,cinfo(1:6), & ': q2 q2l thkns dpth', & @@ -1198,8 +1198,8 @@ subroutine pipe_comparall(m,n, cinfo) endif !'mxlmy' if (cinfo(1:6).eq.'mxkprf' .and. .not.mxlkrt) then write(cformat,'(a,a)') & - '(i9,i5,i5,1x,a,a/', & - '(i9,5x,i5,1x,a,a,f7.3,f8.2,f7.3,f8.2,f9.3,f9.2))' + '(i9,i6,i6,1x,a,a/', & + '(i9,6x,i6,1x,a,a,f7.3,f8.2,f7.3,f8.2,f9.3,f9.2))' write (lp,cformat) & nstep,itest+i0,jtest+j0,cinfo(1:6), & ': temp t-diff saln s-diff thkns dpth', & @@ -1220,11 +1220,11 @@ subroutine pipe_comparall(m,n, cinfo) ! ! --- printout min/max/iospycnal th3d ! - 104 format (i9,a3,1x,a,a) - 105 format (i9,i3,1x,a,a,2i5,f9.5,f7.3,f9.5,2i5,i7) + 104 format (i9,a4,1x,a,a) + 105 format (i9,i4,1x,a,a,2i6,f9.5,f7.3,f9.5,2i6,i7) if (mnproc.eq.1) then write(lp,104) & - nstep,' k',cinfo(1:6), & + nstep,' k',cinfo(1:6), & ': imin jmin denamin deniso denamax imax jmax mnproc' endif call xcsync(flush_lp) @@ -1450,7 +1450,7 @@ subroutine pipe_comparall(m,n, cinfo) ! --- check that tracer is non-negative. ! do k=1,kk - write (txt1,'(a6,i3,i3)') 'tracer',ktr,k + write (txt1,'(a6,i2,i4)') 'tracer',ktr,k call pipe_compare_notneg(tracer(1-nbdy,1-nbdy,k,n,ktr), & ip,txt1,trcmax(ktr)) enddo @@ -1626,3 +1626,4 @@ end module mod_pipe !> Feb. 2019 - replaced onetai by 1.0 !> Sep. 2019 - added oneta0 !> Dec. 2024 - added checks on tides +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_stokes.F90 b/mod_stokes.F90 index bb5a9d5..a71323c 100644 --- a/mod_stokes.F90 +++ b/mod_stokes.F90 @@ -582,8 +582,8 @@ subroutine stokes_forfun(dtime,n) !$OMP END PARALLEL DO ! if (debug_stokes) then - 103 format (i9,2i5,a) - 104 format (30x,i3,2f8.4,f9.3,f9.2) + 103 format (i9,2i6,a) + 104 format (32x,i3,2f8.4,f9.3,f9.2) if (itest.gt.0 .and. jtest.gt.0) then write (lp,103) nstep,itest+i0,jtest+j0, & ' stokes_forfun: usdz vsdz thkns dpth' @@ -707,3 +707,4 @@ end subroutine stokes_vertical_j end module mod_stokes !> May 2014 - use land/sea masks (e.g. ip) to skip land !> Aug 2015 - added stdarc +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_tides.F90 b/mod_tides.F90 index 35d1267..0372c7d 100644 --- a/mod_tides.F90 +++ b/mod_tides.F90 @@ -603,11 +603,11 @@ subroutine tides_detide(n, update) ! if (debug_tides) then if (itest.gt.0 .and. jtest.gt.0) then - write (lp,'(i9,2i5,3x,a,i2.2,a,2f10.6)') & + write (lp,'(i9,2i6,3x,a,i2.2,a,2f10.6)') & nstep,itest+i0,jtest+j0, & ' hr',nhrly,' = ', & uhrly(itest,jtest,nhrly), vhrly(itest,jtest,nhrly) - write (lp,'(i9,2i5,3x,a,2f10.6)') & + write (lp,'(i9,2i6,3x,a,2f10.6)') & nstep,itest+i0,jtest+j0, & 'ntide = ', & untide(itest,jtest), vntide(itest,jtest) @@ -726,11 +726,11 @@ subroutine tides_dehtide(n, update) ! if (debug_tides) then if (itest.gt.0 .and. jtest.gt.0) then - write (lp,'(i9,2i5,3x,a,i2.2,a,f10.6)') & + write (lp,'(i9,2i6,3x,a,i2.2,a,f10.6)') & nstep,itest+i0,jtest+j0, & ' hr',mhrly,' = ', & hhrly(itest,jtest,mhrly) - write (lp,'(i9,2i5,3x,a,f10.6)') & + write (lp,'(i9,2i6,3x,a,f10.6)') & nstep,itest+i0,jtest+j0, & 'hntide = ', & hntide(itest,jtest) @@ -859,7 +859,7 @@ subroutine tides_observed(ll) ! if (debug_tides) then if (itest.gt.0 .and. jtest.gt.0) then - write (lp,'(i9,i3,2f14.6,2i5,3x,a,f10.6)') & + write (lp,'(i9,i3,2f14.6,2i6,3x,a,f10.6)') & nstep,ll,timeref+timet,timet,itest+i0,jtest+j0, & ' htide = ',htide(itest,jtest) endif !test point @@ -1023,7 +1023,7 @@ subroutine tides_observed_vel(ll) ! if (debug_tides) then if (itest.gt.0 .and. jtest.gt.0) then - write (lp,'(i9,i3,2f14.6,2i5,3x,2(a,f10.6))') & + write (lp,'(i9,i3,2f14.6,2i6,3x,2(a,f10.6))') & nstep,ll,timeref+timet,timet,itest+i0,jtest+j0, & ' utide = ',utide(itest,jtest), & ' vtide = ',vtide(itest,jtest) @@ -1147,19 +1147,19 @@ subroutine tides_filter(n) ! if (debug_tides) then if (itest.gt.0 .and. jtest.gt.0) then - write (lp,'(i9,2i5,3x,a,2f10.6)') & + write (lp,'(i9,2i6,3x,a,2f10.6)') & nstep,itest+i0,jtest+j0, & 'fm2 = ', & uvf(itest,jtest,1),vvf(itest,jtest,1) - write (lp,'(i9,2i5,3x,a,2f10.6)') & + write (lp,'(i9,2i6,3x,a,2f10.6)') & nstep,itest+i0,jtest+j0, & 'fs2 = ', & uvf(itest,jtest,2),vvf(itest,jtest,2) - write (lp,'(i9,2i5,3x,a,2f10.6)') & + write (lp,'(i9,2i6,3x,a,2f10.6)') & nstep,itest+i0,jtest+j0, & 'fk1 = ', & uvf(itest,jtest,3),vvf(itest,jtest,3) - write (lp,'(i9,2i5,3x,a,2f10.6)') & + write (lp,'(i9,2i6,3x,a,2f10.6)') & nstep,itest+i0,jtest+j0, & 'fo1 = ', & uvf(itest,jtest,4),vvf(itest,jtest,4) @@ -1294,7 +1294,7 @@ subroutine tides_body(ll) ! if (debug_tides) then if (itest.gt.0 .and. jtest.gt.0) then - write (lp,'(i9,i3,2f14.6,2i5,3x,2(a,f10.6))') & + write (lp,'(i9,i3,2f14.6,2i6,3x,2(a,f10.6))') & nstep,ll,timeref+timet,timet,itest+i0,jtest+j0, & ' etide = ',etide(itest,jtest) endif !test point @@ -2159,3 +2159,4 @@ end module mod_tides !> Jan. 2025 - added the option to nudge towards the observed tides !> Feb. 2025 - added cbtidc for adding tidal velocities to bottom drag !> Feb. 2025 - pang is required for cbtidc +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mod_tsadvc.F90 b/mod_tsadvc.F90 index bd67a7d..b7f4bf0 100644 --- a/mod_tsadvc.F90 +++ b/mod_tsadvc.F90 @@ -327,7 +327,7 @@ subroutine advem_mpdata(fld,u,v,fco,fcn,posdef,scal,scali,dt2) !diag if (itests.gt.0 .and. jtests.gt.0) then !diag i=itests !diag j=jtests -!diag write (lp,'(a,2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(a,2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') & !diag 'advem (1)',i+i0,j+j0, & !diag fld(i-1,j),u(i,j),fld(i,j-1),v(i,j), & @@ -455,7 +455,7 @@ subroutine advem_mpdata(fld,u,v,fco,fcn,posdef,scal,scali,dt2) ! !diag i=itests !diag j=jtests -!diag write (lp,'(''advem (2)'',2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(''advem (2)'',2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') i,j,fldlo(i-1,j),u(i,j),fldlo(i,j-1), & !diag v(i,j),fldlo(i,j),v(i,j+1),fldlo(i,j+1),u(i+1,j),fldlo(i+1,j) ! @@ -597,7 +597,7 @@ subroutine advem_pcm(fld,u,v,fco,fcn,scal,scali,dt2) !diag if (itests.gt.0 .and. jtests.gt.0) then !diag i=itests !diag j=jtests -!diag write (lp,'(a,2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(a,2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') & !diag 'advem (1)',i+i0,j+j0, & !diag fld(i-1,j),u(i,j),fld(i,j-1),v(i,j), & @@ -636,7 +636,7 @@ subroutine advem_pcm(fld,u,v,fco,fcn,scal,scali,dt2) ! !diag i=itests !diag j=jtests -!diag write (lp,'(''advem (2)'',2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(''advem (2)'',2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') i,j,fld(i-1,j),u(i,j),fld(i,j-1), & !diag v(i,j),fld(i,j),v(i,j+1),fld(i,j+1),u(i+1,j),fld(i+1,j) return @@ -730,7 +730,7 @@ subroutine advem_fct2(fld,fldc,u,v,fco,fcn,scal,scali,dt2) if (ldebug_advem .and. itests.gt.0 .and. jtests.gt.0) then i=itests j=jtests - write (lp,'(a,2i5,3f10.5)') & + write (lp,'(a,2i6,3f10.5)') & 'advem: fld, rng ',i+i0,j+j0, & fld(i,j),fmx(i,j),fmn(i,j) endif @@ -765,7 +765,7 @@ subroutine advem_fct2(fld,fldc,u,v,fco,fcn,scal,scali,dt2) !diag if (ldebug_advem .and. itests.gt.0 .and. jtests.gt.0) then !diag i=itests !diag j=jtests -!diag write (lp,'(a,2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(a,2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') & !diag 'advem (1)',i+i0,j+j0, & !diag fld(i-1,j),u(i,j),fld(i,j-1),v(i,j), & @@ -804,7 +804,7 @@ subroutine advem_fct2(fld,fldc,u,v,fco,fcn,scal,scali,dt2) if (ldebug_advem .and. itests.gt.0 .and. jtests.gt.0) then i=itests j=jtests - write (lp,'(a,2i5,3f10.5)') & + write (lp,'(a,2i6,3f10.5)') & 'advem: fldlo,rng ',i+i0,j+j0, & fldlo(i,j),fmnlo(i,j),fmxlo(i,j) endif @@ -911,7 +911,7 @@ subroutine advem_fct2(fld,fldc,u,v,fco,fcn,scal,scali,dt2) if (ldebug_advem .and. itests.gt.0 .and. jtests.gt.0) then i=itests j=jtests - write (lp,'(a,2i5,3f10.5)') & + write (lp,'(a,2i6,3f10.5)') & 'advem: fldc,rngfq',i+i0,j+j0, & fldc(i,j),fmn(i,j),fmx(i,j) endif @@ -952,7 +952,7 @@ subroutine advem_fct2(fld,fldc,u,v,fco,fcn,scal,scali,dt2) ! !diag i=itests !diag j=jtests -!diag write (lp,'(''advem (2)'',2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(''advem (2)'',2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') i,j,fldlo(i-1,j),u(i,j),fldlo(i,j-1), & !diag v(i,j),fldlo(i,j),v(i,j+1),fldlo(i,j+1),u(i+1,j),fldlo(i+1,j) ! @@ -989,7 +989,7 @@ subroutine advem_fct2(fld,fldc,u,v,fco,fcn,scal,scali,dt2) if (ldebug_advem .and. itests.gt.0 .and. jtests.gt.0) then i=itests j=jtests - write (lp,'(a,2i5,f10.5)') & + write (lp,'(a,2i6,f10.5)') & 'advem: fld ',i+i0,j+j0, & fld(i,j) endif @@ -1484,7 +1484,7 @@ subroutine advem_fct4(fld,fldc,u,v,fco,fcn,scal,scali,dt2) !diag if (itests.gt.0 .and. jtests.gt.0) then !diag i=itests !diag j=jtests -!diag write (lp,'(a,2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(a,2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') & !diag 'advem (1)',i+i0,j+j0, & !diag fldc(i-1,j),u(i,j),fldc(i,j-1),v(i,j), & @@ -1669,7 +1669,7 @@ subroutine advem_fct4(fld,fldc,u,v,fco,fcn,scal,scali,dt2) ! !diag i=itests !diag j=jtests -!diag write (lp,'(''advem (2)'',2i5,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & +!diag write (lp,'(''advem (2)'',2i6,f22.3/1pe39.2/0pf21.3,1pe9.2,0pf9.3, & !diag 1pe9.2,0pf9.3/1pe39.2/0pf39.3)') i,j,fldlo(i-1,j),u(i,j),fldlo(i,j-1), & !diag v(i,j),fldlo(i,j),v(i,j+1),fldlo(i,j+1),u(i+1,j),fldlo(i+1,j) ! @@ -1943,13 +1943,13 @@ subroutine tsadvc(m,n) ! if (lpipe .and. lpipe_tsadvc) then ! --- compare two model runs. - write(text,'(a10,i2)') '49:sold,k=',k + write(text,'(a9,i3)') '49sold,k=',k call pipe_compare_sym1(sold,ip,text) - write(text,'(a10,i2)') '49:told,k=',k + write(text,'(a9,i3)') '49told,k=',k call pipe_compare_sym1(told,ip,text) - write(text,'(a10,i2)') '49:utl1,k=',k + write(text,'(a9,i3)') '49utl1,k=',k call pipe_compare_sym1(util1,ip,text) - write(text,'(a10,i2)') '49:utl2,k=',k + write(text,'(a9,i3)') '49utl2,k=',k call pipe_compare_sym1(util2,ip,text) write (textu,'(a9,i3)') 'uflx k=',k write (textv,'(a9,i3)') 'vflx k=',k @@ -2058,7 +2058,7 @@ subroutine tsadvc(m,n) endif ! !diag if (itests.gt.0.0and.jtests.gt.0) & -!diag write (lp,'(i9,2i5,i3,'' th,s,dp after advection '',2f9.3,f8.2)') & +!diag write (lp,'(i9,2i6,i4,'' th,s,dp after advection '',2f9.3,f8.2)') & !diag nstep,itests,jtests,k,temp(itests,jtests,k,n),saln(itests,jtests,k,n), & !diag dp(itests,jtests,k,n)*qonem ! @@ -2102,7 +2102,7 @@ subroutine tsadvc(m,n) do i=1,ii if (SEA_P) then if (saln(i,j,k,n).eq.sminn) then - write (lp,'(i9,a,2i5,i3,a,f10.2)') & + write (lp,'(i9,a,2i6,i4,a,f10.2)') & nstep,' i,j,k =',i+i0,j+j0,k, & ' neg. saln after advem call ', & saln(i,j,k,n) @@ -2116,12 +2116,12 @@ subroutine tsadvc(m,n) if (diagno) then if (mnproc.eq.1) then if (sminn.le.smaxx) then - write (lp,'(i9,i3, a,2f9.3, a,1pe9.2,a)') & + write (lp,'(i9,i4, a,2f9.3, a,1pe9.2,a)') & nstep,k, & ' min/max of s after advection:',sminn,smaxx, & ' (range:',smaxx-sminn,')' else - write (lp,'(i9,i3, a,a)') & + write (lp,'(i9,i4, a,a)') & nstep,k, & ' min/max of s after advection:',' N/A (thin layer)' endif !normal:thin layer @@ -2245,7 +2245,7 @@ subroutine tsadvc(m,n) endif ! !diag if (itests.gt.0.and.jtests.gt.0) then & -!diag write (lp,'(i9,2i5,i3,a,2f9.3,f8.2)') & +!diag write (lp,'(i9,2i6,i4,a,2f9.3,f8.2)') & !diag nstep,itests+i0,jtests+j0,k, & !diag ' t,s,dp after isopyc.mix.', & !diag temp(itests,jtests,k,n),saln(itests,jtests,k,n), & @@ -2388,54 +2388,54 @@ subroutine tsdff_1x(fld1) i=itests j=jtests if (SEA_U) then - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: u dp ',i+i0,j+j0, & uflux(i,j), dp(i-1,j,k,n)*qonem,dp(i ,j,k,n)*qonem - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: u fld',i+i0,j+j0, & uflux(i,j),fld1(i-1,j ), fld1(i ,j ) else - write (lp,'(a,2i5,1e16.6)') & + write (lp,'(a,2i6,1e16.6)') & 'tsdff: u LND',i+i0,j+j0, & uflux(i,j) endif if (SEA_V) then - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: v dp ',i+i0,j+j0, & vflux(i,j), dp(i,j-1,k,n)*qonem,dp(i,j ,k,n)*qonem - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: v fld',i+i0,j+j0, & vflux(i,j),fld1(i,j-1 ), fld1(i,j ) else - write (lp,'(a,2i5,1e16.6)') & + write (lp,'(a,2i6,1e16.6)') & 'tsdff: v LND',i+i0,j+j0, & vflux(i,j) endif i=itests+1 j=jtests if (SEA_U) then - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: u dp ',i+i0,j+j0, & uflux(i,j), dp(i-1,j,k,n)*qonem,dp(i ,j,k,n)*qonem - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: u fld',i+i0,j+j0, & uflux(i,j),fld1(i-1,j ), fld1(i ,j ) else - write (lp,'(a,2i5,1e16.6)') & + write (lp,'(a,2i6,1e16.6)') & 'tsdff: u LND',i+i0,j+j0, & uflux(i,j) endif i=itests j=jtests+1 if (SEA_V) then - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: v dp ',i+i0,j+j0, & vflux(i,j), dp(i,j-1,k,n)*qonem,dp(i,j ,k,n)*qonem - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: v fld',i+i0,j+j0, & vflux(i,j),fld1(i,j-1 ), fld1(i,j ) else - write (lp,'(a,2i5,1e16.6)') & + write (lp,'(a,2i6,1e16.6)') & 'tsdff: u LND',i+i0,j+j0, & vflux(i,j) endif @@ -2482,7 +2482,7 @@ subroutine tsdff_1x(fld1) if (ldebug_tsdif .and. itests.gt.0 .and. jtests.gt.0) then i=itests j=jtests - write (lp,'(a,2i5,3e16.6)') & + write (lp,'(a,2i6,3e16.6)') & 'tsdff: p fld',i+i0,j+j0, & fld1(i,j),util1(i,j), & -delt1/(scp2(i,j)*max(dp(i,j,k,n)*onetamas(i,j,n),eps_har)) @@ -2527,3 +2527,4 @@ end module mod_tsadvc !> Aug. 2018 - replaced itest,jtest with itests,jtests !> Nov. 2018 - always use oneta for diffusion !> Nov. 2018 - replaced min(1.0,A/B) with if(A Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mxkprf.F90 b/mxkprf.F90 index fa5ee24..4fa3dcf 100644 --- a/mxkprf.F90 +++ b/mxkprf.F90 @@ -172,7 +172,7 @@ subroutine mxkprf(m,n) sigmlj = max(sigmlj,tmljmp*0.03) !cold-water fix ! if (ldebug_dpmixl .and. i.eq.itest.and.j.eq.jtest) then - write (lp,'(i9,2i5,i3,a,2f7.4)') & + write (lp,'(i9,2i6,i4,a,2f7.4)') & nstep,i+i0,j+j0,k, & ' sigmlj =', & -tmljmp*dsigdt(temp(i,j,1,n),saln(i,j,1,n)), & @@ -208,7 +208,7 @@ subroutine mxkprf(m,n) thjmp(k-1)) !stable profile simplifies the code ! if (ldebug_dpmixl .and. i.eq.itest.and.j.eq.jtest) then - write (lp,'(i9,2i5,i3,a,2f7.3,f7.4,f9.2)') & + write (lp,'(i9,2i6,i4,a,2f7.3,f7.4,f9.2)') & nstep,i+i0,j+j0,k, & ' th,thsur,jmp,zc =', & thloc(k),thsur,thjmp(k),-zgrid(i,j,k) @@ -270,7 +270,7 @@ subroutine mxkprf(m,n) ! if (ldebug_dpmixl .and. & i.eq.itest.and.j.eq.jtest) then - write (lp,'(i9,2i5,i3,a,2f7.3,f7.4,f9.2)') & + write (lp,'(i9,2i6,i4,a,2f7.3,f7.4,f9.2)') & nstep,i+i0,j+j0,k, & ' thi,thsur,jmp,zi =', & thtop,thsur,thjmp(k),-zintf @@ -299,7 +299,7 @@ subroutine mxkprf(m,n) ! if (ldebug_dpmixl .and. & i.eq.itest.and.j.eq.jtest) then - write (lp,'(i9,2i5,i3,a,f7.3,f7.4,f9.2)') & + write (lp,'(i9,2i6,i4,a,f7.3,f7.4,f9.2)') & nstep,i+i0,j+j0,k, & ' thsur,top,dpmixl =', & thsur,thtop,dpmixl(i,j,n)*qonem @@ -349,7 +349,7 @@ subroutine mxkprf(m,n) ! if (ldebug_dpmixl .and. & i.eq.itest.and.j.eq.jtest) then - write (lp,'(i9,2i5,i3,a,f9.2)') & + write (lp,'(i9,2i6,i4,a,f9.2)') & nstep,i+i0,j+j0,k, & ' dpmixl =', & dpmixl(i,j,n)*qonem @@ -839,7 +839,7 @@ subroutine mxkppaij(m,n, i,j) ! & ' u uref v vref', ! & ' b bref ritop dvsq' ! endif -! write(lp,'(i2,f9.2,f6.2,4f7.3,2f7.3,f9.4,f7.4)') +! write(lp,'(i3,f9.2,f6.2,4f7.3,2f7.3,f9.4,f7.4)') ! & k,zgrid(i,j,k),zref, ! & uold(k),uref,vold(k),vref, ! & -g*svref*(thold(k)+thbase),bref, @@ -847,7 +847,7 @@ subroutine mxkppaij(m,n, i,j) ! call flush(lp) ! endif !diag if (i.eq.itest.and.j.eq.jtest) then -!diag write (lp,'(i9,2i5,i3,a,f8.2,f8.3)') & +!diag write (lp,'(i9,2i6,i4,a,f8.2,f8.3)') & !diag nstep,i+i0,j+j0,k, & !diag ' z,swfrac =',zgrid(i,j,k),swfrac(k) !diag call flush(lp) @@ -1104,7 +1104,7 @@ subroutine mxkppaij(m,n, i,j) call swfrml_ij(chl,hbl*onem,pij(kdm+1),qonem*oneta(i,j,n), & jerlov(i,j),swfrml) !diag if (i.eq.itest.and.j.eq.jtest) then -!diag write (lp,'(i9,2i5,i3,a,f8.2,f6.3)') & +!diag write (lp,'(i9,2i6,i4,a,f8.2,f6.3)') & !diag nstep,i+i0,j+j0,nbl, & !diag ' hbl,swfrml =',hbl,swfrml !diag call flush(lp) @@ -1134,7 +1134,7 @@ subroutine mxkppaij(m,n, i,j) call swfrml_ij(chl,hbl*onem,pij(kdm+1),qonem*oneta(i,j,n), & jerlov(i,j),swfrml) !diag if (i.eq.itest.and.j.eq.jtest) then -!diag write (lp,'(i9,2i5,i3,a,f8.2,f6.3)') & +!diag write (lp,'(i9,2i6,i4,a,f8.2,f6.3)') & !diag nstep,i+i0,j+j0,nbl, & !diag ' hbl,swfrml =',hbl,swfrml !diag call flush(lp) @@ -1778,19 +1778,19 @@ subroutine mxkppaij(m,n, i,j) ! enddo ! iteration loop ! - 101 format(i9,2i5,i3,'swfrac,dn,dtemp,dsaln ',2f8.3,2f12.6) - 102 format(25x,' thick viscty t diff s diff ' & - /(i9,i2,2i5,i3,2x,4f10.2)) - 103 format(25x,' thick viscty t diff s diff nonlocal' & - /(i9,i2,2i5,i3,2x,4f10.2,f11.6)) - 104 format(25x, & + 101 format(i9,2i6,i4,'swfrac,dn,dtemp,dsaln ',2f8.3,2f12.6) + 102 format(28x,' thick viscty t diff s diff ' & + /(i9,i2,2i6,i4,2x,4f10.2)) + 103 format(28x,' thick viscty t diff s diff nonlocal' & + /(i9,i2,2i6,i4,2x,4f10.2,f11.6)) + 104 format(28x, & ' thick t old t new s old s new trc old trc new' & - /(i9,i2,2i5,i3,1x,f9.2,4f8.3,2f7.4)) - 114 format(25x, & + /(i9,i2,2i6,i4,1x,f9.2,4f8.3,2f7.4)) + 114 format(28x, & ' thick t old t new s old S-new trc old trc new' & - /(i9,i2,2i5,i3,1x,f9.2,4f8.3,2f7.4)) - 105 format(25x,' thick u old u new v old v new' & - /(i9,i2,2i5,i3,1x,f10.2,4f8.3)) + /(i9,i2,2i6,i4,1x,f9.2,4f8.3,2f7.4)) + 105 format(28x,' thick u old u new v old v new' & + /(i9,i2,2i6,i4,1x,f10.2,4f8.3)) ! return end @@ -2264,9 +2264,9 @@ subroutine mxmyaij(m,n, i,j) mixflx(i,j)=surflx(i,j)-swfrml*sswflx(i,j) !mixed layer heat flux bhtflx(i,j)=buoflx(i,j)-buoyfs !buoyancy from heat flux ! - 101 format(25x,' thick viscty t diff s diff q diff ' & - /(i9,2i5,i3,2x,5f10.2)) - 102 format(i9,2i5,i3,'absorbup,dn,dtemp,dsaln ',2f6.3,2f10.6) + 101 format(28x,' thick viscty t diff s diff q diff ' & + /(i9,2i6,i4,2x,5f10.2)) + 102 format(i9,2i6,i4,'absorbup,dn,dtemp,dsaln ',2f6.3,2f10.6) ! return end @@ -2595,7 +2595,7 @@ subroutine mxgissaij(m,n, i,j) ! !diag if (i.eq.itest .and. j.eq.jtest) then !diag do k=1,klist(i,j) -!diag write(6,'(a,i9,i3,2f10.3,f9.1,f8.5,2f8.2)') 'giss1din1', & +!diag write(6,'(a,i9,i4,2f10.3,f9.1,f8.5,2f8.2)') 'giss1din1', & !diag nstep,k,zgrid(i,j,k),hwide(k),z1d(k), & !diag th1d(k),u1d(k),v1d(k) !diag enddo @@ -2603,7 +2603,7 @@ subroutine mxgissaij(m,n, i,j) !diag 'giss1din2',' nstep',' k', & !diag ' s2',' ria',' rid' !diag do k=1,klist(i,j) -!diag write(6,'(a,i9,i3,1p,3e13.5)') 'giss1din2', & +!diag write(6,'(a,i9,i4,1p,3e13.5)') 'giss1din2', & !diag nstep,k,s2(k),ria(k),rid(k) !diag enddo !diag endif @@ -2979,7 +2979,7 @@ subroutine mxgissaij(m,n, i,j) v_back=2.0e-1 t_back=5.0e-2 s_back=5.0e-2 -! write(lp,'(i9,a,2i5,i3,a)') +! write(lp,'(i9,a,2i6,i4,a)') ! & nstep,' i,j,k=',i+i0,j+j0,k,' GISS neg. sX_back' ! ! --- Skip background lengthscale calculation when using K_X/(epsilon/N^2) . @@ -3208,7 +3208,7 @@ subroutine mxgissaij(m,n, i,j) !diag ' tmp',' aldeep', & !diag ' akm',' akh',' aks' !diag do k=1,klist(i,j) -!diag write(6,'(a,i9,i3,1p,6e13.5)') 'giss1dout', & +!diag write(6,'(a,i9,i4,1p,6e13.5)') 'giss1dout', & !diag nstep,k,tmpk(k),aldeep(k),akm(k),akh(k),aks(k) !diag enddo !diag endif @@ -3294,9 +3294,9 @@ subroutine mxkprfbij(m,n, i,j) !diag hm(k),t1do(k),temp(i,j,k,n),s1do(k),saln(i,j,k,n), & !diag k=1,nlayer) !diag call flush(lp) - 102 format(25x, & + 102 format(28x, & ' thick t old t ijo s old s ijo' & - /(i9,2i5,i3,2x,f9.2,4f8.3)) + /(i9,2i6,i4,2x,f9.2,4f8.3)) !diag endif !test ! ! --- do rivers here because difs is also used for tracers. @@ -3394,15 +3394,15 @@ subroutine mxkprfbij(m,n, i,j) !diag write (lp,124) nstep,i+i0,j+j0, & !diag sumh,sumo,sumn,sumn-sumo !diag call flush(lp) - 103 format(25x,' thick t diff s diff nonlocal' & - /(i9,2i5,i3,1x,3f11.4,f11.4)) - 104 format(25x, & + 103 format(28x,' thick t diff s diff nonlocal' & + /(i9,2i6,i4,1x,3f11.4,f11.4)) + 104 format(28x, & ' thick t old t new s old s new' & - /(i9,2i5,i3,2x,f11.4,4f9.4)) - 114 format(25x, & + /(i9,2i6,i4,2x,f11.4,4f9.4)) + 114 format(28x, & ' thick t old t new s old S new' & - /(i9,2i5,i3,2x,f11.4,4f9.4)) - 124 format(i9,2i5,' MN',2x,f11.4,18x,2f9.4,f16.10) + /(i9,2i6,i4,2x,f11.4,4f9.4)) + 124 format(i9,2i6,' MN',2x,f11.4,18x,2f9.4,f16.10) !diag endif !test ! ! --- standard tracer solution @@ -3560,12 +3560,12 @@ subroutine mxkprfciju(m,n, i,j) !diag call flush(lp) !diag endif !test return - 206 format( 'cijup',23x, & - ' m-visc 0-visc u-diff (nlayer =',3i3,')' / & - ('cijup',i9,2i5,i3,1x,3f8.2)) - 106 format( 'ciju ',23x, & - ' thick u old u new u-diff (nlayer =',i3,')' / & - ('ciju ',i9,2i5,i3,1x,f10.3,2f8.3,f8.2)) + 206 format( 'cijup',24x, & + ' m-visc 0-visc u-diff (nlayer =',3i4,')' / & + ('cijup',i9,2i6,i4,1x,3f8.2)) + 106 format( 'ciju ',24x, & + ' thick u old u new u-diff (nlayer =',i4,')' / & + ('ciju ',i9,2i6,i4,1x,f10.3,2f8.3,f8.2)) end ! subroutine mxkprfcijv(m,n, i,j) @@ -3682,12 +3682,12 @@ subroutine mxkprfcijv(m,n, i,j) !diag call flush(lp) !diag endif !test return - 207 format( 'cijvp',23x, & - ' m-visc 0-visc v-diff (nlayer =',3i3,')' / & - ('cijvp',i9,2i5,i3,1x,3f8.2)) - 107 format( 'cijv ',23x, & - ' thick v old v new v-diff (nlayer =',i3,')' / & - ('cijv ',i9,2i5,i3,1x,f10.3,2f8.3,f8.2)) + 207 format( 'cijvp',24x, & + ' m-visc 0-visc v-diff (nlayer =',3i4,')' / & + ('cijvp',i9,2i6,i4,1x,3f8.2)) + 107 format( 'cijv ',24x, & + ' thick v old v new v-diff (nlayer =',i4,')' / & + ('cijv ',i9,2i6,i4,1x,f10.3,2f8.3,f8.2)) return end ! @@ -3809,14 +3809,14 @@ subroutine wscale(i,j,zlevel,dnorm,bflux,wm,ws,isb) wm=wm*flang ! if (ldebug_wscale .and. i.eq.itest.and.j.eq.jtest) then - write (lp,'(i9,2i5,a,1p3e12.3)') & + write (lp,'(i9,2i6,a,1p3e12.3)') & nstep,i+i0,j+j0, & ' ustk2 =',ustk2,usds(i,j),vsds(i,j) - write (lp,'(i9,2i5,a,3f12.8)') & + write (lp,'(i9,2i6,a,3f12.8)') & nstep,i+i0,j+j0, & ' La =',sqrt(sqrt((ust*ust)/(ustk2 + epsil))), & ust,sqrt(ustk2) - write (lp,'(i9,2i5,a,f12.5,1p2e12.4,f12.5)') & + write (lp,'(i9,2i6,a,f12.5,1p2e12.4,f12.5)') & nstep,i+i0,j+j0, & ' flang =',flang,ucube,wcube,cw endif !ldebug_wscale @@ -3867,3 +3867,4 @@ subroutine wscale(i,j,zlevel,dnorm,bflux,wm,ws,isb) !> Mar 2023 - added /* MASSLESS_1MM */ macro !> July 2023 - detrain negative near-surface salinitites !> May 2024 - added epmass=2 for river only mass exchange +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mxkrt.F90 b/mxkrt.F90 index 74543c3..c7c8567 100644 --- a/mxkrt.F90 +++ b/mxkrt.F90 @@ -41,7 +41,7 @@ subroutine mxkrta(m,n) !diag tosal=tosal+saln(itest,jtest,k,n)*dp(itest,jtest,k,n) !diag end do ! - 103 format (i9,2i5,a/(32x,i3,2f8.2,f8.2,2f8.1)) + 103 format (i9,2i6,a/(32x,i3,2f8.2,f8.2,2f8.1)) !diag write (lp,103) nstep,itest+i0,jtest+j0, & !diag ' entering mxkrt: temp saln dens thkns dpth', & !diag (k,temp(itest,jtest,k,n),saln(itest,jtest,k,n), & @@ -82,7 +82,7 @@ subroutine mxkrta(m,n) !diag tndcyt=tndcyt+temp(itest,jtest,k,n)*dp(itest,jtest,k,n) !diag tndcys=tndcys+saln(itest,jtest,k,n)*dp(itest,jtest,k,n) !diag end do -!diag write (lp,'(i9,2i5,3x,a,1p,3e12.4/22x,a,3e12.4)') & +!diag write (lp,'(i9,2i6,3x,a,1p,3e12.4/22x,a,3e12.4)') & !diag nstep,itest+i0,jtest+j0, & !diag 'total saln,srf.flux,tndcy:',tosal/g,salflx(itest, & !diag jtest)*delt1,tndcys/g,'total temp,srf.flux,tndcy:',totem/g, & @@ -409,10 +409,10 @@ subroutine mxkrtaaj(m,n, j, depnew) ! !diag if (i.eq.itest.and.j.eq.jtest) then !diag if (turgen(i,j).lt.0.) then -!diag write (lp,'(i9,2i5,a,1p,2e13.5)') nstep,i+i0,j+j0, & +!diag write (lp,'(i9,2i6,a,1p,2e13.5)') nstep,i+i0,j+j0, & !diag ' m-o length (m), turgen:',depnew(i,j)*qonem,turgen(i,j) !diag else -!diag write (lp,'(i9,2i5,a,1p,2e13.5)') nstep,i+i0,j+j0, & +!diag write (lp,'(i9,2i6,a,1p,2e13.5)') nstep,i+i0,j+j0, & !diag ' new depth (m), turgen:',depnew(i,j)*qonem,turgen(i,j) !diag endif !diag endif @@ -437,7 +437,7 @@ subroutine mxkrtaaj(m,n, j, depnew) thk1ta=thknew*oneta(i,j,n) thknss=max(thknew,thkold) ! -!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i5,a,2f10.4)') & +!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i6,a,2f10.4)') & !diag nstep,i+i0,j+j0, & !diag ' old/new mixed layer depth:',thkold*qonem,thknew*qonem ! @@ -468,7 +468,7 @@ subroutine mxkrtaaj(m,n, j, depnew) !diag if (i.eq.itest.and.j.eq.jtest) then !diag write(lp,104) nstep,i+i0,j+j0,k,0.,1.-swfrac,dtemp(i),dsaln(i) !diag endif - 104 format(i9,2i5,i3,'absorbup,dn,dtemp,dsaln ',2f6.3,2f10.6) + 104 format(i9,2i6,i4,'absorbup,dn,dtemp,dsaln ',2f6.3,2f10.6) ! else ! @@ -640,7 +640,7 @@ subroutine mxkrtabj(m,n, j, depnew) q=max(0.,min(1.,(util1(i,j)-pu(i,j,k))/(dpu(i,j,k,n)+epsil))) u(i,j,k,n)=u(i,j,k,n)+q*(u(i,j,1,n)-u(i,j,k,n)) !diag if (i.eq.itest .and. j.eq.jtest) write & -!diag (lp,'(i9,2i5,i3,a,f9.3,2f8.3)') nstep,i+i0,j+j0,k, & +!diag (lp,'(i9,2i6,i4,a,f9.3,2f8.3)') nstep,i+i0,j+j0,k, & !diag ' dpu, old/new u ',dpu(i,j,k,n)*qonem,uold,u(i,j,k,n) enddo !k endif !iu @@ -705,7 +705,7 @@ subroutine mxkrtabj(m,n, j, depnew) q=max(0.,min(1.,(util1(i,j)-pv(i,j,k))/(dpv(i,j,k,n)+epsil))) v(i,j,k,n)=v(i,j,k,n)+q*(v(i,j,1,n)-v(i,j,k,n)) !diag if (i.eq.itest .and. j.eq.jtest) write & -!diag (lp,'(i9,2i5,i3,a,f9.3,2f8.3)') nstep,i+i0,j+j0,k, & +!diag (lp,'(i9,2i6,i4,a,f9.3,2f8.3)') nstep,i+i0,j+j0,k, & !diag ' dpv, old/new v ',dpv(i,j,k,n)*qonem,vold,v(i,j,k,n) enddo !k endif !iv @@ -789,7 +789,7 @@ subroutine mxkrtbaj(m,n, j) pres(k+1)=pres(k)+delp(k) enddo !k ! - 103 format (i9,2i5,a/(33x,i3,2f8.3,f8.3,f8.2,f8.1)) + 103 format (i9,2i6,a/(33x,i3,2f8.3,f8.3,f8.2,f8.1)) !diag if (i.eq.itest .and. j.eq.jtest) & !diag write (lp,103) nstep,itest+i0,jtest+j0, & !diag ' entering mxlayr: temp saln dens thkns dpth',(k, & @@ -965,7 +965,7 @@ subroutine mxkrtbaj(m,n, j) enddo !k ! !diag if (i.eq.itest .and. j.eq.jtest .and. turgen(i,j).lt.0.) & -!diag write (lp,'(i9,2i5,a,f8.2,1p,e13.3)') nstep,itest+i0,jtest+j0, & +!diag write (lp,'(i9,2i6,a,f8.2,1p,e13.3)') nstep,itest+i0,jtest+j0, & !diag ' monin-obukhov length (m),turgen:',thknew*qonem,turgen(i,j) ! ! --- don't allow mixed layer to get too deep or too shallow. @@ -986,7 +986,7 @@ subroutine mxkrtbaj(m,n, j) end if enddo !k ! -!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i5,a,2f9.3)') & +!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i6,a,2f9.3)') & !diag nstep,i+i0,j+j0, & !diag ' old/new mixed layer depth:',thkold*qonem,thknew*qonem ! @@ -1009,7 +1009,7 @@ subroutine mxkrtbaj(m,n, j) else if (pres(k).lt.thknew) then ! !diag if (i.eq.itest.and.j.eq.jtest) & -!diag write (lp,'(i9,2i5,i3,a,3f9.3,25x,2f9.3)') & +!diag write (lp,'(i9,2i6,i4,a,3f9.3,25x,2f9.3)') & !diag nstep,i+i0,j+j0,k, & !diag ' p_k,thknew,p_k+1,t_1,t_k=',pres(k)*qonem,thknew*qonem, & !diag pres(k+1)*qonem,ttem(1),ttem(k) @@ -1041,11 +1041,11 @@ subroutine mxkrtbaj(m,n, j) !diag enddo !k !diag tndcyt=tndcyt-surflx(i,j)*delt1*g/spcifh !diag tndcys=tndcys-salflx(i,j)*delt1*g -!diag write (lp,'(2i5,a,1p,2e16.8,e9.1)') i+i0,j+j0, & +!diag write (lp,'(2i6,a,1p,2e16.8,e9.1)') i+i0,j+j0, & !diag ' mxlyr temp.col.intgl.:',totem,tndcyt,tndcyt/totem -!diag write (lp,'(2i5,a,1p,2e16.8,e9.1)') i+i0,j+j0, & +!diag write (lp,'(2i6,a,1p,2e16.8,e9.1)') i+i0,j+j0, & !diag ' mxlyr saln.col.intgl.:',tosal,tndcys,tndcys/tosal -!diag write (lp,'(i9,2i5,3x,a,1p,3e10.2/22x,a,3e10.2)') & +!diag write (lp,'(i9,2i6,3x,a,1p,3e10.2/22x,a,3e10.2)') & !diag nstep,i+i0,j+j0,'total saln,srf.flux,tndcy:',tosal/g, & !diag salflx*delt1,tndcys/g,'total temp,srf.flux,tndcy:', & !diag totem/g,surflx*delt1,tndcyt*spcifh/g @@ -1155,7 +1155,7 @@ subroutine mxkrtbbj(m,n, j) klist(i,j)=k end if enddo !k - 100 format (i9,2i5,2a,3f9.3/3f10.4,2(2x,2f10.4)) + 100 format (i9,2i6,2a,3f9.3/3f10.4,2(2x,2f10.4)) ! u(i,j,1,n)=uflux(i,j)/util2(i,j) ! @@ -1258,3 +1258,4 @@ subroutine mxkrtbbj(m,n, j) !> Nov. 2018 - allow for wtrflx in buoyancy flux !> Nov. 2018 - allow for oneta in swfrac and surface fluxes !> May 2024 - added epmass=2 for river only mass exchange +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mxkrtm.F90 b/mxkrtm.F90 index 658f63f..aa05256 100644 --- a/mxkrtm.F90 +++ b/mxkrtm.F90 @@ -54,7 +54,7 @@ subroutine mxkrtm(m,n) enddo !j !$OMP END PARALLEL DO ! - 103 format (i9,2i5,a/(33x,i3,2f8.3,f8.3,0p,f8.2,f8.1)) + 103 format (i9,2i6,a/(35x,i3,2f8.3,f8.3,0p,f8.2,f8.1)) !diag if (itest.gt.0 .and. jtest.gt.0) write (lp,103) nstep,itest,jtest, & !diag ' entering mxlayr: temp saln dens thkns dpth', & !diag (k,temp(itest,jtest,k,n),saln(itest,jtest,k,n), & @@ -94,7 +94,7 @@ subroutine mxkrtm(m,n) end if !thermo.or.sstflg.gt.0.or.srelax:else ! !diag if (itest.gt.0.and.jtest.gt.0.and.turgen(itest,jtest).lt.0.) & -!diag write (lp,'(i9,2i5,a,f8.2)') nstep,itest,jtest, & +!diag write (lp,'(i9,2i6,a,f8.2)') nstep,itest,jtest, & !diag ' monin-obukhov length (m):',sdot(itest,jtest)*qonem ! ! --- store 'old' t/s column integral in totem/tosal (diagnostic use only) @@ -126,7 +126,7 @@ subroutine mxkrtm(m,n) !cc tndcyt=tndcyt+temp(itest,jtest,k,n)*dp(itest,jtest,k,n) !cc tndcys=tndcys+saln(itest,jtest,k,n)*dp(itest,jtest,k,n) !cc end do -!cc write (lp,'(i9,2i5,i3,3x,a,1p,3e10.2/25x,a,3e10.2)') nstep,itest, +!cc write (lp,'(i9,2i6,i4,3x,a,1p,3e10.2/27x,a,3e10.2)') nstep,itest, !cc . jtest,kmax,'total saln,srf.flux,tndcy:',tosal/g,salflx(itest, !cc . jtest)*delt1,tndcys/g,'total temp,srf.flux,tndcy:',totem/g, !cc . surflx(itest,jtest)*delt1,tndcyt*spcifh/g @@ -494,7 +494,7 @@ subroutine mxkrtmbj(m,n, sdot, j) tmxl=t1+surflx(i,j)*delt1*g/(spcifh*thknss) smxl=s1+ vsflx(i) *delt1*g/ thknss ! -!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i5,a,3f7.3,f8.2)') & +!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i6,a,3f7.3,f8.2)') & !diag nstep,i,j,' t,s,sig,dp after diab.forcing',tmxl,smxl, & !diag sig(tmxl,smxl),thknss*qonem ! @@ -502,7 +502,7 @@ subroutine mxkrtmbj(m,n, sdot, j) ! ! --- (mixed layer d e e p e n s) ! -!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i5,a,f9.3,a)') & +!diag if (i.eq.itest.and.j.eq.jtest) write (lp,'(i9,2i6,a,f9.3,a)') & !diag nstep,i,j,' entrain',sdot(i,j)*qonem,' m of water' ! tmxl=(tmxl*thknss+tdp(i))/pnew @@ -518,7 +518,7 @@ subroutine mxkrtmbj(m,n, sdot, j) if (k.gt.kk) go to 27 ! !diag if (i.eq.itest.and.j.eq.jtest) & -!diag write (lp,'(i9,2i5,a,i2,a,3p,2f7.3)') nstep,i,j, & +!diag write (lp,'(i9,2i6,a,i4,a,3p,2f7.3)') nstep,i,j, & !diag ' sig\*(1),sig\*(',k,') =',th3d(i,j,1,n)+thbase, & !diag th3d(i,j,k,n)+thbase ! @@ -527,7 +527,7 @@ subroutine mxkrtmbj(m,n, sdot, j) tn=temp(i,j,k,n) ! !diag if (i.eq.itest.and.j.eq.jtest) & -!diag write (lp,'(i9,2i5,i3,a,2f9.4,f8.2)') nstep,i,j,k, & +!diag write (lp,'(i9,2i6,i4,a,2f9.4,f8.2)') nstep,i,j,k, & !diag ' t,s,dp before detrainment',tn,sn,dpno*qonem ! ! --- distribute last time step's heating and freshwater flux over depth range @@ -596,7 +596,7 @@ subroutine mxkrtmbj(m,n, sdot, j) !diag thknss*qonem,'sdot,z=',sdot(i,j)*qonem,z,'t,s,dp(',k,')=',tn, & !diag sn,dpno*qonem,'real root(s):',(work(nu),nu=1,num) !diag end if - 100 format (i9,2i5,a,2f7.3,f8.2,3x,a,2f8.2/20x,a,i2,a,2f7.3,f8.2, & + 100 format (i9,2i6,a,2f7.3,f8.2,3x,a,2f8.2/20x,a,i4,a,2f7.3,f8.2, & 3x,a,1p3e11.4) ! ! --- does root fall into appropriate range? @@ -623,7 +623,7 @@ subroutine mxkrtmbj(m,n, sdot, j) enddo !ktr ! !diag if (i.eq.itest.and.j.eq.jtest) & -!diag write (lp,'(i9,2i5,i3,a,2f9.4,f8.2)') nstep,i,j,k, & +!diag write (lp,'(i9,2i6,i4,a,2f9.4,f8.2)') nstep,i,j,k, & !diag ' t,s,dp after detrainment',temp(i,j,k,n),saln(i,j,k,n), & !diag dp(i,j,k,n)*qonem ! @@ -644,7 +644,7 @@ subroutine mxkrtmbj(m,n, sdot, j) thmix( i,j) =th3d(i,j,1,n) ! !diag if (i.eq.itest.and.j.eq.jtest) write & -!diag (lp,'(i9,2i5,i3,a,2f9.4,f8.2)') nstep,i,j,1, & +!diag (lp,'(i9,2i6,i4,a,2f9.4,f8.2)') nstep,i,j,1, & !diag ' final mixed-layer t,s,dp ',tmxl,smxl,dp(i,j,1,n)*qonem ! endif !ip @@ -671,3 +671,4 @@ subroutine mxkrtmbj(m,n, sdot, j) !> Aug. 2018 - added wtrflx, salflx now only actual salt flux !> Nov. 2018 - allow for wtrflx in buoyancy flux !> May 2024 - added epmass=2 for river only mass exchange +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/mxpwp.F90 b/mxpwp.F90 index ba05e78..0cad3b5 100644 --- a/mxpwp.F90 +++ b/mxpwp.F90 @@ -305,7 +305,7 @@ subroutine mxpwpaij(m,n, i,j) !diag nstep,i+i0,j+j0,k,0.,1.-swfrac(k+1),dtemp,dsaln !diag call flush(lp) !diag endif - 100 format(i9,2i5,i3,'absorbup,dn,dtemp,dsaln ',2f6.3,2f10.6) + 100 format(i9,2i6,i4,'absorbup,dn,dtemp,dsaln ',2f6.3,2f10.6) else !.not.pensol dtemp=surflx(i,j)* & delt1*g*qoneta/(spcifh*max(onemm,dp1d(k))) @@ -425,7 +425,7 @@ subroutine mxpwpaij(m,n, i,j) !diag t1d(k),s1d(k),tr1d(k,1) !diag call flush(lp) !diag endif - 101 format (i9,2i5,2i3,a/9x,3f9.4) + 101 format (i9,2i6,2i4,a/9x,3f9.4) enddo !k endif !kmlb>1 ! @@ -493,7 +493,7 @@ subroutine mxpwpaij(m,n, i,j) !diag t1d(k3),s1d(k3),th1d(k3) !diag call flush(lp) !diag endif - 102 format (i9,2i5,5i3,a/9x,4f9.4) + 102 format (i9,2i6,5i4,a/9x,4f9.4) ! enddo kmlb=k @@ -546,7 +546,7 @@ subroutine mxpwpaij(m,n, i,j) !diag dp1d(k1)/onem,dp1d(k)/onem !diag call flush(lp) !diag endif - 103 format('rig(k)',i9,2i5,2i3,1p,6e13.5) + 103 format('rig(k)',i9,2i6,2i4,1p,6e13.5) enddo !k ! ! --- identify interface where rig has a vertical minimum at each grid point @@ -577,7 +577,7 @@ subroutine mxpwpaij(m,n, i,j) !diag dp1d(min(kk,k+1))/onem !diag call flush(lp) !diag endif - 104 format('rig mixing',i9,2i5,i3,1p,7e13.5) + 104 format('rig mixing',i9,2i6,i4,1p,7e13.5) ! rigf=rig1*(s1d(k-1)-s1d(k)) sold=s1d(k-1) @@ -820,3 +820,4 @@ subroutine mlbdep(t1d,s1d,th1d,tr1d,u1d,v1d,p1d,dp1d,kmlb,kmax) !> Aug. 2018 - added wtrflx, salflx now only actual salt flux !> Nov. 2018 - allow for oneta in swfrac and surface fluxes !> May 2024 - added epmass=2 for river only mass exchange +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/poflat.F90 b/poflat.F90 index b241e55..b4f19fc 100644 --- a/poflat.F90 +++ b/poflat.F90 @@ -84,7 +84,7 @@ subroutine profile_lat(theta,press,xlat) pinthi=p1*(1.-x)+p2*x press =(pintlo*(1.-z)+pinthi*z)*onem endif -!diag write (lp,'('' poflat'',2f7.2,2i5,2f7.2,f7.1)') & +!diag write (lp,'('' poflat'',2f7.2,2i6,2f7.2,f7.1)') & !diag theta,xlat,ix,kz,x,z,press/onem else ! @@ -112,7 +112,7 @@ subroutine profile_lat(theta,press,xlat) z=max((pinthi-pz)/(pinthi-pintlo),0.0) theta=thet1+(kz-z-1.0)*dthet endif -!diag write (lp,'('' roflat'',2f7.2,2i5,2f7.2,f7.1)') & +!diag write (lp,'('' roflat'',2f7.2,2i6,2f7.2,f7.1)') & !diag theta,xlat,ix,kz,x,z,pz endif return @@ -151,3 +151,4 @@ real function roflat(press,xlat) !> !> May 2000 - conversion to SI units !> Aug 2001 - added roflat and profile_lat to poflat. +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/thermf.F90 b/thermf.F90 index dfcbdeb..7635ea1 100644 --- a/thermf.F90 +++ b/thermf.F90 @@ -438,7 +438,7 @@ subroutine thermf_oi(m,n) saln(i,j,k1,n) = saln(i,j,k1,n) * max(epsil, dplay1) & / max(epsil, dp(i,j,k1,n)) if (.false. .and. i.eq.itest.and.j.eq.jtest) then - write(lp,'(i9,i3,a,1p5g12.4)') & + write(lp,'(i9,i4,a,1p5g12.4)') & nstep,k1,' 1e,dp = ', & onetanew,dpemnp*qonem,dpemnp1*qonem, & dplay1*qonem,dp(i,j,k1,n)*qonem @@ -492,7 +492,7 @@ subroutine thermf_oi(m,n) empcum=empcum+d2 ! if (.false. .and. itest.gt.0 .and. jtest.gt.0) then - write(lp,'(i9,2i5,a/19x,4f10.4)') & + write(lp,'(i9,2i6,a/21x,4f10.4)') & nstep,i0+itest,j0+jtest, & ' sswflx surflx sstflx wtrflx', & sswflx(itest,jtest), & @@ -882,14 +882,14 @@ subroutine thermf(m,n, dtime) !$OMP END PARALLEL DO ! if (.false. .and. itest.gt.0 .and. jtest.gt.0) then - write(lp,'(i9,2i5,a/19x,4f10.4)') & + write(lp,'(i9,2i6,a/21x,4f10.4)') & nstep,i0+itest,j0+jtest, & ' sstflx ustar hekman surflx', & sstflx(itest,jtest), & ustar( itest,jtest), & hekman(itest,jtest), & surflx(itest,jtest) - write(lp,'(i9,2i5,a/19x,4f10.4)') & + write(lp,'(i9,2i6,a/21x,4f10.4)') & nstep,i0+itest,j0+jtest, & ' sswflx wtrflx rivflx sssflx', & sswflx(itest,jtest), & @@ -1329,7 +1329,7 @@ subroutine thermfj(m,n,dtime, j) swfl = swscl *swfl endif if (.false. .and. i.eq.itest.and.j.eq.jtest) then - write(lp,'(i9,a,2i5,2f8.5)') & + write(lp,'(i9,a,2i6,2f8.5)') & nstep,', hr,lat =',ihr,ilat,xhr,xlat write(lp,'(i9,a,5f8.5)') & nstep,', swscl =',swscl,diurnl(ihr, ilat ), & @@ -1559,9 +1559,9 @@ subroutine thermfj(m,n,dtime, j) surflx(i,j) = radfl - snsibl - evap ! if (.false. .and. i.eq.itest.and.j.eq.jtest) then - write(lp,'(i9,2i5,a,4f8.5)') & + write(lp,'(i9,2i6,a,4f8.5)') & nstep,i0+i,j0+j,' cl0,cl,cs,cd = ',cl0,clh,csh,cd0 - write(lp,'(i9,2i5,a,2f8.2,f8.5)') & + write(lp,'(i9,2i6,a,2f8.2,f8.5)') & nstep,i0+i,j0+j,' wsph,tdif,ustar = ',wsph,tdif,ustar(i,j) call flush(lp) endif @@ -1661,9 +1661,9 @@ subroutine thermfj(m,n,dtime, j) surflx(i,j) = radfl - snsibl - evap ! if (.false. .and. i.eq.itest.and.j.eq.jtest) then - write(lp,'(i9,2i5,a,3f8.5)') & + write(lp,'(i9,2i6,a,3f8.5)') & nstep,i0+i,j0+j,' cl,cs,cd = ',clh,csh,cd0 - write(lp,'(i9,2i5,a,2f8.2,f8.5)') & + write(lp,'(i9,2i6,a,2f8.2,f8.5)') & nstep,i0+i,j0+j,' va,tamst,ustar = ',va,tamts,ustar(i,j) call flush(lp) endif @@ -1768,9 +1768,9 @@ subroutine thermfj(m,n,dtime, j) surflx(i,j) = radfl - snsibl - evap ! if (.false. .and. i.eq.itest.and.j.eq.jtest) then - write(lp,'(i9,2i5,a,3f8.5)') & + write(lp,'(i9,2i6,a,3f8.5)') & nstep,i0+i,j0+j,' cl,cs,cd = ',clh,csh,cd0 - write(lp,'(i9,2i5,a,2f8.2,f8.5)') & + write(lp,'(i9,2i6,a,2f8.2,f8.5)') & nstep,i0+i,j0+j,' va,tamst,ustar = ',va,tamts,ustar(i,j) call flush(lp) endif @@ -2381,3 +2381,4 @@ subroutine swfrml_ij(akpar,hbl,bot,zzscl,jerlov,swfrml) !> Jan. 2024 - evap with epmass==1 can extend below a thin enough layer 1 !> Jan. 2024 - evap with epmass==1 may be clipped for small oneta !> May 2024 - added epmass=2 for river only mass exchange +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000 diff --git a/trcupd.F90 b/trcupd.F90 index 7f5a51d..645c334 100644 --- a/trcupd.F90 +++ b/trcupd.F90 @@ -293,8 +293,8 @@ subroutine initrc(mnth) prij(k+1)=prij(k)+dp(itest,jtest,k,1) enddo !k write(cformat,'(a,i2,a,i2,a)') & - '(i9,2i5,a,',ntracr, & - 'a / (23x,i3,2f8.2,', ntracr,'f8.4))' + '(i9,2i6,a,',ntracr, & + 'a / (25x,i4,2f8.2,', ntracr,'f8.4))' write (lp,cformat) & nstep,i0+itest,j0+jtest, & ' istate: thkns dpth', & @@ -304,7 +304,7 @@ subroutine initrc(mnth) (prij(k+1)+prij(k))*0.5*qonem, & (tracer(itest,jtest,k,1,ktr),ktr=1,ntracr), & k=1,kk) - write(lp,'(23x,a,8x,f8.2)') 'bot',depths(itest,jtest) + write(lp,'(25x,a,8x,f8.2)') 'bot',depths(itest,jtest) endif !test tile call xcsync(flush_lp) ! @@ -1156,3 +1156,4 @@ end subroutine plmtrcs !> Oct. 2013 - added jerlv0=-1 and calls to swfrac_ij !> May 2014 - use land/sea masks (e.g. ip) to skip land !> Nov. 2018 - allow for oneta in swfrac except in initrc +!> Feb. 2025 - printout now ok for kdm<1000 and idm,jdm<100,000