Changeset 5901 for branches/2014/dev_r4621_NOC4_BDY_VERT_INTERP/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
- Timestamp:
- 2015-11-20T09:39:06+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4621_NOC4_BDY_VERT_INTERP/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
r5038 r5901 48 48 CONTAINS 49 49 50 SUBROUTINE p4z_lys( kt )50 SUBROUTINE p4z_lys( kt, knt ) 51 51 !!--------------------------------------------------------------------- 52 52 !! *** ROUTINE p4z_lys *** … … 59 59 !!--------------------------------------------------------------------- 60 60 ! 61 INTEGER, INTENT(in) :: kt ! ocean time step61 INTEGER, INTENT(in) :: kt, knt ! ocean time step 62 62 INTEGER :: ji, jj, jk, jn 63 63 REAL(wp) :: zalk, zdic, zph, zah2 64 64 REAL(wp) :: zdispot, zfact, zcalcon, zalka, zaldi 65 65 REAL(wp) :: zomegaca, zexcess, zexcess0 66 REAL(wp) :: zrfact267 66 CHARACTER (len=25) :: charout 68 67 REAL(wp), POINTER, DIMENSION(:,:,:) :: zco3, zcaldiss … … 81 80 DO jn = 1, 5 ! BEGIN OF ITERATION 82 81 ! 83 !CDIR NOVERRCHK84 82 DO jk = 1, jpkm1 85 !CDIR NOVERRCHK86 83 DO jj = 1, jpj 87 !CDIR NOVERRCHK88 84 DO ji = 1, jpi 89 85 zfact = rhop(ji,jj,jk) / 1000. + rtrn 90 86 zph = hi(ji,jj,jk) * tmask(ji,jj,jk) / zfact + ( 1.-tmask(ji,jj,jk) ) * 1.e-9 ! [H+] 91 zdic = tr n(ji,jj,jk,jpdic) / zfact92 zalka = tr n(ji,jj,jk,jptal) / zfact87 zdic = trb(ji,jj,jk,jpdic) / zfact 88 zalka = trb(ji,jj,jk,jptal) / zfact 93 89 ! CALCULATE [ALK]([CO3--], [HCO3-]) 94 90 zalk = zalka - ( akw3(ji,jj,jk) / zph - zph + borat(ji,jj,jk) / ( 1. + zph / akb3(ji,jj,jk) ) ) … … 130 126 ! (ACCORDING TO THIS FORMULATION ALSO SOME PARTICULATE 131 127 ! CACO3 GETS DISSOLVED EVEN IN THE CASE OF OVERSATURATION) 132 zdispot = kdca * zexcess * tr n(ji,jj,jk,jpcal)128 zdispot = kdca * zexcess * trb(ji,jj,jk,jpcal) 133 129 # if defined key_degrad 134 130 zdispot = zdispot * facvol(ji,jj,jk) … … 136 132 ! CHANGE OF [CO3--] , [ALK], PARTICULATE [CACO3], 137 133 ! AND [SUM(CO2)] DUE TO CACO3 DISSOLUTION/PRECIPITATION 138 zcaldiss(ji,jj,jk) = zdispot / rmtss! calcite dissolution139 zco3(ji,jj,jk) = zco3(ji,jj,jk) + zcaldiss(ji,jj,jk) * rfact134 zcaldiss(ji,jj,jk) = zdispot * rfact2 / rmtss ! calcite dissolution 135 zco3(ji,jj,jk) = zco3(ji,jj,jk) + zcaldiss(ji,jj,jk) 140 136 ! 141 137 tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2. * zcaldiss(ji,jj,jk) … … 147 143 ! 148 144 149 IF( lk_iomput ) THEN145 IF( lk_iomput .AND. knt == nrdttrc ) THEN 150 146 IF( iom_use( "PH" ) ) CALL iom_put( "PH" , -1. * LOG10( hi(:,:,:) ) * tmask(:,:,:) ) 151 147 IF( iom_use( "CO3" ) ) CALL iom_put( "CO3" , zco3(:,:,:) * 1.e+3 * tmask(:,:,:) ) 152 148 IF( iom_use( "CO3sat" ) ) CALL iom_put( "CO3sat", aksp(:,:,:) * 1.e+3 / calcon * tmask(:,:,:) ) 153 IF( iom_use( "DCAL" ) ) CALL iom_put( "DCAL" , zcaldiss(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:) )149 IF( iom_use( "DCAL" ) ) CALL iom_put( "DCAL" , zcaldiss(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:) ) 154 150 ELSE 155 151 trc3d(:,:,:,jp_pcs0_3d ) = -1. * LOG10( hi(:,:,:) ) * tmask(:,:,:) … … 224 220 #endif 225 221 !!====================================================================== 226 END MODULE 222 END MODULE p4zlys
Note: See TracChangeset
for help on using the changeset viewer.