Changeset 6931
- Timestamp:
- 2016-09-16T09:32:20+02:00 (8 years ago)
- Location:
- branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90
r6841 r6931 178 178 zcek1 = 9345.17/ztkel - 60.2409 + 23.3585 * LOG(zt) + zsal*(0.023517 - 0.00023656*ztkel & 179 179 & + 0.0047036e-4*ztkel**2) 180 chemc(ji,jj,1) = EXP( zcek1 ) * 1E-6 ! mol/(kgatm)180 chemc(ji,jj,1) = EXP( zcek1 ) * 1E-6 * rhop(ji,jj,1) / 1000. ! mol/(L atm) 181 181 chemc(ji,jj,2) = -1636.75 + 12.0408*ztkel - 0.0327957*ztkel**2 + 0.0000316528*ztkel**3 182 182 chemc(ji,jj,3) = 57.7 - 0.118*ztkel -
branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
r6455 r6931 92 92 REAL(wp) :: zyr_dec, zdco2dt 93 93 CHARACTER (len=25) :: charout 94 REAL(wp), POINTER, DIMENSION(:,:) :: zkgco2, zkgo2, zh2co3, zoflx, zw2d 94 REAL(wp), POINTER, DIMENSION(:,:) :: zkgco2, zkgo2, zh2co3, zoflx, zw2d, zpco2atm 95 95 !!--------------------------------------------------------------------- 96 96 ! 97 97 IF( nn_timing == 1 ) CALL timing_start('p4z_flx') 98 98 ! 99 CALL wrk_alloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx )99 CALL wrk_alloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx, zpco2atm ) 100 100 ! 101 101 … … 172 172 zsal = tsn(ji,jj,1,jp_sal) + ( 1.- tmask(ji,jj,1) ) * 35. 173 173 zvapsw = exp(24.4543 - 67.4509*(100.0/ztkel) - 4.8489*log(ztkel/100) - 0.000544*zsal) 174 xCO2approx = satmco2(ji,jj) * ( patm(ji,jj) - zvapsw ) * 1.E-6175 zxc2 = (1.0 - xCO2approx)**2174 zpco2atm(ji,jj) = satmco2(ji,jj) * ( patm(ji,jj) - zvapsw ) 175 zxc2 = (1.0 - zpco2atm(ji,jj) * 1E-6 )**2 176 176 zfugcoeff = exp(patm(ji,jj) * (chemc(ji,jj,2) + 2.0 * zxc2 * chemc(ji,jj,3) ) & 177 177 & / (82.05736 * ztkel)) 178 zfco2 = satmco2(ji,jj) * ( patm(ji,jj) - zvapsw) * zfugcoeff178 zfco2 = zpco2atm(ji,jj) * zfugcoeff 179 179 ! Compute CO2 flux for the sea and air 180 zfld = satmco2(ji,jj) * patm(ji,jj) * tmask(ji,jj,1) * chemc(ji,jj,1) * zkgco2(ji,jj)! (mol/L) * (m/s)181 zflu = zh2co3(ji,jj) * tmask(ji,jj,1) *zkgco2(ji,jj) ! (mol/L) (m/s) ?180 zfld = zfco2 * chemc(ji,jj,1) * zkgco2(ji,jj) ! (mol/L) * (m/s) 181 zflu = zh2co3(ji,jj) * zkgco2(ji,jj) ! (mol/L) (m/s) ? 182 182 oce_co2(ji,jj) = ( zfld - zflu ) * rfact2 * e1e2t(ji,jj) * tmask(ji,jj,1) * 1000. 183 183 ! compute the trend 184 tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + ( zfld - zflu ) * rfact2 / fse3t(ji,jj,1) 184 tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + ( zfld - zflu ) * rfact2 / fse3t(ji,jj,1) * tmask(ji,jj,1) 185 185 ! Compute O2 flux 186 zfld16 = patm(ji,jj) * chemo2(ji,jj,1) * tmask(ji,jj,1) *zkgo2(ji,jj) ! (mol/L) * (m/s)187 zflu16 = trb(ji,jj,1,jpoxy) * tmask(ji,jj,1) *zkgo2(ji,jj)188 zoflx(ji,jj) = zfld16 - zflu16186 zfld16 = patm(ji,jj) * chemo2(ji,jj,1) * zkgo2(ji,jj) ! (mol/L) * (m/s) 187 zflu16 = trb(ji,jj,1,jpoxy) * zkgo2(ji,jj) 188 zoflx(ji,jj) = ( zfld16 - zflu16 ) * tmask(ji,jj,1) 189 189 tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + zoflx(ji,jj) * rfact2 / fse3t(ji,jj,1) 190 190 END DO … … 216 216 ENDIF 217 217 IF( iom_use( "Dpco2" ) ) THEN 218 zw2d(:,:) = ( satmco2(:,:) * patm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1)218 zw2d(:,:) = ( zpco2atm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) 219 219 CALL iom_put( "Dpco2" , zw2d ) 220 220 ENDIF … … 236 236 ENDIF 237 237 ! 238 CALL wrk_dealloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx )238 CALL wrk_dealloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx, zpco2atm ) 239 239 ! 240 240 IF( nn_timing == 1 ) CALL timing_stop('p4z_flx') -
branches/CNRS/dev_r6270_PISCES_QUOTA/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zpoc.F90
r6841 r6931 76 76 !!--------------------------------------------------------------------- 77 77 ! 78 IF( nn_timing == 1 ) CALL timing_start('p4z_ rem')78 IF( nn_timing == 1 ) CALL timing_start('p4z_poc') 79 79 ! 80 80 ! Allocate temporary workspace
Note: See TracChangeset
for help on using the changeset viewer.