Changeset 10045
- Timestamp:
- 2018-08-07T14:19:25+02:00 (5 years ago)
- Location:
- branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/air_sea.F90
r9385 r10045 7 7 !! - ! 2017-04 (M. Stringer) Code taken from trcbio_medusa.F90 8 8 !! - ! 2017-08 (A. Yool) Add air-sea flux kill switch 9 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 9 10 !!---------------------------------------------------------------------- 10 11 #if defined key_medusa … … 57 58 f_xco2a, f_xco2a_2d, & 58 59 zalk, zdic, zoxy, zsal, ztmp, & 60 # if defined key_omip_dic 61 pi_fgco2, & 62 f_pi_co2flux, f_pi_co2flux2d, & 63 f_pi_co2starair_2d, f_pi_co3, & 64 f_pi_fco2a_2d, f_pi_fco2w_2d, & 65 f_pi_h2co3, f_pi_hco3, & 66 f_pi_ocndpco2_2d, & 67 f_pi_omarg, f_pi_omcal, & 68 f_pi_pco2a2d, f_pi_pco2atm, f_pi_pco2w, & 69 f_pi_pco2w2d, f_pi_ph, & 70 f_pi_TDIC, f_pi_TDIC2d, & 71 f_pi_xco2a, f_pi_xco2a_2d, & 72 zomd, & 73 # endif 59 74 # endif 60 75 # if defined key_mocsy … … 119 134 REAL(wp) :: f_insitut_dum 120 135 REAL(wp) :: f_kwo2_dum 136 # if defined key_omip_dic 137 !! AXY (06/08/18): output variables that are not different for OMIP DIC 138 REAL(wp) :: f_rhosw_dum, f_schmidtco2_dum, f_kwco2_dum,f_K0_dum 139 # endif 121 140 # endif 122 123 141 124 142 # if defined key_roam … … 132 150 f_rhosw(:,:) = 0.0 133 151 f_K0(:,:) = 0.0 152 # if defined key_omip_dic 153 f_pi_fco2w(:,:) = 0.0 154 f_pi_fco2atm(:,:) = 0.0 155 f_pi_co2starair(:,:) = 0.0 156 f_pi_dpco2(:,:) = 0.0 157 # endif 134 158 !! air pressure (atm); ultimately this will use air 135 159 !! pressure at the base of the UKESM1 atmosphere … … 137 161 f_pp0(:,:) = 1.0 138 162 139 140 163 !!----------------------------------------------------------- 141 164 !! Air-sea gas exchange 142 165 !!----------------------------------------------------------- 143 166 144 # 167 # if defined key_debug_medusa 145 168 IF (lwp) write (numout,*) & 146 169 'air-sea: gas_transfer kt = ', kt 147 170 CALL flush(numout) 148 # 171 # endif 149 172 DO jj = 2,jpjm1 150 173 DO ji = 2,jpim1 … … 170 193 ENDDO 171 194 172 # if defined key_debug_medusa 173 IF (lwp) write (numout,*) & 174 'air-sea: carb-chem kt = ', kt 175 CALL flush(numout) 176 !! JPALM add carb print: 177 call trc_rst_dia_stat(f_xco2a(:,:), 'f_xco2a') 178 call trc_rst_dia_stat(wndm(:,:), 'wndm') 179 call trc_rst_dia_stat(f_kw660(:,:), 'f_kw660') 180 call trc_rst_dia_stat(ztmp(:,:), 'ztmp') 181 call trc_rst_dia_stat(zsal(:,:), 'zsal') 182 call trc_rst_dia_stat(zalk(:,:), 'zalk') 183 call trc_rst_dia_stat(zdic(:,:), 'zdic') 184 call trc_rst_dia_stat(zsil(:,:), 'zsil') 185 call trc_rst_dia_stat(zpho(:,:), 'zpho') 186 # endif 195 # if defined key_debug_medusa 196 IF (lwp) write (numout,*) & 197 'air-sea: carb-chem kt = ', kt 198 CALL flush(numout) 199 !! JPALM add carb print: 200 call trc_rst_dia_stat(f_xco2a(:,:), 'f_xco2a') 201 call trc_rst_dia_stat(wndm(:,:), 'wndm') 202 call trc_rst_dia_stat(f_kw660(:,:), 'f_kw660') 203 call trc_rst_dia_stat(ztmp(:,:), 'ztmp') 204 call trc_rst_dia_stat(zsal(:,:), 'zsal') 205 call trc_rst_dia_stat(zalk(:,:), 'zalk') 206 call trc_rst_dia_stat(zdic(:,:), 'zdic') 207 call trc_rst_dia_stat(zsil(:,:), 'zsil') 208 call trc_rst_dia_stat(zpho(:,:), 'zpho') 209 # endif 210 211 # if defined key_axy_carbchem 212 # if defined key_mocsy 213 !!----------------------------------------------------------- 214 !! MOCSY carbonate chemistry 215 !!----------------------------------------------------------- 216 !! 187 217 DO jj = 2,jpjm1 188 218 DO ji = 2,jpim1 189 219 if (tmask(ji,jj,1) == 1) then 190 !!191 # if defined key_axy_carbchem192 # if defined key_mocsy193 220 !! Jpalm -- 12-09-2017 -- add extra check after reccurent 194 221 !! carbonate failure in the coupled run. … … 201 228 (f_kw660(ji,jj) > 1.0E-2 ).OR.(f_kw660(ji,jj) < 0.0 ) ) THEN 202 229 IF(lwp) THEN 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 ENDIF 230 WRITE(numout,*) ' surface T = ',ztmp(ji,jj) 231 WRITE(numout,*) ' surface S = ',zsal(ji,jj) 232 WRITE(numout,*) ' surface ALK = ',zalk(ji,jj) 233 WRITE(numout,*) ' surface DIC = ',zdic(ji,jj) 234 WRITE(numout,*) ' KW660 = ',f_kw660(ji,jj) 235 WRITE(numout,*) ' atm xCO2 = ',f_xco2a(ji,jj) 236 WRITE(numout,*) ' surface pco2w = ',f_pco2w(ji,jj) 237 WRITE(numout,*) ' surface fco2w = ',f_fco2w(ji,jj) 238 WRITE(numout,*) ' surface fco2a = ',f_fco2atm(ji,jj) 239 WRITE(numout,*) ' surface co2flx = ',f_co2flux(ji,jj) 240 WRITE(numout,*) ' surface dpco2 = ',f_dpco2(ji,jj) 241 WRITE(numout,*) ' MOCSY input: ji =', mig(ji),' jj = ', mjg(jj), & 242 ' kt = ', kt 243 WRITE(numout,*) 'MEDUSA - Air-Sea INPUT: unrealistic surface Carb. Chemistry' 244 ENDIF 218 245 CALL ctl_stop( 'MEDUSA - Air-Sea INPUT: ', & 219 246 'unrealistic surface Carb. Chemistry -- INPUTS' ) 220 ENDIF 247 ENDIF 221 248 !! 222 249 !! AXY (22/06/15): use Orr & Epitalon (2015) MOCSY-2 carbonate … … 281 308 !! 'unrealistic surface Carb. Chemistry -- OUTPUTS' ) 282 309 !!ENDIF 310 # if defined key_omip_dic 311 !! AXY (06/08/18): repeat carbonate chemistry calculations but 312 !! using preindustrial DIC for OMIP; note that 313 !! some outputs below are dummy since they are 314 !! the same (or should be!) as for regular DIC 315 CALL mocsy_interface(ztmp(ji,jj),zsal(ji,jj),zalk(ji,jj), & 316 zomd(ji,jj),zsil(ji,jj),zpho(ji,jj), & 317 f_pp0(ji,jj),0.0, & 318 gphit(ji,jj),f_kw660(ji,jj), & 319 f_pi_xco2a(ji,jj),1,f_pi_ph(ji,jj), & 320 f_pi_pco2w(ji,jj),f_pi_fco2w(ji,jj), & 321 f_pi_h2co3(ji,jj),f_pi_hco3(ji,jj), & 322 f_pi_co3(ji,jj),f_pi_omarg(ji,jj), & 323 f_pi_omcal(ji,jj),f_BetaD_dum, & 324 f_rhosw_dum,f_opres_dum, & 325 f_insitut_dum,f_pi_pco2atm(ji,jj), & 326 f_pi_fco2atm(ji,jj),f_schmidtco2_dum, & 327 f_kwco2_dum,f_K0_dum, & 328 f_pi_co2starair(ji,jj),f_pi_co2flux(ji,jj), & 329 f_pi_dpco2(ji,jj)) 330 !! mmol / m3 -> umol / kg 331 f_pi_TDIC(ji,jj) = (zomd(ji,jj) / f_rhosw(ji,jj)) * 1000. 332 # endif 283 333 ENDIF 284 334 ENDDO 285 335 ENDDO 286 336 287 # if defined key_debug_medusa 288 !! JPALM add carb print: 289 call trc_rst_dia_stat(f_pco2w(:,:), 'f_pco2w') 290 call trc_rst_dia_stat(f_fco2w(:,:), 'f_fco2w') 291 call trc_rst_dia_stat(f_fco2atm(:,:), 'f_fco2atm') 292 call trc_rst_dia_stat(f_schmidtco2(:,:), 'f_schmidtco2') 293 call trc_rst_dia_stat(f_kwco2(:,:), 'f_kwco2') 294 call trc_rst_dia_stat(f_co2starair(:,:), 'f_co2starair') 295 call trc_rst_dia_stat(f_co2flux(:,:), 'f_co2flux') 296 call trc_rst_dia_stat(f_dpco2(:,:), 'f_dpco2') 297 # endif 337 # if defined key_debug_medusa 338 !! JPALM add carb print: 339 call trc_rst_dia_stat(f_pco2w(:,:), 'f_pco2w') 340 call trc_rst_dia_stat(f_fco2w(:,:), 'f_fco2w') 341 call trc_rst_dia_stat(f_fco2atm(:,:), 'f_fco2atm') 342 call trc_rst_dia_stat(f_schmidtco2(:,:), 'f_schmidtco2') 343 call trc_rst_dia_stat(f_kwco2(:,:), 'f_kwco2') 344 call trc_rst_dia_stat(f_co2starair(:,:), 'f_co2starair') 345 call trc_rst_dia_stat(f_co2flux(:,:), 'f_co2flux') 346 call trc_rst_dia_stat(f_dpco2(:,:), 'f_dpco2') 347 # if defined key_omip_dic 348 call trc_rst_dia_stat(f_pi_pco2w(:,:), 'f_pi_pco2w') 349 call trc_rst_dia_stat(f_pi_fco2w(:,:), 'f_pi_fco2w') 350 call trc_rst_dia_stat(f_pi_fco2atm(:,:), 'f_pi_fco2atm') 351 call trc_rst_dia_stat(f_pi_co2starair(:,:), 'f_pi_co2starair') 352 call trc_rst_dia_stat(f_pi_co2flux(:,:), 'f_pi_co2flux') 353 call trc_rst_dia_stat(f_pi_dpco2(:,:), 'f_pi_dpco2') 354 # endif 355 # endif 356 298 357 # else 299 358 !!----------------------------------------------------------- 359 !! Blackford et al. (2007) carbonate chemistry 360 !!----------------------------------------------------------- 361 !! 300 362 DO jj = 2,jpjm1 301 363 DO ji = 2,jpim1 … … 304 366 !! 305 367 !! carbon dioxide (CO2); Jerry Blackford code (ostensibly 306 !! OCMIP-2, but not) 368 !! OCMIP-2, but not); this should be removed in the future 307 369 CALL trc_co2_medusa(ztmp(ji,jj),zsal(ji,jj),zdic(ji,jj), & 308 370 zalk(ji,jj),0.0, & … … 324 386 if (iters .eq. 25) then 325 387 IF(lwp) WRITE(numout,*) 'air-sea: ITERS WARNING, ', & 326 iters, ' AT (', ji, ', ', jj, ', 1) AT ', kt388 iters, ' AT (', ji, ', ', jj, ', 1) AT ', kt 327 389 endif 328 390 ENDIF … … 332 394 # endif 333 395 # else 334 396 !!----------------------------------------------------------- 397 !! No carbonate chemistry 398 !!----------------------------------------------------------- 399 !! 335 400 DO jj = 2,jpjm1 336 401 DO ji = 2,jpim1 … … 374 439 !! AXY (18/08/17): single kill switch on air-sea CO2 flux for budget checking 375 440 f_co2flux(:,:) = 0. 441 # if defined key_omip_dic 442 !! AXY (06/08/18): applies to OMIP DIC too 443 f_pi_co2flux(:,:) = 0. 444 # endif 376 445 # endif 377 446 … … 562 631 f_ocndpco2_2d(ji,jj) = f_dpco2(ji,jj) 563 632 ENDIF 633 # if defined key_omip_dic 634 !! AXY (06/08/18): diagnostics for OMIP PI DIC 635 IF( med_diag%PI_ATM_PCO2%dgsave ) THEN 636 f_pi_pco2a2d(ji,jj) = f_pi_pco2atm(ji,jj) 637 ENDIF 638 IF( med_diag%OCN_PCO2%dgsave ) THEN 639 f_pi_pco2w2d(ji,jj) = f_pi_pco2w(ji,jj) 640 ENDIF 641 IF( med_diag%PI_CO2FLUX%dgsave ) THEN 642 !! mmol/m3/d -> mmol/m2/d 643 f_pi_co2flux2d(ji,jj) = f_pi_co2flux(ji,jj) * fse3t(ji,jj,1) 644 ENDIF 645 IF( med_diag%PI_TCO2%dgsave ) THEN 646 f_PI_TDIC2d(ji,jj) = f_PI_TDIC(ji,jj) 647 ENDIF 648 IF( med_diag%PI_ATM_XCO2%dgsave ) THEN 649 f_pi_xco2a_2d(ji,jj) = f_pi_xco2a(ji,jj) 650 ENDIF 651 IF( med_diag%PI_OCN_FCO2%dgsave ) THEN 652 f_pi_fco2w_2d(ji,jj) = f_pi_fco2w(ji,jj) 653 ENDIF 654 IF( med_diag%PI_ATM_FCO2%dgsave ) THEN 655 f_pi_fco2a_2d(ji,jj) = f_pi_fco2atm(ji,jj) 656 ENDIF 657 IF( med_diag%PI_CO2STARAIR%dgsave ) THEN 658 f_pi_co2starair_2d(ji,jj) = f_pi_co2starair(ji,jj) 659 ENDIF 660 IF( med_diag%PI_OCN_DPCO2%dgsave ) THEN 661 f_pi_ocndpco2_2d(ji,jj) = f_pi_dpco2(ji,jj) 662 ENDIF 663 IF( med_diag%PI_FGCO2%dgsave ) THEN 664 !! convert from mol/m2/day to kg/m2/s 665 !! mmol-C/m3/d -> kg-CO2/m2/s 666 pi_fgco2(ji,jj) = f_pi_co2flux(ji,jj) * fse3t(ji,jj,1) * & 667 CO2flux_conv 668 ENDIF 669 # endif 564 670 ENDIF 565 671 ENDIF … … 567 673 ENDDO 568 674 569 # endif675 # endif 570 676 571 677 !!----------------------------------------------------------------- … … 660 766 ENDDO 661 767 ENDDO 662 768 # endif 769 663 770 END SUBROUTINE air_sea 664 771 -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag_slice.F90
r9114 r10045 6 6 !! History : 7 7 !! - ! 2017-04 (M. Stringer) Code taken from trcbio_medusa.F90 8 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 8 9 !!---------------------------------------------------------------------- 9 10 #if defined key_medusa … … 236 237 DEALLOCATE( f_ocndpco2_2d ) 237 238 ENDIF 239 # if defined key_omip_dic 240 !!---------------------------------------------------------------------- 241 !! AXY (03/08/18): additional diagnostics for OMIP preindustrial DIC; 242 !! basically a subset of the normal diagnostics with 243 !! "PI_" stuck on the front; only includes those CO2 244 !! diagnostics that should differ under PI conditions 245 !!---------------------------------------------------------------------- 246 IF( med_diag%PI_ATM_PCO2%dgsave ) THEN 247 CALL iom_put( "PI_ATM_PCO2" , f_pi_pco2a2d ) 248 DEALLOCATE( f_pi_pco2a2d ) 249 ENDIF 250 IF( med_diag%PI_OCN_PH%dgsave ) THEN 251 CALL iom_put( "PI_OCN_PH" , f_pi_ph2d ) 252 DEALLOCATE( f_pi_ph2d ) 253 ENDIF 254 IF( med_diag%PI_OCN_PCO2%dgsave ) THEN 255 CALL iom_put( "PI_OCN_PCO2" , f_pi_pco2w2d ) 256 DEALLOCATE( f_pi_pco2w2d ) 257 ENDIF 258 IF( med_diag%PI_OCNH2CO3%dgsave ) THEN 259 CALL iom_put( "PI_OCNH2CO3" , f_pi_h2co32d ) 260 DEALLOCATE( f_pi_h2co32d ) 261 ENDIF 262 IF( med_diag%PI_OCN_HCO3%dgsave ) THEN 263 CALL iom_put( "PI_OCN_HCO3" , f_pi_hco32d ) 264 DEALLOCATE( f_pi_hco32d ) 265 ENDIF 266 IF( med_diag%PI_OCN_CO3%dgsave ) THEN 267 CALL iom_put( "PI_OCN_CO3" , f_pi_co32d ) 268 DEALLOCATE( f_pi_co32d ) 269 ENDIF 270 IF( med_diag%PI_CO2FLUX%dgsave ) THEN 271 CALL iom_put( "PI_CO2FLUX" , f_pi_co2flux2d ) 272 DEALLOCATE( f_pi_co2flux2d ) 273 ENDIF 274 IF( med_diag%PI_FGCO2%dgsave ) THEN 275 CALL iom_put( "PI_FGCO2" , pi_fgco2 ) 276 DEALLOCATE( pi_fgco2 ) 277 ENDIF 278 IF( med_diag%PI_OM_CAL%dgsave ) THEN 279 CALL iom_put( "PI_OM_CAL" , f_pi_omcal ) 280 !! AXY: WHY IS THIS NOT DEALLOCATED? 281 ENDIF 282 IF( med_diag%PI_OM_ARG%dgsave ) THEN 283 CALL iom_put( "PI_OM_ARG" , f_pi_omarg ) 284 !! AXY: WHY IS THIS NOT DEALLOCATED? 285 ENDIF 286 IF( med_diag%PI_TCO2%dgsave ) THEN 287 CALL iom_put( "PI_TCO2" , f_pi_TDIC2d ) 288 DEALLOCATE( f_pi_TDIC2d ) 289 ENDIF 290 IF( med_diag%PI_ATM_XCO2%dgsave ) THEN 291 CALL iom_put( "PI_ATM_XCO2" , f_pi_xco2a_2d ) 292 DEALLOCATE( f_pi_xco2a_2d ) 293 ENDIF 294 IF( med_diag%PI_OCN_FCO2%dgsave ) THEN 295 CALL iom_put( "PI_OCN_FCO2" , f_pi_fco2w_2d ) 296 DEALLOCATE( f_pi_fco2w_2d ) 297 ENDIF 298 IF( med_diag%PI_ATM_FCO2%dgsave ) THEN 299 CALL iom_put( "PI_ATM_FCO2" , f_pi_fco2a_2d ) 300 DEALLOCATE( f_pi_fco2a_2d ) 301 ENDIF 302 IF( med_diag%PI_CO2STARAIR%dgsave ) THEN 303 CALL iom_put( "PI_CO2STARAIR" , f_pi_co2starair_2d ) 304 DEALLOCATE( f_pi_co2starair_2d ) 305 ENDIF 306 IF( med_diag%PI_OCN_DPCO2%dgsave ) THEN 307 CALL iom_put( "PI_OCN_DPCO2" , f_pi_ocndpco2_2d ) 308 DEALLOCATE( f_pi_ocndpco2_2d ) 309 ENDIF 310 # endif 311 238 312 # endif 239 313 ELSE IF (jk.eq.i0100) THEN -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90
r9257 r10045 7 7 !! - ! 2017-04 (M. Stringer) Code taken from trcbio_medusa.F90 8 8 !! - ! 2017-08 (A. Yool) Add slow-sinking detrius variables 9 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 9 10 !!---------------------------------------------------------------------- 10 11 #if defined key_medusa … … 186 187 f_omarg(:,:) = 0.0 187 188 f_omcal(:,:) = 0.0 189 # if defined key_omip_dic 190 zomd(:,:) = 0.0 191 f_pi_xco2a(:,:) = 0.0 192 f_pi_pco2w(:,:) = 0.0 193 f_pi_ph(:,:) = 0.0 194 f_pi_co2flux(:,:) = 0.0 195 f_pi_pco2atm(:,:) = 0.0 196 f_pi_h2co3(:,:) = 0.0 197 f_pi_hco3(:,:) = 0.0 198 f_pi_co3(:,:) = 0.0 199 f_pi_omarg(:,:) = 0.0 200 f_pi_omcal(:,:) = 0.0 201 # endif 188 202 !! 189 203 !! AXY (08/08/17): zero slow detritus fluxes … … 382 396 f_pco2a2d(:,:) = 0.0 !! 383 397 ENDIF 398 # if defined key_omip_dic 399 IF( med_diag%PI_ATM_PCO2%dgsave ) THEN 400 ALLOCATE( f_pi_pco2a2d(1:jpi, 1:jpj) ) 401 f_pi_pco2a2d(:,:) = 0.0 !! 402 ENDIF 403 # endif 384 404 !! 385 405 !! skip OCN_PH diagnostic here … … 389 409 f_pco2w2d(:,:) = 0.0 !! 390 410 ENDIF 411 # if defined key_omip_dic 412 IF( med_diag%PI_OCN_PCO2%dgsave ) THEN 413 ALLOCATE( f_pi_pco2w2d(1:jpi, 1:jpj) ) 414 f_pi_pco2w2d(:,:) = 0.0 !! 415 ENDIF 416 # endif 391 417 !! 392 418 !! skip OCNH2CO3, OCN_HCO3, OCN_CO3 diagnostics here … … 396 422 f_co2flux2d(:,:) = 0.0 !! 397 423 ENDIF 424 # if defined key_omip_dic 425 IF( med_diag%PI_CO2FLUX%dgsave ) THEN 426 ALLOCATE( f_pi_co2flux2d(1:jpi, 1:jpj) ) 427 f_pi_co2flux2d(:,:) = 0.0 !! 428 ENDIF 429 # endif 398 430 !! 399 431 !! skip OM_XXX diagnostics here … … 403 435 f_TDIC2d(:,:) = 0.0 !! 404 436 ENDIF 437 # if defined key_omip_dic 438 IF( med_diag%PI_TCO2%dgsave ) THEN 439 ALLOCATE( f_pi_TDIC2d(1:jpi, 1:jpj) ) 440 f_pi_TDIC2d(:,:) = 0.0 !! 441 ENDIF 442 # endif 405 443 IF( med_diag%TALK%dgsave ) THEN 406 444 ALLOCATE( f_TALK2d(1:jpi, 1:jpj) ) … … 662 700 f_ocndpco2_2d(:,:) = 0.0 !! 663 701 ENDIF 702 # if defined key_omip_dic 703 IF( med_diag%PI_ATM_XCO2%dgsave ) THEN 704 ALLOCATE( f_pi_xco2a_2d(1:jpi, 1:jpj) ) 705 f_pi_xco2a_2d(:,:) = 0.0 !! 706 ENDIF 707 IF( med_diag%PI_OCN_FCO2%dgsave ) THEN 708 ALLOCATE( f_pi_fco2w_2d(1:jpi, 1:jpj) ) 709 f_pi_fco2w_2d(:,:) = 0.0 !! 710 ENDIF 711 IF( med_diag%PI_ATM_FCO2%dgsave ) THEN 712 ALLOCATE( f_pi_fco2a_2d(1:jpi, 1:jpj) ) 713 f_pi_fco2a_2d(:,:) = 0.0 !! 714 ENDIF 715 IF( med_diag%PI_CO2STARAIR%dgsave ) THEN 716 ALLOCATE( f_pi_co2starair_2d(1:jpi, 1:jpj) ) 717 f_pi_co2starair_2d(:,:) = 0.0 !! 718 ENDIF 719 IF( med_diag%OCN_PI_DPCO2%dgsave ) THEN 720 ALLOCATE( f_pi_ocndpco2_2d(1:jpi, 1:jpj) ) 721 f_pi_ocndpco2_2d(:,:) = 0.0 !! 722 ENDIF 723 IF( med_diag%PI_FGCO2%dgsave ) THEN 724 ALLOCATE( pi_fgco2(1:jpi, 1:jpj) ) 725 pi_fgco2(:,:) = 0.0 !! 726 ENDIF 727 # endif 664 728 # endif 665 729 IF( med_diag%TPP3%dgsave ) THEN -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_mod.F90
r8521 r10045 8 8 !! - ! 2017-04 (M. Stringer) Code taken from trcbio_medusa.F90 9 9 !! - ! 2017-08 (A. Yool) Slow detritus, ML-avg chl variables 10 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 10 11 !!---------------------------------------------------------------------- 11 12 #if defined key_medusa … … 37 38 # if defined key_mocsy 38 39 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zpho 40 # endif 41 # if defined key_omip_dic 42 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zomd 39 43 # endif 40 44 … … 162 166 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pco2atm 163 167 168 # if defined key_omip_dic 169 !! AXY (06/08/18): OMIP PI DIC additions 170 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_xco2a 171 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_ph,f_pi_pco2w,f_pi_h2co3 172 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_hco3,f_pi_co3,f_pi_co2flux 173 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_TDIC 174 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_omcal,f_pi_omarg 175 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_pco2atm 176 # endif 177 164 178 !! Carbon, alkalinity production and consumption 165 179 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fcomm_resp … … 237 251 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_ocnk0_2d, f_co2starair_2d 238 252 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_ocndpco2_2d 253 # if defined key_omip_dic 254 !! AXY (06/08/18): OMIP PI DIC additions 255 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_xco2a_2d, f_pi_fco2w_2d, f_pi_fco2a_2d 256 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_co2starair_2d 257 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_ocndpco2_2d 258 # endif 239 259 # endif 240 260 !! … … 250 270 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fbddtalk,fbddtdic,fbddtdife 251 271 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: fbddtdin,fbddtdisi 272 # if defined key_omip_dic 273 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: pi_fgco2 274 # endif 252 275 !! 253 276 !! 3D var for new CMIP6 diagnostics … … 291 314 # if defined key_mocsy 292 315 zpho(jpi,jpj), & 316 # endif 317 # if defined key_omip_dic 318 zomd(jpi,jpj), & 293 319 # endif 294 320 fthetan(jpi,jpj),fprn(jpi,jpj),frn(jpi,jpj), & … … 370 396 f_kw660(jpi,jpj),f_o2flux(jpi,jpj),f_o2sat(jpi,jpj), & 371 397 f_omcal(jpi,jpj),f_omarg(jpi,jpj), & 372 f_pco2atm(jpi,jpj), & 398 f_pco2atm(jpi,jpj), & 399 # if defined key_omip_dic 400 f_pi_xco2a(jpi,jpj), & 401 f_pi_ph(jpi,jpj),f_pi_pco2w(jpi,jpj),f_pi_h2co3(jpi,jpj), & 402 f_pi_hco3(jpi,jpj),f_pi_co3(jpi,jpj),f_pi_co2flux(jpi,jpj), & 403 f_pi_TDIC(jpi,jpj), & 404 f_pi_omcal(jpi,jpj),f_pi_omarg(jpi,jpj), & 405 f_pi_pco2atm(jpi,jpj), & 406 # endif 373 407 fcomm_resp(jpi,jpj), & 374 408 fcar_prod(jpi,jpj),fcar_cons(jpi,jpj), & -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90
r9163 r10045 8 8 !! - ! 2017-08 (A. Yool) Amend slow-detritus bug 9 9 !! - ! 2017-08 (A. Yool) Reformatting for clarity 10 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 10 11 !!---------------------------------------------------------------------- 11 12 #if defined key_medusa … … 38 39 f_benout_si, & 39 40 f_co2flux, f_o2flux, & 41 # if defined key_omip_dic 42 f_pi_co2flux, & ! AXY (06/08/18) 43 # endif 40 44 f_riv_loc_alk, f_riv_loc_c, & 41 45 f_riv_loc_n, f_riv_loc_si, & … … 395 399 fcar_prod(ji,jj) = fcar_prod(ji,jj) + ( fse3t(ji,jj,jk) * & 396 400 fc_prod ) 401 # if defined key_omip_dic 402 !! AXY (06/08/18): OMIP PI DIC has the same BGC fluxes as 403 !! normal DIC, with the exception of its 404 !! air-sea exchange; see below 405 btra(ji,jj,jpomd_lc) = btra(ji,jj,jpdic_lc) 406 # endif 397 407 ENDIF 398 408 ENDDO … … 573 583 btra(ji,jj,jpdic_lc) = btra(ji,jj,jpdic_lc) + (b0 * & 574 584 f_co2flux(ji,jj)) 585 # if defined key_omip_dic 586 !! AXY (06/08/18): air-sea CO2 flux is the only difference 587 !! between DIC and OMIP PI DIC tracers 588 btra(ji,jj,jpomd_lc) = btra(ji,jj,jpomd_lc) + (b0 * & 589 f_pi_co2flux(ji,jj)) 590 # endif 575 591 !! 576 592 !! O2 flux (mol/m3/s -> mmol/m3/d) … … 624 640 IF (lwp) write (numout,*) 'btra(ji,jj,jpoxy_lc)(',jk,') = ', & 625 641 btra(ji,jj,jpoxy_lc) 642 # if defined key_omip_dic 643 IF (lwp) write (numout,*) 'btra(ji,jj,jpomd_lc)(',jk,') = ', & 644 btra(ji,jj,jpomd_lc) 645 # endif 626 646 # endif 627 647 endif … … 731 751 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) + & 732 752 (btra(ji,jj,jpoxy_lc) / 86400.) 753 # if defined key_omip_dic 754 tra(ji,jj,jk,jpomd) = tra(ji,jj,jk,jpomd) + & 755 (btra(ji,jj,jpomd_lc) / 86400.) 756 # endif 733 757 # endif 734 758 endif -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/carb_chem.F90
r9385 r10045 6 6 !! History : 7 7 !! - ! 2017-04 (M. Stringer) Code taken from trcbio_medusa.F90 8 !! - ! 2018-08 (A. Yool) no OMIP preindustrial DIC changed needed 8 9 !!---------------------------------------------------------------------- 9 10 #if defined key_roam -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus.F90
r8521 r10045 2 2 !!====================================================================== 3 3 !! *** MODULE detritus_mod *** 4 !! Calculates detritus processes and fast-sinking detritus4 !! Calculates slow detritus remineralisation and sinking 5 5 !!====================================================================== 6 6 !! History : -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus_fast_sink.F90
r8441 r10045 2 2 !!====================================================================== 3 3 !! *** MODULE detritus_fast_sink_mod *** 4 !! Calculates fast-sinking detritus 4 !! Calculates fast-sinking detritus processes (plus other diagnostics) 5 5 !!====================================================================== 6 6 !! History : -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/par_medusa.F90
r8441 r10045 10 10 !! - ! 2011-04 (A. Yool) updated for ROAM project 11 11 !! - ! 2013-03 (A. Yool) updated for v3.5 NEMO 12 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 12 13 !!---------------------------------------------------------------------- 13 14 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 33 34 LOGICAL, PUBLIC, PARAMETER :: lk_medusa = .TRUE. !: PTS flag 34 35 # if defined key_roam 36 # if defined key_omip_dic 37 INTEGER, PUBLIC, PARAMETER :: jp_medusa = 16 !: number of PTS tracers 38 # else 35 39 INTEGER, PUBLIC, PARAMETER :: jp_medusa = 15 !: number of PTS tracers 40 # endif 36 41 INTEGER, PUBLIC, PARAMETER :: jp_medusa_2d = 225 !: additional 2d output arrays (used if ln_diatrc=T) 37 42 INTEGER, PUBLIC, PARAMETER :: jp_medusa_3d = 5 !: additional 3d output arrays (used if ln_diatrc=T) … … 61 66 INTEGER, PUBLIC, PARAMETER :: jpalk = jp_lm + 14 !: alkalinity 62 67 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_lm + 15 !: dissolved oxygen concentration 68 # if defined key_omip_dic 69 INTEGER, PUBLIC, PARAMETER :: jpomd = jp_lm + 16 !: OMIP preindustrial DIC 70 # end 63 71 # endif 64 72 … … 80 88 INTEGER, PUBLIC, PARAMETER :: jpalk_lc = 14 !: alkalinity 81 89 INTEGER, PUBLIC, PARAMETER :: jpoxy_lc = 15 !: dissolved oxygen concentration 90 # if defined key_omip_dic 91 INTEGER, PUBLIC, PARAMETER :: jpomd_lc = 16 !: OMIP preindustrial DIC 92 # end 82 93 # endif 83 94 -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/phytoplankton.F90
r9114 r10045 2 2 !!====================================================================== 3 3 !! *** MODULE phytoplankton_mod *** 4 !! Calculates thephytoplankton growth4 !! Calculates phytoplankton growth 5 5 !!====================================================================== 6 6 !! History : -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/plankton.F90
r8441 r10045 2 2 !!====================================================================== 3 3 !! *** MODULE plankton_mod *** 4 !! Calculate the carbon chemistry for the whole ocean4 !! Calculates phytoplankton and zooplankton terms 5 5 !!====================================================================== 6 6 !! History : -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90
r9385 r10045 23 23 !! - ! 2016-11 (A. Yool) Updated diags for CMIP6 24 24 !! - ! 2017-05 (A. Yool) Added extra DMS calculation 25 !! - ! 2017-05 (M. Stringer) Code reorganisation 25 26 !! - ! 2017-11 (J. Palm, A. Yool) Diagnose tracer excursions 27 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 26 28 !!---------------------------------------------------------------------- 27 29 !! … … 72 74 zalk, zdic, zoxy, zsal, ztmp, & 73 75 # endif 76 # if defined key_omip_dic 77 zomd, & 78 # endif 74 79 # if defined key_mocsy 75 80 zpho, & … … 96 101 USE oce, ONLY: tsb, tsn, PCO2a_in_cpl 97 102 USE par_kind, ONLY: wp 98 USE par_medusa, ONLY: jpalk, jpchd, jpchn, jpdet, & 99 jpdic, jpdin, jpdtc, jpfer, & 100 jpoxy, jppds, jpphd, jpphn, & 101 jpsil, jpzme, jpzmi 103 !! AXY (06/08/28): fragmented to permit tracer options 104 USE par_medusa, ONLY: jpchd, jpchn, jpphn, jpphd, & 105 jppds, jpzmi, jpzme, jpdet, & 106 # if defined key_roam 107 jpdtc, jpdic, jpalk, jpoxy, & 108 # if defined key_omip_dic 109 jpomd, & 110 # endif 111 # endif 112 jpdin, jpsil, jpfer 102 113 USE par_oce, ONLY: jp_sal, jp_tem, jpi, jpim1, & 103 114 jpj, jpjm1, jpk … … 329 340 WRITE(numout,*) '** MEDUSA Atm xCO2 fixed to pre-industrial value **' 330 341 !! f_xco2a(:,:) = 284.725 !! CMIP5 pre-industrial pCO2 331 f_xco2a(:,:) = 284.317 !! CMIP6 pre-industrial pCO2 342 f_xco2a(:,:) = 284.317 !! CMIP6 pre-industrial pCO2 332 343 ELSE 333 344 !! xCO2 from file … … 371 382 ENDIF 372 383 ENDIF 373 384 385 # if defined key_omip_dic 386 f_xco2a(:,:) = 284.317 !! CMIP6 pre-industrial pCO2 387 # endif 388 374 389 !! Writing xCO2 in output on start and on the 1st tsp of each month 375 390 IF ( (kt == nittrc000 .AND. .NOT.ln_rsttr) .OR. & … … 378 393 '; current date:', ndastp 379 394 call trc_rst_dia_stat(f_xco2a(:,:), 'atm xCO2') 395 # if defined key_omip_dic 396 call trc_rst_dia_stat(f_pi_xco2a(:,:), 'PI atm xCO2') 397 # endif 380 398 ENDIF 381 399 # endif … … 456 474 !! OPEN vertical loop 457 475 DO jk = 1,jpk 476 458 477 !! OPEN horizontal loops 459 478 DO jj = 2,jpjm1 … … 503 522 ENDDO 504 523 524 !! OPEN horizontal loops 505 525 DO jj = 2,jpjm1 506 526 DO ji = 2,jpim1 … … 524 544 # if defined key_roam 525 545 !! extra MEDUSA-2 tracers 546 !! OPEN horizontal loops 526 547 DO jj = 2,jpjm1 527 548 DO ji = 2,jpim1 … … 559 580 # endif 560 581 582 # if defined key_roam && defined key_omip_dic 583 DO jj = 2,jpjm1 584 DO ji = 2,jpim1 585 IF (tmask(ji,jj,jk) == 1) THEN 586 !! OMIP PI DIC 587 zomd(ji,jj) = trn(ji,jj,jk,jpomd) 588 ENDIF 589 ENDDO 590 ENDDO 591 # endif 592 561 593 # if defined key_roam 562 594 !! --------------------------------------------- … … 676 708 ji, jj, jk, kt 677 709 endif 710 # if defined key_omip_dic 711 if (trn(ji,jj,jk,jpomd).lt.0.) then 712 IF (lwp) write (numout,*) & 713 '------------------------------' 714 IF (lwp) write (numout,*) 'NEGATIVE OMD ERROR =', & 715 trn(ji,jj,jk,jpomd) 716 IF (lwp) write (numout,*) 'NEGATIVE OMD ERROR @', & 717 ji, jj, jk, kt 718 endif 678 719 # endif 679 720 endif -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcctl_medusa.F90
r5726 r10045 9 9 !! - ! 2008-11 (A. Yool) continuing adaptation for MEDUSA 10 10 !! - ! 2010-03 (A. Yool) updated for branch inclusion 11 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 11 12 !!---------------------------------------------------------------------- 12 13 13 #if defined key_medusa 14 14 … … 45 45 ! ----------------------- 46 46 # if defined key_roam 47 # if defined key_omip_dic 48 IF (jp_medusa /= 16) THEN 49 IF (lwp) THEN 50 WRITE (numout,*) ' ===>>>> : W A R N I N G ' 51 WRITE (numout,*) ' ======= ============= ' 52 WRITE (numout,*) & 53 & ' STOP, change jp_medusa to 16 in ' & 54 & ,' par_medusa.F90 ' 55 END IF 56 STOP 'TRC_CTL' 57 END IF 58 # else 47 59 IF (jp_medusa /= 15) THEN 48 60 IF (lwp) THEN … … 55 67 STOP 'TRC_CTL' 56 68 END IF 69 # endif 57 70 # else 58 71 IF (jp_medusa /= 11) THEN -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcini_medusa.F90
r9385 r10045 9 9 !! - ! 2010-03 (A. Yool) updated for branch inclusion 10 10 !! - ! 2011-04 (A. Yool) updated for ROAM project 11 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 11 12 !!---------------------------------------------------------------------- 12 13 #if defined key_medusa … … 207 208 !! dissolved oxygen (nominal average value; typically initialised from climatology) 208 209 trn(:,:,:,jpoxy) = 175. 210 # if defined key_omip_dic 211 !! 212 !! OMIP preindustrial DIC (nominal average value; typically initialised from climatology) 213 trn(:,:,:,jpomd) = 2330. 214 # endif 209 215 !! 210 216 IF(lwp) WRITE(numout,*) ' trc_ini_medusa: MEDUSA-2 fields initialised to defaults' -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcnam_medusa.F90
r9258 r10045 12 12 !! - ! 2015-11 (J. Palmieri) added iom_use for diags 13 13 !! - ! 2016-11 (A. Yool) updated diags for CMIP6 14 !! - ! 2018-08 (A. Yool) add OMIP preindustrial DIC 14 15 !!---------------------------------------------------------------------- 15 16 #if defined key_medusa … … 490 491 & ' key_debug_medusa = INACTIVE' 491 492 # endif 493 # if defined key_omip_dic 494 WRITE(numout,*) & 495 & ' key_omip_dic = ACTIVE' 496 #else 497 WRITE(numout,*) & 498 & ' key_omip_dic = INACTIVE' 499 # endif 492 500 WRITE(numout,*) ' ' 493 501 … … 2389 2397 ENDIF 2390 2398 2399 # if defined key_omip_dic 2400 !!---------------------------------------------------------------------- 2401 !! AXY (03/08/18): additional diagnostics for OMIP preindustrial DIC; 2402 !! basically a subset of the normal diagnostics with 2403 !! "PI_" stuck on the front; only includes those CO2 2404 !! diagnostics that should differ under PI conditions 2405 !!---------------------------------------------------------------------- 2406 IF (iom_use("PI_ATM_PCO2")) THEN 2407 med_diag%PI_ATM_PCO2%dgsave = .TRUE. 2408 ELSE 2409 med_diag%PI_ATM_PCO2%dgsave = .FALSE. 2410 ENDIF 2411 IF (iom_use("PI_OCN_PH")) THEN 2412 med_diag%PI_OCN_PH%dgsave = .TRUE. 2413 ELSE 2414 med_diag%PI_OCN_PH%dgsave = .FALSE. 2415 ENDIF 2416 IF (iom_use("PI_OCN_PCO2")) THEN 2417 med_diag%PI_OCN_PCO2%dgsave = .TRUE. 2418 ELSE 2419 med_diag%PI_OCN_PCO2%dgsave = .FALSE. 2420 ENDIF 2421 IF (iom_use("PI_OCNH2CO3")) THEN 2422 med_diag%PI_OCNH2CO3%dgsave = .TRUE. 2423 ELSE 2424 med_diag%PI_OCNH2CO3%dgsave = .FALSE. 2425 ENDIF 2426 IF (iom_use("PI_OCN_HCO3")) THEN 2427 med_diag%PI_OCN_HCO3%dgsave = .TRUE. 2428 ELSE 2429 med_diag%PI_OCN_HCO3%dgsave = .FALSE. 2430 ENDIF 2431 IF (iom_use("PI_OCN_CO3")) THEN 2432 med_diag%PI_OCN_CO3%dgsave = .TRUE. 2433 ELSE 2434 med_diag%PI_OCN_CO3%dgsave = .FALSE. 2435 ENDIF 2436 IF (iom_use("PI_CO2FLUX")) THEN 2437 med_diag%PI_CO2FLUX%dgsave = .TRUE. 2438 ELSE 2439 med_diag%PI_CO2FLUX%dgsave = .FALSE. 2440 ENDIF 2441 IF (iom_use("PI_OM_CAL")) THEN 2442 med_diag%PI_OM_CAL%dgsave = .TRUE. 2443 ELSE 2444 med_diag%PI_OM_CAL%dgsave = .FALSE. 2445 ENDIF 2446 IF (iom_use("PI_OM_ARG")) THEN 2447 med_diag%PI_OM_ARG%dgsave = .TRUE. 2448 ELSE 2449 med_diag%PI_OM_ARG%dgsave = .FALSE. 2450 ENDIF 2451 IF (iom_use("PI_TCO2")) THEN 2452 med_diag%PI_TCO2%dgsave = .TRUE. 2453 ELSE 2454 med_diag%PI_TCO2%dgsave = .FALSE. 2455 ENDIF 2456 IF (iom_use("PI_ATM_XCO2")) THEN 2457 med_diag%PI_ATM_XCO2%dgsave = .TRUE. 2458 ELSE 2459 med_diag%PI_ATM_XCO2%dgsave = .FALSE. 2460 ENDIF 2461 IF (iom_use("PI_OCN_FCO2")) THEN 2462 med_diag%PI_OCN_FCO2%dgsave = .TRUE. 2463 ELSE 2464 med_diag%PI_OCN_FCO2%dgsave = .FALSE. 2465 ENDIF 2466 IF (iom_use("PI_ATM_FCO2")) THEN 2467 med_diag%PI_ATM_FCO2%dgsave = .TRUE. 2468 ELSE 2469 med_diag%PI_ATM_FCO2%dgsave = .FALSE. 2470 ENDIF 2471 IF (iom_use("PI_CO2STARAIR")) THEN 2472 med_diag%PI_CO2STARAIR%dgsave = .TRUE. 2473 ELSE 2474 med_diag%PI_CO2STARAIR%dgsave = .FALSE. 2475 ENDIF 2476 IF (iom_use("PI_OCN_DPCO2")) THEN 2477 med_diag%PI_OCN_DPCO2%dgsave = .TRUE. 2478 ELSE 2479 med_diag%PI_OCN_DPCO2%dgsave = .FALSE. 2480 ENDIF 2481 # endif 2482 2391 2483 END SUBROUTINE trc_nam_iom_medusa 2392 2484 -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcopt_medusa.F90
r8074 r10045 12 12 !! - ! 2008-11 (A. Yool) continuing adaptation for MEDUSA 13 13 !! - ! 2010-03 (A. Yool) updated for branch inclusion 14 !! - ! 2014-08 (A. Yool) euphotic depth correction 15 !! - ! 2015-07 (A. Yool) include rolling average irradiance 14 16 !!---------------------------------------------------------------------- 15 17 #if defined key_medusa -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsed_medusa.F90
r8442 r10045 11 11 !! - ! 2010-03 (A. Yool) updated for branch inclusion 12 12 !! - ! 2011-04 (A. Yool) updated for ROAM project 13 !! - ! 2014-XX (A. Yool) various minor fixes 14 !! - ! 2015-11 (J. Palmieri) IOM 15 !! - ! 2016-03 (J. Palmieri) namelist dust changes 16 !! - ! 2016-06 (J. Palmieri) atm coupling 17 !! - ! 2016-07 (J. Palmieri) dust unit conversions 13 18 !!---------------------------------------------------------------------- 14 19 #if defined key_medusa -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsms_medusa.F90
r9163 r10045 8 8 !! - ! 2008-11 (A. Yool) continuing adaptation for MEDUSA 9 9 !! - ! 2010-03 (A. Yool) updated for branch inclusion 10 !! - ! 2017-02 (A. Yool, J. Palmieri) move dust call 10 11 !! - ! 2017-08 (A. Yool) amend for slow detritus bug 11 12 !!---------------------------------------------------------------------- -
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/zooplankton.F90
r8441 r10045 2 2 !!====================================================================== 3 3 !! *** MODULE zooplankton_mod *** 4 !! Calculates thezooplankton grazing4 !! Calculates zooplankton grazing 5 5 !!====================================================================== 6 6 !! History :
Note: See TracChangeset
for help on using the changeset viewer.