Changeset 9285 for branches/NERC/dev_r5518_GO6_CO2_cmip/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
- Timestamp:
- 2018-01-26T13:27:36+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5518_GO6_CO2_cmip/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
r9257 r9285 81 81 gdept_0, gdept_n, & 82 82 gdepw_0, gdepw_n, & 83 nday_year, nsec_day, nyear, & 83 nday_year, nsec_day, & 84 nyear, nyear_len, & 84 85 rdt, tmask, mig, mjg, nimpp, & 85 86 njmpp … … 102 103 !! JPALM (27-06-2016): add lk_oasis for CO2 and DMS coupling with atm 103 104 USE sbc_oce, ONLY: lk_oasis 104 USE sms_medusa, ONLY: hist_pco2 105 USE sms_medusa, ONLY: hist_pco2, co2_yinit, co2_yend 105 106 USE trc, ONLY: ln_rsttr, nittrc000, trn 106 107 USE bio_medusa_init_mod, ONLY: bio_medusa_init … … 294 295 !! 295 296 !! what's atmospheric pCO2 doing? (data start in 1859) 296 iyr1 = nyear - 1859 + 1297 iyr1 = nyear 297 298 iyr2 = iyr1 + 1 298 if (iyr1 .le. 1) then299 !! before 18 60300 f_xco2a(:,:) = hist_pco2(1)301 elseif (iyr2 .ge. 242) then302 !! after 20 99303 f_xco2a(:,:) = hist_pco2( 242)299 if (iyr1 .le. co2_yinit) then 300 !! before 1850 301 f_xco2a(:,:) = 284.317 302 elseif (iyr2 .ge. co2_yend) then 303 !! after 2010 304 f_xco2a(:,:) = hist_pco2(co2_yend - co2_yinit +1) 304 305 else 305 306 !! just right … … 307 308 fq1 = hist_pco2(iyr2) 308 309 fq2 = real(nsec_day) / (60.0 * 60.0 * 24.0) 310 fq3 = (real(nday_year) - 1.0 + fq2) / real(nyear_len(1)) 309 311 !! AXY (14/06/12): tweaked to make more sense (and be correct) 310 # if defined key_bs_axy_yrlen311 !! bugfix: for 360d year with HadGEM2-ES forcing312 fq3 = (real(nday_year) - 1.0 + fq2) / 360.0313 # else314 !! original use of 365 days (not accounting for leap year or315 !! 360d year)316 fq3 = (real(nday_year) - 1.0 + fq2) / 365.0317 # endif312 !!# if defined key_bs_axy_yrlen 313 !! !! bugfix: for 360d year with HadGEM2-ES forcing 314 !! fq3 = (real(nday_year) - 1.0 + fq2) / 360.0 315 !!# else 316 !! !! original use of 365 days (not accounting for leap year or 317 !! !! 360d year) 318 !! fq3 = (real(nday_year) - 1.0 + fq2) / 365.0 319 !!# endif 318 320 fq4 = (fq0 * (1.0 - fq3)) + (fq1 * fq3) 319 321 f_xco2a(:,:) = fq4 … … 322 324 !! OCMIP pre-industrial pCO2 323 325 !! f_xco2a(:,:) = 284.725 !! CMIP5 pre-industrial pCO2 324 f_xco2a = 284.317 !! CMIP6 pre-industrial pCO2326 f_xco2a(:,:) = 284.317 !! CMIP6 pre-industrial pCO2 325 327 # endif 326 !! IF(lwp) WRITE(numout,*) ' MEDUSA nyear =', nyear 327 !! IF(lwp) WRITE(numout,*) ' MEDUSA nsec_day =', real(nsec_day) 328 !! IF(lwp) WRITE(numout,*) ' MEDUSA nday_year =', real(nday_year) 328 IF(lwp) WRITE(numout,*) ' MEDUSA nyear =', nyear 329 IF(lwp) WRITE(numout,*) ' MEDUSA nyear =', real(nyear_len(1)) 330 IF(lwp) WRITE(numout,*) ' MEDUSA nsec_day =', real(nsec_day) 331 IF(lwp) WRITE(numout,*) ' MEDUSA nday_year =', real(nday_year) 329 332 !! AXY (29/01/14): remove surplus diagnostics 330 !!IF(lwp) WRITE(numout,*) ' MEDUSA fq0 =', fq0331 !!IF(lwp) WRITE(numout,*) ' MEDUSA fq1 =', fq1332 !!IF(lwp) WRITE(numout,*) ' MEDUSA fq2 =', fq2333 !!IF(lwp) WRITE(numout,*) ' MEDUSA fq3 =', fq3334 IF(lwp) WRITE(numout,*) ' MEDUSA atm pCO2 =', f_xco2a(1,1)333 IF(lwp) WRITE(numout,*) ' MEDUSA fq0 =', fq0 334 IF(lwp) WRITE(numout,*) ' MEDUSA fq1 =', fq1 335 IF(lwp) WRITE(numout,*) ' MEDUSA fq2 =', fq2 336 IF(lwp) WRITE(numout,*) ' MEDUSA fq3 =', fq3 337 IF(lwp) WRITE(numout,*) ' MEDUSA atm pCO2 =', f_xco2a(1,1) 335 338 # endif 336 339
Note: See TracChangeset
for help on using the changeset viewer.