- Timestamp:
- 2011-03-15T16:27:46+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
r2643 r2690 4 4 !! TOP : CFC main model 5 5 !!====================================================================== 6 !! History : -! 1999-10 (JC. Dutay) original code7 !! 1.0 ! 2004-03(C. Ethe) free form + modularity8 !! 6 !! History : OPA ! 1999-10 (JC. Dutay) original code 7 !! NEMO 1.0 ! 2004-03 (C. Ethe) free form + modularity 8 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) reorganisation 9 9 !!---------------------------------------------------------------------- 10 10 #if defined key_cfc … … 12 12 !! 'key_cfc' CFC tracers 13 13 !!---------------------------------------------------------------------- 14 !! trc_sms_cfc 15 !! trc_cfc_cst : sets constants for CFC surface forcing computation16 !!---------------------------------------------------------------------- 17 USE oce_trc ! Ocean variables18 USE par_trc ! TOP parameters19 USE trc ! TOP variables14 !! trc_sms_cfc : compute and add CFC suface forcing to CFC trends 15 !! trc_cfc_cst : sets constants for CFC surface forcing computation 16 !!---------------------------------------------------------------------- 17 USE oce_trc ! Ocean variables 18 USE par_trc ! TOP parameters 19 USE trc ! TOP variables 20 20 USE trdmod_oce 21 21 USE trdmod_trc 22 USE iom 22 USE iom ! I/O library 23 23 24 24 IMPLICIT NONE … … 26 26 27 27 PUBLIC trc_sms_cfc ! called in ??? 28 PUBLIC trc_sms_cfc_alloc ! called in nemogcm.F9028 PUBLIC trc_sms_cfc_alloc ! called in trcini_cfc.F90 29 29 30 30 INTEGER , PUBLIC, PARAMETER :: jpyear = 150 ! temporal parameter … … 55 55 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 56 56 !! $Id$ 57 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 58 !!---------------------------------------------------------------------- 59 57 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 58 !!---------------------------------------------------------------------- 60 59 CONTAINS 61 62 60 63 61 SUBROUTINE trc_sms_cfc( kt ) … … 77 75 !! CFC concentration in pico-mol/m3 78 76 !!---------------------------------------------------------------------- 79 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 80 USE wrk_nemo, ONLY: ztrcfc => wrk_3d_1 ! use for CFC sms trend 81 !! 82 INTEGER, INTENT( in ) :: kt ! ocean time-step index 83 !! 84 INTEGER :: ji, jj, jn, jl, jm, js 85 INTEGER :: iyear_beg, iyear_end 86 INTEGER :: im1, im2 87 77 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 78 USE wrk_nemo, ONLY: ztrcfc => wrk_3d_1 ! use for CFC sms trend 79 ! 80 INTEGER, INTENT(in) :: kt ! ocean time-step index 81 ! 82 INTEGER :: ji, jj, jn, jl, jm, js 83 INTEGER :: iyear_beg, iyear_end 84 INTEGER :: im1, im2 88 85 REAL(wp) :: ztap, zdtap 89 86 REAL(wp) :: zt1, zt2, zt3, zv2 … … 93 90 REAL(wp) :: zca_cfc ! concentration at equilibrium 94 91 REAL(wp) :: zak_cfc ! transfert coefficients 95 96 REAL(wp), DIMENSION(jphem,jp_cfc) :: zpatm ! atmospheric function 97 !!---------------------------------------------------------------------- 98 92 REAL(wp), DIMENSION(jphem,jp_cfc) :: zpatm ! atmospheric function 93 !!---------------------------------------------------------------------- 94 ! 99 95 IF( wrk_in_use(3, 1) ) THEN 100 CALL ctl_stop('trc_sms_cfc : requested workspace array unavailable.') 101 RETURN 102 END IF 96 CALL ctl_stop('trc_sms_cfc: requested workspace array unavailable') ; RETURN 97 ENDIF 103 98 104 99 IF( kt == nit000 ) CALL trc_cfc_cst … … 199 194 END DO 200 195 END IF 201 202 IF( wrk_not_released(3, 1) ) CALL ctl_stop('trc_sms_cfc : failed to release workspace array.')203 196 ! 197 IF( wrk_not_released(3, 1) ) CALL ctl_stop('trc_sms_cfc: failed to release workspace array') 198 ! 204 199 END SUBROUTINE trc_sms_cfc 200 205 201 206 202 SUBROUTINE trc_cfc_cst … … 211 207 !!--------------------------------------------------------------------- 212 208 213 214 ! coefficient for CFC11 215 !---------------------- 216 217 ! Solubility 218 soa(1,1) = -229.9261 219 soa(2,1) = 319.6552 220 soa(3,1) = 119.4471 221 soa(4,1) = -1.39165 222 223 sob(1,1) = -0.142382 224 sob(2,1) = 0.091459 225 sob(3,1) = -0.0157274 226 227 ! Schmidt number 228 sca(1,1) = 3501.8 229 sca(2,1) = -210.31 230 sca(3,1) = 6.1851 231 sca(4,1) = -0.07513 232 233 ! coefficient for CFC12 234 !---------------------- 235 236 ! Solubility 237 soa(1,2) = -218.0971 238 soa(2,2) = 298.9702 239 soa(3,2) = 113.8049 240 soa(4,2) = -1.39165 241 242 sob(1,2) = -0.143566 243 sob(2,2) = 0.091015 244 sob(3,2) = -0.0153924 245 246 ! schmidt number 247 sca(1,2) = 3845.4 248 sca(2,2) = -228.95 249 sca(3,2) = 6.1908 250 sca(4,2) = -0.067430 209 ! coefficient for CFC11 210 !---------------------- 211 212 ! Solubility 213 soa(1,1) = -229.9261 214 soa(2,1) = 319.6552 215 soa(3,1) = 119.4471 216 soa(4,1) = -1.39165 217 218 sob(1,1) = -0.142382 219 sob(2,1) = 0.091459 220 sob(3,1) = -0.0157274 221 222 ! Schmidt number 223 sca(1,1) = 3501.8 224 sca(2,1) = -210.31 225 sca(3,1) = 6.1851 226 sca(4,1) = -0.07513 227 228 ! coefficient for CFC12 229 !---------------------- 230 231 ! Solubility 232 soa(1,2) = -218.0971 233 soa(2,2) = 298.9702 234 soa(3,2) = 113.8049 235 soa(4,2) = -1.39165 236 237 sob(1,2) = -0.143566 238 sob(2,2) = 0.091015 239 sob(3,2) = -0.0153924 240 241 ! schmidt number 242 sca(1,2) = 3845.4 243 sca(2,2) = -228.95 244 sca(3,2) = 6.1908 245 sca(4,2) = -0.067430 251 246 252 247 END SUBROUTINE trc_cfc_cst 253 248 249 254 250 INTEGER FUNCTION trc_sms_cfc_alloc() 255 251 !!---------------------------------------------------------------------- 256 252 !! *** ROUTINE trc_sms_cfc_alloc *** 257 253 !!---------------------------------------------------------------------- 258 259 ALLOCATE( xphem(jpi,jpj) , & 260 & qtr_cfc(jpi,jpj,jp_cfc) , & 261 & qint_cfc(jpi,jpj,jp_cfc), & 262 & STAT=trc_sms_cfc_alloc ) 263 254 ALLOCATE( xphem (jpi,jpj) , & 255 & qtr_cfc (jpi,jpj,jp_cfc) , & 256 & qint_cfc(jpi,jpj,jp_cfc) , STAT=trc_sms_cfc_alloc ) 257 ! 264 258 IF( trc_sms_cfc_alloc /= 0 ) CALL ctl_warn('trc_sms_cfc_alloc : failed to allocate arrays.') 265 259 ! 266 260 END FUNCTION trc_sms_cfc_alloc 267 261
Note: See TracChangeset
for help on using the changeset viewer.