Changeset 3295 for trunk/NEMOGCM/NEMO/TOP_SRC
- Timestamp:
- 2012-01-30T16:49:07+01:00 (12 years ago)
- Location:
- trunk/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 1 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zlys.F90
r3294 r3295 150 150 IF( lk_iomput ) THEN 151 151 zrfact2 = 1.e3 * rfact2r 152 CALL iom_put( "PH" , hi (:,:,:) * tmask(:,:,:) )153 CALL iom_put( "CO3" , zco3 (:,:,:) * tmask(:,:,:) )154 CALL iom_put( "CO3sat", aksp (:,:,:) / calcon * tmask(:,:,:) )152 CALL iom_put( "PH" , hi (:,:,:) * tmask(:,:,:) ) 153 CALL iom_put( "CO3" , zco3 (:,:,:) * 1e+3 * tmask(:,:,:) ) 154 CALL iom_put( "CO3sat", aksp (:,:,:) * 1e+3 / calcon * tmask(:,:,:) ) 155 155 CALL iom_put( "DCAL" , zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) ) 156 156 ELSE -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmeso.F90
r3294 r3295 183 183 tra(ji,jj,jk,jpnch) = tra(ji,jj,jk,jpnch) - zgrazn * trn(ji,jj,jk,jpnch) / ( trn(ji,jj,jk,jpphy) + rtrn ) 184 184 tra(ji,jj,jk,jpdch) = tra(ji,jj,jk,jpdch) - zgrazd * trn(ji,jj,jk,jpdch) / ( trn(ji,jj,jk,jpdia) + rtrn ) 185 tra(ji,jj,jk,jp bsi) = tra(ji,jj,jk,jpbsi) - zgrazd * trn(ji,jj,jk,jpbsi) / ( trn(ji,jj,jk,jpdia) + rtrn )186 tra(ji,jj,jk,jp dsi) = tra(ji,jj,jk,jpdsi) + zgrazd * trn(ji,jj,jk,jpbsi) / ( trn(ji,jj,jk,jpdia) + rtrn )185 tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zgrazd * trn(ji,jj,jk,jpdsi) / ( trn(ji,jj,jk,jpdia) + rtrn ) 186 tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zgrazd * trn(ji,jj,jk,jpdsi) / ( trn(ji,jj,jk,jpdia) + rtrn ) 187 187 tra(ji,jj,jk,jpnfe) = tra(ji,jj,jk,jpnfe) - zgraznf 188 188 tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zgrazf -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmicro.F90
r3294 r3295 163 163 tra(ji,jj,jk,jpnch) = tra(ji,jj,jk,jpnch) - zgrazp * trn(ji,jj,jk,jpnch)/(trn(ji,jj,jk,jpphy)+rtrn) 164 164 tra(ji,jj,jk,jpdch) = tra(ji,jj,jk,jpdch) - zgrazsd * trn(ji,jj,jk,jpdch)/(trn(ji,jj,jk,jpdia)+rtrn) 165 tra(ji,jj,jk,jp bsi) = tra(ji,jj,jk,jpbsi) - zgrazsd * trn(ji,jj,jk,jpbsi)/(trn(ji,jj,jk,jpdia)+rtrn)166 tra(ji,jj,jk,jp dsi) = tra(ji,jj,jk,jpdsi) + zgrazsd * trn(ji,jj,jk,jpbsi)/(trn(ji,jj,jk,jpdia)+rtrn)165 tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zgrazsd * trn(ji,jj,jk,jpdsi)/(trn(ji,jj,jk,jpdia)+rtrn) 166 tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zgrazsd * trn(ji,jj,jk,jpdsi)/(trn(ji,jj,jk,jpdia)+rtrn) 167 167 tra(ji,jj,jk,jpnfe) = tra(ji,jj,jk,jpnfe) - zgrazpf 168 168 tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zgrazsf -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmort.F90
r3294 r3295 191 191 zfactch = trn(ji,jj,jk,jpdch) / ( trn(ji,jj,jk,jpdia) + rtrn ) 192 192 zfactfe = trn(ji,jj,jk,jpdfe) / ( trn(ji,jj,jk,jpdia) + rtrn ) 193 zfactsi = trn(ji,jj,jk,jp bsi) / ( trn(ji,jj,jk,jpdia) + rtrn )193 zfactsi = trn(ji,jj,jk,jpdsi) / ( trn(ji,jj,jk,jpdia) + rtrn ) 194 194 195 195 tra(ji,jj,jk,jpdia) = tra(ji,jj,jk,jpdia) - zmortp2 196 196 tra(ji,jj,jk,jpdch) = tra(ji,jj,jk,jpdch) - zmortp2 * zfactch 197 197 tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) - zmortp2 * zfactfe 198 tra(ji,jj,jk,jp bsi) = tra(ji,jj,jk,jpbsi) - zmortp2 * zfactsi199 tra(ji,jj,jk,jp dsi) = tra(ji,jj,jk,jpdsi) + zmortp2 * zfactsi198 tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) - zmortp2 * zfactsi 199 tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) + zmortp2 * zfactsi 200 200 #if defined key_kriest 201 201 tra(ji,jj,jk,jppoc) = tra(ji,jj,jk,jppoc) + zmortp2 -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zprod.F90
r3294 r3295 388 388 tra(ji,jj,jk,jpdch) = tra(ji,jj,jk,jpdch) + zprochld(ji,jj,jk) * texcret2 389 389 tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) + zprofed(ji,jj,jk) * texcret2 390 tra(ji,jj,jk,jp bsi) = tra(ji,jj,jk,jpbsi) + zprorcad(ji,jj,jk) * zysopt(ji,jj,jk) * texcret2390 tra(ji,jj,jk,jpdsi) = tra(ji,jj,jk,jpdsi) + zprorcad(ji,jj,jk) * zysopt(ji,jj,jk) * texcret2 391 391 tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) + excret2 * zprorcad(ji,jj,jk) + excret * zprorca(ji,jj,jk) 392 392 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) + o2ut * ( zproreg + zproreg2) & … … 412 412 IF( ln_diatrc ) THEN 413 413 ! 414 zrfact2 = 1.e3 * rfact2r 414 zrfact2 = 1.e3 * rfact2r ! conversion from mol/L/timestep into mol/m3/s 415 415 IF( lk_iomput ) THEN 416 416 IF( jnt == nrdttrc ) THEN 417 CALL iom_put( "PPPHY" , zprorca (:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by nanophyto 418 CALL iom_put( "PPPHY2", zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by diatom 419 CALL iom_put( "PPNEWN", zpronew (:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by nanophyto 420 CALL iom_put( "PPNEWD", zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by diatom 421 CALL iom_put( "PBSi" , zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) ) ! biogenic silica production 422 CALL iom_put( "PFeD" , zprofed (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by diatom 423 CALL iom_put( "PFeN" , zprofen (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by nanophyto 417 CALL iom_put( "PPPHY" , zprorca (:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by nanophyto 418 CALL iom_put( "PPPHY2" , zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) ) ! primary production by diatom 419 CALL iom_put( "PPNEWN" , zpronew (:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by nanophyto 420 CALL iom_put( "PPNEWD" , zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) ) ! new primary production by diatom 421 CALL iom_put( "PBSi" , zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) ) ! biogenic silica production 422 CALL iom_put( "PFeD" , zprofed (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by diatom 423 CALL iom_put( "PFeN" , zprofen (:,:,:) * zrfact2 * tmask(:,:,:) ) ! biogenic iron production by nanophyto 424 CALL iom_put( "Mumax" , prmax (:,:,:) * tmask(:,:,:) ) ! Maximum growth rate 425 CALL iom_put( "MuN" , zprbio (:,:,:) * xlimphy(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for nanophyto 426 CALL iom_put( "MuD" , zprdia (:,:,:) * xlimdia(:,:,:) * tmask(:,:,:) ) ! Realized growth rate for diatoms 427 CALL iom_put( "MuNlight", zprbio (:,:,:) * tmask(:,:,:) ) ! Light limited growth rate phytoplankton 428 CALL iom_put( "MuDlight", zprdia (:,:,:) * tmask(:,:,:) ) ! Light limited growth rate diatoms 429 CALL iom_put( "LNnut" , xlimphy (:,:,:) * tmask(:,:,:) ) ! Nutrient limitation term 430 CALL iom_put( "LDnut" , xlimdia (:,:,:) * tmask(:,:,:) ) ! Nutrient limitation term 431 CALL iom_put( "LNFe" , xlimnfe (:,:,:) * tmask(:,:,:) ) ! Iron limitation term 432 CALL iom_put( "LDFe" , xlimdfe (:,:,:) * tmask(:,:,:) ) ! Iron limitation term 433 CALL iom_put( "LNlight" , zprbio (:,:,:) / (prmax(:,:,:) + rtrn) * tmask(:,:,:) ) ! light limitation term 434 CALL iom_put( "LDlight" , zprdia (:,:,:) / (prmax(:,:,:) + rtrn) * tmask(:,:,:) ) ! light limitation term 424 435 ENDIF 425 436 ELSE -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zrem.F90
r3294 r3295 281 281 zfactdep = xsilab * EXP(-( xsiremlab - xsirem ) * zdep / wsbio2 ) 282 282 zsiremin = ( xsiremlab * zfactdep + xsirem * ( 1. - zfactdep ) ) * zstep * znusil 283 zosil = zsiremin * trn(ji,jj,jk,jp dsi)283 zosil = zsiremin * trn(ji,jj,jk,jpgsi) 284 284 ! 285 tra(ji,jj,jk,jp dsi) = tra(ji,jj,jk,jpdsi) - zosil285 tra(ji,jj,jk,jpgsi) = tra(ji,jj,jk,jpgsi) - zosil 286 286 tra(ji,jj,jk,jpsil) = tra(ji,jj,jk,jpsil) + zosil 287 287 ! … … 312 312 #if defined key_kriest 313 313 zdenom1 = trn(ji,jj,jk,jppoc) / & 314 & ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jp dsi) + trn(ji,jj,jk,jpcal) + rtrn )315 #else 316 zdenom = 1. / ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpgoc) + trn(ji,jj,jk,jp dsi) + trn(ji,jj,jk,jpcal) + rtrn )314 & ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpgsi) + trn(ji,jj,jk,jpcal) + rtrn ) 315 #else 316 zdenom = 1. / ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpgoc) + trn(ji,jj,jk,jpgsi) + trn(ji,jj,jk,jpcal) + rtrn ) 317 317 zdenom1 = trn(ji,jj,jk,jppoc) * zdenom 318 318 zdenom2 = trn(ji,jj,jk,jpgoc) * zdenom … … 328 328 #if defined key_kriest 329 329 zlam1b = 3.e-5 + xlam1 * ( trn(ji,jj,jk,jppoc) & 330 & + trn(ji,jj,jk,jpcal) + trn(ji,jj,jk,jp dsi) ) * 1.e6330 & + trn(ji,jj,jk,jpcal) + trn(ji,jj,jk,jpgsi) ) * 1.e6 331 331 #else 332 332 zlam1b = 3.e-5 + xlam1 * ( trn(ji,jj,jk,jppoc) + trn(ji,jj,jk,jpgoc) & 333 & + trn(ji,jj,jk,jpcal) + trn(ji,jj,jk,jp dsi) ) * 1.e6333 & + trn(ji,jj,jk,jpcal) + trn(ji,jj,jk,jpgsi) ) * 1.e6 334 334 #endif 335 335 zscave = zfeequi * zlam1b * zstep -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsed.F90
r3294 r3295 160 160 ikt = mbkt(ji,jj) 161 161 # if defined key_kriest 162 zwork1(ji,jj) = trn(ji,jj,ikt,jp dsi) * wscal (ji,jj,ikt)162 zwork1(ji,jj) = trn(ji,jj,ikt,jpgsi) * wscal (ji,jj,ikt) 163 163 zwork2(ji,jj) = trn(ji,jj,ikt,jppoc) * wsbio3(ji,jj,ikt) 164 164 # else 165 zwork1(ji,jj) = trn(ji,jj,ikt,jp dsi) * wsbio4(ji,jj,ikt)165 zwork1(ji,jj) = trn(ji,jj,ikt,jpgsi) * wsbio4(ji,jj,ikt) 166 166 zwork2(ji,jj) = trn(ji,jj,ikt,jpgoc) * wsbio4(ji,jj,ikt) + trn(ji,jj,ikt,jppoc) * wsbio3(ji,jj,ikt) 167 167 # endif … … 194 194 zwscal = wscal (ji,jj,ikt) * zdep 195 195 # if defined key_kriest 196 zsiloss = trn(ji,jj,ikt,jp dsi) * zwsbio4196 zsiloss = trn(ji,jj,ikt,jpgsi) * zwsbio4 197 197 # else 198 zsiloss = trn(ji,jj,ikt,jp dsi) * zwscal198 zsiloss = trn(ji,jj,ikt,jpgsi) * zwscal 199 199 # endif 200 200 zcaloss = trn(ji,jj,ikt,jpcal) * zwscal 201 201 ! 202 trn(ji,jj,ikt,jp dsi) = trn(ji,jj,ikt,jpdsi) - zsiloss202 trn(ji,jj,ikt,jpgsi) = trn(ji,jj,ikt,jpgsi) - zsiloss 203 203 trn(ji,jj,ikt,jpcal) = trn(ji,jj,ikt,jpcal) - zcaloss 204 204 #if ! defined key_sed -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsink.F90
r3294 r3295 156 156 CALL p4z_sink2( wsbio4, sinking2, jpnum ) 157 157 CALL p4z_sink2( wsbio3, sinkfer , jpsfe ) 158 CALL p4z_sink2( wscal , sinksil , jp dsi )158 CALL p4z_sink2( wscal , sinksil , jpgsi ) 159 159 CALL p4z_sink2( wscal , sinkcal , jpcal ) 160 160 … … 512 512 CALL p4z_sink2( wsbio4, sinking2, jpgoc ) 513 513 CALL p4z_sink2( wsbio4, sinkfer2, jpbfe ) 514 CALL p4z_sink2( wsbio4, sinksil , jp dsi )514 CALL p4z_sink2( wsbio4, sinksil , jpgsi ) 515 515 CALL p4z_sink2( wscal , sinkcal , jpcal ) 516 516 -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/par_pisces.F90
r3294 r3295 48 48 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_lp + 11 !: Diatoms Concentration 49 49 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_lp + 12 !: Mesozooplankton Concentration 50 INTEGER, PUBLIC, PARAMETER :: jp bsi = jp_lp + 13 !: (big) Silicate Concentration50 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_lp + 13 !: (big) Silicate Concentration 51 51 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_lp + 14 !: Iron Concentration 52 52 INTEGER, PUBLIC, PARAMETER :: jpnum = jp_lp + 15 !: Big iron particles Concentration 53 53 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_lp + 16 !: number of particulate organic phosphate concentration 54 54 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_lp + 17 !: Diatoms iron Concentration 55 INTEGER, PUBLIC, PARAMETER :: jp dsi = jp_lp + 18 !: Diatoms Silicate Concentration55 INTEGER, PUBLIC, PARAMETER :: jpgsi = jp_lp + 18 !: Diatoms Silicate Concentration 56 56 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_lp + 19 !: Nano iron Concentration 57 57 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_lp + 20 !: Nano Chlorophyll Concentration … … 86 86 INTEGER, PUBLIC, PARAMETER :: jpdia = jp_lp + 11 !: Diatoms Concentration 87 87 INTEGER, PUBLIC, PARAMETER :: jpmes = jp_lp + 12 !: Mesozooplankton Concentration 88 INTEGER, PUBLIC, PARAMETER :: jp bsi = jp_lp + 13 !: (big) Silicate Concentration88 INTEGER, PUBLIC, PARAMETER :: jpdsi = jp_lp + 13 !: (big) Silicate Concentration 89 89 INTEGER, PUBLIC, PARAMETER :: jpfer = jp_lp + 14 !: Iron Concentration 90 90 INTEGER, PUBLIC, PARAMETER :: jpbfe = jp_lp + 15 !: Big iron particles Concentration … … 92 92 INTEGER, PUBLIC, PARAMETER :: jpsfe = jp_lp + 17 !: Small iron particles Concentration 93 93 INTEGER, PUBLIC, PARAMETER :: jpdfe = jp_lp + 18 !: Diatoms iron Concentration 94 INTEGER, PUBLIC, PARAMETER :: jp dsi = jp_lp + 19 !: Diatoms Silicate Concentration94 INTEGER, PUBLIC, PARAMETER :: jpgsi = jp_lp + 19 !: Diatoms Silicate Concentration 95 95 INTEGER, PUBLIC, PARAMETER :: jpnfe = jp_lp + 20 !: Nano iron Concentration 96 96 INTEGER, PUBLIC, PARAMETER :: jpnch = jp_lp + 21 !: Nano Chlorophyll Concentration -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90
r3294 r3295 112 112 # endif 113 113 trn(:,:,:,jpsil) = silic1 114 trn(:,:,:,jp bsi) = bioma0 * 0.15115 trn(:,:,:,jp dsi) = bioma0 * 5.e-6114 trn(:,:,:,jpdsi) = bioma0 * 0.15 115 trn(:,:,:,jpgsi) = bioma0 * 5.e-6 116 116 trn(:,:,:,jpphy) = bioma0 117 117 trn(:,:,:,jpdia) = bioma0 -
trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90
r3294 r3295 207 207 & + trn(:,:,:,jpdoc) ) * cvol(:,:,:) ) 208 208 ! 209 zsilbudget = glob_sum( ( trn(:,:,:,jpsil) + trn(:,:,:,jp dsi) &210 & + trn(:,:,:,jp bsi) ) * cvol(:,:,:) )209 zsilbudget = glob_sum( ( trn(:,:,:,jpsil) + trn(:,:,:,jpgsi) & 210 & + trn(:,:,:,jpdsi) ) * cvol(:,:,:) ) 211 211 ! 212 212 zalkbudget = glob_sum( ( trn(:,:,:,jpno3) * rno3 & -
trunk/NEMOGCM/NEMO/TOP_SRC/trcwri.F90
r3294 r3295 17 17 USE iom ! I/O manager 18 18 USE dianam ! Output file name 19 USE trcwri_pisces 19 20 20 21 IMPLICIT NONE … … 68 69 ! write the tracer concentrations in the file 69 70 ! --------------------------------------- 70 DO jn = 1, jptra 71 cltra = TRIM( ctrcnm(jn) ) ! short title for tracer 72 CALL iom_put( cltra, trn(:,:,:,jn) ) 73 END DO 71 IF( lk_pisces ) THEN 72 CALL trc_wri_pisces 73 ELSE 74 DO jn = 1, jptra 75 cltra = TRIM( ctrcnm(jn) ) ! short title for tracer 76 CALL iom_put( cltra, trn(:,:,:,jn) ) 77 END DO 78 ENDIF 74 79 ! 75 80 END SUBROUTINE trc_wri_trc
Note: See TracChangeset
for help on using the changeset viewer.