- Timestamp:
- 2011-10-31T09:42:39+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zflx.F90
r2987 r3028 83 83 !! - Add option for time-interpolation of atcco2.txt 84 84 !!--------------------------------------------------------------------- 85 USE wrk_nemo, ONLY: 86 USE wrk_nemo, ONLY: zkgco2 => wrk_2d_11 , zkgo2 => wrk_2d_12 , zh2co3 => wrk_2d_1387 USE wrk_nemo, ONLY: zoflx => wrk_2d_14 , zkg => wrk_2d_1588 USE wrk_nemo, ONLY: zdpco2 => wrk_2d_16 , zdpo2 => wrk_2d_1785 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 86 USE wrk_nemo, ONLY: zkgco2 => wrk_2d_11 , zkgo2 => wrk_2d_12 87 USE wrk_nemo, ONLY: zh2co3 => wrk_2d_13 , zoflx => wrk_2d_14 88 USE wrk_nemo, ONLY: 89 89 ! 90 90 INTEGER, INTENT(in) :: kt ! … … 98 98 !!--------------------------------------------------------------------- 99 99 100 IF( wrk_in_use(2, 11,12,13,14 ,15,16,17) ) THEN100 IF( wrk_in_use(2, 11,12,13,14) ) THEN 101 101 CALL ctl_stop('p4z_flx: requested workspace arrays unavailable') ; RETURN 102 102 ENDIF … … 196 196 zfld16 = atcox * patm(ji,jj) * chemc(ji,jj,2) * tmask(ji,jj,1) * zkgo2(ji,jj) ! (mol/L) * (m/s) 197 197 zflu16 = trn(ji,jj,1,jpoxy) * tmask(ji,jj,1) * zkgo2(ji,jj) 198 tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + ( zfld16 - zflu16 ) / fse3t(ji,jj,1) 199 200 IF( ln_diatrc ) THEN ! Save diagnostics 201 IF( lk_iomput ) THEN 202 zoflx(ji,jj) = ( zfld16 - zflu16 ) * 1000. * tmask(ji,jj,1) 203 zkg (ji,jj) = zkgco2(ji,jj) * tmask(ji,jj,1) 204 zdpco2(ji,jj) = ( satmco2(ji,jj) * patm(ji,jj) - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) ) * tmask(ji,jj,1) 205 zdpo2 (ji,jj) = ( atcox * patm(ji,jj) - trn(ji,jj,1,jpoxy) / ( chemc(ji,jj,2) + rtrn ) ) * tmask(ji,jj,1) 206 ELSE 207 zfact = 1. / e1e2t(ji,jj) / rfact 208 trc2d(ji,jj,jp_pcs0_2d ) = oce_co2(ji,jj) * zfact 209 trc2d(ji,jj,jp_pcs0_2d + 1) = ( zfld16 - zflu16 ) * 1000. * tmask(ji,jj,1) 210 trc2d(ji,jj,jp_pcs0_2d + 2) = zkgco2(ji,jj) * tmask(ji,jj,1) 211 trc2d(ji,jj,jp_pcs0_2d + 3) = ( satmco2(ji,jj) * patm(ji,jj) - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) ) & 212 & * tmask(ji,jj,1) 213 ENDIF 214 ENDIF 198 zoflx(ji,jj) = zfld16 - zflu16 199 tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + zoflx(ji,jj) / fse3t(ji,jj,1) 215 200 END DO 216 201 END DO … … 241 226 242 227 IF( ln_diatrc ) THEN 243 CALL iom_put( "Cflx" , oce_co2(:,:) / e1e2t(:,:) / rfact ) 244 CALL iom_put( "Oflx" , zoflx ) 245 CALL iom_put( "Kg" , zkg ) 246 CALL iom_put( "Dpco2", zdpco2 ) 247 CALL iom_put( "Dpo2" , zdpo2 ) 248 ENDIF 249 ! 250 IF( wrk_not_released(2, 11,12,13,14,15,16,17) ) & 251 & CALL ctl_stop('p4z_flx: failed to release workspace arrays') 228 IF( lk_iomput ) THEN 229 CALL iom_put( "Cflx" , oce_co2(:,:) / e1e2t(:,:) / rfact ) 230 CALL iom_put( "Oflx" , zoflx(:,:) * 1000 * tmask(:,:,1) ) 231 CALL iom_put( "Kg" , zkgco2(:,:) * tmask(:,:,1) ) 232 CALL iom_put( "Dpco2", ( satmco2(:,:) * patm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) ) 233 CALL iom_put( "Dpo2" , ( atcox * patm(:,:) - trn(:,:,1,jpoxy) / ( chemc(:,:,2) + rtrn ) ) * tmask(:,:,1) ) 234 ELSE 235 trc2d(:,:,jp_pcs0_2d ) = oce_co2(:,:) / e1e2t(:,:) / rfact 236 trc2d(:,:,jp_pcs0_2d + 1) = zoflx(:,:) * 1000 * tmask(:,:,1) 237 trc2d(:,:,jp_pcs0_2d + 2) = zkgco2(:,:) * tmask(:,:,1) 238 trc2d(:,:,jp_pcs0_2d + 3) = ( satmco2(:,:) * patm(:,:) - zh2co3(:,:) / ( chemc(:,:,1) + rtrn ) ) * tmask(:,:,1) 239 ENDIF 240 ENDIF 241 ! 242 IF( wrk_not_released(2, 11,12,13,14) ) CALL ctl_stop('p4z_flx: failed to release workspace arrays') 252 243 ! 253 244 END SUBROUTINE p4z_flx
Note: See TracChangeset
for help on using the changeset viewer.