Skip to content
Snippets Groups Projects
Commit 0da1a369 authored by Guillaume Samson's avatar Guillaume Samson :snowman2:
Browse files

Merge branch '221-minor-error-in-pisces-uninitialized-arrays' into 'main'

Resolve "Minor error in PISCES uninitialized arrays"

Closes #221

See merge request nemo/nemo!269
parents 4956db34 b9ebac2c
No related branches found
No related tags found
No related merge requests found
......@@ -172,7 +172,7 @@ CONTAINS
ENDIF
ENDIF
!
CALL eos ( ts(:,:,:,:,:), Kmm, rhd ) ! In any case, we need rhd
CALL eos ( ts(:,:,:,:,:), Kmm, rhd, rhop ) ! In any case, we need rhop
CALL eos_rab( ts(:,:,:,:,Kmm), rab_n, Kmm ) ! now local thermal/haline expension ratio at T-points
CALL bn2 ( ts(:,:,:,:,Kmm), rab_n, rn2, Kmm ) ! before Brunt-Vaisala frequency need for zdfmxl
......
......@@ -145,7 +145,10 @@ CONTAINS
CALL dom_qco_r3c( ssh(:,:,Nnn), r3t_f, r3u_f, r3v_f )
# endif
ENDIF
CALL trc_stp ( istp, Nbb, Nnn, Nrhs, Naa ) ! time-stepping
IF( l_ldftra_time .OR. l_ldfeiv_time ) CALL ldf_tra( istp, Nbb, Nnn ) ! eddy diffusivity coeff. and/or eiv coeff.
CALL trc_stp ( istp, Nbb, Nnn, Nrhs, Naa ) ! time-stepping
! Swap time levels
Nrhs = Nbb
Nbb = Nnn
......
......@@ -67,7 +67,7 @@ CONTAINS
INTEGER, INTENT(in) :: Kbb, Kmm, Krhs ! time level indices
!
INTEGER :: ji, jj, jk, jn
REAL(wp) :: zdispot, zrhd, zcalcon, zdepexp, zdissol
REAL(wp) :: zdispot, zfact, zcalcon, zdepexp, zdissol
REAL(wp) :: zomegaca, zexcess, zexcess0, zkd, zwsbio
CHARACTER (len=25) :: charout
REAL(wp), DIMENSION(A2D(0),jpk) :: zhinit, zhi, zco3, zcaco3, ztra
......@@ -113,8 +113,8 @@ CONTAINS
! DEVIATION OF [CO3--] FROM SATURATION VALUE
! Salinity dependance in zomegaca and divide by rhop to have good units
zcalcon = calcon * ( salinprac(ji,jj,jk) / 35._wp )
zrhd = rhop(ji,jj,jk) / 1000._wp
zomegaca = ( zcalcon * zco3(ji,jj,jk) ) / ( aksp(ji,jj,jk) * zrhd + rtrn )
zfact = rhop(ji,jj,jk) / 1000._wp
zomegaca = ( zcalcon * zco3(ji,jj,jk) ) / ( aksp(ji,jj,jk) * zfact + rtrn )
! SET DEGREE OF UNDER-/SUPERSATURATION
excess(ji,jj,jk) = 1._wp - zomegaca
......@@ -136,6 +136,8 @@ CONTAINS
!
END_3D
!
zcaco3(:,:,:) = 0._wp
!
DO_2D( 0, 0, 0, 0 )
zcaco3(ji,jj,1) = prodcal(ji,jj,1) * rfact2r / ( wsbio4(ji,jj,1) / e3t(ji,jj,1,Kmm) / rday + ztra(ji,jj,1) )
END_2D
......@@ -203,9 +205,9 @@ CONTAINS
ENDIF
IF( iom_use( "CO3sat" ) ) THEN ! calcite saturation
DO_3D( 0, 0, 0, 0, 1, jpkm1)
zrhd = rhop(ji,jj,jk) / 1000._wp
zw3d(ji,jj,jk) = aksp(ji,jj,jk) / zrhd / ( calcon * ( salinprac(ji,jj,jk) / 35._wp ) + rtrn ) &
& * 1.e+3 * tmask(ji,jj,jk)
zcalcon = calcon * ( salinprac(ji,jj,jk) / 35._wp )
zfact = rhop(ji,jj,jk) / 1000._wp
zw3d(ji,jj,jk) = aksp(ji,jj,jk) * zfact / ( zcalcon + rtrn ) * 1.e+3 * tmask(ji,jj,jk)
END_3D
CALL iom_put( "CO3sat", zw3d )
ENDIF
......@@ -230,7 +232,7 @@ CONTAINS
INTEGER, INTENT(in) :: Kbb, Krhs ! time level indices
!
INTEGER :: ji, jj, jk, jn
REAL(wp) :: zdispot, zrhd, zcalcon, ztra
REAL(wp) :: zdispot, zfact, zcalcon, ztra
REAL(wp) :: zomegaca, zexcess, zexcess0, zkd
CHARACTER (len=25) :: charout
REAL(wp), DIMENSION(A2D(0),jpk) :: zhinit, zhi, zco3
......@@ -276,8 +278,8 @@ CONTAINS
! DEVIATION OF [CO3--] FROM SATURATION VALUE
! Salinity dependance in zomegaca and divide by rhd to have good units
zcalcon = calcon * ( salinprac(ji,jj,jk) / 35._wp )
zrhd = rhop(ji,jj,jk) / 1000._wp
zomegaca = ( zcalcon * zco3(ji,jj,jk) ) / ( aksp(ji,jj,jk) * zrhd + rtrn )
zfact = rhop(ji,jj,jk) / 1000._wp
zomegaca = ( zcalcon * zco3(ji,jj,jk) ) / ( aksp(ji,jj,jk) * zfact + rtrn )
! SET DEGREE OF UNDER-/SUPERSATURATION
excess(ji,jj,jk) = 1._wp - zomegaca
......@@ -330,9 +332,9 @@ CONTAINS
ENDIF
IF( iom_use( "CO3sat" ) ) THEN ! calcite saturation
DO_3D( 0, 0, 0, 0, 1, jpkm1)
zrhd = rhop(ji,jj,jk) / 1000._wp
zw3d(ji,jj,jk) = aksp(ji,jj,jk) / zrhd / ( calcon * ( salinprac(ji,jj,jk) / 35._wp ) + rtrn ) &
& * 1.e+3 * tmask(ji,jj,jk)
zcalcon = calcon * ( salinprac(ji,jj,jk) / 35._wp )
zfact = rhop(ji,jj,jk) / 1000._wp
zw3d(ji,jj,jk) = aksp(ji,jj,jk) * zfact / ( zcalcon + rtrn ) * 1.e+3 * tmask(ji,jj,jk)
END_3D
CALL iom_put( "CO3sat", zw3d )
ENDIF
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment