Changeset 2137 for branches/devmercator2010_1/NEMO/TOP_SRC/PISCES
- Timestamp:
- 2010-09-30T14:25:53+02:00 (14 years ago)
- Location:
- branches/devmercator2010_1/NEMO/TOP_SRC/PISCES
- Files:
-
- 17 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zbio.F90
r1678 r2137 39 39 40 40 !!* Substitution 41 # include " domzgr_substitute.h90"41 # include "top_substitute.h90" 42 42 !!---------------------------------------------------------------------- 43 43 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zche.F90
r1180 r2137 147 147 148 148 !!* Substitution 149 #include " domzgr_substitute.h90"149 #include "top_substitute.h90" 150 150 !!---------------------------------------------------------------------- 151 151 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zflx.F90
r1737 r2137 52 52 53 53 !!* Substitution 54 # include " domzgr_substitute.h90"54 # include "top_substitute.h90" 55 55 !!---------------------------------------------------------------------- 56 56 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 204 204 CALL mpp_sum( t_oce_co2_flx ) ! sum over the global domain 205 205 ENDIF 206 ! Conversion in GtC/yr ; negative for outgoing from ocean 207 t_oce_co2_flx = (-1.) * t_oce_co2_flx * 12. / 1.e15 208 ! 206 209 WRITE(numout,*) ' Atmospheric pCO2 :' 207 210 WRITE(numout,*) '-------------------- : ',kt,' ',t_atm_co2_flx 208 211 WRITE(numout,*) '(ppm)' 209 WRITE(numout,*) 'Total Flux of Carbon :'210 WRITE(numout,*) '-------------------- : ',t_oce_co2_flx * 12. / 1e15211 WRITE(numout,*) '(GtC/ an)'212 WRITE(numout,*) 'Total Flux of Carbon out of the ocean :' 213 WRITE(numout,*) '-------------------- : ',t_oce_co2_flx 214 WRITE(numout,*) '(GtC/yr)' 212 215 t_atm_co2_flx = 0. 213 216 t_oce_co2_flx = 0. 217 # if defined key_iomput 218 CALL iom_put( "tatpco2" , t_atm_co2_flx ) 219 CALL iom_put( "tco2flx" , t_oce_co2_flx ) 220 #endif 214 221 ENDIF 215 222 #endif -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zlim.F90
r1152 r2137 41 41 42 42 !!* Substitution 43 # include " domzgr_substitute.h90"43 # include "top_substitute.h90" 44 44 !!---------------------------------------------------------------------- 45 45 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zlys.F90
r1735 r2137 67 67 #if defined key_trc_dia3d && defined key_iomput 68 68 REAL(wp) :: zrfact2 69 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss , zw3d69 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss 70 70 #endif 71 71 CHARACTER (len=25) :: charout … … 94 94 ! SET DUMMY VARIABLE FOR TOTAL BORATE 95 95 zbot = borat(ji,jj,jk) 96 97 ! SET DUMMY VARIABLE FOR TOTAL BORATE 98 zbot = borat(ji,jj,jk) 96 99 zfact = rhop (ji,jj,jk) / 1000. + rtrn 97 100 … … 171 174 # else 172 175 zrfact2 = 1.e3 * rfact2r 173 zw3d(:,:,:) = hi (:,:,:) * tmask(:,:,:) 174 CALL iom_put( "PH", zw3d ) 175 zw3d(:,:,:) = zco3(:,:,:) * tmask(:,:,:) 176 CALL iom_put( "CO3", zw3d ) 177 zw3d(:,:,:) = aksp(:,:,:) / calcon * tmask(:,:,:) 178 CALL iom_put( "CO3sat", zw3d ) 179 zw3d(:,:,:) = zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) 180 CALL iom_put( "Dcal", zw3d ) 176 CALL iom_put( "PH" , hi (:,:,:) * tmask(:,:,:) ) 177 CALL iom_put( "CO3" , zco3 (:,:,:) * tmask(:,:,:) ) 178 CALL iom_put( "CO3sat", aksp (:,:,:) / calcon * tmask(:,:,:) ) 179 CALL iom_put( "DCAL" , zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) ) 181 180 # endif 182 181 # endif … … 232 231 END SUBROUTINE p4z_lys 233 232 #endif 234 235 233 !!====================================================================== 236 234 END MODULE p4zlys -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmeso.F90
r1736 r2137 45 45 46 46 !!* Substitution 47 # include " domzgr_substitute.h90"47 # include "top_substitute.h90" 48 48 !!---------------------------------------------------------------------- 49 49 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 76 76 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 77 77 REAL(wp) :: zrfact2 78 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d79 78 #endif 80 79 … … 203 202 END DO 204 203 204 #if defined key_trc_dia3d 205 ! Total grazing ( grazing by microzoo is already computed in p4zmicro ) 206 grazing(:,:,:) = grazing(:,:,:) + ( zgrazd (:,:,:) + zgrazz (:,:,:) + zgrazn(:,:,:) & 207 & + zgrazpoc(:,:,:) + zgrazffe(:,:,:) ) 208 #endif 209 205 210 206 211 DO jk = 1,jpkm1 … … 311 316 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 312 317 zrfact2 = 1.e3 * rfact2r 313 zw3d(:,:,:) = ( zgrazd(:,:,:) + zgrazz(:,:,:) + zgrazn(:,:,:) & 314 & + zgrazpoc(:,:,:) + zgrazffe(:,:,:) ) * zrfact2 * tmask(:,:,:) 315 IF( jnt == nrdttrc ) CALL iom_put( "Graz2" , zw3d ) 316 317 zw3d(:,:,:) = prodcal(:,:,:) * zrfact2 * tmask(:,:,:) 318 IF( jnt == nrdttrc ) CALL iom_put( "Pcal" , zw3d ) 318 ! Total grazing of phyto by zoo 319 grazing(:,:,:) = grazing(:,:,:) * zrfact2 * tmask(:,:,:) 320 ! Calcite production 321 prodcal(:,:,:) = prodcal(:,:,:) * zrfact2 * tmask(:,:,:) 322 IF( jnt == nrdttrc ) then 323 CALL iom_put( "GRAZ" , grazing ) ! Total grazing of phyto by zooplankton 324 CALL iom_put( "PCAL" , prodcal ) ! Calcite production 325 ENDIF 319 326 #endif 320 327 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmicro.F90
r1736 r2137 43 43 44 44 !!* Substitution 45 # include " domzgr_substitute.h90"45 # include "top_substitute.h90" 46 46 !!---------------------------------------------------------------------- 47 47 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 70 70 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazmf, zgrazsf, zgrazpf 71 71 CHARACTER (len=25) :: charout 72 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput73 REAL(wp) :: zrfact274 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d75 #endif76 72 77 73 !!--------------------------------------------------------------------- … … 88 84 zgrazpf(:,:,:) = 0. 89 85 86 #if defined key_trc_dia3d 87 grazing(:,:,:) = 0. !: Initialisation of grazing 88 #endif 90 89 91 90 zstep = rfact2 / rday ! Time step duration for biology … … 156 155 END DO 157 156 157 #if defined key_trc_dia3d 158 ! Grazing by microzooplankton 159 grazing(:,:,:) = grazing(:,:,:) + zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:) 160 #endif 158 161 159 162 DO jk = 1,jpkm1 … … 231 234 END DO 232 235 ! 233 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 234 zrfact2 = 1.e3 * rfact2r 235 zw3d(:,:,:) = ( zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:) ) * zrfact2 * tmask(:,:,:) 236 IF( jnt == nrdttrc ) CALL iom_put( "Graz" , zw3d ) 237 #endif 238 239 IF(ln_ctl) THEN ! print mean trends (used for debugging) 236 IF(ln_ctl) THEN ! print mean trends (used for debugging) 240 237 WRITE(charout, FMT="('micro')") 241 238 CALL prt_ctl_trc_info(charout) 242 239 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 243 240 ENDIF 244 241 245 242 END SUBROUTINE p4z_micro -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zmort.F90
r1736 r2137 41 41 42 42 !!* Substitution 43 # include " domzgr_substitute.h90"43 # include "top_substitute.h90" 44 44 !!---------------------------------------------------------------------- 45 45 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zopt.F90
r1678 r2137 35 35 36 36 !!* Substitution 37 # include " domzgr_substitute.h90"37 # include "top_substitute.h90" 38 38 !!---------------------------------------------------------------------- 39 39 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 61 61 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zekg, zekr, zekb 62 62 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze1 , ze2 , ze3, ze0 63 #if defined key_trc_diaadd && defined key_iomput64 REAL(wp), DIMENSION(jpi,jpj) :: zw2d65 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d66 #endif67 63 !!--------------------------------------------------------------------- 68 64 … … 238 234 # else 239 235 ! write diagnostics 240 zw2d(:,: ) = heup(:,: ) * tmask(:,:,1)241 zw3d(:,:,:) = etot(:,:,:) * tmask(:,:,:)242 IF( jnt == nrdttrc ) CALL iom_put( "Heup", zw2d )243 IF( jnt == nrdttrc ) CALL iom_put( "PAR" , zw3d )236 IF( jnt == nrdttrc ) then 237 CALL iom_put( "Heup", heup(:,: ) * tmask(:,:,1) ) ! euphotic layer deptht 238 CALL iom_put( "PAR" , etot(:,:,:) * tmask(:,:,:) ) ! Photosynthetically Available Radiation 239 ENDIF 244 240 # endif 245 241 #endif -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zprod.F90
r1736 r2137 53 53 54 54 !!* Substitution 55 # include " domzgr_substitute.h90"55 # include "top_substitute.h90" 56 56 !!---------------------------------------------------------------------- 57 57 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 81 81 #if defined key_trc_diaadd && defined key_trc_dia3d 82 82 REAL(wp) :: zrfact2 83 #if defined key_iomput84 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d85 #endif86 83 #endif 87 84 REAL(wp), DIMENSION(jpi,jpj) :: zmixnano , zmixdiat, zstrn … … 352 349 WRITE(numout,*) 'Total PP :' 353 350 WRITE(numout,*) '-------------------- : ',tpp * 12. / 1.E12 354 WRITE(numout,*) '(GtC/ an)'351 WRITE(numout,*) '(GtC/yr)' 355 352 tpp = 0. 356 353 ENDIF 357 354 358 #if defined key_trc_diaadd && defined key_trc_dia3d 355 #if defined key_trc_diaadd && defined key_trc_dia3d && ! defined key_iomput 356 ! Supplementary diagnostics 359 357 zrfact2 = 1.e3 * rfact2r 360 ! Supplementary diagnostics361 # if ! defined key_iomput362 358 trc3d(:,:,:,jp_pcs0_3d + 4) = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 363 359 trc3d(:,:,:,jp_pcs0_3d + 5) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) … … 366 362 trc3d(:,:,:,jp_pcs0_3d + 8) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 367 363 trc3d(:,:,:,jp_pcs0_3d + 9) = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 368 # if ! defined key_kriest364 # if ! defined key_kriest 369 365 trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 366 # endif 370 367 #endif 371 368 372 # else 373 zw3d(:,:,:) = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 374 IF( jnt == nrdttrc ) CALL iom_put( "PPPHY" , zw3d ) 375 zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) 376 IF( jnt == nrdttrc ) CALL iom_put( "PPPHY2", zw3d ) 377 zw3d(:,:,:) = zpronew (:,:,:) * zrfact2 * tmask(:,:,:) 378 IF( jnt == nrdttrc ) CALL iom_put( "PPNEWN" , zw3d ) 379 zw3d(:,:,:) = zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) 380 IF( jnt == nrdttrc ) CALL iom_put( "PPNEWD", zw3d ) 381 zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 382 IF( jnt == nrdttrc ) CALL iom_put( "PBSi" , zw3d ) 383 zw3d(:,:,:) = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 384 IF( jnt == nrdttrc ) CALL iom_put( "PFeD" , zw3d ) 385 zw3d(:,:,:) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 386 IF( jnt == nrdttrc ) CALL iom_put( "PFeN" , zw3d ) 387 # endif 369 #if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 370 zrfact2 = 1.e3 * rfact2r 371 IF ( jnt == nrdttrc ) then 372 CALL iom_put( "PPPHY" , zprorca (:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by nanophyto 373 CALL iom_put( "PPPHY2", zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by diatom 374 CALL iom_put( "PPNEWN", zpronew (:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by nanophyto 375 CALL iom_put( "PPNEWD", zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by diatom 376 CALL iom_put( "PBSi" , zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) ) ! biogenic silica production 377 CALL iom_put( "PFeD" , zprofed (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by diatom 378 CALL iom_put( "PFeN" , zprofen (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by nanophyto 379 ENDIF 388 380 #endif 389 381 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zrem.F90
r1744 r2137 45 45 46 46 !!* Substitution 47 # include " domzgr_substitute.h90"47 # include "top_substitute.h90" 48 48 !!---------------------------------------------------------------------- 49 49 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zsed.F90
r1735 r2137 96 96 REAL(wp) :: zrfact2 97 97 # if defined key_iomput 98 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d99 98 REAL(wp), DIMENSION(jpi,jpj) :: zw2d 100 99 # endif … … 332 331 trc2d(:,:,jp_pcs0_2d + 12) = znitrpot(:,:,1) * 1.e-7 * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 333 332 # else 334 ! write diagnostics 335 zw2d(:,:) = ( zirondep(:,:,1) + ironsed(:,:,1) * rfact2 ) & 336 & * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 333 ! surface downward net flux of iron 334 zw2d(:,:) = ( zirondep(:,:,1) + ironsed(:,:,1) * rfact2 ) * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 337 335 IF( jnt == nrdttrc ) CALL iom_put( "Irondep", zw2d ) 338 zw3d(:,:,:) = znitrpot(:,:,:) * 1.e-7 * zrfact2 * fse3t(:,:,:) * tmask(:,:,:)339 IF( jnt == nrdttrc ) CALL iom_put( "Nfix", zw3d )340 # endif 341 336 ! nitrogen fixation at surface 337 zw2d(:,:) = znitrpot(:,:,1) * 1.e-7 * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 338 IF( jnt == nrdttrc ) CALL iom_put( "Nfix" , zw2d ) 339 # endif 342 340 # endif 343 341 ! -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/p4zsink.F90
r1736 r2137 69 69 70 70 !!* Substitution 71 # include " domzgr_substitute.h90"71 # include "top_substitute.h90" 72 72 !!---------------------------------------------------------------------- 73 73 !! NEMO/TOP 2.0 , LOCEAN-IPSL (2007) … … 99 99 #if defined key_trc_diaadd 100 100 REAL(wp) :: zrfact2 101 INTEGER :: iksed1 102 #if defined key_iomput 103 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d 104 #endif 101 INTEGER :: ik1 105 102 #endif 106 103 REAL(wp), DIMENSION(jpi,jpj,jpk) :: znum3d … … 286 283 #if defined key_trc_diaadd 287 284 zrfact2 = 1.e3 * rfact2r 288 ik sed1 = iksed + 1285 ik1 = iksed + 1 289 286 # if ! defined key_iomput 290 trc2d(:,: ,jp_pcs0_2d + 4) = sinking (:,:,ik sed1) * zrfact2 * tmask(:,:,1)291 trc2d(:,: ,jp_pcs0_2d + 5) = sinking2(:,:,ik sed1) * zrfact2 * tmask(:,:,1)292 trc2d(:,: ,jp_pcs0_2d + 6) = sinkfer (:,:,ik sed1) * zrfact2 * tmask(:,:,1)293 trc2d(:,: ,jp_pcs0_2d + 7) = sinksil (:,:,ik sed1) * zrfact2 * tmask(:,:,1)294 trc2d(:,: ,jp_pcs0_2d + 8) = sinkcal (:,:,ik sed1) * zrfact2 * tmask(:,:,1)287 trc2d(:,: ,jp_pcs0_2d + 4) = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 288 trc2d(:,: ,jp_pcs0_2d + 5) = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 289 trc2d(:,: ,jp_pcs0_2d + 6) = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 290 trc2d(:,: ,jp_pcs0_2d + 7) = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 291 trc2d(:,: ,jp_pcs0_2d + 8) = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 295 292 trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 296 293 trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) … … 301 298 trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4 (:,:,:) * tmask(:,:,:) 302 299 #else 303 zw3d(:,:,:) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 304 IF( jnt == nrdttrc ) CALL iom_put( "PMO" , zw3d ) 305 zw3d(:,:,:) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 306 IF( jnt == nrdttrc ) CALL iom_put( "PMO2", zw3d ) 307 zw3d(:,:,:) = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 308 IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 309 zw3d(:,:,:) = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 310 IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 311 zw3d(:,:,:) = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 312 IF( jnt == nrdttrc ) CALL iom_put( "ExpCaCO3", zw3d ) 313 zw3d(:,:,:) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 314 IF( jnt == nrdttrc ) CALL iom_put( "POCFlx", zw3d ) 315 zw3d(:,:,:) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 316 IF( jnt == nrdttrc ) CALL iom_put( "GOCFlx", zw3d ) 317 zw3d(:,:,:) = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 318 IF( jnt == nrdttrc ) CALL iom_put( "SiFlx", zw3d ) 319 zw3d(:,:,:) = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 320 IF( jnt == nrdttrc ) CALL iom_put( "CaCO3Flx", zw3d ) 321 zw3d(:,:,:) = znum3d (:,:,:) * tmask(:,:,:) 322 IF( jnt == nrdttrc ) CALL iom_put( "xnum", zw3d ) 323 zw3d(:,:,:) = wsbio3 (:,:,:) * tmask(:,:,:) 324 IF( jnt == nrdttrc ) CALL iom_put( "W1", zw3d ) 325 zw3d(:,:,:) = wsbio4 (:,:,:) * tmask(:,:,:) 326 IF( jnt == nrdttrc ) CALL iom_put( "W2", zw3d ) 300 IF( jnt == nrdttrc ) then 301 CALL iom_put( "POCFlx" , sinking (:,:,:) * zrfact2 * tmask(:,:,:) ) ! POC export 302 CALL iom_put( "NumFlx" , sinking2 (:,:,:) * zrfact2 * tmask(:,:,:) ) ! Num export 303 CALL iom_put( "SiFlx" , sinksil (:,:,:) * zrfact2 * tmask(:,:,:) ) ! Silica export 304 CALL iom_put( "CaCO3Flx", sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) ) ! Calcite export 305 CALL iom_put( "xnum" , znum3d (:,:,:) * tmask(:,:,:) ) ! Number of particles in aggregats 306 CALL iom_put( "W1" , wsbio3 (:,:,:) * tmask(:,:,:) ) ! sinking speed of POC 307 CALL iom_put( "W2" , wsbio4 (:,:,:) * tmask(:,:,:) ) ! sinking speed of aggregats 308 CALL iom_put( "PMO" , sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! POC export at 100m 309 CALL iom_put( "PMO2" , sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Num export at 100m 310 CALL iom_put( "ExpFe1" , sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Export of iron at 100m 311 CALL iom_put( "ExpSi" , sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! export of silica at 100m 312 CALL iom_put( "ExpCaCO3", sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! export of calcite at 100m 313 ENDIF 327 314 # endif 328 315 … … 489 476 #if defined key_trc_dia3d 490 477 REAL(wp) :: zrfact2 491 INTEGER :: iksed1 492 #endif 493 #if defined key_iomput 494 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d 478 INTEGER :: ik1 495 479 #endif 496 480 CHARACTER (len=25) :: charout … … 613 597 #if defined key_trc_diaadd 614 598 zrfact2 = 1.e3 * rfact2r 615 ik sed1= iksed + 1599 ik1 = iksed + 1 616 600 # if ! defined key_iomput 617 trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik sed1) * zrfact2 * tmask(:,:,1)618 trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik sed1) * zrfact2 * tmask(:,:,1)619 trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik sed1) * zrfact2 * tmask(:,:,1)620 trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik sed1) * zrfact2 * tmask(:,:,1)621 trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik sed1) * zrfact2 * tmask(:,:,1)622 trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik sed1) * zrfact2 * tmask(:,:,1)601 trc2d(:,:,jp_pcs0_2d + 4) = sinking (:,:,ik1) * zrfact2 * tmask(:,:,1) 602 trc2d(:,:,jp_pcs0_2d + 5) = sinking2(:,:,ik1) * zrfact2 * tmask(:,:,1) 603 trc2d(:,:,jp_pcs0_2d + 6) = sinkfer (:,:,ik1) * zrfact2 * tmask(:,:,1) 604 trc2d(:,:,jp_pcs0_2d + 7) = sinkfer2(:,:,ik1) * zrfact2 * tmask(:,:,1) 605 trc2d(:,:,jp_pcs0_2d + 8) = sinksil (:,:,ik1) * zrfact2 * tmask(:,:,1) 606 trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,ik1) * zrfact2 * tmask(:,:,1) 623 607 # else 624 zw3d(:,:,:) = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 625 IF( jnt == nrdttrc ) CALL iom_put( "ExpPOC" , zw3d ) 626 zw3d(:,:,:) = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 627 IF( jnt == nrdttrc ) CALL iom_put( "ExpGOC", zw3d ) 628 zw3d(:,:,:) = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 629 IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 630 zw3d(:,:,:) = sinkfer2(:,:,:) * zrfact2 * tmask(:,:,:) 631 IF( jnt == nrdttrc ) CALL iom_put( "ExpFe2", zw3d ) 632 zw3d(:,:,:) = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 633 IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 634 zw3d(:,:,:) = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 635 IF( jnt == nrdttrc ) CALL iom_put( "Expcal", zw3d ) 636 # endif 608 IF( jnt == nrdttrc ) then 609 CALL iom_put( "EPC100" , ( sinking(:,:,ik1) + sinking2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of carbon at 100m 610 CALL iom_put( "EPFE100" , ( sinkfer(:,:,ik1) + sinkfer2(:,:,ik1) ) * zrfact2 * tmask(:,:,1) ) ! Export of iron at 100m 611 CALL iom_put( "EPCAL100", sinkcal(:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Export of calcite at 100m 612 CALL iom_put( "EPSI100" , sinksil(:,:,ik1) * zrfact2 * tmask(:,:,1) ) ! Export of biogenic silica at 100m 613 ENDIF 614 #endif 637 615 #endif 638 616 ! -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/par_pisces.F90
r1152 r2137 16 16 17 17 IMPLICIT NONE 18 PUBLIC19 18 20 INTEGER, P UBLIC, PARAMETER :: jp_l= jp_lobster !: cumulative number of already defined TRC21 INTEGER, P UBLIC, PARAMETER :: jp_l_2d = jp_lobster_2d !:22 INTEGER, P UBLIC, PARAMETER :: jp_l_3d = jp_lobster_3d !:23 INTEGER, P UBLIC, PARAMETER :: jp_l_trd = jp_lobster_trd !:19 INTEGER, PARAMETER :: jp_lp = jp_lobster !: cumulative number of already defined TRC 20 INTEGER, PARAMETER :: jp_lp_2d = jp_lobster_2d !: 21 INTEGER, PARAMETER :: jp_lp_3d = jp_lobster_3d !: 22 INTEGER, PARAMETER :: jp_lp_trd = jp_lobster_trd !: 24 23 25 24 #if defined key_pisces && defined key_kriest … … 37 36 ! WARNING: be carefull about the order when reading the restart 38 37 ! !!gm this warning should be obsolet with IOM 39 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_l + 1 !: dissolved inoganic carbon concentration40 INTEGER, PUBLIC, PARAMETER :: jptal = jp_l + 2 !: total alkalinity41 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_l + 3 !: oxygen carbon concentration42 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_l + 4 !: calcite concentration43 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_l + 5 !: phosphate concentration44 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_l + 6 !: small particulate organic phosphate concentration45 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_l + 7 !: silicate concentration46 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_l + 8 !: phytoplancton concentration47 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_l + 9 !: zooplancton concentration48 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_l + 10 !: dissolved organic carbon concentration49 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_l + 11 !: Diatoms Concentration50 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_l + 12 !: Mesozooplankton Concentration51 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_l + 13 !: (big) Silicate Concentration52 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_l + 14 !: Iron Concentration53 INTEGER, PUBLIC, PARAMETER :: jpnum = jp_l + 15 !: Big iron particles Concentration54 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_l + 16 !: number of particulate organic phosphate concentration55 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_l + 17 !: Diatoms iron Concentration56 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_l + 18 !: Diatoms Silicate Concentration57 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_l + 19 !: Nano iron Concentration58 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_l + 20 !: Nano Chlorophyll Concentration59 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_l + 21 !: Diatoms Chlorophyll Concentration60 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_l + 22 !: Nitrates Concentration61 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_l + 23 !: Ammonium Concentration38 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_lp + 1 !: dissolved inoganic carbon concentration 39 INTEGER, PUBLIC, PARAMETER :: jptal = jp_lp + 2 !: total alkalinity 40 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_lp + 3 !: oxygen carbon concentration 41 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_lp + 4 !: calcite concentration 42 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_lp + 5 !: phosphate concentration 43 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_lp + 6 !: small particulate organic phosphate concentration 44 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_lp + 7 !: silicate concentration 45 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_lp + 8 !: phytoplancton concentration 46 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_lp + 9 !: zooplancton concentration 47 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_lp + 10 !: dissolved organic carbon concentration 48 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_lp + 11 !: Diatoms Concentration 49 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_lp + 12 !: Mesozooplankton Concentration 50 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_lp + 13 !: (big) Silicate Concentration 51 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_lp + 14 !: Iron Concentration 52 INTEGER, PUBLIC, PARAMETER :: jpnum = jp_lp + 15 !: Big iron particles Concentration 53 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_lp + 16 !: number of particulate organic phosphate concentration 54 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_lp + 17 !: Diatoms iron Concentration 55 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_lp + 18 !: Diatoms Silicate Concentration 56 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_lp + 19 !: Nano iron Concentration 57 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_lp + 20 !: Nano Chlorophyll Concentration 58 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_lp + 21 !: Diatoms Chlorophyll Concentration 59 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_lp + 22 !: Nitrates Concentration 60 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_lp + 23 !: Ammonium Concentration 62 61 63 62 #elif defined key_pisces … … 75 74 ! WARNING: be carefull about the order when reading the restart 76 75 ! !!gm this warning should be obsolet with IOM 77 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_l + 1 !: dissolved inoganic carbon concentration78 INTEGER, PUBLIC, PARAMETER :: jptal = jp_l + 2 !: total alkalinity79 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_l + 3 !: oxygen carbon concentration80 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_l + 4 !: calcite concentration81 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_l + 5 !: phosphate concentration82 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_l + 6 !: small particulate organic phosphate concentration83 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_l + 7 !: silicate concentration84 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_l + 8 !: phytoplancton concentration85 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_l + 9 !: zooplancton concentration86 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_l + 10 !: dissolved organic carbon concentration87 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_l + 11 !: Diatoms Concentration88 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_l + 12 !: Mesozooplankton Concentration89 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_l + 13 !: (big) Silicate Concentration90 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_l + 14 !: Iron Concentration91 INTEGER, PUBLIC, PARAMETER :: jpbfe = jp_l + 15 !: Big iron particles Concentration92 INTEGER, PUBLIC, PARAMETER :: jpgoc = jp_l + 16 !: big particulate organic phosphate concentration93 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_l + 17 !: Small iron particles Concentration94 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_l + 18 !: Diatoms iron Concentration95 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_l + 19 !: Diatoms Silicate Concentration96 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_l + 20 !: Nano iron Concentration97 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_l + 21 !: Nano Chlorophyll Concentration98 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_l + 22 !: Diatoms Chlorophyll Concentration99 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_l + 23 !: Nitrates Concentration100 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_l + 24 !: Ammonium Concentration76 INTEGER, PUBLIC, PARAMETER :: jpdic = jp_lp + 1 !: dissolved inoganic carbon concentration 77 INTEGER, PUBLIC, PARAMETER :: jptal = jp_lp + 2 !: total alkalinity 78 INTEGER, PUBLIC, PARAMETER :: jpoxy = jp_lp + 3 !: oxygen carbon concentration 79 INTEGER, PUBLIC, PARAMETER :: jpcal = jp_lp + 4 !: calcite concentration 80 INTEGER, PUBLIC, PARAMETER :: jppo4 = jp_lp + 5 !: phosphate concentration 81 INTEGER, PUBLIC, PARAMETER :: jppoc = jp_lp + 6 !: small particulate organic phosphate concentration 82 INTEGER, PUBLIC, PARAMETER :: jpsil = jp_lp + 7 !: silicate concentration 83 INTEGER, PUBLIC, PARAMETER :: jpphy = jp_lp + 8 !: phytoplancton concentration 84 INTEGER, PUBLIC, PARAMETER :: jpzoo = jp_lp + 9 !: zooplancton concentration 85 INTEGER, PUBLIC, PARAMETER :: jpdoc = jp_lp + 10 !: dissolved organic carbon concentration 86 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_lp + 11 !: Diatoms Concentration 87 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_lp + 12 !: Mesozooplankton Concentration 88 INTEGER, PUBLIC, PARAMETER :: jpbsi = jp_lp + 13 !: (big) Silicate Concentration 89 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_lp + 14 !: Iron Concentration 90 INTEGER, PUBLIC, PARAMETER :: jpbfe = jp_lp + 15 !: Big iron particles Concentration 91 INTEGER, PUBLIC, PARAMETER :: jpgoc = jp_lp + 16 !: big particulate organic phosphate concentration 92 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_lp + 17 !: Small iron particles Concentration 93 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_lp + 18 !: Diatoms iron Concentration 94 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_lp + 19 !: Diatoms Silicate Concentration 95 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_lp + 20 !: Nano iron Concentration 96 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_lp + 21 !: Nano Chlorophyll Concentration 97 INTEGER, PUBLIC, PARAMETER :: jpdch = jp_lp + 22 !: Diatoms Chlorophyll Concentration 98 INTEGER, PUBLIC, PARAMETER :: jpno3 = jp_lp + 23 !: Nitrates Concentration 99 INTEGER, PUBLIC, PARAMETER :: jpnh4 = jp_lp + 24 !: Ammonium Concentration 101 100 102 101 #else … … 113 112 114 113 ! Starting/ending PISCES do-loop indices (N.B. no PISCES : jpl_pcs < jpf_pcs the do-loop are never done) 115 INTEGER, PUBLIC, PARAMETER :: jp_pcs0 = jp_l + 1 !: First index of PISCES tracers116 INTEGER, PUBLIC, PARAMETER :: jp_pcs1 = jp_l + jp_pisces !: Last index of PISCES tracers117 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_2d = jp_l _2d + 1 !: First index of 2D diag118 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_2d = jp_l _2d + jp_pisces_2d !: Last index of 2D diag119 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_3d = jp_l _3d + 1 !: First index of 3D diag120 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_3d = jp_l _3d + jp_pisces_3d !: Last index of 3d diag121 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_trd = jp_l _trd + 1 !: First index of bio diag122 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_trd = jp_l _trd + jp_pisces_trd !: Last index of bio diag114 INTEGER, PUBLIC, PARAMETER :: jp_pcs0 = jp_lp + 1 !: First index of PISCES tracers 115 INTEGER, PUBLIC, PARAMETER :: jp_pcs1 = jp_lp + jp_pisces !: Last index of PISCES tracers 116 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_2d = jp_lp_2d + 1 !: First index of 2D diag 117 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_2d = jp_lp_2d + jp_pisces_2d !: Last index of 2D diag 118 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_3d = jp_lp_3d + 1 !: First index of 3D diag 119 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_3d = jp_lp_3d + jp_pisces_3d !: Last index of 3d diag 120 INTEGER, PUBLIC, PARAMETER :: jp_pcs0_trd = jp_lp_trd + 1 !: First index of bio diag 121 INTEGER, PUBLIC, PARAMETER :: jp_pcs1_trd = jp_lp_trd + jp_pisces_trd !: Last index of bio diag 123 122 124 123 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/sms_pisces.F90
r1678 r2137 38 38 LOGICAL :: ln_pisdmp !: relaxation or not of nutrients to a mean value 39 39 !: when initialize from a restart file 40 LOGICAL :: ln_pisclo !: Restoring or not of nutrients to initial value 41 !: on close seas 40 42 41 43 !!* Biological fluxes for light … … 62 64 #if defined key_trc_dia3d 63 65 REAL(wp), DIMENSION(jpi,jpj,jpk) :: prodcal !: Calcite production 66 REAL(wp), DIMENSION(jpi,jpj,jpk) :: grazing !: Total zooplankton grazing 64 67 #endif 65 68 -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/trcini_pisces.F90
r1542 r2137 38 38 no3 = 31.04e-6 * 7.6 39 39 40 # include "domzgr_substitute.h90"41 40 # include "top_substitute.h90" 42 41 !!---------------------------------------------------------------------- -
branches/devmercator2010_1/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90
r1581 r2137 67 67 NAMELIST/nampisdia/ nwritedia, pisdia3d, pisdia2d ! additional diagnostics 68 68 #endif 69 NAMELIST/nampisdmp/ ln_pisdmp 69 NAMELIST/nampisdmp/ ln_pisdmp, ln_pisclo 70 70 71 71 !!---------------------------------------------------------------------- … … 188 188 WRITE(numout,*) 189 189 WRITE(numout,*) ' Namelist : nampisdmp' 190 WRITE(numout,*) ' Relaxation of tracer to glodap mean value ln_pisdmp =', ln_pisdmp 190 WRITE(numout,*) ' Relaxation of tracer to glodap mean value ln_pisdmp =', ln_pisdmp 191 WRITE(numout,*) ' Restoring of tracer to initial value on closed seas ln_pisclo =', ln_pisclo 191 192 WRITE(numout,*) ' ' 192 193 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.